Merge pull request 'dev' (#2) from dev into main

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-01-13 22:39:29 -05:00
319 changed files with 12731 additions and 90 deletions

View File

@@ -1,6 +1,6 @@
# My LFS software repository
This is my repository for Linux from Scratch, and designed for the package manager [leaf](https://gitea.phywyj.dynv6.net/wyj/leaf).
This is my repository for Linux from Scratch, and designed for the package manager [leaf](https://gitea.phy-yingjie.wang/wyj/leaf).
Warning: `leaf` won't deal with the dependence relation, and currently won't check file confliction. You have to deal with these problems as the maintainer of your own LFS system.
@@ -11,5 +11,43 @@ Warning: `leaf` won't deal with the dependence relation, and currently won't che
- We won't install Grub in LFS. Install in BLFS with UEFI instead.
## issues
- `lfs/vim-9.1.1166` has `Test_write_backup_symlink` failed, which can pass if `call assert_true(filereadable('./Xbackup/Xwbsfile.bak'))
` is commented. Seams like cannot create this backup file.
- `lfs/vim-9.1.x` has `Test_write_backup_symlink` failed, which can pass if `call assert_true(filereadable('./Xbackup/Xwbsfile.bak'))` is commented. ~~Seams like cannot create this backup file.~~ This is because building in `/tmp`. It's safe to ignore.
## BLFS order
Those can be installed directly:
```
dev-libs/libunistring dev-libs/popt dev-libs/libtasn1 app-arch/libarchive dev-libs/xxhash dev-libs/pcre2 dev-lang/duktape
```
- `dev-libs/libunistring` -> `net-dns/libidn2` -> `net-libs/libpsl` -> `net-misc/wget`
- `dev-libs/libtasn1` -> `app-crypt/p11-kit` -> `app-misc/make-ca`
- `net-libs/libpsl`+`app-misc/make-ca` -> `net-misc/curl`
- `libxml2` is not needed for `nghttp2`
- `icu` is not needed for `libxml2`
- `net-misc/curl`+`app-arch/libarchive`+`dev-libs/libuv` -> `dev-build/cmake`
- `app-arch/libarchive` -> `dev-db/sqlite` -> rebuild `dev-lang/python`
- `dev-python/six` -> `dev-debug/gdb`
- `dev-libs/popt` + `dev-libs/xxhash` -> `net-misc/rsync`
- `dev-libs/pcre2` -> rebuild `sys-apps/grep`
- rebuild `sys-apps/grep` + `net-misc/curl` + `dev-build/cmake` -> `llvm-core/llvm` -> `llvm-runtimes/compiler-rt` -> `llvm-core/clang`
- `llvm-core/llvm` + `dev-db/sqlite` + `dev-build/cmake` + `net-misc/curl` ->
`dev-lang/rust`
### python
Those can be installed directly
```
pyproject-hooks, installer
```
- `pyproject-hooks` -> `build`
after `build` and `installer`:
- `setuptools-scm` -> `pluggy`
- `calver` -> `trove-classifiers`
- `editables` + `pathspec` + `pluggy` + `trove-classifiers` -> `hatchling`
- `hatchling` -> `hatch-vcs`
- `iniconfig` + `pluggy` + `setuptools-scm` -> `pytest`

View File

@@ -1,4 +1,4 @@
# todo
- [x] `pip` should be a standalone package.
- [ ] rewrite `shadow` and `linux-pam`, try to follow Gentoo

View File

@@ -0,0 +1,48 @@
pkgname=at-spi2-core
pkgver=2.56.5
pkgdesc="D-Bus accessibility specifications and registration daemon"
DEPEND="
>=sys-apps/dbus-1.5[${MULTILIB_USEDEP}]
>=dev-libs/glib-2.67.4:2[${MULTILIB_USEDEP}]
>=dev-libs/libxml2-2.9.1:2=[${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= )
systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] )
!<dev-libs/atk-2.46.0
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-util/glib-utils
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${sources[@]}")
sha512sums=("b495a9f7f8539c9d7a3929d8bdceb98ce0b8dac9ea735fa85aada6e1062658b7fff323c8e76a4ae34131febffa9664976f3e1e3e171154c0ff8e923c4db9d9e5")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
--wrap-mode=nodownload
-D python.bytecompile=1
-D default_bus=dbus-daemon
-D use_systemd=true
-D gtk2_atk_adaptor=true
-D docs=false
-D introspection=enabled
-D x11=disabled
-D atk_only=false
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_install() {
meson install -C build --destdir "$pkgdir"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,78 @@
pkgname=sudo
_sudover=1.9.17p2
pkgver=${_sudover/p/_p}
pkgdesc="Give certain users the ability to run some commands as root"
arch=('x86_64')
homepage="https://www.sudo.ws/sudo/"
license=('custom')
depends=('glibc' 'openssl' 'pam' 'zlib' 'virtual/libcrypt')
sources=("${pkgname}-${_sudover}.tar.gz")
urls=("https://www.sudo.ws/sudo/dist/${sources[0]}")
md5sums=("dcbf46f739ae06b076e1a11cbb271a10")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local conf_args=(
--prefix=/usr
--disable-hardening
--disable-python
--enable-tmpfiles.d=/usr/lib/tmpfiles.d
--enable-zlib=system
--with-editor=/usr/bin/vim
--with-env-editor
--with-plugindir=/usr/lib/sudo
--with-rundir=/run/sudo
--with-vardir=/var/db/sudo
--without-linux-audit
--without-opie
--disable-gcrypt
--enable-nls
--disable-sasl
--enable-openssl
--without-ldap
--without-insults
--without-all-insults
--with-pam
--with-pam-login
--with-secure-path
--with-secure-path-value="/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin"
--without-selinux
--without-sendmail
--without-skey
--without-sssd
)
./configure "${conf_args[@]}"
make
}
src_check() {
env LC_ALL=C make check
}
src_install() {
make DESTDIR="${pkgdir}" install
install -vDm644 "${filedir}/sudo.pam" "${pkgdir}/etc/pam.d/sudo"
install -vDm644 "${filedir}/sudo.pam" "${pkgdir}/etc/pam.d/sudo-i"
chmod -v 0700 "${pkgdir}/var/db/sudo/lectured"
chmod -v 0711 "${pkgdir}/var/db/sudo"
rm -rf "${pkgdir}/run"
mv -v "${pkgdir}/usr/share/doc/${pkgname}" "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
install -Dm644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
src_postinstall() {
local sudo_db="/var/db/sudo"
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
chmod 711 "${sudo_db}" || leaf_error "cannot chmod ${sudo_db}."
fi
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,3 @@
auth substack system-auth
account substack system-auth
session substack system-auth

View File

@@ -0,0 +1,46 @@
pkgname=brotli
pkgver=1.1.0
pkgdesc='Generic-purpose lossless compression algorithm'
homepage='https://github.com/google/brotli'
arch=('x86_64')
license=('MIT')
makedepends=(
cmake
#python-setuptools
#python-build
#python-installer
#python-wheel
#python-pkgconfig
)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/google/${pkgname}/archive/v${pkgver}.tar.gz")
md5sums=("3a6a3dba82a3604792d3cb0bd41bca60")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
#python -m build --wheel --no-isolation
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects"
cmake --build build -v
}
src_check() {
#local python_version=$(python -c 'import sys; print("".join(map(str, sys.version_info[:2])))')
#PYTHONPATH="$PWD/bin/lib.linux-x86_64-cpython-${python_version}" python -m unittest discover python "*_test.py"
cd build
ctest --output-on-failure --stop-on-failure -j${PARALLEL_JOBS}
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
#python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,27 @@
pkgname=libarchive
pkgver=3.8.1
pkgdesc='Multi-format archive and compression library'
arch=('x86_64')
homepage='https://libarchive.org/'
license=('BSD-2-Clause')
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://github.com/libarchive/libarchive/releases/download/v${pkgver}/${sources[0]}")
md5sums=("80fd1a7acc4da7c7d4a5f9f96df6e3ff")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr --disable-static &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
ln -sfv bsdunzip ${pkgdir}/usr/bin/unzip
}

View File

@@ -0,0 +1,43 @@
pkgname=p11-kit
pkgver=0.25.5
pkgdesc="Loads and enumerates PKCS#11 modules"
url="https://p11-glue.freedesktop.org"
arch=(x86_64)
license=(BSD-3-Clause)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://github.com/p11-glue/p11-kit/releases/download/${pkgver}/${sources[0]}")
md5sums=("e9c5675508fcd8be54aa4c8cb8e794fc")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
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
}
src_build() {
meson setup \
--prefix=/usr \
--buildtype=release \
-D trust_paths=/etc/pki/anchors \
build &&
meson compile -C build
}
src_check() {
meson test -C build --print-errorlogs
}
src_install() {
meson install -C build --destdir "$pkgdir"
ln -sfv ../libexec/p11-kit/trust-extract-compat \
${pkgdir}/usr/bin/update-ca-certificates
install -d -m755 ${pkgdir}/usr/lib/
ln -sfv ./pkcs11/p11-kit-trust.so ${pkgdir}/usr/lib/libnssckbi.so
}

View File

@@ -0,0 +1,28 @@
pkgname=gnulib-l10n
pkgver=20241231
pkgdesc="The Gnulib localizations"
homepage="https://www.gnu.org/software/gnulib/"
arch=(any)
license=(LGPL-2.0-or-later)
sources=("$pkgname-$pkgver.tar.gz")
urls=("https://ftp.gnu.org/pub/gnu/gnulib/${sources[0]}")
sha512sums=("0c5858f6068226afd9b3744020a3826a1236b62f90b6eff30ad17657a194017eaab9f8e090eb744902f47b997f63277b20509a27d1945c42ad9597bb734cad73")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="$pkgdir" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,56 @@
pkgname=fastfetch
pkgver=2.56.1
pkgdesc="A feature-rich and performance oriented neofetch like system information tool"
homepage="https://github.com/fastfetch-cli/fastfetch"
arch=('x86_64')
license=('MIT')
sources=("${pkgname}-${pkgver}.tar.gz"
"fastfetch-2.56.1-leaf.patch"
)
urls=("https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/${pkgver}.tar.gz"
"fastfetch-2.56.1-leaf.patch"
)
md5sums=("352542c153e59434dcedd0aa23d63ebf"
"12924e7da723d89453d0c53ae4287a99"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${distdir}/${sources[1]}
}
src_build() {
cmake -B build \
-DCMAKE_BUILD_TYPE='RelWithDebInfo' \
-DCMAKE_INSTALL_PREFIX='/usr' \
-DBUILD_FLASHFETCH='OFF' \
-DBUILD_TESTS='ON' \
-DENABLE_IMAGEMAGICK6='OFF' \
-DENABLE_SYSTEM_YYJSON='ON' \
-DPACKAGES_DISABLE_APK='ON' \
-DPACKAGES_DISABLE_DPKG='ON' \
-DPACKAGES_DISABLE_EMERGE='ON' \
-DPACKAGES_DISABLE_EOPKG='ON' \
-DPACKAGES_DISABLE_GUIX='ON' \
-DPACKAGES_DISABLE_LINGLONG='ON' \
-DPACKAGES_DISABLE_LPKG='ON' \
-DPACKAGES_DISABLE_LPKGBUILD='ON' \
-DPACKAGES_DISABLE_OPKG='ON' \
-DPACKAGES_DISABLE_PACSTALL='ON' \
-DPACKAGES_DISABLE_PALUDIS='ON' \
-DPACKAGES_DISABLE_PKG='ON' \
-DPACKAGES_DISABLE_PKGTOOL='ON' \
-DPACKAGES_DISABLE_RPM='ON' \
-DPACKAGES_DISABLE_SORCERY='ON' \
-DPACKAGES_DISABLE_XBPS='ON' \
-Wno-dev
cmake --build build
}
src_check() {
ctest --test-dir build --output-on-failure
}
src_install() {
DESTDIR="${pkgdir}" cmake --install build
}

View File

@@ -0,0 +1,72 @@
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
index 12e98793..b1552761 100644
--- a/src/detection/packages/packages.h
+++ b/src/detection/packages/packages.h
@@ -22,6 +22,7 @@ typedef struct FFPackagesResult
uint32_t hpkgSystem;
uint32_t hpkgUser;
uint32_t kiss;
+ uint32_t leaf;
uint32_t linglong;
uint32_t lpkg;
uint32_t lpkgbuild;
diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
index fc5a0cf2..f4a3fca1 100644
--- a/src/detection/packages/packages_linux.c
+++ b/src/detection/packages/packages_linux.c
@@ -418,6 +418,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (!(options->disabled & FF_PACKAGES_FLAG_DPKG_BIT)) packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: install ok installed", "dpkg");
if (!(options->disabled & FF_PACKAGES_FLAG_LPKG_BIT)) packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n", "lpkg");
if (!(options->disabled & FF_PACKAGES_FLAG_EMERGE_BIT)) packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
+ if (!(options->disabled & FF_PACKAGES_FLAG_LEAF_BIT)) packageCounts->leaf += countFilesRecursive(baseDir, "/var/lib/leaf/trace", "FILES");
if (!(options->disabled & FF_PACKAGES_FLAG_EOPKG_BIT)) packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", true);
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT)) packageCounts->flatpakSystem += getFlatpakPackages(baseDir, "/var/lib");
if (!(options->disabled & FF_PACKAGES_FLAG_KISS_BIT)) packageCounts->kiss += getNumElements(baseDir, "/var/db/kiss/installed", true);
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
index f3954138..a7a9991c 100644
--- a/src/modules/packages/option.h
+++ b/src/modules/packages/option.h
@@ -37,6 +37,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29,
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
+ FF_PACKAGES_FLAG_LEAF_BIT = 1ULL << 32,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c
index 5f78a052..5628edd9 100644
--- a/src/modules/packages/packages.c
+++ b/src/modules/packages/packages.c
@@ -147,6 +147,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(mport)
FF_PRINT_PACKAGE(pisi)
FF_PRINT_PACKAGE(soar)
+ FF_PRINT_PACKAGE(leaf)
putchar('\n');
}
@@ -196,6 +197,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_FORMAT_ARG(counts.pisi, "pisi"),
FF_FORMAT_ARG(counts.soar, "soar"),
FF_FORMAT_ARG(counts.kiss, "kiss"),
+ FF_FORMAT_ARG(counts.leaf, "leaf"),
FF_FORMAT_ARG(nixAll, "nix-all"),
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -435,6 +437,7 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
FF_APPEND_PACKAGE_COUNT(sorcery)
FF_APPEND_PACKAGE_COUNT(winget)
FF_APPEND_PACKAGE_COUNT(xbps)
+ FF_APPEND_PACKAGE_COUNT(leaf)
yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch);
return true;
@@ -506,6 +509,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{"Number of pisi packages", "pisi"},
{"Number of soar packages", "soar"},
{"Number of kiss packages", "kiss"},
+ {"Number of leaf packages", "leaf"},
{"Total number of all nix packages", "nix-all"},
{"Total number of all flatpak app packages", "flatpak-all"},
{"Total number of all brew packages", "brew-all"},

