Created attachment 213137 [details] version 1.0.0
Alexander: I tested successfully your port. As soon as I get approval from my mentors I will commit it. Gerald, Tobias (my mentors): Do you approve? I would make the commit by running the following command: Tools/scripts/addport -n -L 245410 -u salvadore -d devel/tllist/
Okay with me. Two notes on pkg-plist: "The list itself has two head and tail pointers" at first made me think that there are two head and two tail pointers; perhaps rephrase htis as "has a head and a tail pointer"? And, this one's a bit tongue in cheek, and no change proposed, but "most operations are constant in time" caught my attention. I guess it depends on what operations one uses. n-th element is not very cheap for linked lists, or finding the minimum or maximum element, or the number of equal elements, or sorting the list, or...
I agree with Gerald. "The list itself has two head and tail pointers" suggests we have 4 pointers: 2 for head and 2 for tail. Alexander, are you fine with the change he proposed: "The list itself has a head and a tail pointer"?
I see that you copied the pkg-descr from upstream, which also has "The list itself has two head and tail pointers". You might want to proprose the modification upstream as well, although upstream the sentence is a bit clearer thanks to the italic font that suggests that "head" and "tail" are the names of the pointers.
A commit references this bug: Author: salvadore Date: Thu May 21 21:46:57 UTC 2020 New revision: 536174 URL: https://svnweb.freebsd.org/changeset/ports/536174 Log: Most C implementations of linked list are untyped. That is, their data carriers are typically void *. This is error prone since your compiler will not be able to help you correct your mistakes (oh, was it a pointer-to-a-pointer... I thought it was just a pointer...). tllist addresses this by using pre-processor macros to implement dynamic types, where the data carrier is typed to whatever you want; both primitive data types are supported as well as aggregated ones such as structs, enums and unions. Being a double-linked list, most operations are constant in time (including pushing and popping both to/from front and back). The memory overhead is fairly small; each item carries, besides its data, a prev and next pointer (i.e. a constant 16 byte overhead per item on 64-bit architectures). The list itself has a head and a tail pointer, plus a length variable (typically 8 bytes on 64-bit architectures) to make list length lookup constant in time. Thus, assuming 64-bit pointers (and a 64-bit size_t type), the total overhead is 3*8 + n*2*8 bytes. WWW: https://codeberg.org/dnkl/tllist PR: 245410 Submitted by: ports@xanderio.de Changes: head/devel/Makefile head/devel/tllist/ head/devel/tllist/Makefile head/devel/tllist/distinfo head/devel/tllist/pkg-descr
I committed the port with Gerald's suggestion: I did not want to have FreeBSD users wait for this port just for a few word in pkg-descr. If you want to change the text differently just tell it and we will fix it. Thanks for creating this port!