Created attachment 191032 [details]
Shell archive with the new net/quark port
* Add a new port quark, which is a small HTTP GET-only web server developed at https://suckless.org.
* There already exists a port called quark: multimedia/quark. If it is a problem then maybe we can call this new port "net/quark-server"?
* The current upstream version of this port is '0' (as found in config.mk). There are no official releases yet so I had to define a 'GITHASH' variable to be able to define DISTNAME.
* The port uses the dprintf function. There were some changes regarding this change in r303524. This is why '-D_WITH_DPRINTF' is added to CFLAGS on systems with the old dprintf behavior.
* This is a program from suckless.org so as usual it is possible to provide a custom config.h with a 'QUARK_CONF' knob. Similar knobs are used in x11-wm/dwm and x11/sterm.
* Patch sock.c due to a missing header.
* The port has been tested with portlint, port test on FreeBSD 12-CURRENT and in the following Poudriere jails: 10.4-RELEASE amd64, 11.1-RELEASE amd64, 12.0-CURRENT amd64 and 11.1-RELEASE i386. The only issue is that on i386 when a timestamp function is called it expects "'size_t' (aka 'unsigned int') but the argument has type 'off_t' (aka 'long long')". Otherwise, it builds and runs smoothly.
* The port was created by Magda Suchodolska (firstname.lastname@example.org) and Adam Paszke (email@example.com) during FreeBSD Ports workshop , which took place on 24.02.2018 at Warsaw Hackerspace. I'm merely submitting the port and taking over the maintainership after some additional testing and linting.
Created attachment 191221 [details]
Shell archive with the new www/quark port (rev. 1)
I've been contacted by the original author of this software. I was informed that some of the workarounds are no longer necessary.
Here's a refreshed shell archive with the quark port.
Changes (relatively to the previous patch):
* Move quark to the www category. It is a server after all and servers like Apache and Nginx live in www instead of net.
* Update descriptions.
* Remove patches for the missing header in sock.c.
* Fix the manpage installation path. Now the manpage is correctly installed under $DESTDIR$PREFIX/man/man1.
* User DISTVERSION instead of PORTVERSION.
* Poudriere: 11.1-RELEASE amd64
* FreeBSD 12.0-CURRENT amd64
No build errors.
Created attachment 191237 [details]
Shell archive with the new www/quark port (rev. 2)
It turns out that there's no need to add explicit STRIP_CMD as upstream already strips the binary by supplying a '-s' flag to LDFLAGS.
I've removed STRIP_CMD in the lastest patch.
Created attachment 191270 [details]
Shell archive with the new www/quark port (rev. 3)
This revision removes -s from LDFLAGS and replaces it with STRIP_CMD. The reason for this is that STRIP_CMD respects WITH_DEBUG in contrast to LDFLAGS=-s.
Otherwise, everything works as before / as expected.
A commit references this bug:
Date: Tue Mar 13 07:10:24 UTC 2018
New revision: 464345
New port: www/quark
Extremely small and simple HTTP GET/HEAD-only web server for static content.
Submitted by: 0mp
Committed with some changes. Thanks!
Usually we use the date of the commit for the PORTVERSION for snapshots
when there are no tags. Inventing version numbers on our own just leads
to confusion all around.
Also removed -Os from CFLAGS and eliminated GITHASH which can just be
part of DISTNAME.
Reopen -> Tobik, you was too quick! The port is deleted by antoine ports r464400.
PLIST_FILES= bin/quark \
multimedia/quark has also bin/quark.
A commit references this bug:
Date: Tue Mar 13 22:18:22 UTC 2018
New revision: 464437
www/quark: Readd with package name quark-server