View File

@@ -0,0 +1,56 @@
pkgname=jq
pkgver=1.8.1
pkgdesc='Command-line JSON processor'
arch=('x86_64')
homepage='https://jqlang.github.io/jq/'
license=('MIT')
depends=('glibc' 'oniguruma')
makedepends=('autoconf' 'automake' 'bison' 'flex' 'python')
_patches=("jq-1.6-r3-never-bundle-oniguruma.patch")
_patch_sums=("08413ae86ca528083375cf89bdfd84c1")
sources=("${pkgname}-${pkgver}.tar.gz"
${_patches[@]}
)
urls=("https://github.com/jqlang/jq/release/download/${pkgname}-${pkgver/_/}.tar.gz"
${_patches[@]}
)
md5sums=("0df1524fe928528b3c533c69d4ddfa23"
${_patch_sums[@]}
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am
printf "#!/bin/sh\\nprintf '%s'\\n\n" "${pkgver/_/}" > scripts/version
sed -e '/vendor\/oniguruma/d' -i Makefile.am
rm -rf "${srcdir}"/vendor/oniguruma
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
sed -i "s/\[jq_version\]/[${pkgver/_/}]/" configure.ac
autoreconf -fi
}
src_build() {
local conf_args=(
--prefix=/usr
--disable-docs
--enable-valgrind=no
--disable-maintainer-mode
--disable-static
--with-oniguruma
)
./configure "${conf_args[@]}"
}
src_install() {
make DESTDIR="${pkgdir}" prefix=/usr install
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,27 @@
diff --git a/Makefile.am b/Makefile.am
index 6344b4e..86d968e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -47,7 +47,7 @@ AM_YFLAGS = --warnings=all -d
lib_LTLIBRARIES = libjq.la
libjq_la_SOURCES = ${LIBJQ_SRC}
-libjq_la_LIBADD = -lm
+libjq_la_LIBADD = -lm $(onig_LIBS)
libjq_la_LDFLAGS = $(onig_LDFLAGS) -export-symbols-regex '^j[qv]_' -version-info 1:4:0
if WIN32
diff --git a/configure.ac b/configure.ac
index 280694c..d96026e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -249,6 +249,9 @@ AS_IF([test "x$with_oniguruma" != xno], [
onig_CFLAGS="-I${with_oniguruma}/include"
onig_LDFLAGS="-L${with_oniguruma}/lib"
])
+ ], [
+ # with_oniguruma == yes
+ PKG_CHECK_MODULES([onig], [oniguruma])
])
AS_IF([test "x$build_oniguruma" = xno], [
# check for ONIGURUMA library, either in /usr or where requested

View File

@@ -0,0 +1,39 @@
pkgname="make-ca"
pkgver=1.16.1
pkgdesc="Mozilla's set of trusted CA certificates"
homepage="https://firefox-source-docs.mozilla.org/security/nss/index.html"
arch=(x86_64)
license=(MPL-2.0)
sources=("${pkgname}-${pkgver}.tar.gz"
"pythoncerts.sh"
)
urls=("https://github.com/lfs-book/make-ca/archive/v${pkgver}/${sources[0]}"
"pythoncerts.sh"
)
md5sums=("bf9cea2d24fc5344d4951b49f275c595"
"e04ade84d0092e803bcba2b70ae349d3"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
:
}
src_check() {
:
}
src_install() {
make DESTDIR="${pkgdir}" install &&
install -vdm755 "${pkgdir}"/etc/ssl/local
install -vDm644 ${distdir}/${sources[1]} ${pkgdir}/etc/profile.d/${sources[1]}
}
src_postinstall() {
/usr/sbin/make-ca -g &&
systemctl enable update-pki.timer
}

View File

@@ -0,0 +1,3 @@
# /etc/profile.d/pythoncerts.sh
export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt

View File

@@ -0,0 +1,65 @@
pkgname=fzf
pkgver=0.67.0
pkgdesc='Command-line fuzzy finder'
arch=('x86_64')
homepage='https://github.com/junegunn/fzf'
license=('MIT')
depends=('bash')
makedepends=('go')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/junegunn/fzf/archive/v${pkgver}.tar.gz")
md5sums=("502f470af95a7dec0dec2d21a1c42427")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i 's/-w /-w -linkmode external /' Makefile
}
src_build() {
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
export FZF_VERSION=${pkgver}
export FZF_REVISION=tarball
make
make bin/fzf
}
src_check() {
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
go test ./...
}
src_install() {
## Man page
install -Dm644 man/man1/fzf.1 "$pkgdir"/usr/share/man/man1/fzf.1
install -Dm644 man/man1/fzf-tmux.1 "$pkgdir"/usr/share/man/man1/fzf-tmux.1
## License
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/fzf/LICENSE
## Binaries
install -dm755 "$pkgdir"/usr/bin
install -m755 bin/fzf-tmux "$pkgdir"/usr/bin/
install -m755 bin/fzf "$pkgdir"/usr/bin/
## Completion and keybindings
install -dm755 "$pkgdir"/usr/share/fzf
install -m644 shell/key-bindings.bash shell/key-bindings.zsh shell/key-bindings.fish "$pkgdir"/usr/share/fzf
install -m755 bin/fzf-preview.sh "$pkgdir"/usr/share/fzf/fzf-preview.sh
install -Dm644 shell/completion.bash "${pkgdir}"/usr/share/bash-completion/completions/fzf
install -Dm644 shell/completion.zsh "${pkgdir}"/usr/share/zsh/site-functions/_fzf
## Vim plugin
install -Dm644 doc/fzf.txt "$pkgdir"/usr/share/vim/vimfiles/doc/fzf.txt
install -Dm644 plugin/fzf.vim "$pkgdir"/usr/share/vim/vimfiles/plugin/fzf.vim
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -4,13 +4,23 @@ pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX"
homepage="https://www.zsh.org/"
license=("custom")
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://www.zsh.org/pub/zsh-5.9.tar.xz")
#urls=("https://www.zsh.org/pub/${sources[0]}")
urls=("https://downloads.sourceforge.net/project/zsh/zsh/${pkgver}/${sources[0]}")
md5sums=("182e37ca3fe3fa6a44f69ad462c5c30e")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -e 's/set_from_init_file/texinfo_&/' -i Doc/Makefile.in
sed -e 's/^main/int &/' \
-e 's/exit(/return(/' \
-i aczsh.m4 configure.ac &&
sed -e 's/test = /&(char**)/' \
-i configure.ac &&
autoconf
sed 's|/etc/z|/etc/zsh/z|g' -i Doc/*.*
}
@@ -40,3 +50,10 @@ src_install(){
make DESTDIR="${pkgdir}/" htmldir="/usr/share/doc/zsh-5.9/html" install.html &&
install -v -m644 zsh.{html,txt} Etc/FAQ "${pkgdir}/usr/share/doc/zsh-5.9"
}
src_postinstall() {
leaf_add_shell /bin/zsh
}
src_postremove() {
leaf_remove_shell /bin/zsh
}

View File

@@ -0,0 +1,149 @@
pkgname=docbook-xml
pkgver=4.5
pkgdesc="A widely used XML scheme for writing documentation and help"
homepage="https://www.oasis-open.org/docbook/"
arch=(any)
license=(MIT)
sources=("${pkgname}-${pkgver}.zip")
urls=("https://www.docbook.org/xml/${pkgver}/${sources[0]}")
md5sums=("03083e288e87a7e829e437358da7ef9e")
_compat_4x=(4.1.2 4.2 4.3 4.4)
src_prepare() {
local z="${distdir}/${sources[0]}"
bsdtar -xf "$z"
}
src_install() {
local dtd_dir="${pkgdir}/usr/share/xml/docbook/xml-dtd-${pkgver}"
local etc_xml="${pkgdir}/etc/xml"
local cat_docbook="${etc_xml}/docbook"
install -v -d -m755 "$dtd_dir"
cp -v -af --no-preserve=ownership docbook.cat *.dtd ent/ *.mod "$dtd_dir"
install -v -d -m755 "$etc_xml"
xmlcatalog --noout --create "$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML V${pkgver}//EN" \
"http://www.oasis-open.org/docbook/xml/${pkgver}/docbookx.dtd" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML CALS Table Model V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/calstblx.dtd" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/soextblx.dtd" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Information Pool V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbpoolx.mod" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbhierx.mod" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML HTML Tables V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/htmltblx.mod" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Notations V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbnotnx.mod" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Character Entities V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbcentx.mod" \
"$cat_docbook"
xmlcatalog --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Additional General Entities V${pkgver}//EN" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbgenent.mod" \
"$cat_docbook"
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/${pkgver}" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \
"$cat_docbook"
xmlcatalog --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/${pkgver}" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \
"$cat_docbook"
for DTDVERSION in "${_compat_4x[@]}"; do
xmlcatalog --noout --add "public" \
"-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" \
"http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd" \
"$cat_docbook"
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/${DTDVERSION}" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \
"$cat_docbook"
xmlcatalog --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/${DTDVERSION}" \
"file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \
"$cat_docbook"
done
# Fix permissions
find "$pkgdir" -type f -exec chmod -c a-x {} +
chmod -Rc u=rwX,go=rX "$pkgdir"
}
src_postinstall() {
install -v -d -m755 /etc/xml
if [ ! -e /etc/xml/catalog ]; then
xmlcatalog --noout --create /etc/xml/catalog
fi
xmlcatalog --noout --add "delegatePublic" \
"-//OASIS//ENTITIES DocBook XML" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
xmlcatalog --noout --add "delegatePublic" \
"-//OASIS//DTD DocBook XML" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
xmlcatalog --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
xmlcatalog --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
for DTDVERSION in "${_compat_4x[@]}"; do
xmlcatalog --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
xmlcatalog --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" \
"file:///etc/xml/docbook" \
/etc/xml/catalog
done
}
src_postremove() {
if [ -e /etc/xml/catalog ]; then
xmlcatalog --noout --del "file:///etc/xml/docbook" /etc/xml/catalog
fi
}

View File

@@ -0,0 +1,103 @@
pkgname=docbook-xsl-nons
pkgver=1.79.2
_lfsver=12.4
pkgdesc='XML stylesheets for Docbook-xml transformations'
homepage='https://docbook.org/'
arch=(any)
license=(LicenseRef-docbook-XSL)
sources=("${pkgname}-${pkgver}.tar.bz2"
"${pkgname}-${pkgver}-stack_fix-1.patch"
)
urls=("https://github.com/docbook/xslt10-stylesheets/releases/download/release/${pkgver}/${sources[0]}"
"https://www.linuxfromscratch.org/patches/blfs/${_lfsver}/${sources[1]}"
)
md5sums=("2666d1488d6ced1551d15f31d7ed8c38"
"8457bd6ee6b06fbc6dc540e1b096f766"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${distdir}/${sources[1]}
}
src_install() {
install -v -m755 -d ${pkgdir}/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}
cp -v -R VERSION assembly common eclipse epub epub3 extensions fo \
highlighting html htmlhelp images javahelp lib manpages params \
profiling roundtrip slides template tests tools webhelp website \
xhtml xhtml-1_1 xhtml5 \
${pkgdir}/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}
ln -s VERSION ${pkgdir}/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}/VERSION.xsl
install -v -m644 -D README \
${pkgdir}/usr/share/doc/docbook-xsl-nons-${pkgver}/README.txt
install -v -m644 RELEASE-NOTES* NEWS* \
${pkgdir}/usr/share/doc/docbook-xsl-nons-${pkgver}
}
src_postinstall() {
if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &&
if [ ! -f /etc/xml/catalog ]; then
xmlcatalog --noout --create /etc/xml/catalog
fi &&
xmlcatalog --noout --add "rewriteSystem" \
"http://cdn.docbook.org/release/xsl-nons/${pkgver}" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteSystem" \
"https://cdn.docbook.org/release/xsl-nons/${pkgver}" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"http://cdn.docbook.org/release/xsl-nons/${pkgver}" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"https://cdn.docbook.org/release/xsl-nons/${pkgver}" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteSystem" \
"http://cdn.docbook.org/release/xsl-nons/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteSystem" \
"https://cdn.docbook.org/release/xsl-nons/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"http://cdn.docbook.org/release/xsl-nons/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"https://cdn.docbook.org/release/xsl-nons/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteSystem" \
"http://docbook.sourceforge.net/release/xsl/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog &&
xmlcatalog --noout --add "rewriteURI" \
"http://docbook.sourceforge.net/release/xsl/current" \
"/usr/share/xml/docbook/xsl-stylesheets-nons-${pkgver}" \
/etc/xml/catalog
}
src_postremove() {
if [ -e /etc/xml/catalog ]; then
xmlcatalog --noout --del "/usr/share/xml/docbook/xsl-stylesheets-${pkgver}-nons" /etc/xml/catalog
fi
}

View File

@@ -0,0 +1,31 @@
pkgname=scdoc
pkgver=1.9.7
license=('MIT')
pkgdesc='Tool for generating roff manual pages'
arch=('x86_64')
homepage='https://git.sr.ht/~sircmpwn/scdoc/'
depends=()
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://git.sr.ht/~sircmpwn/scdoc/archive/${pkgver}.tar.gz")
md5sums=("98d68f5d4f1884fab830e23728118678")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -e 's/-Werror//' \
-i Makefile || leaf_error 'Failed to patch Makefile'
}
src_build() {
make PREFIX=/usr LDFLAGS="$LDFLAGS"
}
src_check() {
make -k check
}
src_install() {
make PREFIX=/usr DESTDIR="$pkgdir" install
install -Dm644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,34 @@
pkgname=xmlto
pkgver=0.0.29
pkgdesc="Convert xml to many other formats"
arch=('x86_64')
homepage="https://pagure.io/xmlto/"
license=('GPL')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://pagure.io/xmlto/archive/${pkgver}/${sources[0]}")
md5sums=("556f2642cdcd005749bd4c08bc621c37")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
autoreconf -fiv
./configure BASH=/bin/bash \
LINKS="/usr/bin/links" \
--prefix=/usr \
--mandir=/usr/share/man \
--with-webbrowser=links
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
}

View File

@@ -0,0 +1,48 @@
pkgname=glib
pkgver=2.84.4
_basever=2.84
_lfsver=12.4
pkgdesc="Low level core library"
homepage="https://gitlab.gnome.org/GNOME/glib"
license=(LGPL-2.1-or-later)
arch=(x86_64)
sources=("${pkgname}-${pkgver}.tar.xz"
"glib-skip_warnings-1.patch"
)
_gnomeurl="https://download.gnome.org/sources"
urls=("${_gnomeurl}/${pkgname}/${_basever}/${sources[0]}"
"https://www.linuxfromscratch.org/patches/blfs/${_lfsver}/${sources[2]}"
)
md5sums=("5655d0ff809b98dd77c02490609fadde"
"729287ad0c60b5b2d6ca9ec4a19d8cec"
)
export GLIB_LOG_LEVEL=4
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${distdir}/${sources[1]}
}
src_build() {
# Produce more debug info: GLib has a lot of useful macros
CFLAGS+=" -g3"
CXXFLAGS+=" -g3"
meson setup build \
--prefix=/usr \
--buildtype=release \
-D introspection=disabled \
-D glib_debug=disabled \
-D man-pages=enabled \
-D sysprof=disabled &&
meson compile -C build
}
src_check() {
leaf_noop
}
src_install() {
meson install -C build --destdir "$pkgdir"
}

View File

@@ -0,0 +1,22 @@
pkgname=go-bootstrap
pkgver=1.22.12
homepage="https://golang.org"
pkgdesc="Binary bootstrap package for dev-lang/go"
license=(BSD)
sources=("${pkgname}-${pkgver}-linux-amd64.tbz")
urls=("https://dev.gentoo.org/~williamh/dist/${sources[0]}")
md5sums=("14351f5bc7ca9680dec82ba7b02ee09b")
options=(!strip)
src_prepare() {
tar -xaf ${distdir}/${sources[0]}
}
src_install() {
mkdir -pv "${pkgdir}/usr/lib"
mv go-*-bootstrap "${pkgdir}/usr/lib/go-bootstrap"
rm -fr $(find "${pkgdir}"/usr/lib/go-bootstrap -iname testdata -type d -print)
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,35 @@
pkgname=libva
pkgver=2.22.0
pkgrel=1
pkgdesc='Video Acceleration (VA) API for Linux'
arch=(x86_64)
url=https://01.org/linuxmedia/vaapi
license=(MIT)
depends=(
libdrm
wayland
)
makedepends=(
meson
)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/intel/libva/archive/${pkgver}/${sources[0]}")
md5sums=("8dba13313d724b5e930f06e65b7437e2")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
meson setup --prefix=/usr \
--buildtype=release \
build
meson compile -C build
}
src_install() {
meson install -C build --destdir "${pkgdir}"
install -Dm 644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,35 @@
pkgname=cmake
pkgver=4.1.0
_basever="${pkgver%.*}"
pkgdesc='A cross-platform open-source make system'
arch=('x86_64')
homepage="https://www.cmake.org/"
license=('custom')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://cmake.org/files/v${_basever}/${sources[0]}")
md5sums=("80ae27faba5068c8ec12c77bf00e6db3")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake
}
src_build() {
./bootstrap --prefix=/usr \
--system-libs \
--mandir=/share/man \
--no-system-jsoncpp \
--no-system-cppdap \
--no-system-librhash \
--docdir=/share/doc/${pkgname}-${pkgver} &&
make
}
src_check() {
bin/ctest -j${PARALLEL_JOBS}
}
src_install() {
make DESTDIR="${pkgdir}" install
install -Dm644 LICENSE.rst -t "${pkgdir}"/usr/share/licenses/$pkgname
}

View File

@@ -0,0 +1,19 @@
pkgname=gtk-doc-am
pkgbase=gtk-doc
pkgver=1.34.0
pkgdesc="Automake files from gtk-doc"
homepage="https://gitlab.gnome.org/GNOME/gtk-doc"
licenses=("GPL-2+" "FDL-1.1")
sources=("${pkgbase}-${pkgver}.tar.xz")
urls=("https://download.gnome.org/sources/${pkgbase}/${pkgver%.*}/${sources[0]}")
sha512sums=("d962fe31949b5f7c70122c7ebbd98f4d21725697804bf5dd75fd7a6662753a91c9350fd1e8bed22a58a957b173f35e200fcbb4c7c2ebc45ccbc0db2e916b27ea")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_install() {
install -vDm644 buildsystems/autotools/gtk-doc.m4 -t "${pkgdir}/usr/share/aclocal"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,36 @@
pkgname=abseil-cpp
pkgver=20250814.0
pkgdesc="Collection of C++ library code designed to augment the C++ standard library"
arch=('x86_64')
homepage='https://abseil.io'
license=('Apache-2.0')
depends=('gcc-libs' 'glibc')
makedepends=('cmake')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/abseil/abseil-cpp/archive/${pkgver}.tar.gz")
md5sums=("016feacd6a6b3b9a47ab844e61f4f7bd")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_args=(
-D CMAKE_CXX_STANDARD=17
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
-D BUILD_SHARED_LIBS=ON
-D ABSL_ENABLE_INSTALL="yes"
-D ABSL_USE_EXTERNAL_GOOGLETEST="yes"
-D ABSL_BUILD_TEST_HELPERS=OFF
-D ABSL_BUILD_TESTING=OFF
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,60 @@
pkgname=eigen
pkgver=3.4.0
pkgdesc='Lightweight C++ template library for vector and matrix math, a.k.a. linear algebra (legacy version)'
arch=(any)
homepage='https://eigen.tuxfamily.org'
license=(MPL-2.0 Apache-2.0
BSD-3-Clause Minpack
'LGPL-2.1-only OR LGPL-2.1-or-later')
makedepends=(cmake)
sources=("${pkgname}-${pkgver}.tar.bz2"
"eigen-3.4.0-cxxstandard.patch"
)
urls=("https://gitlab.com/lib${pkgname}/${pkgname}/-/archive/${pkgver}/${sources[0]}"
"eigen-3.4.0-cxxstandard.patch"
)
md5sums=("132dde48fe2b563211675626d29f1707"
"baa6b8689c99421cd928271aa1e5bb9e"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${filedir}/${sources[1]}
sed \
-e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
-i CMakeLists.txt
# no test
sed \
-e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
-i CMakeLists.txt
}
src_build() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX=/usr
-DBUILD_SHARED_LIBS=yes
-DBUILD_TESTING=OFF
-DEIGEN_BUILD_DOC=OFF
-DEIGEN_BUILD_PKGCONFIG=yes
)
cmake -B build "${mycmakeargs[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
# install custom licenses
install -Dm644 COPYING.* -t "$pkgdir/usr/share/licenses/${pkgname}3"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,108 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -74,19 +74,9 @@ macro(ei_add_cxx_compiler_flag FLAG)
endif()
endmacro()
-check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11)
-
-if(EIGEN_TEST_CXX11)
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_CXX_EXTENSIONS OFF)
- if(EIGEN_COMPILER_SUPPORT_CPP11)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- endif()
-else()
- #set(CMAKE_CXX_STANDARD 03)
- #set(CMAKE_CXX_EXTENSIONS OFF)
- ei_add_cxx_compiler_flag("-std=c++03")
-endif()
+set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
+set(CMAKE_CXX_EXTENSIONS OFF)
# Determine if we should build shared libraries on this platform.
get_cmake_property(EIGEN_BUILD_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS)
@@ -157,7 +157,6 @@ if(NOT MSVC)
ei_add_cxx_compiler_flag("-Wshorten-64-to-32")
ei_add_cxx_compiler_flag("-Wlogical-op")
ei_add_cxx_compiler_flag("-Wenum-conversion")
- ei_add_cxx_compiler_flag("-Wc++11-extensions")
ei_add_cxx_compiler_flag("-Wdouble-promotion")
# ei_add_cxx_compiler_flag("-Wconversion")
--- a/Eigen/src/Core/util/Macros.h
+++ b/Eigen/src/Core/util/Macros.h
@@ -37,7 +37,7 @@
// Expected values are 03, 11, 14, 17, etc.
// By default, let's use an arbitrarily large C++ version.
#ifndef EIGEN_MAX_CPP_VER
-#define EIGEN_MAX_CPP_VER 99
+#define EIGEN_MAX_CPP_VER 14
#endif
/** Allows to disable some optimizations which might affect the accuracy of the result.
--- a/doc/examples/CMakeLists.txt
+++ b/doc/examples/CMakeLists.txt
@@ -14,7 +14,3 @@ foreach(example_src ${examples_SRCS})
)
add_dependencies(all_examples ${example})
endforeach()
-
-if(EIGEN_COMPILER_SUPPORT_CPP11)
-ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11")
-endif()
\ No newline at end of file
diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt
index 65f195a..4cb18c8 100644
--- a/doc/snippets/CMakeLists.txt
+++ b/doc/snippets/CMakeLists.txt
@@ -15,9 +15,6 @@ foreach(snippet_src ${snippets_SRCS})
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
endif()
- if(${snippet_src} MATCHES "cxx11")
- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11")
- endif()
if(${snippet_src} MATCHES "deprecated")
set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING")
endif()
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -399,7 +399,6 @@ if(CUDA_FOUND)
set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
endif()
if(EIGEN_TEST_CUDA_CLANG)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
--- a/unsupported/test/CMakeLists.txt
+++ b/unsupported/test/CMakeLists.txt
@@ -59,7 +59,7 @@ find_package(MPREAL)
if(MPREAL_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11)
ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ")
include_directories(${MPREAL_INCLUDES})
- ei_add_test(mpreal_support "-std=c++11" "${MPREAL_LIBRARIES}" )
+ ei_add_test(mpreal_support "-std=c++14" "${MPREAL_LIBRARIES}" )
else()
ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ")
endif()
@@ -308,7 +308,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
endif()
if(EIGEN_TEST_CUDA_CLANG)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
--- a/doc/special_examples/CMakeLists.txt
+++ b/doc/special_examples/CMakeLists.txt
@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11)
add_executable(random_cpp11 random_cpp11.cpp)
target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
add_dependencies(all_examples random_cpp11)
- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11")
add_custom_command(
TARGET random_cpp11

View File

@@ -0,0 +1,35 @@
pkgname=glaze
pkgver=5.5.4
pkgdesc='An Extremely fast, In-Memory JSON and Interface Library for Modern C++'
arch=(any)
homepage="https://github.com/stephenberry/$pkgname"
license=(MIT)
makedepends=(cmake)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("${homepage}/archive/v$pkgver/${sources[0]}")
md5sums=("de1e435a1bb0f40f08286086e1f22da9")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_args=(
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_SKIP_INSTALL_RULES=OFF
-D glaze_DEVELOPER_MODE=ON
-D glaze_ENABLE_FUZZING=OFF
-D glaze_BUILD_EXAMPLES=OFF
-D BUILD_TESTING=OFF
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,38 @@
pkgname=highway
pkgver=1.3.0
pkgdesc='A C++ library that provides portable SIMD/vector intrinsics'
arch=('x86_64')
url='https://github.com/google/highway/'
license=('Apache-2.0 AND BSD-3-Clause')
depends=(
'gcc'
'glibc'
)
makedepends=('cmake')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/google/highway/archive/refs/tags/${pkgver}.tar.gz")
md5sums=("6c913a4c4ba849a3306d45318f66078d")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_args=(
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
-D BUILD_TESTING=false
-D HWY_ENABLE_TESTS=false
-D HWY_WARNINGS_ARE_ERRORS=OFF
-D BUILD_SHARED_LIBS:BOOL='ON'
)
cmake -B build ${cmake_args[@]}
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -D -m644 "LICENSE-BSD3" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,38 @@
pkgname=tomlplusplus
pkgver=3.4.0
pkgdesc="Header-only TOML config file parser and serializer for C++17"
arch=(x86_64)
url="https://marzer.github.io/tomlplusplus/"
license=(MIT)
depends=(
gcc
glibc
)
makedepends=(cmake meson)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/marzer/tomlplusplus/archive/refs/tags/v${pkgver}.tar.gz")
md5sums=("c1f32ced14311fe949b9ce7cc3f7a867")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
-D build_lib=true
-D generate_cmake_config=true
-D use_vendored_libs=true
-D build_tests=false
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_install() {
meson install -C build --destdir "$pkgdir"
install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,51 @@
pkgname="sqlite"
pkgver=3.50.4
_srcver=$(echo "$pkgver" | awk -F. '{ printf "%d%02d%02d00", $1, $2, $3 }')
_docver=${_srcver}
#_docver=3440000
pkgdesc="A C library that implements an SQL database engine"
arch=('x86_64')
license=('LicenseRef-Sqlite')
homepage="https://www.sqlite.org/"
sources=("sqlite-autoconf-${_srcver}.tar.gz"
"sqlite-doc-${_docver}.zip"
)
urls=("https://sqlite.org/2025/${sources[0]}"
"https://sqlite.org/2025/${sources[1]}"
)
md5sums=("d74bbdca4ab1b2bd46d3b3f8dbb0f3db"
"faa12e794bcc37ba275fd6268317eb87"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
unzip -q ${distdir}/${sources[1]}
}
src_build() {
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
export CPPFLAGS="${CPPFLAGS} \
-D SQLITE_ENABLE_COLUMN_METADATA=1 \
-D SQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-D SQLITE_ENABLE_DBSTAT_VTAB=1 \
-D SQLITE_SECURE_DELETE=1"
./configure --prefix=/usr \
--disable-static \
--enable-fts{4,5} \
CPPFLAGS="-D SQLITE_ENABLE_COLUMN_METADATA=1 \
-D SQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-D SQLITE_ENABLE_DBSTAT_VTAB=1 \
-D SQLITE_SECURE_DELETE=1" &&
make
}
src_check() {
:
}
src_install() {
make DESTDIR="${pkgdir}" install
install -v -m755 -d ${pkgdir}/usr/share/doc/sqlite-${pkgver} &&
cp -v -R sqlite-doc-${_docver}/* ${pkgdir}/usr/share/doc/sqlite-${pkgver}
}

View File

@@ -0,0 +1,38 @@
pkgname=gdb
pkgver=16.3
pkgdesc='The GNU Debugger'
arch=(x86_64)
homepage='https://www.gnu.org/software/gdb/'
license=(GPL-3.0-or-later LGPL-3.0-or-later)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://ftp.gnu.org/gnu/${pkgname}/${sources[0]}")
md5sums=("f7a7e2d0a6d28622ac69a3623b23876b")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
mkdir build &&
cd build &&
../configure --prefix=/usr \
--with-system-readline \
--with-system-zlib \
--disable-sim \
--with-python=/usr/bin/python3 &&
make &&
cd ..
}
src_check() {
:
}
src_install() {
pushd build
make -C gdb DESTDIR="$pkgdir" install
make -C gdbserver DESTDIR="$pkgdir" install
popd
}

View File

@@ -0,0 +1,31 @@
pkgname=valgrind
pkgver=3.25.1
pkgdesc='Tool to help find memory-management problems in programs'
arch=('x86_64')
license=('GPL-2.0-or-later')
homepage='https://valgrind.org/'
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://sourceware.org/pub/${pkgname}/${sources[0]}")
md5sums=("2b424c9a43aa9bf2840d4989b01ea6e7")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i 's|/doc/valgrind||' docs/Makefile.in
}
src_build() {
./configure --prefix=/usr \
--enable-lto=yes \
--datadir=/usr/share/doc/valgrind-${pkgver} &&
make
}
src_check() {
make check CPPFLAGS= CFLAGS= CXXFLAGS= LDFLAGS=
}
src_install() {
make DESTDIR="${pkgdir}" install
install -Dm644 docs/*.1 -t "$pkgdir/usr/share/man/man1"
}

View File

@@ -0,0 +1,23 @@
pkgname=duktape
pkgver=2.7.0
pkgdesc='Embeddable Javascript engine'
homepage='https://duktape.org/'
arch=(x86_64)
license=(MIT)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("${homepage}${sources[0]}")
md5sums=("b3200b02ab80125b694bae887d7c1ca6")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i 's/-Os/-O2/' Makefile.sharedlibrary
}
src_build() {
make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr
}
src_install() {
make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr DESTDIR="$pkgdir" install
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE.txt
}

View File

@@ -0,0 +1,70 @@
pkgname=go
pkgver=1.25.5
pkgrel=1
pkgdesc='Core compiler tools for the Go programming language'
arch=(x86_64)
homepage='https://go.dev/'
options=(!strip)
sources=("go${pkgver}.src.tar.gz")
urls=("https://go.dev/dl/${sources[0]}")
md5sums=("e7441aa32bcc87d3c4aba36665d9d6fd")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
rm -vf src/runtime/{os_plan9.go.orig,os_windows.go.orig,proc.go.orig,vgetrandom_linux.go.orig}
}
src_build() {
export GOARCH=amd64
export GOAMD64=v3 # make sure we're building for the right x86-64 version
export GOROOT_FINAL=/usr/lib/go
export GOROOT_BOOTSTRAP=/usr/lib/go-bootstrap
# Disable dwarf5 until debugedit catches up
export GOEXPERIMENT=nodwarf5
pushd "${srcdir}"/src
./make.bash -v
popd
}
src_check() {
export GO_TEST_TIMEOUT_SCALE=3
chown -R leaf .
pushd "${srcdir}"/src
# TODO: Disable LSAN tests as it's crashing and we don't want to wait for upstream.
# See: https://github.com/golang/go/issues/74476
chown -R leaf {$HOME,$TMPDIR}
su leaf -c "PATH=$PATH HOME=$HOME TMPDIR=$TMPDIR GO_TEST_TIMEOUT_SCALE=${GO_TEST_TIMEOUT_SCALE} ./run.bash --no-rebuild -v -v -v -k -run '!cmd/cgo/internal/testsanitizers'"
popd
}
src_install() {
install -d "$pkgdir/usr/bin" "$pkgdir/usr/lib/go" "$pkgdir/usr/share/doc/go" \
"$pkgdir/usr/lib/go/pkg/linux_amd64_"{dynlink,race}
cp -a bin pkg src lib misc api test "$pkgdir/usr/lib/go"
# We can't strip all binaries and libraries,
# as that also strips some testdata directories and breaks the tests.
# Just strip the packaged binaries as a compromise.
strip $STRIP_BINARIES "$pkgdir/usr/lib/go"{/bin/*,/pkg/tool/*/*}
cp -r doc/* "$pkgdir/usr/share/doc/go"
ln -sf /usr/lib/go/bin/go "$pkgdir/usr/bin/go"
ln -sf /usr/lib/go/bin/gofmt "$pkgdir/usr/bin/gofmt"
ln -sf /usr/share/doc/go "$pkgdir/usr/lib/go/doc"
install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION"
rm -rf "$pkgdir/usr/lib/go/pkg/bootstrap"
# TODO: Figure out if really needed
rm -rf "$pkgdir"/usr/lib/go/pkg/obj/go-build
# https://github.com/golang/go/issues/57179
install -Dm644 go.env "$pkgdir/usr/lib/go/go.env"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,37 @@
pkgname=nasm
pkgver=3.01
pkgdesc='80x86 assembler designed for portability and modularity'
arch=(x86_64)
homepage='https://www.nasm.us'
license=(BSD-2-Clause)
depends=(glibc zlib)
makedepends=(
diffutils
)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${sources[0]}")
md5sums=("8414016d6ad0e113958c29066dfcc550")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure \
--prefix=/usr \
--docdir=/usr/share/doc/${pkgname} \
--htmldir=/usr/share/doc/${pkgname}/html
make
}
src_check() {
make -j1 -C test
}
src_install() {
make DESTDIR="${pkgdir}" install
install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/nasm
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,61 @@
pkgname=python
pkgver=3.13.7
_pybasever=${pkgver%.*}
pkgdesc="The Python programming language"
license=('PSF-2.0')
homepage="https://www.python.org/"
sources=("Python-${pkgver}.tar.xz"
"${pkgname}-${pkgver}-docs-html.tar.bz2"
"pythondocs.sh"
)
urls=("https://www.python.org/ftp/${pkgname}/${pkgver}/${sources[0]}"
"https://www.python.org/ftp/${pkgname}/doc/${pkgver}/${sources[1]}"
"pythondocs.sh"
)
md5sums=("256cdb3bbf45cdce7499e52ba6c36ea3"
"b84c0d81b2758398bb7f5b7411d3d908"
"6ec60270c2441d78b2bc9eb24709f6e3"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tar --no-same-owner -xf ${distdir}/${sources[1]}
}
src_build() {
# PGO should be done with -O3
CFLAGS="${CFLAGS/-O2/-O3}"
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--without-ensurepip \
--enable-optimizations
make
}
src_check() {
LD_LIBRARY_PATH="${srcdir}":${LD_LIBRARY_PATH}\
make test TESTOPTS="--timeout 120"
}
src_install() {
# PGO should be done with -O3
CFLAGS="${CFLAGS/-O2/-O3} -ffat-lto-objects"
make DESTDIR="${pkgdir}" EXTRA_CFLAGS="$CFLAGS" install
ln -s python3 "${pkgdir}"/usr/bin/python
ln -s python3-config "${pkgdir}"/usr/bin/python-config
ln -s idle3 "${pkgdir}"/usr/bin/idle
ln -s pydoc3 "${pkgdir}"/usr/bin/pydoc
ln -s python${_pybasever}.1 "${pkgdir}"/usr/share/man/man1/python.1
# doc
install -v -dm755 "${pkgdir}/usr/share/doc/python-${pkgver}/html"
cp -R --no-preserve=mode python-${pkgver}-docs-html/* \
"${pkgdir}/usr/share/doc/python-${pkgver}/html"
ln -svfn python-${pkgver} "${pkgdir}/usr/share/doc/python-3"
install -v -dm755 "${pkgdir}/etc/profile.d/"
install -vm644 ${distdir}/${sources[2]} "${pkgdir}/etc/profile.d/${sources[2]}"
}

View File

@@ -0,0 +1,3 @@
# /etc/profile.d/pythondocs.sh
# this file belongs to dev-lang/python
export PYTHONDOCS=/usr/share/doc/python-3/html

View File

@@ -0,0 +1,131 @@
pkgname=rust
pkgver=1.89.0
pkgdesc="Systems programming language focused on safety, speed and concurrency"
homepage=https://www.rust-lang.org/
arch=(x86_64)
license=("Apache-2.0 OR MIT")
sources=("rustc-${pkgver}-src.tar.xz")
urls=("https://static.rust-lang.org/dist/${sources[0]}")
md5sums=("982f087479302e6d91432efc81852b00")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
local clangdir
clangdir="$(clang -print-resource-dir)"
cat << EOF > bootstrap.toml
# See bootstrap.toml.example for more possible options,
# and see src/bootstrap/defaults/bootstrap.dist.toml for a few options
# automatically set when building from a release tarball
# (unfortunately, we have to override many of them).
# Tell x.py the editors have reviewed the content of this file
# and updated it to follow the major changes of the building system,
# so x.py will not warn us to do such a review.
change-id = 142379
profile = "dist"
[llvm]
#from gentoo
download-ci-llvm = false
optimize = true
release-debuginfo = false
# When using system llvm prefer shared libraries
link-shared = true
# If building the shipped LLVM source, only enable the x86 target
# instead of all the targets supported by LLVM.
targets = "X86"
[build]
description = "LFS 12.4-systemd ${pkgname}-${pkgver}"
# Omit docs to save time and space (default is to build them).
docs = false
# Do not query new versions of dependencies online.
locked-deps = true
# Specify which extended tools (those from the default install).
tools = ["cargo", "clippy", "rustdoc", "rustfmt"]
sanitizers = true
profiler = true
[install]
prefix = "/usr"
[rust]
channel = "stable"
# Enable the same optimizations as the official upstream build.
lto = "thin"
codegen-units = 1
# Don't build lld which does not belong to this package and seems not
# so useful for BLFS. Even if it turns out to be really useful we'd build
# it as a part of the LLVM package instead.
lld = false
# Don't build llvm-bitcode-linker which is only useful for the NVPTX
# backend that we don't enable.
llvm-bitcode-linker = false
[dist]
compression-formats = ["gz"]
compression-profile = "fast"
[target.x86_64-unknown-linux-gnu]
cc = "/usr/bin/gcc"
cxx = "/usr/bin/g++"
ar = "/usr/bin/gcc-ar"
ranlib = "/usr/bin/gcc-ranlib"
llvm-config = "/usr/bin/llvm-config"
#optimized-compiler-builtins = "$clangdir/lib/linux/libclang_rt.builtins-x86_64.a"
EOF
}
src_build() {
leaf_clear_flags
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
./x.py build
}
src_check() {
leaf_record_message "Some tests are known to fail. See BLFS handbook."
set +e
./x.py test --verbose --no-fail-fast | tee rustc-testlog
local -a ps=( "${PIPESTATUS[@]}" )
local rc="${ps[0]}"
grep '^test result:' rustc-testlog | awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'
set -e
return "$rc"
}
src_install() {
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
DESTDIR="${pkgdir}" python ./x.py install -j "${PARALLEL_JOBS}"
cd "${pkgdir}"
rm -v usr/lib/rustlib/{components,install.log,rust-installer-version,uninstall.sh}
rm -v usr/lib/rustlib/manifest-*
install -dm755 usr/share/bash-completion/completions
mv -v etc/bash_completion.d/cargo usr/share/bash-completion/completions
rm -rfv etc/
# licenses for main rust package
local ldir="usr/share/licenses/rust" f d
mkdir -p "$ldir"
for f in usr/share/doc/*/{COPYRIGHT,LICENSE}*; do
d="$(dirname "$f")"
case $f in
*/LICENSE-APACHE) rm -v "$f" ;;
*) mv -v "$f" "$ldir/${f##*/}.${d##*/}" ;;
esac
rmdir -p --ignore-fail-on-non-empty "$d"
done
}

