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
F130565116: D52520.diff
Tue, Sep 30, 8:55 AM
Unknown Object (File)
Sun, Sep 28, 10:32 PM
Unknown Object (File)
Sat, Sep 27, 10:29 PM
Unknown Object (File)
Sat, Sep 27, 9:27 PM
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
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
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

alven requested review of this revision.Sun, Sep 14, 9:45 AM
alven created this revision.
devel/STC/Makefile
1 ↗(On Diff #161994)

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 ↗(On Diff #161994)

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

devel/STC/pkg-plist
183 ↗(On Diff #161994)

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 ↗(On Diff #161994)

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.