Page MenuHomeFreeBSD

devel/stc: [NEW PORT] Modern, user-friendly, generic, type-safe and fast C99 library
ClosedPublic

Authored by alven on Sun, Sep 14, 9:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Sep 26, 2:57 PM
Unknown Object (File)
Sun, Sep 21, 10:33 AM
Unknown Object (File)
Sat, Sep 20, 7:48 PM
Unknown Object (File)
Sat, Sep 20, 6:28 PM
Unknown Object (File)
Sat, Sep 20, 2:12 PM
Unknown Object (File)
Sat, Sep 20, 2:10 PM
Unknown Object (File)
Sat, Sep 20, 1:39 PM
Unknown Object (File)
Fri, Sep 19, 4:31 AM
Subscribers
None

Details

Summary

STC is a mature, comprehensive, general purpose container and
algorithm library for C99/C11. It has excellent ergonomics and
requires virtually no boilerplate code. The library adds many missing
features to C, like common data containers, algorithms, and
abstractions found in contemporary system languages like Zig, Rust,
and C++. Containers and algorithms are templated or generic, which
allows for a fully typesafe, compact, and high performance
implementation.

WWW: https://github.com/stclib/STC/

Test Plan

For every {amd64, i386} × {14.3, 13.5}:

  • Successful poudriere testport

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 67008
Build 63891: arc lint + arc unit

Event Timeline

alven requested review of this revision.Sun, Sep 14, 9:45 AM
alven created this revision.
devel/STC/Makefile
1

Please change to lowercase 'stc'.
Same for the directory name.
You'll get a lot of complaints with capital letters in the port names/directory names.

devel/STC/pkg-descr
54

I think that pkg-descr is too long.
portlint has 24 line limit hard-coded.

devel/STC/pkg-plist
183

Please consider using
PORTDOCS= *
and
PORTEXAMPLES= *
in Makefile to shorten pkg-list.

There's not much value in explicitly listing docs/example files, IMO.

devel/STC/Makefile
1

FATAL: Makefile: The package base name "stc" is already in use by the "net/stc" port. Choose another PORTNAME or use a PKGNAMEPREFIX or PKGNAMESUFFIX.

How to better overcome this?
Given Repology have this program named stc, but in Ports tree this name is already taken [0]...

[0] https://repology.org/project/stc/versions

alven retitled this revision from devel/STC: [NEW PORT] Modern, user friendly, generic, type-safe and fast C99 container library to devel/STC: [NEW PORT] Modern, user-friendly, generic, type-safe and fast C99 library.Fri, Sep 19, 12:11 PM
alven retitled this revision from devel/STC: [NEW PORT] Modern, user-friendly, generic, type-safe and fast C99 library to devel/stc: [NEW PORT] Modern, user-friendly, generic, type-safe and fast C99 library.Fri, Sep 19, 12:14 PM

Approved.

Thanks,
Yuri

This revision is now accepted and ready to land.Sat, Sep 20, 8:02 AM

Thank you for the review.

I also need your advice: how to better overcome name collision with net/stc?
Uppercase was an attempt to do exactly this, but you may have better variant?

Thank you for the review.

I also need your advice: how to better overcome name collision with net/stc?
Uppercase was an attempt to do exactly this, but you may have better variant?

Hi Alven,

In order to overcome name collision you need to add PKGNAMESUFFIX.
For example,

PKGNAMESUFFIX=-library

would do.

Best,
Yuri

PKGNAMESUFFIX=-library

would do.

Thank you! :)
I've done exactly this.