View File

@@ -0,0 +1,47 @@
pkgname=yasm
pkgver=1.3.0
pkgdesc="A rewrite of NASM to allow for multiple syntax supported (NASM, TASM, GAS, etc.)"
arch=('x86_64')
homepage='https://github.com/yasm/yasm'
license=('BSD-2-Clause OR BSD-3-Clause' 'GPL-2.0-only' 'LGPL-2.1-only' 'Artistic-1.0-Perl')
depends=('glibc')
makedepends=('git' 'python' 'xmlto')
sources=("${pkgname}-${pkgver}.tar.gz"
"yasm-1.3.0-fix-modern-c.patch"
)
urls=("https://www.tortall.net/projects/yasm/releases/${sources[0]}"
"yasm-1.3.0-fix-modern-c.patch"
)
md5sums=("fc9e586751ff789b34b1f21d572d96af"
"4632ef400355360368752da974dcc31a"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${filedir}/${sources[1]}
}
src_build() {
CFLAGS+=" -std=gnu17"
./configure --prefix=/usr \
--disable-warnerror \
--disable-python \
--disable-python-bindings \
--enable-nls
make
}
src_check() {
make -j1 check
}
src_install() {
make DESTDIR="${pkgdir}" install
# licenses
install -vDm644 \
-t "$pkgdir/usr/share/licenses/$pkgname" \
{Artistic,BSD}.txt COPYING GNU_*
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,87 @@
https://github.com/yasm/yasm/commit/f79f5e37f0e4b06d5dc303cc219929d7359dd7df
From: Biswapriyo Nath <nathbappai@gmail.com>
Date: Thu, 18 May 2023 03:53:32 +0530
Subject: [PATCH] Fix function declaration warnings with clang (#226)
This fixes the following compiler warnings with clang
tools/genperf/perfect.c:65:6: warning: a function definition without a prototype
is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
frontends/yasm/yasm.c:1379:23: warning: a function declaration without a prototype
is deprecated in all versions of C [-Wstrict-prototypes]
modules/objfmts/elf/elf.c:225:18: warning: a function declaration without a prototype
is deprecated in all versions of C [-Wstrict-prototypes]
--- a/frontends/tasm/tasm.c
+++ b/frontends/tasm/tasm.c
@@ -817,7 +817,7 @@ opt_exe_handler(char *cmd, /*@unused@*/ char *param, int extra)
}
static void
-apply_preproc_builtins()
+apply_preproc_builtins(void)
{
char *predef;
@@ -853,7 +853,7 @@ apply_preproc_standard_macros(const yasm_stdmac *stdmacs)
}
static void
-apply_preproc_saved_options()
+apply_preproc_saved_options(void)
{
constcharparam *cp, *cpnext;
--- a/frontends/yasm/yasm.c
+++ b/frontends/yasm/yasm.c
@@ -1376,7 +1376,7 @@ opt_plugin_handler(/*@unused@*/ char *cmd, char *param,
#endif
static void
-apply_preproc_builtins()
+apply_preproc_builtins(void)
{
char *predef;
@@ -1409,7 +1409,7 @@ apply_preproc_standard_macros(const yasm_stdmac *stdmacs)
}
static void
-apply_preproc_saved_options()
+apply_preproc_saved_options(void)
{
constcharparam *cp, *cpnext;
--- a/modules/objfmts/elf/elf.c
+++ b/modules/objfmts/elf/elf.c
@@ -222,7 +222,7 @@ elf_strtab_entry_set_str(elf_strtab_entry *entry, const char *str)
}
elf_strtab_head *
-elf_strtab_create()
+elf_strtab_create(void)
{
elf_strtab_head *strtab = yasm_xmalloc(sizeof(elf_strtab_head));
elf_strtab_entry *entry = yasm_xmalloc(sizeof(elf_strtab_entry));
@@ -373,7 +373,7 @@ elf_ssym_symtab_entry_print(void *data, FILE *f, int indent_level)
}
elf_symtab_head *
-elf_symtab_create()
+elf_symtab_create(void)
{
elf_symtab_head *symtab = yasm_xmalloc(sizeof(elf_symtab_head));
elf_symtab_entry *entry = yasm_xmalloc(sizeof(elf_symtab_entry));
--- a/tools/genperf/perfect.c
+++ b/tools/genperf/perfect.c
@@ -62,8 +62,7 @@ Find the mapping that will produce a perfect hash
*/
/* return the ceiling of the log (base 2) of val */
-ub4 phash_log2(val)
-ub4 val;
+ub4 phash_log2(ub4 val)
{
ub4 i;
for (i=0; ((ub4)1<<i) < val; ++i)

View File

@@ -0,0 +1,57 @@
pkgname=check
pkgver=0.15.2
pkgdesc="Unit testing framework for C"
url="https://libcheck.github.io/check/"
arch=(x86_64)
license=(LGPL-2.1-or-later)
depends=(
awk
gcc-libs
glibc
)
makedepends=(
cmake
ninja
)
_patches=("check-0.14.0-r2-disable-automagic-dep.patch"
"check-0.15.2-Fix-pkgconfig-file-s-libdir-value.patch"
"check-0.15.2-avoid-static-lib.patch"
)
_patch_sums=("2db61d66f1e7fe682db3670f581d300a"
"a05bd4221f99dcc3d920ced659a26b35"
"9bfe4e3f930d58ba691d99c7cd39b965"
)
sources=("${pkgname}-${pkgver}.tar.gz"
"${_patches[@]}"
)
urls=("https://github.com/libcheck/check/archive/${pkgver}.tar.gz"
"${_patches[@]}"
)
md5sums=("2528f5cff61db6d53d44fb95da0c7fce"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
}
src_build() {
local cmake_options=(
-D AWK_GSUB_DBL_BSLASH='\\\\'
-D CHECK_ENABLE_TIMEOUT_TESTS=OFF
-D CMAKE_BUILD_TYPE=None
-D CMAKE_INSTALL_PREFIX=/usr
-D CHECK_ENABLE_SUBUNIT=OFF
)
cmake -B build -G Ninja "${cmake_options[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --build build --target install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,23 @@
--- a/CMakeLists.txt 2020-03-21 09:42:30.411037664 +0200
+++ b/CMakeLists.txt 2020-03-21 09:49:12.358161439 +0200
@@ -365,15 +365,16 @@
ADD_DEFINITIONS(-DHAVE_LIBRT=1)
endif (HAVE_LIBRT)
-check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT)
-if (HAVE_SUBUNIT)
+option(CHECK_ENABLE_SUBUNIT "Enable subunit support" ON)
+if (CHECK_ENABLE_SUBUNIT)
set(SUBUNIT "subunit")
set(ENABLE_SUBUNIT 1)
+ set(HAVE_SUBUNIT 1)
add_definitions(-DENABLE_SUBUNIT=1)
-else(HAVE_SUBUNIT)
+else(CHECK_ENABLE_SUBUNIT)
set(ENABLE_SUBUNIT 0)
add_definitions(-DENABLE_SUBUNIT=0)
-endif (HAVE_SUBUNIT)
+endif (CHECK_ENABLE_SUBUNIT)
###############################################################################
# Generate "config.h" from "cmake/config.h.in"

View File

@@ -0,0 +1,30 @@
From a6de6b02e6f8b971149c477eeca04de7d0fa5d3c Mon Sep 17 00:00:00 2001
From: Matt Turner <mattst88@gmail.com>
Date: Wed, 10 Mar 2021 17:00:33 -0500
Subject: [PATCH] Fix pkgconfig file's libdir value
And make a similar fix for includedir while we're here.
Bug: https://bugs.gentoo.org/729642
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 23311d8..9d3ac07 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -439,8 +439,8 @@ if(NOT THIS_IS_SUBPROJECT)
set(prefix_save "${PREFIX}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
- set(libdir "\${exec_prefix}/lib")
- set(includedir "\${prefix}/include")
+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
set(VERSION "${PROJECT_VERSION}")
if (HAVE_SUBUNIT)
--
2.26.2

View File

@@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Fri, 2 Oct 2020 22:22:02 +0100
Subject: [PATCH] Avoid static library
Fixes: https://bugs.archlinux.org/task/68076
---
src/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4a02dbeaec4d..4d731c9bfcac 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -188,7 +188,7 @@ target_include_directories(checkShared
)
if(NOT THIS_IS_SUBPROJECT)
- install(TARGETS check checkShared
+ install(TARGETS checkShared
EXPORT check-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}

View File

@@ -0,0 +1,53 @@
pkgname=elfutils
pkgver=0.193
pkgdesc="Handle ELF object files and DWARF debugging information"
arch=(x86_64)
homepage="https://sourceware.org/elfutils/"
makedepends=(
m4
pkgconfig
gettext
bzip2
gcc-libs
libarchive
xz
zlib
zstd
)
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://sourceware.org/ftp/${pkgname}/${pkgver}/${sources[0]}")
md5sums="ceefa052ded950a4c523688799193a44"
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in
}
src_build() {
# needed for test
CFLAGS+=" -g"
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-debuginfod \
--enable-libdebuginfod=dummy \
--enable-nls \
--disable-thread-safety \
--disable-valgrind \
--program-prefix="eu-" \
--with-bzlib \
--with-lzma \
--with-zstd
make
}
src_check() {
make -k check
}
src_install() {
make DESTDIR="$pkgdir" install
rm -rf "${pkgdir}"/usr/lib/*.a
install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,36 @@
pkgname=fribidi
pkgver=1.0.16
pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm"
homepage="https://github.com/fribidi/fribidi"
arch=(x86_64)
license=(LGPL-2.1-or-later)
depends=(glibc)
makedepends=(meson)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://github.com/fribidi/fribidi/releases/download/v${pkgver}/${sources[0]}")
md5sums=("333ad150991097a627755b752b87f9ff")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
--wrap-mode=nodownload
-D deprecated=true
-D docs=false
-D bin=true
-D tests=false
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_install() {
DESTDIR="${pkgdir}" meson install -C build
install -Dm 644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}/
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,66 @@
pkgname=glib
pkgver=2.84.4
_basever=2.84
_lfsver=12.4
pkgdesc="Low level core library"
homepage="https://gitlab.gnome.org/GNOME/glib"
license=(LGPL-2.1-or-later)
arch=(x86_64)
sources=("${pkgname}-${pkgver}.tar.xz"
"glib-skip_warnings-1.patch"
"gio-querymodules.HOOK"
"glib-compile-schemas.HOOK"
)
_gnomeurl="https://download.gnome.org/sources"
urls=("${_gnomeurl}/${pkgname}/${_basever}/${sources[0]}"
"https://www.linuxfromscratch.org/patches/blfs/${_lfsver}/${sources[1]}"
"gio-querymodules.HOOK"
"glib-compile-schemas.HOOK"
)
md5sums=("5655d0ff809b98dd77c02490609fadde"
"729287ad0c60b5b2d6ca9ec4a19d8cec"
"a1737601c4040854741ac7cd80e56366"
"689505071dad3a1164ec63ea0a8a7bb4"
)
export GLIB_LOG_LEVEL=4
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${distdir}/${sources[1]}
}
src_build() {
# Produce more debug info: GLib has a lot of useful macros
CFLAGS+=" -g3"
CXXFLAGS+=" -g3"
meson setup build \
--prefix=/usr \
--buildtype=release \
-D introspection=enabled \
-D glib_debug=disabled \
-D man-pages=enabled \
-D sysprof=disabled &&
meson compile -C build
}
src_check() {
chown -R leaf .
unset GLIB_LOG_LEVEL
su leaf -c "PATH=$PATH LC_ALL=C TMPDIR=/tmp meson test -C build --no-suite flaky --no-suite slow --print-errorlogs"
}
src_install() {
meson install -C build --destdir "$pkgdir"
leaf_install_hook "${filedir}/${sources[2]}"
leaf_install_hook "${filedir}/${sources[3]}"
}
src_preremove() {
rm -vf /usr/lib/gio/modules/giomodule.cache
rm -vf /usr/share/glib-2.0/schemas/gschemas.compiled
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,5 @@
target=(/usr/lib/gio/modules/*.so)
triggers=("install" "remove")
operation() {
/usr/bin/gio-querymodules /usr/lib/gio/modules
}

View File

@@ -0,0 +1,5 @@
target=(/usr/share/glib-2.0/schemas/*.xml /usr/share/glib-2.0/schemas/*.override)
triggers=("install" "remove")
operation() {
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
}

View File

@@ -0,0 +1,35 @@
pkgname=gobject-introspection
pkgver=1.84.0
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
arch=(x86_64)
license=(
GPL-2.0-or-later
LGPL-2.0-or-later
)
sources=("${pkgname}-${pkgver}.tar.xz")
_gnomeurl="https://download.gnome.org/sources"
urls=("${_gnomeurl}/${pkgname}/${_basever}/${sources[0]}")
md5sums=("2a62fb1c584616a8ebcd9dd4d045f27e")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
meson setup build \
--prefix=/usr --buildtype=release &&
meson compile -C build
}
src_check() {
meson test -C build --print-errorlogs
}
src_install() {
meson install -C build --destdir "$pkgdir"
cd "$pkgdir"
python -m compileall -d /usr/lib/${pkgname} usr/lib/${pkgname}
python -O -m compileall -d /usr/lib/${pkgname} usr/lib/${pkgname}
}

View File

@@ -0,0 +1,38 @@
pkgname=hyprgraphics
pkgver=0.1.5
pkgdesc='hyprland graphics resources and utilities'
arch=(x86_64 aarch64)
homepage="https://github.com/hyprwm/$pkgname"
license=(BSD-3-Clause)
depends=(cairo
file
gcc
glibc
hyprutils
libjpeg-turbo
libjxl
libspng
libwebp
)
makedepends=(cmake)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz")
md5sums=("8486fce2df355ab74da456a7a46ceb8f")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
cmake -B build \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,31 @@
pkgname=hyprland-protocols
pkgver=0.6.4
pkgdesc='Wayland protocol extensions for Hyprland'
arch=(x86_64 aarch64)
homepage="https://github.com/hyprwm/$pkgname"
license=(BSD-3-Clause)
makedepends=(meson)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz")
md5sums=("6550272ae760ffce75cedb9f32a9d778")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
--wrap-mode=nodownload
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_install() {
DESTDIR="$pkgdir" meson install -C build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,31 @@
pkgname=hyprlang
pkgver=0.6.4
pkgdesc='implementation library for the hypr config language'
arch=(x86_64 aarch64)
homepage="https://github.com/hyprwm/$pkgname"
license=(BSD-3-Clause)
depends=(gcc-libs
glibc
hyprutils)
makedepends=(cmake)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz")
md5sums=("001bcd7a043571b2d42891589027242e")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
cmake -B build \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,36 @@
pkgname=icu
pkgver=77.1
pkgdesc="International Components for Unicode library"
arch=(x86_64)
homepage="https://icu.unicode.org"
license=('LicenseRef-Unicode-3.0'
'BSD-2-Clause'
'BSD-3-Clause'
'NAIST-2003')
sources=("icu4c-77_1-src.tgz")
urls=("https://github.com/unicode-org/icu/releases/download/release-77-1/icu4c-77_1-src.tgz")
md5sums=("bc0132b4c43db8455d2446c3bae58898")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
pushd source &&
./configure --prefix=/usr &&
make &&
popd
}
src_check() {
pushd source
make check
popd
}
src_install() {
pushd source
make DESTDIR="${pkgdir}" install
install -Dm644 ../LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
popd
}

View File

@@ -0,0 +1,31 @@
pkgname=libatomic_ops
pkgver=7.8.4
pkgdesc='Provides semi-portable access to hardware provided atomic memory operations'
arch=(x86_64)
url='https://github.com/ivmai/libatomic_ops'
depends=(glibc)
license=(GPL2 MIT)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/bdwgc/libatomic_ops/releases/download/v${pkgver}/${sources[0]}")
sha512sums=("5f77a520cecc31fe9baf4d3a61beac79dba317e7b149464a945db3389c4a94b45fdb52f105d838409b1cbd64b5c3ae0e29acf81df5606a6f49ee8a366673091a")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr --disable-static --enable-shared
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="$pkgdir" install
mv -vf "${pkgdir}"/usr/share/doc/{${pkgname},${pkgname}-${pkgver}}
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,38 @@
pkgname=libevdev
pkgver=1.13.5
pkgdesc="Wrapper library for evdev devices"
arch=(x86_64)
url="https://www.freedesktop.org/wiki/Software/libevdev/"
license=('MIT')
depends=('glibc')
makedepends=('python' 'meson')
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://www.freedesktop.org/software/libevdev/${sources[0]}")
md5sums=("582e2ae5a076a34d479d420776f8fd27")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
-D documentation=disabled
-D tests=disabled
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_check() {
meson test -C build
}
src_install() {
DESTDIR="$pkgdir" meson install -C build
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,40 @@
pkgname=libevent
pkgver=2.1.12
pkgdesc="Event notification library"
homepage="https://libevent.org/"
arch=(x86_64)
license=(BSD-3-Clause-Modification)
sources=("${pkgname}-${pkgver}-stable.tar.gz"
"libevent-2.1.12-openssl-compat.patch"
)
urls=("https://github.com/libevent/libevent/releases/download/release-${pkgver}-stable/${sources[0]}"
"libevent-2.1.12-openssl-compat.patch"
)
md5sums=("b5333f021f880fe76490d8a799cd79f4"
"09ad6d62f6d7861c20df28a8a0ede1e0"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${filedir}/${sources[1]}
sed -i 's/python/&3/' event_rpcgen.py
}
src_build() {
./configure --prefix=/usr \
--disable-static \
--disable-libevent-regress # skip regress tests, following Arch
make
}
src_check() {
make verify
}
src_install() {
make DESTDIR="${pkgdir}" install
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,75 @@
commit 7f4684c0d362fefee8697ceed3f4f8642ed147ce
Author: William Marlow <william.marlow@ibm.com>
Date: Sat Jun 18 21:43:31 2022 +0100
Initial OpenSSL 3.0 support
* Don't use deprecated functions when building against OpenSSL 3.0.
* Recognise that OpenSSL 3.0 can signal a dirty shutdown as a protocol.
error in addition to the expected IO error produced by OpenSSL 1.1.1
* Update regress_mbedtls.c for compatibility with OpenSSL 3
(cherry picked from commit 29c420c418aeb497e5e8b7abd45dee39194ca5fc)
Conflicts:
bufferevent_openssl.c
sample/becat.c
test/regress_mbedtls.c
diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c
index b51b834b..520e2d6f 100644
--- a/bufferevent_openssl.c
+++ b/bufferevent_openssl.c
@@ -514,7 +514,9 @@ conn_closed(struct bufferevent_openssl *bev_ssl, int when, int errcode, int ret)
put_error(bev_ssl, errcode);
break;
case SSL_ERROR_SSL:
- /* Protocol error. */
+ /* Protocol error; possibly a dirty shutdown. */
+ if (ret == 0 && SSL_is_init_finished(bev_ssl->ssl) == 0)
+ dirty_shutdown = 1;
put_error(bev_ssl, errcode);
break;
case SSL_ERROR_WANT_X509_LOOKUP:
diff --git a/sample/le-proxy.c b/sample/le-proxy.c
index 13e0e2ae..e9af3c68 100644
--- a/sample/le-proxy.c
+++ b/sample/le-proxy.c
@@ -112,10 +112,15 @@ eventcb(struct bufferevent *bev, short what, void *ctx)
ERR_reason_error_string(err);
const char *lib = (const char*)
ERR_lib_error_string(err);
+#if OPENSSL_VERSION_MAJOR >= 3
+ fprintf(stderr,
+ "%s in %s\n", msg, lib);
+#else
const char *func = (const char*)
ERR_func_error_string(err);
fprintf(stderr,
"%s in %s %s\n", msg, lib, func);
+#endif
}
if (errno)
perror("connection error");
diff --git a/test/regress_ssl.c b/test/regress_ssl.c
index 37dc334d..490be9b2 100644
--- a/test/regress_ssl.c
+++ b/test/regress_ssl.c
@@ -374,7 +374,16 @@ eventcb(struct bufferevent *bev, short what, void *ctx)
++n_connected;
ssl = bufferevent_openssl_get_ssl(bev);
tt_assert(ssl);
+#if OPENSSL_VERSION_MAJOR >= 3
+ /* SSL_get1_peer_certificate() means we want
+ * to increase the reference count on the cert
+ * and so we will need to free it ourselves later
+ * when we're done with it. The non-reference count
+ * increasing version is not available in OpenSSL 1.1.1. */
+ peer_cert = SSL_get1_peer_certificate(ssl);
+#else
peer_cert = SSL_get_peer_certificate(ssl);
+#endif
if (type & REGRESS_OPENSSL_SERVER) {
tt_assert(peer_cert == NULL);
} else {

View File

@@ -0,0 +1,39 @@
pkgname=libgcrypt
pkgver=1.11.2
pkgdesc="General purpose cryptographic library based on the code from GnuPG"
arch=(x86_64)
homepage="https://www.gnupg.org"
license=(
'BSD-3-Clause'
'BSD-3-Clause OR GPL-2.0-only'
'GPL-2.0-or-later'
'LGPL-2.0-or-later'
'LGPL-2.1-or-later'
'X11'
'LicenseRef-scancode-public-domain'
'LicenseRef-OCB1'
)
depends=('libgpg-error' 'glibc')
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${sources[0]}")
md5sums=("84ce2ad07794b987fe6341b63cf5f537")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr \
--disable-static
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 {COPYING.LIB,LICENSES} "${pkgdir}/usr/share/licenses/${pkgname}/"
}

View File

@@ -0,0 +1,72 @@
pkgname=libgit2
pkgver=1.9.2
pkgdesc="A linkable library for Git"
arch=(x86_64)
homepage="https://github.com/libgit2/libgit2"
license=(LicenseRef-GPL-2.0-only-with-linking-exception)
depends=(
gcc-libs
glibc
llhttp
zlib
)
makedepends=(
cmake
libssh2
openssl
pcre2
python
)
sources=("${pkgname}-v${pkgver}.tar.gz")
urls=("${homepage}/archive/v${pkgver}/${sources[0]}")
md5sums=("0764ca3436c81bae7c201b086ad156be")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_options=(
-B build
-D CMAKE_BUILD_TYPE=None
-D CMAKE_INSTALL_PREFIX=/usr
-D REGEX_BACKEND=pcre2
-D USE_HTTP_PARSER=llhttp
-D USE_SSH=libssh2
-D USE_GSSAPI=OFF
-W no-dev
)
cmake ${cmake_options[@]}
cmake --build build
}
src_check(){
local ignored_tests=(
'auth_clone|'
'invasive|'
'online|'
'network_url_parse__hostname_implied_root_empty_port|'
'network_url_parse__hostname_empty_port|'
'network_url_parse__ipv4_implied_root_empty_port|'
'network_url_parse__ipv4_empty_port|'
'network_url_parse__ipv6_implied_root_empty_port|'
'network_url_parse__ipv6_empty_port|'
'proxy|'
'proxy_auto_not_detected|'
'ssh'
)
local ifs="$IFS"
IFS=
# NOTE: disable tests requiring the internet, relying on non-existent
# resources, or those that are only compatible with the (modified) vendored
# version of http-parser, but not with upstream http-parser
ctest --test-dir build --output-on-failure -E "${ignored_tests[*]}"
IFS="$ifs"
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -vDm 644 ./{AUTHORS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/"
install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,30 @@
pkgname=libgpg-error
pkgver=1.55
pkgdesc="Support library for libgcrypt"
arch=(x86_64)
homepage="https://www.gnupg.org"
license=(LGPL-2.1-or-later
'BSD-3-Clause OR LGPL-2.1-or-later'
FSFULLR
GPL-2.0-or-later)
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${sources[0]}")
md5sums=("0430e56fd67d0751b83fc18b0f56a084")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="$pkgdir" install
install -v -m644 -D README ${pkgdir}/usr/share/doc/libgpg-error-1.55/README
}

View File

@@ -0,0 +1,44 @@
pkgname=libinput
pkgver=1.29.1
pkgdesc="Input device management and event handling library"
homepage="https://wayland.freedesktop.org/libinput/doc/latest/"
arch=(x86_64)
license=(MIT)
depends=(
gcc
glibc
libevdev
systemd
)
makedepends=(
meson
python
)
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://gitlab.freedesktop.org/${pkgname}/${pkgname}/-/archive/${pkgver}/${sources[0]}")
md5sums=("bdbf0aa43f4adde2e3137f28c29361c6")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local meson_args=(
--prefix=/usr
--buildtype=release
-D documentation=false
-D debug-gui=false
-D libwacom=false
-D tests=false
-D mtdev=false
)
meson setup build "${meson_args[@]}"
meson compile -C build
}
src_install() {
meson install -C build --destdir "$pkgdir"
install -Dm644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,29 @@
pkgname=libtasn1
pkgver=4.20.0
pkgdesc="The ASN.1 library used in GNUTLS"
arch=('x86_64')
license=('GPL-3.0-or-later' 'LGPL-2.1-or-later' 'GFDL-1.3-or-later')
homepage="https://www.gnu.org/software/libtasn1/"
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://ftp.gnu.org/gnu/${pkgname}/${sources[0]}")
md5sums=("930f71d788cf37505a0327c1b84741be")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr --disable-static &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
make DESTDIR="${pkgdir}" -C doc/reference install-data-local
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}

View File

@@ -0,0 +1,31 @@
pkgname="libunistring"
pkgver="1.3"
pkgdesc='Library for manipulating Unicode strings and C strings'
homepage='https://www.gnu.org/software/libunistring/'
arch=(x86_64)
license=(
GPL-2.0-or-later
LGPL-3.0-or-later
)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://ftp.gnu.org/gnu/${pkgname}/${sources[0]}")
md5sums=("57dfd9e4eba93913a564aa14eab8052e")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libunistring-${pkgver} &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
}

View File

@@ -0,0 +1,30 @@
pkgname=libuv
pkgver=1.51.0
pkgdesc="Multi-platform support library with a focus on asynchronous I/O"
arch=('x86_64')
homepage="https://github.com/libuv/libuv"
license=('custom')
sources=("${pkgname}-v${pkgver}.tar.gz")
urls=("https://dist.libuv.org/dist/v${pkgver}/${sources[0]}")
md5sums=("5e0109e19c3fed3a8cbecb958de39afa")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
unset ACLOCAL
sh autogen.sh &&
./configure --prefix=/usr --disable-static &&
make
}
src_check() {
chown -R leaf .
su leaf -c "PATH=$PATH make check"
}
src_install() {
make DESTDIR="${pkgdir}" install
}

View File

@@ -0,0 +1,49 @@
pkgname=libxml2
_basever=2.14
_patchver=5
if (( _patchver == 0 )); then
pkgver=$_basever
else
pkgver=$_basever.$_patchver
fi
pkgdesc="XML C parser and toolkit"
homepage="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
arch=(x86_64)
license=(MIT)
sources=("${pkgname}-${pkgver}.tar.xz"
"xmlts20130923.tar.gz"
)
urls=("https://download.gnome.org/sources/${pkgname}/${_basever}/${sources[0]}"
"https://www.w3.org/XML/Test/${sources[1]}"
)
md5sums=("59aac4e5d1d350ba2c4bddf1f7bc5098"
"ef8fbe0c92efd9a60d7f320e211d10b2"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tar -xf ${distdir}/${sources[1]}
}
src_build() {
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--with-history \
--with-icu \
PYTHON=/usr/bin/python3 \
--docdir=/usr/share/doc/libxml2-${pkgver} &&
make
}
src_check() {
leaf_record_message "run grep -E '^Total|expected|Ran' ${srcdir}/check.log to see check result."
make check > check.log
}
src_install() {
make DESTDIR="${pkgdir}" install
rm -vf ${pkgdir}/usr/lib/libxml2.la &&
sed '/libs=/s/xml2.*/xml2"/' -i ${pkgdir}/usr/bin/xml2-config
install -Dm644 Copyright -t "$pkgdir/usr/share/licenses/$pkgname"
}

View File

@@ -0,0 +1,32 @@
pkgname=libxslt
pkgver=1.1.43
_basever=1.1
pkgdesc="XML stylesheet transformation library"
homepage="https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home"
arch=(x86_64)
license=(MIT)
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://download.gnome.org/sources/${pkgname}/${_basever}/${sources[0]}")
md5sums=("5dc0179c81be7a3082b43030ecfdebd4")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libxslt-${pkgver} &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="$pkgdir" install
install -Dm644 Copyright -t "$pkgdir/usr/share/licenses/$pkgname"
}

View File

@@ -0,0 +1,30 @@
pkgname=libyaml
pkgver=0.2.5
pkgdesc="YAML 1.1 library"
arch=('x86_64')
homepage="https://pyyaml.org/wiki/LibYAML"
license=('MIT')
depends=('glibc')
sources=("yaml-${pkgver}.tar.gz")
urls=("https://github.com/yaml/libyaml/releases/download/${pkgver}/${sources[0]}")
md5sums=("bb15429d8fb787e7d3f1c83ae129a999")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr --disable-static
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="$pkgdir" install
install -Dm644 License -t "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,56 @@
pkgname=libzip
pkgver=1.11.4
pkgdesc="C library for reading, creating, and modifying zip archives"
homepage="https://libzip.org"
license=('BSD')
arch=('x86_64')
depends=('zlib' 'bzip2' 'zstd' 'openssl')
makedepends=('cmake')
_patches=("libzip-1.11.4-mbedtls-3.patch")
_patch_sums=("4fda522afd4a6b37ed08dbfc47baedb3")
sources=("${pkgname}-${pkgver}.tar.xz"
${_patches[@]}
)
urls=("https://www.nih.at/libzip/${sources[0]}"
${_patches[@]}
)
md5sums=("5b53072471ef2ef03505fc6ac06f5835"
${_patch_sums[@]}
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
}
src_build() {
local cmake_args=(
-DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-Wno-dev
-DBUILD_DOC=ON
-DBUILD_OSSFUZZ=OFF
-DBUILD_EXAMPLES=OFF # nothing is installed
-DENABLE_COMMONCRYPTO=OFF # not in tree
-DENABLE_BZIP2=ON
-DENABLE_LZMA=OFF
-DENABLE_ZSTD=ON
-DBUILD_REGRESS=OFF
-DBUILD_TOOLS=OFF
-DENABLE_GNUTLS=OFF
-DENABLE_MBEDTLS=OFF
-DENABLE_OPENSSL=ON
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="${pkgdir}" cmake --install build
install -vDm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,80 @@
From https://github.com/nih-at/libzip/pull/494
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Wed, 28 May 2025 22:01:25 +0300
Subject: [PATCH] Use MbedTLS 3.6
Older versions of MbedTLS reached EOL and not supported anymore.
MbedTLS 3.6 provides own configuration module for CMake, but some
distributions may not iclude it into mbedtls package, so it is
reasonable to keep own FindMbedTLS for compatibility.
Changed MbedTLS::MbedTLS target to MbedTLS::mbedcrypto to follow
upstream naming.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,7 +50,7 @@ if(ENABLE_GNUTLS)
find_package(GnuTLS)
endif()
if(ENABLE_MBEDTLS)
- find_package(MbedTLS 1.0)
+ find_package(MbedTLS 3.6)
endif()
if(ENABLE_OPENSSL)
find_package(OpenSSL)
@@ -269,7 +269,7 @@ elseif (OPENSSL_FOUND)
elseif (GNUTLS_FOUND AND NETTLE_FOUND)
set(HAVE_CRYPTO 1)
set(HAVE_GNUTLS 1)
-elseif (MBEDTLS_FOUND)
+elseif (MbedTLS_FOUND)
set(HAVE_CRYPTO 1)
set(HAVE_MBEDTLS 1)
endif()
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -478,7 +478,6 @@ if(LIBZIP_DO_INSTALL)
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindNettle.cmake
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Findzstd.cmake
- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindMbedTLS.cmake
DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/libzip/modules
)
--- a/cmake/FindMbedTLS.cmake
+++ b/cmake/FindMbedTLS.cmake
@@ -41,7 +41,7 @@ Imported Targets
This module provides the following imported targets, if found:
-``MbedTLS::MbedTLS``
+``MbedTLS::mbedcrypto``
The Mbed TLS library
Result Variables
@@ -126,9 +126,9 @@ if(MbedTLS_FOUND)
# set(MbedTLS_DEFINITIONS ${PC_MbedTLS_CFLAGS_OTHER})
endif()
-if(MbedTLS_FOUND AND NOT TARGET MbedTLS::MbedTLS)
- add_library(MbedTLS::MbedTLS UNKNOWN IMPORTED)
- set_target_properties(MbedTLS::MbedTLS PROPERTIES
+if(MbedTLS_FOUND AND NOT TARGET MbedTLS::mbedcrypto)
+ add_library(MbedTLS::mbedcrypto UNKNOWN IMPORTED)
+ set_target_properties(MbedTLS::mbedcrypto PROPERTIES
IMPORTED_LOCATION "${MbedTLS_LIBRARY}"
# INTERFACE_COMPILE_OPTIONS "${PC_MbedTLS_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${MbedTLS_INCLUDE_DIR}"
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -167,7 +167,7 @@ elseif(HAVE_OPENSSL)
target_link_libraries(zip PRIVATE OpenSSL::Crypto)
elseif(HAVE_MBEDTLS)
target_sources(zip PRIVATE zip_crypto_mbedtls.c)
- target_link_libraries(zip PRIVATE MbedTLS::MbedTLS)
+ target_link_libraries(zip PRIVATE MbedTLS::mbedcrypto)
endif()
if(HAVE_CRYPTO)
--
2.49.0

View File

@@ -0,0 +1,30 @@
pkgname=lzo
pkgver=2.10
pkgdesc="Portable lossless data compression library"
arch=('x86_64')
homepage="https://www.oberhumer.com/opensource/lzo"
license=('GPL')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://www.oberhumer.com/opensource/lzo/download/${sources[0]}")
md5sums=("39d3f3f9c55c87b1e5d6888e1420f4b5")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr \
--enable-shared \
--disable-static \
--docdir=/usr/share/doc/lzo-${pkgver} &&
make
}
src_check() {
make check
make test
}
src_install() {
make DESTDIR="${pkgdir}" install
}

View File

@@ -0,0 +1,28 @@
pkgname=oniguruma
pkgver=6.9.10
pkgdesc="a regular expressions library"
arch=('x86_64')
homepage="https://github.com/kkos/oniguruma"
license=('BSD')
depends=()
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/kkos/${pkgname}/releases/download/v${pkgver}/onig-${pkgver}.tar.gz")
md5sums=("46c48d072eafe29a0dd0489df7f6f212")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr \
--enable-posix-api \
--disable-crnl-as-line-terminator \
--disable-static
make
}
src_install() {
make DESTDIR="$pkgdir" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,49 @@
pkgname=pcre2
pkgver=10.45
pkgdesc='A library that implements Perl 5-style regular expressions. 2nd version'
arch=(x86_64)
url='https://github.com/PCRE2Project/pcre2'
license=(
BSD-2-Clause
'BSD-3-Clause WITH PCRE2-exception'
)
depends=(
bzip2
glibc
readline
zlib
)
sources=("${pkgname}-${pkgver}.tar.bz2")
urls=("https://github.com/PCRE2Project/pcre2/releases/download/${pkgname}-${pkgver}/${sources[0]}")
md5sums=("f71abbe1b5adf25cd9af5d26ef223b66")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
CFLAGS+=" -ffat-lto-objects"
CXXFLAGS+=" -ffat-lto-objects"
./configure --prefix=/usr \
--docdir=/usr/share/doc/pcre2-${pkgver} \
--enable-unicode \
--enable-jit \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-pcre2grep-libz \
--enable-pcre2grep-libbz2 \
--enable-pcre2test-libreadline \
--disable-static &&
make
}
src_check() {
make -j1 check
}
src_install() {
make DESTDIR="$pkgdir" install
install -Dm644 ./*.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}

View File

@@ -0,0 +1,27 @@
pkgname=popt
pkgver=1.19
pkgdesc="A commandline option parser"
arch=('x86_64')
homepage="https://github.com/rpm-software-management/popt"
license=('custom')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/${sources[0]}")
md5sums=("eaa2135fddb6eb03f2c87ee1823e5a78")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
./configure --prefix=/usr --disable-static &&
make
}
src_check() {
make check
}
src_install() {
make DESTDIR="${pkgdir}" install
install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}

View File

@@ -0,0 +1,33 @@
pkgname=pugixml
pkgver=1.15
pkgdesc="Light-weight, simple and fast XML parser for C++ with XPath support"
arch=(x86_64)
homepage="https://pugixml.org"
license=(MIT)
depends=(
gcc-libs
glibc
)
makedepends=(cmake)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/zeux/${pkgname}/archive/refs/tags/v${pkgver}.tar.gz")
md5sums=("cb4cb8754f94448a0a2a56ae8324b08e")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
cmake -B build \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_SHARED_LIBS=ON
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.md
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,34 @@
pkgname=re2
pkgver=2024.07.02
_ver=${pkgver//./-}
pkgdesc="Fast, safe, thread-friendly regular expression engine"
arch=('x86_64')
homepage="https://github.com/google/re2"
license=('BSD-3-Clause')
depends=('gcc-libs' 'glibc' 'abseil-cpp')
makedepends=('git' 'cmake')
sources=("${pkgname}-${_ver}.tar.gz")
urls=("https://github.com/google/re2/releases/download/${_ver}/${sources[0]}")
md5sums=("73c94c78678bd2d641beaf8d5a3fd352")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
cmake -B build \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_SHARED_LIBS=ON \
-D RE2_BUILD_BENCHMARK=OFF \
-D RE2_BUILD_TESTING=OFF \
-D RE2_USE_ICU=OFF
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,32 @@
pkgname=simde
pkgver=0.8.2
pkgdesc="Implementations of SIMD instruction sets"
arch=(any)
homepage="https://github.com/simd-everywhere/simde"
license=(MIT)
makedepends=(meson)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("${homepage}/archive/v${pkgver}/${sources[0]}")
md5sums=("14323994d1f791e985c59ddf0b559e35")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
leaf_clear_flags
meson setup build --prefix=/usr
meson compile -C build
}
src_check() {
meson test -C build --print-errorlogs
}
src_install() {
meson install -C build --destdir "$pkgdir"
install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,63 @@
pkgname=udis86
pkgver=1.7.2
pkgdesc="Disassembler library for the x86/-64 architecture sets"
homepage="https://udis86.sourceforge.net/"
depends=(python yasm)
_patches=(
"udis86-1.7.2-docdir.patch"
"udis86-1.7.2-python3.patch"
"udis86-1.7.2-uninitialized-variable.patch"
)
_patch_sums=(
"8741aaf78c386373fc622d344b11f3ab"
"b8a6d5d57daca7ac7126bd6554137504"
"0cc762c2900dc53af4e8456f7200d48f"
)
sources=("${pkgname}-${pkgver}.tar.gz"
${_patches[@]})
urls=("https://downloads.sourceforge.net/${pkgname}/${sources[0]}"
${_patches[@]})
md5sums=("b7def25257afb612e8da052ee6759dac"
${_patch_sums[@]})
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
autoreconf
}
src_build() {
./configure --prefix=/usr \
--disable-static \
--enable-shared \
--with-pic
make
}
src_check() {
make -k check
}
src_install() {
make DESTDIR="${pkgdir}" install
install -vdm755 "${pkgdir}/usr/lib/pkgconfig/"
cat > ${pkgdir}/usr/lib/pkgconfig/udis86.pc <<'EOF'
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: udis86
Description: Disassembler library for x86 and x86-64
Version: 1.7.2
Libs: -L${libdir} -ludis86
Cflags: -I${includedir}
EOF
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,18 @@
diff -ur a/docs/manual/Makefile.am b/docs/manual/Makefile.am
--- a/docs/manual/Makefile.am 2013-09-02 05:46:56.000000000 +0200
+++ b/docs/manual/Makefile.am 2015-03-05 11:22:03.645828113 +0100
@@ -1,4 +1,4 @@
-docdir = ${datadir}/docs/udis86/manual
+docdir = @docdir@/manual
rst_sources = \
index.rst \
diff -ur a/docs/x86/Makefile.am b/docs/x86/Makefile.am
--- a/docs/x86/Makefile.am 2013-06-29 21:58:38.000000000 +0200
+++ b/docs/x86/Makefile.am 2015-03-05 11:22:30.477826105 +0100
@@ -1,4 +1,4 @@
-docdir = ${datadir}/docs/udis86/x86
+docdir = @docdir@/x86
dist_doc_DATA = optable.xml optable.xsl
MAINTAINERCLEANFILES = Makefile.in

View File

@@ -0,0 +1,42 @@
--- a/scripts/ud_opcode.py
+++ b/scripts/ud_opcode.py
@@ -130,8 +130,8 @@
'/mod' : lambda v: '00' if v == '!11' else '01',
# Mode extensions:
# (16, 32, 64) => (00, 01, 02)
- '/o' : lambda v: "%02x" % (int(v) / 32),
- '/a' : lambda v: "%02x" % (int(v) / 32),
+ '/o' : lambda v: "%02x" % (int(v) // 32),
+ '/a' : lambda v: "%02x" % (int(v) // 32),
'/m' : lambda v: '00' if v == '!64' else '01',
# SSE
'/sse' : lambda v: UdOpcodeTables.OpcExtIndex['sse'][v],
@@ -227,7 +227,7 @@
def print_table( self, table, pfxs ):
print("%s |" % pfxs)
- keys = table[ 'entries' ].keys()
+ keys = list(table[ 'entries' ].keys())
if ( len( keys ) ):
keys.sort()
for idx in keys:
--- a/tests/oprgen.py
+++ b/tests/oprgen.py
@@ -686,7 +686,7 @@
def generate_yasm( self, mode, seed ):
opr_combos = {}
random.seed( seed )
- print "[bits %s]" % mode
+ print("[bits %s]" % mode)
for insn in self.InsnTable:
if insn[ 'mnemonic' ] in self.ExcludeList:
continue
@@ -728,7 +728,7 @@
else:
operands = None
if operands is not None:
- print "\t%s %s" % (insn['mnemonic'], operands)
+ print("\t%s %s" % (insn['mnemonic'], operands))
opr_combos[fusedName]['covered'] = True
# stats

View File

@@ -0,0 +1,22 @@
From cce390dd61996e569bd8a3bca78e7aa4b286d6df Mon Sep 17 00:00:00 2001
From: Vivek Thampi <vivek.mt@gmail.com>
Date: Sun, 22 Sep 2013 12:13:05 -0700
Subject: [PATCH] Minor fix for an uninitialized var
---
libudis86/decode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libudis86/decode.c b/libudis86/decode.c
index 3dab9ad..55638bd 100644
--- a/libudis86/decode.c
+++ b/libudis86/decode.c
@@ -228,7 +228,7 @@ static int
decode_prefixes(struct ud *u)
{
int done = 0;
- uint8_t curr, last = 0;
+ uint8_t curr = 0, last = 0;
UD_RETURN_ON_ERROR(u);
do {

View File

@@ -0,0 +1,48 @@
pkgname=wayland
pkgver=1.24.0
pkgdesc='A computer display server protocol'
arch=('x86_64')
homepage='https://wayland.freedesktop.org/'
license=('MIT')
depends=('glibc' 'libffi' 'expat')
makedepends=('meson')
sources=("wayland-${pkgver}.tar.xz")
urls=("https://gitlab.freedesktop.org/wayland/wayland/-/releases/$pkgver/downloads/${sources[0]}")
md5sums=("fda0b2a73ea2716f61d75767e02008e1")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local mesonargs=(
--prefix=/usr
-Ddocumentation=false
-Ddtd_validation=true
-Dlibraries=true
-Dscanner=false
)
meson setup build "${mesonargs[@]}"
meson compile -C build
}
src_check() {
# We set it on purpose to only a short subdir name, as socket paths are
# created in there, which are 108 byte limited. With this it hopefully
# barely fits to the limit with ${TMPDIR}/x
export XDG_RUNTIME_DIR="${TMPDIR}"/x
mkdir "${XDG_RUNTIME_DIR}" || leaf_error "cannot mkdir ${XDG_RUNTIME_DIR}."
chmod 0700 "${XDG_RUNTIME_DIR}" || leaf_error "cannot chmod ${XDG_RUNTIME_DIR}."
meson test -C build --print-errorlogs
}
src_install() {
meson install -C build --destdir "$pkgdir"
install -Dm644 README.md "${pkgdir}"/usr/share/doc/${pkgname}-${pkgver}/README.md
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,30 @@
pkgname=wayland-protocols
pkgver=1.45
pkgdesc='Specifications of extended Wayland protocols'
arch=('any')
homepage='https://wayland.freedesktop.org/'
license=('MIT')
makedepends=('wayland' 'meson')
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://gitlab.freedesktop.org/wayland/$pkgname/-/releases/$pkgver/downloads/${sources[0]}")
md5sums=("a235baeab3f1c6d57ac4c7c00ecd7e48")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
meson setup build --prefix=/usr --buildtype=release
meson compile -C build
}
src_check() {
meson test -C build --print-errorlogs
}
src_install() {
meson install -C build --destdir "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m 644 COPYING
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,25 @@
pkgname=xxhash
pkgver=0.8.3
pkgdesc='Extremely fast non-cryptographic hash algorithm'
arch=(x86_64)
homepage=https://cyan4973.github.io/xxHash/
license=(
GPL2
BSD
)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/Cyan4973/xxHash/archive/refs/tags/v${pkgver}.tar.gz")
md5sums=("599804eb9555e51c05f1b821f9212a07")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
make PREFIX=/usr
}
src_install() {
make PREFIX=/usr DESTDIR="${pkgdir}" install
install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/xxhash
}

View File

@@ -0,0 +1,35 @@
pkgname=yyjson
pkgver=0.12.0
pkgdesc="A high performance JSON library written in ANSI C"
arch=('x86_64')
homepage="https://ibireme.github.io/yyjson"
license=('MIT')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/ibireme/yyjson/archive/refs/tags/${pkgver}.tar.gz")
md5sums=("a0a4fe2ae717277125fdebc60630ddf1")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
cmake -B build \
-DCMAKE_BUILD_TYPE='None' \
-DCMAKE_INSTALL_PREFIX='/usr' \
-DBUILD_SHARED_LIBS='ON' \
-DYYJSON_BUILD_TESTS='ON' \
-Wno-dev
cmake --build build
}
src_check() {
ctest --test-dir build --output-on-failure
}
src_install() {
DESTDIR="${pkgdir}" cmake --install build
install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm 644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
install -Dm 644 doc/*.md -t "${pkgdir}/usr/share/doc/${pkgname}/"
}

View File

@@ -0,0 +1,23 @@
pkgname=build
pkgver=1.3.0
pkgdesc='A simple, correct Python build frontend'
arch=(any)
homepage='https://github.com/pypa/build'
license=(MIT)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("48f7fbc11051430eab3c1abe216bed7a")
export PYTHONDONTWRITEBYTECODE=1
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
}
src_install() {
pip3 install --no-deps --no-warn-script-location --no-index --no-cache-dir --no-user --root ${pkgdir} --root-user-action=ignore --find-links dist ${pkgname}
}

View File

@@ -0,0 +1,24 @@
pkgname=calver
pkgver=2025.04.01
pkgdesc="Setuptools extension for CalVer package versions"
homepage="https://github.com/di/calver"
license=('Apache-2.0')
arch=('any')
sources=("${pkgname}-${pkgver}.tar.gz")
#urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
urls=("https://github.com/di/calver/archive/refs/tags/${pkgver}.tar.gz")
md5sums=("305e056178a135ae7912c9e1ab848acc")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check need pytest
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
}

View File

@@ -0,0 +1,37 @@
pkgname=cython
pkgver=3.1.7
pkgdesc='C-Extensions for Python'
arch=(x86_64)
homepage='https://cython.org'
license=(Apache-2.0)
depends=(glibc
python)
makedepends=(git
python-build
python-installer
python-setuptools
python-wheel)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/cython/cython/releases/download/${pkgver}/${sources[0]}")
md5sums=("08c1ee734e2cb43f3b1c4310dfde27c0")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check need some depends
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
for f in cygdb cython cythonize; do
mv "$pkgdir"/usr/bin/$f "$pkgdir"/usr/bin/${f}3
ln -s ${f}3 "$pkgdir"/usr/bin/$f
done
install -Dm644 LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname/
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,31 @@
pkgname=docutils
pkgver=0.21.2
pkgdesc='Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX'
arch=('any')
homepage='http://docutils.sourceforge.net'
license=(
'LicenseRef-Public-Domain'
'BSD-2-Clause'
)
sources=("${pkgname/-/_}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("c4064e1e0e3cd142951fd2b95b830874")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation --skip-dependency-check
}
# check need pillow
src_install() {
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
install -d "$pkgdir"/usr/share/licenses/$pkgname
ln -s "$site_packages"/"$pkgname"-$pkgver.dist-info/licenses/COPYING.txt \
"$pkgdir"/usr/share/licenses/$pkgname
python -m installer --destdir="$pkgdir" dist/*.whl
}

View File

@@ -0,0 +1,23 @@
pkgname=editables
pkgver=0.5
pkgdesc='Python library for creating editable wheels'
arch=('any')
homepage='https://github.com/pfmoore/editables'
license=('MIT')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/e/${pkgname}/${sources[0]}")
md5sums=("520de8c3a9dc5dfb2b365d104541c9de")
export PYTHONDONTWRITEBYTECODE=1
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
}
src_install() {
pip3 install --no-deps --no-warn-script-location --no-index --no-cache-dir --no-user --root ${pkgdir} --root-user-action=ignore --find-links dist ${pkgname}
}

View File

@@ -0,0 +1,25 @@
pkgname=hatch-vcs
pkgver=0.5.0
pkgdesc="Hatch plugin for versioning with your preferred VCS"
homepage="https://github.com/ofek/hatch-vcs"
license=('MIT')
arch=('any')
sources=("${pkgname/-/_}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("9a22a9f7203783e526959d34510a9672")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check need pytest, but hatch-vcs is needed by pytest
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm644 LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname/
}

View File

@@ -0,0 +1,25 @@
pkgname=hatchling
pkgver=1.27.0
pkgdesc="Extensible, standards compliant build backend used by Hatch"
arch=('any')
homepage="https://github.com/pypa/hatch/tree/master/backend"
license=('MIT')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("6ffb3087c9b6a9ffbfc1bb394f7ed1a8")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check need pytest, but hatchling is needed by pytest
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.txt
}

View File

@@ -0,0 +1,24 @@
pkgname=iniconfig
pkgver=2.1.0
pkgdesc="brain-dead simple config-ini parsing"
homepage="https://github.com/RonnyPfannschmidt/iniconfig"
license=('MIT')
arch=('any')
sources=("${pkgname/-/_}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("437ede5b20b0ab2e76ca08f02b5c49dd")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check need pytest, but iniconfig is needed by pytest
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}

View File

@@ -0,0 +1,23 @@
pkgname=installer
pkgver=0.7.0
pkgdesc='Low-level library for installing a Python package from a wheel distribution'
arch=(any)
homepage='https://github.com/pypa/build'
license=(MIT)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("d961d1105c9270049528b1167ed021bc")
export PYTHONDONTWRITEBYTECODE=1
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
}
src_install() {
pip3 install --no-deps --no-warn-script-location --no-index --no-cache-dir --no-user --root ${pkgdir} --root-user-action=ignore --find-links dist ${pkgname}
}

View File

@@ -0,0 +1,42 @@
pkgname=lxml
pkgver=6.0.0
pkgdesc="Python binding for the libxml2 and libxslt libraries"
arch=('x86_64')
license=(
'BSD-3-Clause'
'MIT'
'MIT-CMU'
'GPL-2.0-only'
'LicenseRef-RNG2Schtrn'
'LicenseRef-XSD2Schtrn'
)
url="https://lxml.de/"
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("3f6f87e9b333b68070210668f0831618")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --skip-dependency-check --no-isolation
}
src_check() {
:
}
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
# licenses
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \
LICENSES.txt \
doc/licenses/BSD.txt \
doc/licenses/elementtree.txt \
doc/licenses/GPL.txt
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,36 @@
pkgname=mako
pkgver=1.3.10
pkgdesc="A template library written in Python"
arch=(any)
homepage="https://github.com/sqlalchemy/mako"
license=(MIT)
depends=(
python
python-markupsafe
)
makedepends=(
python-build
python-installer
python-setuptools
python-wheel
)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("c9dfb2bf42827459dd505c60f2262a7c")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --no-isolation
}
# check require some unneeded depends.
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,33 @@
pkgname=pathspec
pkgver=0.12.1
pkgdesc='Utility library for gitignore style pattern matching of file paths'
arch=('any')
homepage=https://github.com/cpburnz/python-pathspec
license=('MPL2')
depends=('python')
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://files.pythonhosted.org/packages/source/${pkgname:0:1}/${pkgname}/${sources[0]}")
md5sums=("2b26ad1981bfa23748e115f00085624c")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
python -m build --wheel --skip-dependency-check --no-isolation
}
src_check() {
python -m unittest
}
src_install() {
python -m installer --destdir="$pkgdir" dist/*.whl
# Symlink license file
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
install -d "$pkgdir"/usr/share/licenses/$pkgname
ln -s "$site_packages"/"$pkgname"-$pkgver.dist-info/licenses/LICENSE \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

Some files were not shown because too many files have changed in this diff Show More