aboutsummaryrefslogtreecommitdiff
path: root/src/tesserae/extra
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-11-16 20:43:49 +0000
committeraethrvmn <me@aethrvmn.gr>2025-11-16 20:43:49 +0000
commit0582b0f8cd26678e741a06ba2ab42cc47a7c689a (patch)
tree028dcc99591775e87682c0ff8259fea3a21aa538 /src/tesserae/extra
parentmoved core LFS tessera to core/ (diff)
moved non LFS tessera to extra/
Diffstat (limited to 'src/tesserae/extra')
-rw-r--r--src/tesserae/extra/brotli.nim29
-rw-r--r--src/tesserae/extra/c_ares.nim16
-rw-r--r--src/tesserae/extra/curl.nim33
-rw-r--r--src/tesserae/extra/cyrus_sasl.nim33
-rw-r--r--src/tesserae/extra/fcron.nim32
-rw-r--r--src/tesserae/extra/git.nim26
-rw-r--r--src/tesserae/extra/gnupg.nim43
-rw-r--r--src/tesserae/extra/gnutls.nim24
-rw-r--r--src/tesserae/extra/grabnim.nim12
-rw-r--r--src/tesserae/extra/icu.nim13
-rw-r--r--src/tesserae/extra/iosocket_ssl.nim16
-rw-r--r--src/tesserae/extra/kakoune.nim11
-rw-r--r--src/tesserae/extra/libarchive.nim18
-rw-r--r--src/tesserae/extra/libassuan.nim30
-rw-r--r--src/tesserae/extra/libevent.nim13
-rw-r--r--src/tesserae/extra/libgcrypt.nim35
-rw-r--r--src/tesserae/extra/libgpgerror.nim13
-rw-r--r--src/tesserae/extra/libidn2.nim14
-rw-r--r--src/tesserae/extra/libksba.nim14
-rw-r--r--src/tesserae/extra/libpsl.nim17
-rw-r--r--src/tesserae/extra/libssh2.nim18
-rw-r--r--src/tesserae/extra/libtasn1.nim12
-rw-r--r--src/tesserae/extra/libunistring.nim16
-rw-r--r--src/tesserae/extra/libuv.nim13
-rw-r--r--src/tesserae/extra/libwacom.nim24
-rw-r--r--src/tesserae/extra/libxml2.nim24
-rw-r--r--src/tesserae/extra/libxslt.nim18
-rw-r--r--src/tesserae/extra/lmdb.nim13
-rw-r--r--src/tesserae/extra/lzo.nim17
-rw-r--r--src/tesserae/extra/make_ca.nim22
-rw-r--r--src/tesserae/extra/net_ssleay.nim12
-rw-r--r--src/tesserae/extra/nettle.nim15
-rw-r--r--src/tesserae/extra/nghttp2.nim19
-rw-r--r--src/tesserae/extra/npth.nim12
-rw-r--r--src/tesserae/extra/nss.nim32
-rw-r--r--src/tesserae/extra/openldap.nim27
-rw-r--r--src/tesserae/extra/openssh.nim38
-rw-r--r--src/tesserae/extra/p11_kit.nim39
-rw-r--r--src/tesserae/extra/pcre2.nim23
-rw-r--r--src/tesserae/extra/pinentry.nim17
-rw-r--r--src/tesserae/extra/tmux.nim15
-rw-r--r--src/tesserae/extra/uri.nim15
-rw-r--r--src/tesserae/extra/valgrind.nim18
-rw-r--r--src/tesserae/extra/which.nim12
-rw-r--r--src/tesserae/extra/yaft.nim11
45 files changed, 924 insertions, 0 deletions
diff --git a/src/tesserae/extra/brotli.nim b/src/tesserae/extra/brotli.nim
new file mode 100644
index 0000000..73e6ceb
--- /dev/null
+++ b/src/tesserae/extra/brotli.nim
@@ -0,0 +1,29 @@
+import .. / lapis
+
+tessera "brotli":
+ source: "https://github.com/google/brotli/archive/v1.1.0/brotli-1.1.0.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "cmake"
+ ]
+ build: @[
+ "mkdir build",
+ "cd build",
+ """
+ cmake -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_BUILD_TYPE=Release \
+ ..
+ """,
+ "make",
+ "make install",
+ "cd ..",
+ """
+ sed "/c\/.*\.[ch]'/d;\
+ /include_dirs=\[/\
+ i libraries=['brotlicommon','brotlidec','brotlienc']," \
+ -i setup.py
+ """,
+ "pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD",
+ "pip3 install --no-index --find-links dist --no-user Brotli"
+ ]
+ result: "brotli"
diff --git a/src/tesserae/extra/c_ares.nim b/src/tesserae/extra/c_ares.nim
new file mode 100644
index 0000000..4d8651f
--- /dev/null
+++ b/src/tesserae/extra/c_ares.nim
@@ -0,0 +1,16 @@
+import .. / lapis
+
+tessera "c_ares":
+ source: "https://github.com/c-ares/c-ares/releases/download/v1.34.5/c-ares-1.34.5.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "cmake"
+ ]
+ build: @[
+ "mkdir build",
+ "cd build",
+ "cmake -D CMAKE_INSTALL_PREFIX=/usr ..",
+ "make",
+ "make install"
+ ]
+ result: "libcares.so"
diff --git a/src/tesserae/extra/curl.nim b/src/tesserae/extra/curl.nim
new file mode 100644
index 0000000..b433b2d
--- /dev/null
+++ b/src/tesserae/extra/curl.nim
@@ -0,0 +1,33 @@
+import .. / lapis
+
+tessera "curl":
+ source: "https://curl.se/download/curl-8.15.0.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "libpsl",
+ "make_ca",
+ "c_ares",
+ "brotli",
+ "libidn2",
+ "libssh2",
+ "nghttp2",
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --disable-static \
+ --with-openssl \
+ --with-ca-path=/etc/ssl/certs
+ """,
+ "make",
+ "make install",
+ "rm -rf docs/examples/.deps",
+ """
+ find docs \( -name Makefile\* -o \
+ -name \*.1 -o \
+ -name \*.3 -o \
+ -name CMakeLists.txt \) -delete
+ """,
+ "cp -v -R docs -T /usr/share/doc/curl-8.15.0"
+ ]
+ result: "curl"
diff --git a/src/tesserae/extra/cyrus_sasl.nim b/src/tesserae/extra/cyrus_sasl.nim
new file mode 100644
index 0000000..cbfc2a1
--- /dev/null
+++ b/src/tesserae/extra/cyrus_sasl.nim
@@ -0,0 +1,33 @@
+import .. / lapis
+
+tessera "cyrus_sasl":
+ source: "https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.28/cyrus-sasl-2.1.28.tar.gz"
+ patches: @[
+ "https://www.linuxfromscratch.org/patches/blfs/12.4/cyrus-sasl-2.1.28-gcc15_fixes-1.patch"
+ ]
+ dependencies: @[
+ "lmdb"
+ ]
+ build: @[
+ "patch -Np1 -i ../cyrus-sasl-2.1.28-gcc15_fixes-1.patch",
+ "autoreconf -fiv",
+ "sed '/saslint/a #include <time.h>' -i lib/saslutil.c",
+ "sed '/plugin_common/a #include <time.h>' -i plugins/cram.c",
+ """
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-auth-sasldb \
+ --with-dblib=lmdb \
+ --with-dbpath=/var/lib/sasl/sasldb2 \
+ --with-sphinx-build=no
+ --with-saslauthd=/var/run/saslauthd
+ """,
+ "make -j1",
+ "make install",
+ "install -v -dm755 /usr/share/doc/cyrus-sasl-2.1.28/html",
+ "install -v -m644 saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.28",
+ "install -v -m644 doc/legacy/*.html /usr/share/doc/cyrus-sasl-2.1.28/html",
+ "install -v -dm700 /var/lib/sasl"
+
+ ]
+ result: "libsasl.so"
diff --git a/src/tesserae/extra/fcron.nim b/src/tesserae/extra/fcron.nim
new file mode 100644
index 0000000..c19995f
--- /dev/null
+++ b/src/tesserae/extra/fcron.nim
@@ -0,0 +1,32 @@
+import .. / lapis
+
+tessera "fcron":
+ source: "http://fcron.free.fr/archives/fcron-3.4.0.src.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ """
+ cat >> /etc/syslog.conf << "EOF"
+ # Begin fcron addition to /etc/syslog.conf
+
+ cron.* -/var/log/cron.log
+
+ # End fcron addition
+ EOF
+ """,
+ "/etc/rc.d/init.d/sysklogd reload",
+ "groupadd -g 22 fcron",
+ "useradd -d /dev/null -c \"Fcron User\" -g fcron -s /bin/false -u 22 fcron",
+ "find doc -type f -exec sed -i 's:/usr/local::g' {} \\;",
+ """
+ .configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --without-sendmail \
+ --with-boot-install=neo \
+ --with-systemdsystemunitdir=no
+ """,
+ "make",
+ "make install"
+ ]
+ result: "fcron"
diff --git a/src/tesserae/extra/git.nim b/src/tesserae/extra/git.nim
new file mode 100644
index 0000000..b863f2a
--- /dev/null
+++ b/src/tesserae/extra/git.nim
@@ -0,0 +1,26 @@
+import .. / lapis
+
+tessera "git":
+ source: "https://www.kernel.org/pub/software/scm/git/git-2.50.1.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "curl",
+ "fcron",
+ "gnupg",
+ "iosocket_ssl",
+ "openssh",
+ "pcre2",
+ "valgrind",
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --with-gitconfig=/etc/gitconfig \
+ --with-python=python3
+ """,
+ "make",
+ "make man",
+ "make perllibdir=/usr/lib/perl5/5.42/site_perl install",
+ "make install-man"
+ ]
+ result: "git"
diff --git a/src/tesserae/extra/gnupg.nim b/src/tesserae/extra/gnupg.nim
new file mode 100644
index 0000000..abdea3a
--- /dev/null
+++ b/src/tesserae/extra/gnupg.nim
@@ -0,0 +1,43 @@
+import .. / lapis
+
+tessera "gnupg":
+ source: "https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.8.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libassuan",
+ "libgcrypt",
+ "libksba",
+ "npth",
+ "openldap",
+ "gnutls",
+ "pinentry"
+ ]
+ build: @[
+ "mkdir build",
+ "cd build",
+ """
+ ../configure --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --docdir=/usr/share/doc/gnupg-2.4.8
+ """,
+ "make",
+ "makeinfo --html --no-split -I doc -o doc/gnupg_nochunck.html ../doc/gnupg.texi",
+ "makeinfo --plaintext -I doc -o doc/gnupg.txt ../doc/gnupg.texi",
+ "make -C doc html",
+ "make install",
+ "install -v -m755 -d /usr/share/doc/gnupg-2.4.8/html",
+ """
+ install -v -m644 doc/gnupg_nochunks.html \
+ /usr/share/doc/gnupg-2.4.8/html/hnupg.html
+ """,
+ """
+ install -v -m644 ../doc/*.texi doc/gnupg.txt \
+ /usr/share/doc/gnupg-2.4.8
+ """,
+ """
+ install -v -m644 doc/gnupg.html/* \
+ /usr/share/doc/gnupg-2.4.8/html
+ """
+ ]
+ result: "gpg"
diff --git a/src/tesserae/extra/gnutls.nim b/src/tesserae/extra/gnutls.nim
new file mode 100644
index 0000000..e3222a1
--- /dev/null
+++ b/src/tesserae/extra/gnutls.nim
@@ -0,0 +1,24 @@
+import .. / lapis
+
+tessera "gnutls":
+ source: "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.10.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "nettle",
+ "make_ca",
+ "libunistring",
+ "libtasn1",
+ "p11_kit",
+ "brotli",
+ "libidn2",
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --docdir=/usr/share/doc/gnutls-3.8.10 \
+ --with-default-trust-store-pkcs11="pkcs11:"
+ """,
+ "make",
+ "make install"
+ ]
+ result: "libgnutls.so"
diff --git a/src/tesserae/extra/grabnim.nim b/src/tesserae/extra/grabnim.nim
new file mode 100644
index 0000000..0134291
--- /dev/null
+++ b/src/tesserae/extra/grabnim.nim
@@ -0,0 +1,12 @@
+import .. / lapis
+
+tessera "grabnim":
+ source: "https://codeberg.org/janAkali/grabnim/archive/v0.3.0.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./misc/install.sh",
+ "ln -sv $HOME/.nimble/bin/grabnim /usr/bin/grabnim"
+ ]
+ result: "grabnim"
+
diff --git a/src/tesserae/extra/icu.nim b/src/tesserae/extra/icu.nim
new file mode 100644
index 0000000..d52e276
--- /dev/null
+++ b/src/tesserae/extra/icu.nim
@@ -0,0 +1,13 @@
+import .. / lapis
+
+tessera "icu":
+ source: "https://github.com/unicode-org/icu/releases/download/release-77-1/icu4c-77_1-src.tgz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "cd source",
+ "./configure --prefix=/usr",
+ "make",
+ "make install"
+ ]
+ result: "libicudata.so"
diff --git a/src/tesserae/extra/iosocket_ssl.nim b/src/tesserae/extra/iosocket_ssl.nim
new file mode 100644
index 0000000..7ae1cd5
--- /dev/null
+++ b/src/tesserae/extra/iosocket_ssl.nim
@@ -0,0 +1,16 @@
+import .. / lapis
+
+tessera "iosocker_ssl":
+ source: "https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.095.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "make_ca",
+ "net_ssleay"
+ ]
+ build: @[
+ "yes | perl Makefile.PL",
+ "make",
+ "make install"
+ ]
+ result: "perl5/5.42/site_perl/IO/SOCKER/SSL/SSL.pm"
+
diff --git a/src/tesserae/extra/kakoune.nim b/src/tesserae/extra/kakoune.nim
new file mode 100644
index 0000000..8ae88e5
--- /dev/null
+++ b/src/tesserae/extra/kakoune.nim
@@ -0,0 +1,11 @@
+import .. / lapis
+
+tessera "kakoune":
+ source: "https://github.com/mawww/kakoune/archive/refs/tags/v2025.06.03.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "make",
+ "make install PREFIX=/usr"
+ ]
+ result: "kak"
diff --git a/src/tesserae/extra/libarchive.nim b/src/tesserae/extra/libarchive.nim
new file mode 100644
index 0000000..ec5f51b
--- /dev/null
+++ b/src/tesserae/extra/libarchive.nim
@@ -0,0 +1,18 @@
+import .. / lapis
+
+tessera "libarchive":
+ source: " https://github.com/libarchive/libarchive/releases/download/v3.8.1/libarchive-3.8.1.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "nettle",
+ "libxml2",
+ "lzo",
+ "pcre2"
+ ]
+ build: @[
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install",
+ "ln -sfv bsdunzip /usr/bin/unzip"
+ ]
+ result: "libarchive.so"
diff --git a/src/tesserae/extra/libassuan.nim b/src/tesserae/extra/libassuan.nim
new file mode 100644
index 0000000..9df8d7e
--- /dev/null
+++ b/src/tesserae/extra/libassuan.nim
@@ -0,0 +1,30 @@
+import .. / lapis
+
+tessera "libassuan":
+ source: "https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.2.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libgpgerror"
+ ]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make -C doc html ",
+ "makeinfo --html --no-split -o doc/assuan_nochunks.html doc/assuan.texi",
+ "makeinfo --plaintext -o doc/assuan.txt doc/assuan.texi",
+ "make install",
+ "install -v -dm755 /usr/share/doc/libassuan-3.0.2/html",
+ """
+ install -v -m644 doc/assuan.html/* \
+ /usr/share/doc/libassuan-3.0.2/html
+ """,
+ """
+ install -v -m644 doc/assuan_nochunks.html \
+ /usr/share/doc/libassuan-3.0.2
+ """,
+ """
+ install -v -m644 doc/assuan.{txt,texi} \
+ /usr/share/doc/libassuan-3.0.2
+ """
+ ]
+ result: "libassuan.so"
diff --git a/src/tesserae/extra/libevent.nim b/src/tesserae/extra/libevent.nim
new file mode 100644
index 0000000..369f35d
--- /dev/null
+++ b/src/tesserae/extra/libevent.nim
@@ -0,0 +1,13 @@
+import .. / lapis
+
+tessera "libevent":
+ source: "https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "sed -i 's/python/&3/' event_rpcgen.py",
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install"
+ ]
+ result: "libevent.so"
diff --git a/src/tesserae/extra/libgcrypt.nim b/src/tesserae/extra/libgcrypt.nim
new file mode 100644
index 0000000..1ab88f0
--- /dev/null
+++ b/src/tesserae/extra/libgcrypt.nim
@@ -0,0 +1,35 @@
+import .. / lapis
+
+tessera "libgcrypt":
+ source: "https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.2.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libgpgerror"
+ ]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make -C doc html",
+ "makeinfo --html --no-split -o doc/gcrypt_nochunks.html doc/gcrypt.texi",
+ "makeinfo --plaintext -o doc/gcrypt.txt doc/gcrypt.texi",
+ "make install",
+ "install -v -dm755 /usr/share/doc/libgcrypt-1.11.2",
+ """
+ install -v -m644 README doc/{README.apichanges,fips*,libgcrypt*} \
+ /usr/share/doc/libgcrypt-1.11.2
+ """,
+ "install -v -dm755 /usr/share/doc/libgcrypt-1.11.2/html",
+ """
+ install -v -m644 doc/gcrypt.html/* \
+ /usr/share/doc/libgcrypt-1.11.2/html
+ """,
+ """
+ install -v -m644 doc/gcrypt_nochunks.html \
+ /usr/share/doc/libgcrypt-1.11.2
+ """,
+ """
+ install -v -m644 doc/gcrypt.{txt,texi} \
+ /usr/share/doc/libgcrypt-1.11.2
+ """
+ ]
+ result: "libgcrypt.so"
diff --git a/src/tesserae/extra/libgpgerror.nim b/src/tesserae/extra/libgpgerror.nim
new file mode 100644
index 0000000..0ecb689
--- /dev/null
+++ b/src/tesserae/extra/libgpgerror.nim
@@ -0,0 +1,13 @@
+import .. / lapis
+
+tessera "libgpgerror":
+ source: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.55.tar.bz2"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make install",
+ "install -v -m644 -D README /usr/share/doc/libgpg-error-1.55/README"
+ ]
+ result: "libgpg-error.so"
diff --git a/src/tesserae/extra/libidn2.nim b/src/tesserae/extra/libidn2.nim
new file mode 100644
index 0000000..38a363e
--- /dev/null
+++ b/src/tesserae/extra/libidn2.nim
@@ -0,0 +1,14 @@
+import .. / lapis
+
+tessera "libidn":
+ source: "https://ftp.gnu.org/gnu/libidn/libidn2-2.3.8.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "libunistring"
+ ]
+ build: @[
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install"
+ ]
+ result: "libidn2.so"
diff --git a/src/tesserae/extra/libksba.nim b/src/tesserae/extra/libksba.nim
new file mode 100644
index 0000000..1aa56c7
--- /dev/null
+++ b/src/tesserae/extra/libksba.nim
@@ -0,0 +1,14 @@
+import .. / lapis
+
+tessera "libksba":
+ source: "https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libgpgerror"
+ ]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make install"
+ ]
+ result: "libksba.so"
diff --git a/src/tesserae/extra/libpsl.nim b/src/tesserae/extra/libpsl.nim
new file mode 100644
index 0000000..690a2e3
--- /dev/null
+++ b/src/tesserae/extra/libpsl.nim
@@ -0,0 +1,17 @@
+import .. / lapis
+
+tessera "libpsl":
+ source: "https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "icu",
+ "libunistring"
+ ]
+ build: @[
+ "mkdir build",
+ "cd build",
+ "meson setup --prefix=/usr --buildtype=release",
+ "ninja",
+ "ninja install"
+ ]
+ result: "libpsl.so"
diff --git a/src/tesserae/extra/libssh2.nim b/src/tesserae/extra/libssh2.nim
new file mode 100644
index 0000000..4fa17f7
--- /dev/null
+++ b/src/tesserae/extra/libssh2.nim
@@ -0,0 +1,18 @@
+import .. / lapis
+
+tessera "libssh":
+ source: "https://www.libssh2.org/download/libssh2-1.11.1.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "openssh"
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --disable-docker-tests \
+ --disable-static
+ """,
+ "make",
+ "make install"
+ ]
+ result: "libssh2.so"
diff --git a/src/tesserae/extra/libtasn1.nim b/src/tesserae/extra/libtasn1.nim
new file mode 100644
index 0000000..092187a
--- /dev/null
+++ b/src/tesserae/extra/libtasn1.nim
@@ -0,0 +1,12 @@
+import .. / lapis
+
+tessera "libtasn1":
+ source: "https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.20.0.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install"
+ ]
+ result: "libtasn1.so"
diff --git a/src/tesserae/extra/libunistring.nim b/src/tesserae/extra/libunistring.nim
new file mode 100644
index 0000000..1b41354
--- /dev/null
+++ b/src/tesserae/extra/libunistring.nim
@@ -0,0 +1,16 @@
+import .. / lapis
+
+tessera "libunistring":
+ source: "https://ftp.gnu.org/gnu/libunistring/libunistring-1.3.tar.xz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/libunistring-1.3
+ """,
+ "make",
+ "make install"
+ ]
+ result: "libunistring.so"
diff --git a/src/tesserae/extra/libuv.nim b/src/tesserae/extra/libuv.nim
new file mode 100644
index 0000000..10680ee
--- /dev/null
+++ b/src/tesserae/extra/libuv.nim
@@ -0,0 +1,13 @@
+import .. / lapis
+
+tessera "libuv":
+ source: "https://dist.libuv.org/dist/v1.51.0/libuv-v1.51.0.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "sh autogen.sh",
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install"
+ ]
+ result: "libuv.so"
diff --git a/src/tesserae/extra/libwacom.nim b/src/tesserae/extra/libwacom.nim
new file mode 100644
index 0000000..62b9f58
--- /dev/null
+++ b/src/tesserae/extra/libwacom.nim
@@ -0,0 +1,24 @@
+import .. / lapis
+
+tessera "wacom":
+ source: "https://github.com/linuxwacom/libwacom/releases/download/libwacom-2.16.1/libwacom-2.16.1.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "libevdev", #Kernel recompilation
+ "libgudev",
+ "libxml2",
+ "librsvg"
+ ]
+ build: @[
+ "mkdir build",
+ "cd build",
+ """
+ meson setup .. \
+ --prefix=/usr \
+ --buildtype=release \
+ -D tests=disabled
+ """,
+ "ninja",
+ "rm -rf /usr/share/libwacom",
+ "ninja install"
+ ]
diff --git a/src/tesserae/extra/libxml2.nim b/src/tesserae/extra/libxml2.nim
new file mode 100644
index 0000000..68f0ff0
--- /dev/null
+++ b/src/tesserae/extra/libxml2.nim
@@ -0,0 +1,24 @@
+import .. / lapis
+
+tessera "libxml2":
+ source: "https://download.gnome.org/sources/libxml2/2.14/libxml2-2.14.5.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "icu"
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-static \
+ --with-history \
+ --with-icu \
+ PYTHON=/usr/bin/python3 \
+ --docdir=/usr/share/doc/libxml2-2.14.5
+ """,
+ "make",
+ "make install",
+ "rm -vf /usr/lib/libxml2.la",
+ "sed '/libs=/s/xml2.*/xml2\"/' -i /usr/bin/xml2-config"
+ ]
+ result: "libxml2.so"
diff --git a/src/tesserae/extra/libxslt.nim b/src/tesserae/extra/libxslt.nim
new file mode 100644
index 0000000..c982536
--- /dev/null
+++ b/src/tesserae/extra/libxslt.nim
@@ -0,0 +1,18 @@
+import .. / lapis
+
+tessera "libxslt":
+ source: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.43.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "libxml2"
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/libxslt-1.1.43
+ """,
+ "make",
+ "make install"
+ ]
+ result: "libxslt.so"
diff --git a/src/tesserae/extra/lmdb.nim b/src/tesserae/extra/lmdb.nim
new file mode 100644
index 0000000..fd2da73
--- /dev/null
+++ b/src/tesserae/extra/lmdb.nim
@@ -0,0 +1,13 @@
+import .. / lapis
+
+tessera "lmdb":
+ source: "https://git.openldab.org/openldap/openldap/-/archive/LMDB_0.9.33.tar.bz2"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "cd libraries/liblmdb",
+ "make",
+ "sed -i 's| liblmdb.a||' Makefile",
+ "make prefix=/usr install"
+ ]
+ result: "liblmdb.so"
diff --git a/src/tesserae/extra/lzo.nim b/src/tesserae/extra/lzo.nim
new file mode 100644
index 0000000..1847182
--- /dev/null
+++ b/src/tesserae/extra/lzo.nim
@@ -0,0 +1,17 @@
+import .. / lapis
+
+tessera "lzo":
+ source: "https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --disable-static \
+ --docdir=/usr/share/doc/lzo-2.10
+ """,
+ "make",
+ "make install"
+ ]
+ result: "liblzo2.so"
diff --git a/src/tesserae/extra/make_ca.nim b/src/tesserae/extra/make_ca.nim
new file mode 100644
index 0000000..3d2c977
--- /dev/null
+++ b/src/tesserae/extra/make_ca.nim
@@ -0,0 +1,22 @@
+import .. / lapis
+
+tessera "make_ca":
+ source: "https://github.com/lfs-book/make-ca/archive/v1.16.1/make-ca-1.16.1.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "p11_kit",
+ "fcron"
+ ]
+ build: @[
+ "make install",
+ "install -vdm755 /etc/ssl/local",
+ "/usr/sbin/make-ca -g",
+ """
+ cat > /etc/cron.weekly/update-pki.sh << "EOF" &&
+ #!/bin/bash
+ /usr/sbin/make-ca -g
+ EOF
+ """,
+ "chmod 754 /etc/cron.weekly/update-pki.sh"
+ ]
+ result: "make-ca"
diff --git a/src/tesserae/extra/net_ssleay.nim b/src/tesserae/extra/net_ssleay.nim
new file mode 100644
index 0000000..7e3bc85
--- /dev/null
+++ b/src/tesserae/extra/net_ssleay.nim
@@ -0,0 +1,12 @@
+import .. / lapis
+
+tessera "net_ssleay":
+ source: "https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.94.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "yes '' | perl Makefile.PL",
+ "make",
+ "make install"
+ ]
+ result: "/usr/lib/perl5/5.42/Net/SSLeay/Handle.pam"
diff --git a/src/tesserae/extra/nettle.nim b/src/tesserae/extra/nettle.nim
new file mode 100644
index 0000000..352ad77
--- /dev/null
+++ b/src/tesserae/extra/nettle.nim
@@ -0,0 +1,15 @@
+import .. / lapis
+
+tessera "nettle":
+ source: "https://ftp.gnu.org/gnu/nettle/nettle-3.10.2.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./configure --prefix=/usr --disable-static",
+ "make",
+ "make install",
+ "chmod -v 755 /usr/lib/lib{hogweed,nettle}.so",
+ "install -v -m755 -d /usr/share/doc/nettle-3.10.2",
+ "install -v -m644 nettle.{html,pdf} /usr/share/doc/nettle-3.10.2"
+ ]
+ result: "libnettle.so"
diff --git a/src/tesserae/extra/nghttp2.nim b/src/tesserae/extra/nghttp2.nim
new file mode 100644
index 0000000..3c96372
--- /dev/null
+++ b/src/tesserae/extra/nghttp2.nim
@@ -0,0 +1,19 @@
+import .. / lapis
+
+tessera "nghttp2":
+ source: "https://github.com/nghttp2/nghttp2/releases/download/v1.66.0/nghttp2-1.66.0.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "libxml2"
+ ]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --disable-static \
+ --enable-lib-only \
+ --docdir=/usr/share/doc/nghttp2-1.66.0
+ """,
+ "make",
+ "make install"
+ ]
+ result: "libnghttp2.so"
diff --git a/src/tesserae/extra/npth.nim b/src/tesserae/extra/npth.nim
new file mode 100644
index 0000000..a0e5149
--- /dev/null
+++ b/src/tesserae/extra/npth.nim
@@ -0,0 +1,12 @@
+import .. / lapis
+
+tessera "npth":
+ source: "https://www.gnupg.org/ftp/gcrypt/npth/npth-1.8.tar.bz2"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make install"
+ ]
+ result: "libnpth.so"
diff --git a/src/tesserae/extra/nss.nim b/src/tesserae/extra/nss.nim
new file mode 100644
index 0000000..16b2950
--- /dev/null
+++ b/src/tesserae/extra/nss.nim
@@ -0,0 +1,32 @@
+import .. / lapis
+
+tessera "nss":
+ source: "https://archive.mozilla.org/pub/security/nss/releases/NSS_3_115_RTM/src/nss-3.115.tar.gz"
+ patches: @[
+ "https://www.linuxfromscratch.org/patches/blfs/12.4/nss-standalone-1.patch"
+ ]
+ dependencies: @[
+ "nspr",
+ "sqlite"
+ ]
+ build: @[
+ "patch -Np1 -i ../nss-standalone-1.patch",
+ "cd nss",
+ """
+ make BUILD_OPT=1 \
+ NSPR_INCLUDE_DIR=/usr/include/nspr \
+ USE_SYSTEM_ZLIB=1 \
+ ZLIB_LIBS=-lz \
+ NSS_ENABLE_WERROR=0 \
+ $([ $(uname -m) = x86_64 ] && echo USE_64=1) \
+ $([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1)
+ """,
+ "cd ../dist",
+ "install -v -m755 Linux*/lib/*.so /usr/lib",
+ "install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib",
+ "install -v -m755 -d /usr/include/nss",
+ "cp -v -RL {public,private}/nss/* /usr/include/nss",
+ "install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin",
+ "install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig"
+ ]
+ result: "certutil"
diff --git a/src/tesserae/extra/openldap.nim b/src/tesserae/extra/openldap.nim
new file mode 100644
index 0000000..ecae9db
--- /dev/null
+++ b/src/tesserae/extra/openldap.nim
@@ -0,0 +1,27 @@
+import .. / lapis
+
+tessera "openldap":
+ source: "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.10.tgz"
+ patches: @[
+ "https://www.linuxfromscratch.org/patches/blfs/12.4/openldap-2.6.10-consolidated-1.patch"
+ ]
+ dependencies: @[
+ "gnutls",
+ "cyrus_sasl"
+ ]
+ build: @[
+ "patch -Np1 -i ../openldap-2.6.10-consolidated-1.patch &&",
+ "autoconf",
+ """
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-static \
+ --enable-dynamic \
+ --disable-debug \
+ --disable-slapd
+ """,
+ "make depend",
+ "make",
+ "make install"
+ ]
+ result: "libldap.so"
diff --git a/src/tesserae/extra/openssh.nim b/src/tesserae/extra/openssh.nim
new file mode 100644
index 0000000..26c58dd
--- /dev/null
+++ b/src/tesserae/extra/openssh.nim
@@ -0,0 +1,38 @@
+import .. / lapis
+
+tessera "openssh":
+ source: "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "install -v -g sys -m700 -d /var/lib/sshd",
+ "groupadd -g 50 sshd",
+ """
+ useradd -c 'sshd PrivSep' \
+ -d /var/lib/sshd \
+ -g sshd \
+ -s /bin/false \
+ -u 50 sshd
+ """,
+ """
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/ssh \
+ --with-privsep-path=/var/lib/sshd \
+ --with-default-path=/usr/bin \
+ --with-superuser-path=/usr/sbin:/usr/bin \
+ --with-pid-dir=/run
+ """,
+ "make",
+ "make install",
+ "install -v -m755 contrib/ssh-copy-id /usr/bin",
+ """
+ install -v -m644 contrib/ssh-copy-id.1 \
+ /usr/share/man/man1
+ """,
+ "install -v -m755 -d /usr/share/doc/openssh-10.0p1",
+ """
+ install -v -m644 INSTALL LICENCE OVERVIEW README* \
+ /usr/share/doc/openssh-10.0p1
+ """
+ ]
+ result: "ssh"
diff --git a/src/tesserae/extra/p11_kit.nim b/src/tesserae/extra/p11_kit.nim
new file mode 100644
index 0000000..6f98eac
--- /dev/null
+++ b/src/tesserae/extra/p11_kit.nim
@@ -0,0 +1,39 @@
+import .. / lapis
+
+tessera "p11_kit":
+ source: "https://github.com/p11-glue/p11-kit/releases/download/0.25.5/p11-kit-0.25.5.tar.xz"
+ patches: @[""]
+ dependencies: @[
+ "libtasn1",
+ "make_ca",
+ "libxslt",
+ "nss"
+ ]
+ build: @[
+ "sed '20,$ d' -i trust/trust-extract-compat",
+ """
+ cat >> trust/trust-extract-compat << "EOF"
+ # Copy existing anchor modifications to /etc/ssl/local
+ /usr/libexec/make-ca/copy-trust-modifications
+
+ # Update trust stores
+ /usr/sbin/make-ca -r
+ EOF
+ """,
+ "mkdir p11-build",
+ "cd p11-build",
+ """
+ meson setup .. \
+ --prefix=/usr \
+ --buildtype=release \
+ -D trust_paths=/etc/pki/anchors
+ """,
+ "ninja",
+ "ninja install",
+ """
+ ln -sfv /usr/libexec/p11-kit/trust-extract-compat \
+ /usr/bin/update-ca-certificates
+ """,
+ "ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so"
+ ]
+ result: "p11-kit"
diff --git a/src/tesserae/extra/pcre2.nim b/src/tesserae/extra/pcre2.nim
new file mode 100644
index 0000000..5ca3dac
--- /dev/null
+++ b/src/tesserae/extra/pcre2.nim
@@ -0,0 +1,23 @@
+import .. / lapis
+
+tessera "pcre2":
+ source: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.bz2"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ """
+ ./configure --prefix=/usr \
+ --docdir=/usr/share/doc/pcre2-10.45 \
+ --enable-unicode \
+ --enable-jit \
+ --enable-pcre2-16 \
+ --enable-pcre2-32 \
+ --enable-pcre2grep-libz \
+ --enable-pcre2grep-libbz2 \
+ --enable-pcre2test-libreadline \
+ --disable-static
+ """,
+ "make",
+ "make install"
+ ]
+ result: "pcre2-config"
diff --git a/src/tesserae/extra/pinentry.nim b/src/tesserae/extra/pinentry.nim
new file mode 100644
index 0000000..2abf8f2
--- /dev/null
+++ b/src/tesserae/extra/pinentry.nim
@@ -0,0 +1,17 @@
+import .. / lapis
+
+tessera "pinentry":
+ source: "https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.3.2.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libassuan",
+ "libgpgerror"
+ ]
+ build: @[
+ "sed -i \"/FLTK 1/s/3/4/\" configure",
+ "sed -i '14456 s/1.3/1.4/' configure",
+ "./configure --prefix=/usr --enable-pinentry-tty",
+ "make",
+ "make install"
+ ]
+ result: "pinentry"
diff --git a/src/tesserae/extra/tmux.nim b/src/tesserae/extra/tmux.nim
new file mode 100644
index 0000000..8caffd9
--- /dev/null
+++ b/src/tesserae/extra/tmux.nim
@@ -0,0 +1,15 @@
+import .. / lapis
+
+tessera "tmux":
+ source: "https://github.com/tmux/tmux/releases/download/3.5/tmux-3.5.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "ncurses",
+ "libevent"
+ ]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make install"
+ ]
+ result: "tmux"
diff --git a/src/tesserae/extra/uri.nim b/src/tesserae/extra/uri.nim
new file mode 100644
index 0000000..27e4d2f
--- /dev/null
+++ b/src/tesserae/extra/uri.nim
@@ -0,0 +1,15 @@
+import .. / lapis
+
+tessera "uri":
+ source: "https://www.cpan.org/authors/id/O/OA/OALDERS/URI-5.32.tar.gz"
+ patches: @[""]
+ dependencies: @[
+ "mime_base32"
+ ]
+ build: @[
+ "perl Makefile.PL",
+ "make",
+ "make install"
+ ]
+ result: "perl5/5.42/site_perl/URI"
+
diff --git a/src/tesserae/extra/valgrind.nim b/src/tesserae/extra/valgrind.nim
new file mode 100644
index 0000000..d01d02e
--- /dev/null
+++ b/src/tesserae/extra/valgrind.nim
@@ -0,0 +1,18 @@
+import .. / lapis
+
+tessera "valgrind":
+ source: "https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2"
+ patches: @[""]
+ dependencies: @[
+ "libalo"
+ ]
+ build: @[
+ "sed -i 's|/doc/valgrind||' docs/Makefile.in",
+ """
+ ./configure --prefix=/usr \
+ --datasir=/usr/share/doc/valgrind-3.25.1
+ """,
+ "make",
+ "make install"
+ ]
+ result: "valgrind"
diff --git a/src/tesserae/extra/which.nim b/src/tesserae/extra/which.nim
new file mode 100644
index 0000000..d5e2bf6
--- /dev/null
+++ b/src/tesserae/extra/which.nim
@@ -0,0 +1,12 @@
+import .. / lapis
+
+tessera "which":
+ source: "https://ftp.gnu.org/gnu/which/which-2.23.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "./configure --prefix=/usr",
+ "make",
+ "make install"
+ ]
+ result: "which"
diff --git a/src/tesserae/extra/yaft.nim b/src/tesserae/extra/yaft.nim
new file mode 100644
index 0000000..7a7ca3b
--- /dev/null
+++ b/src/tesserae/extra/yaft.nim
@@ -0,0 +1,11 @@
+import .. / lapis
+
+tessera "yaft":
+ source: "https://github.com/uobikiemukot/yaft/archive/v0.2.9.tar.gz"
+ patches: @[""]
+ dependencies: @[""]
+ build: @[
+ "make yaft",
+ "make install"
+ ]
+ result: "yaft"
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.