packaging: build recipes for arch, gentoo, nix, void, fedora
Five distro recipes in packaging/, all following the same recipe: unpack the Gitea release archive (which extracts to fastwc/), run autoreconf -fi (the generated configure/Makefile.in are not committed), configure, make, make install - the binary needs only glibc. Each recipe notes the release prerequisite: the archive URL requires a v0.1.0 tag on the remote, and Arch/Nix/Void carry an integrity placeholder to fill in once the tag exists. The PKGBUILD was validated with makepkg --printsrcinfo, and the full build recipe was run end-to-end from a Gitea-layout tarball (autoreconf, configure, make, make install DESTDIR) producing a working /usr/bin/fastwc.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
Name: fastwc
|
||||
Version: 0.1.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A wc replacement that beats GNU wc
|
||||
|
||||
License: MIT
|
||||
URL: https://git.spectoria.dev/huntedbytheirs/fastwc
|
||||
# requires a v0.1.0 tag on the Gitea remote
|
||||
Source0: %{url}/archive/v%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
|
||||
%description
|
||||
fastwc is a single-file wc replacement. It counts lines, words, and
|
||||
bytes with SIMD kernels (AVX-512, AVX-2, SSE2, runtime-dispatched),
|
||||
maps regular files instead of copying them, and splits large files
|
||||
across cores. It never loses to GNU wc on the benchmark suite, and
|
||||
never disagrees with its counts.
|
||||
|
||||
%prep
|
||||
# Gitea archives extract to a directory named after the repo
|
||||
%autosetup -n fastwc
|
||||
|
||||
%build
|
||||
autoreconf -fi
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
%files
|
||||
%{_bindir}/fastwc
|
||||
%license LICENSE
|
||||
%doc README.md docs/PERFORMANCE.md
|
||||
|
||||
%changelog
|
||||
* Sat Aug 29 2026 huntedbytheirs <[email protected]> - 0.1.0-1
|
||||
- Initial packaging
|
||||
Reference in New Issue
Block a user