diff --git a/README.md b/README.md index 6d1b4d4..dcb2fa3 100644 --- a/README.md +++ b/README.md @@ -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` diff --git a/TODO.md b/TODO.md index 03bc59e..2437258 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,4 @@ # todo - [x] `pip` should be a standalone package. - +- [ ] rewrite `shadow` and `linux-pam`, try to follow Gentoo diff --git a/app-accessibility/at-spi2-core-2.56.5.PKGBUILD b/app-accessibility/at-spi2-core-2.56.5.PKGBUILD new file mode 100644 index 0000000..96acb05 --- /dev/null +++ b/app-accessibility/at-spi2-core-2.56.5.PKGBUILD @@ -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}] ) + !> 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 +} diff --git a/app-i18n/gnulib-l10n-20241231.PKGBUILD b/app-i18n/gnulib-l10n-20241231.PKGBUILD new file mode 100644 index 0000000..660d994 --- /dev/null +++ b/app-i18n/gnulib-l10n-20241231.PKGBUILD @@ -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: diff --git a/app-misc/fastfetch-2.56.1.PKGBUILD b/app-misc/fastfetch-2.56.1.PKGBUILD new file mode 100644 index 0000000..8de3b6a --- /dev/null +++ b/app-misc/fastfetch-2.56.1.PKGBUILD @@ -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 +} diff --git a/app-misc/fastfetch-2.56.1/fastfetch-2.56.1-leaf.patch b/app-misc/fastfetch-2.56.1/fastfetch-2.56.1-leaf.patch new file mode 100644 index 0000000..5407124 --- /dev/null +++ b/app-misc/fastfetch-2.56.1/fastfetch-2.56.1-leaf.patch @@ -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"}, diff --git a/app-misc/jq-1.8.1.PKGBUILD b/app-misc/jq-1.8.1.PKGBUILD new file mode 100644 index 0000000..63ee070 --- /dev/null +++ b/app-misc/jq-1.8.1.PKGBUILD @@ -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: diff --git a/app-misc/jq-1.8.1/jq-1.6-r3-never-bundle-oniguruma.patch b/app-misc/jq-1.8.1/jq-1.6-r3-never-bundle-oniguruma.patch new file mode 100644 index 0000000..75ab111 --- /dev/null +++ b/app-misc/jq-1.8.1/jq-1.6-r3-never-bundle-oniguruma.patch @@ -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 diff --git a/app-misc/make-ca-1.16.1.PKGBUILD b/app-misc/make-ca-1.16.1.PKGBUILD new file mode 100644 index 0000000..94b5eff --- /dev/null +++ b/app-misc/make-ca-1.16.1.PKGBUILD @@ -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 +} + diff --git a/app-misc/make-ca-1.16.1/pythoncerts.sh b/app-misc/make-ca-1.16.1/pythoncerts.sh new file mode 100644 index 0000000..b2421fd --- /dev/null +++ b/app-misc/make-ca-1.16.1/pythoncerts.sh @@ -0,0 +1,3 @@ +# /etc/profile.d/pythoncerts.sh + +export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt diff --git a/app-shells/fzf-0.67.0.PKGBUILD b/app-shells/fzf-0.67.0.PKGBUILD new file mode 100644 index 0000000..4e73e84 --- /dev/null +++ b/app-shells/fzf-0.67.0.PKGBUILD @@ -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: diff --git a/app-shells/zsh-5.9.PKGBUILD b/app-shells/zsh-5.9.PKGBUILD index 80704e8..d7eaa91 100644 --- a/app-shells/zsh-5.9.PKGBUILD +++ b/app-shells/zsh-5.9.PKGBUILD @@ -4,25 +4,35 @@ 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/*.* } src_build() { - ./configure --prefix=/usr \ - --sysconfdir=/etc/zsh \ - --enable-etcdir=/etc/zsh \ - --enable-cap \ - --enable-gdbm \ - --with-term-lib='ncursesw' \ - --enable-multibyte && - make && + ./configure --prefix=/usr \ + --sysconfdir=/etc/zsh \ + --enable-etcdir=/etc/zsh \ + --enable-cap \ + --enable-gdbm \ + --with-term-lib='ncursesw' \ + --enable-multibyte && + make && makeinfo Doc/zsh.texi --html -o Doc/html&& makeinfo Doc/zsh.texi --plaintext -o zsh.txt && @@ -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 +} diff --git a/app-text/docbook-xml-4.5.PKGBUILD b/app-text/docbook-xml-4.5.PKGBUILD new file mode 100644 index 0000000..2c48244 --- /dev/null +++ b/app-text/docbook-xml-4.5.PKGBUILD @@ -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 +} diff --git a/app-text/docbook-xsl-nons-1.79.2.PKGBUILD b/app-text/docbook-xsl-nons-1.79.2.PKGBUILD new file mode 100644 index 0000000..13650a6 --- /dev/null +++ b/app-text/docbook-xsl-nons-1.79.2.PKGBUILD @@ -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 +} diff --git a/app-text/scdoc-1.9.7.PKGBUILD b/app-text/scdoc-1.9.7.PKGBUILD new file mode 100644 index 0000000..9cd2183 --- /dev/null +++ b/app-text/scdoc-1.9.7.PKGBUILD @@ -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: diff --git a/app-text/xmlto-0.0.29.PKGBUILD b/app-text/xmlto-0.0.29.PKGBUILD new file mode 100644 index 0000000..0673b96 --- /dev/null +++ b/app-text/xmlto-0.0.29.PKGBUILD @@ -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 +} + diff --git a/bootstrap/glib-2.84.4.PKGBUILD b/bootstrap/glib-2.84.4.PKGBUILD new file mode 100644 index 0000000..4c574da --- /dev/null +++ b/bootstrap/glib-2.84.4.PKGBUILD @@ -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" +} diff --git a/bootstrap/go-bootstrap-1.22.12.PKGBUILD b/bootstrap/go-bootstrap-1.22.12.PKGBUILD new file mode 100644 index 0000000..7fe2be3 --- /dev/null +++ b/bootstrap/go-bootstrap-1.22.12.PKGBUILD @@ -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: diff --git a/bootstrap/libva-2.22.0.PKGBUILD b/bootstrap/libva-2.22.0.PKGBUILD new file mode 100644 index 0000000..ab40f87 --- /dev/null +++ b/bootstrap/libva-2.22.0.PKGBUILD @@ -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: diff --git a/dev-build/cmake-4.1.0.PKGBUILD b/dev-build/cmake-4.1.0.PKGBUILD new file mode 100644 index 0000000..5522de2 --- /dev/null +++ b/dev-build/cmake-4.1.0.PKGBUILD @@ -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 +} diff --git a/dev-build/gtk-doc-am-1.34.0.PKGBUILD b/dev-build/gtk-doc-am-1.34.0.PKGBUILD new file mode 100644 index 0000000..1523e68 --- /dev/null +++ b/dev-build/gtk-doc-am-1.34.0.PKGBUILD @@ -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: diff --git a/dev-cpp/abseil-cpp-20250814.0.PKGBUILD b/dev-cpp/abseil-cpp-20250814.0.PKGBUILD new file mode 100644 index 0000000..2db93fc --- /dev/null +++ b/dev-cpp/abseil-cpp-20250814.0.PKGBUILD @@ -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: diff --git a/dev-cpp/eigen-3.4.0.PKGBUILD b/dev-cpp/eigen-3.4.0.PKGBUILD new file mode 100644 index 0000000..5267364 --- /dev/null +++ b/dev-cpp/eigen-3.4.0.PKGBUILD @@ -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: diff --git a/dev-cpp/eigen-3.4.0/eigen-3.4.0-cxxstandard.patch b/dev-cpp/eigen-3.4.0/eigen-3.4.0-cxxstandard.patch new file mode 100644 index 0000000..826aa78 --- /dev/null +++ b/dev-cpp/eigen-3.4.0/eigen-3.4.0-cxxstandard.patch @@ -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 diff --git a/dev-cpp/glaze-5.5.4.PKGBUILD b/dev-cpp/glaze-5.5.4.PKGBUILD new file mode 100644 index 0000000..69db3af --- /dev/null +++ b/dev-cpp/glaze-5.5.4.PKGBUILD @@ -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: diff --git a/dev-cpp/highway-1.3.0.PKGBUILD b/dev-cpp/highway-1.3.0.PKGBUILD new file mode 100644 index 0000000..dcad520 --- /dev/null +++ b/dev-cpp/highway-1.3.0.PKGBUILD @@ -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: diff --git a/dev-cpp/tomlplusplus-3.4.0.PKGBUILD b/dev-cpp/tomlplusplus-3.4.0.PKGBUILD new file mode 100644 index 0000000..e63f6b5 --- /dev/null +++ b/dev-cpp/tomlplusplus-3.4.0.PKGBUILD @@ -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: diff --git a/dev-db/sqlite-3.50.4.PKGBUILD b/dev-db/sqlite-3.50.4.PKGBUILD new file mode 100644 index 0000000..5b8e170 --- /dev/null +++ b/dev-db/sqlite-3.50.4.PKGBUILD @@ -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} +} diff --git a/dev-debug/gdb-16.3.PKGBUILD b/dev-debug/gdb-16.3.PKGBUILD new file mode 100644 index 0000000..a5727b0 --- /dev/null +++ b/dev-debug/gdb-16.3.PKGBUILD @@ -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 +} + diff --git a/dev-debug/valgrind-3.25.1.PKGBUILD b/dev-debug/valgrind-3.25.1.PKGBUILD new file mode 100644 index 0000000..6d047d1 --- /dev/null +++ b/dev-debug/valgrind-3.25.1.PKGBUILD @@ -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" +} diff --git a/dev-lang/duktape-2.7.0.PKGBUILD b/dev-lang/duktape-2.7.0.PKGBUILD new file mode 100644 index 0000000..b419d19 --- /dev/null +++ b/dev-lang/duktape-2.7.0.PKGBUILD @@ -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 +} diff --git a/dev-lang/go-1.25.5.PKGBUILD b/dev-lang/go-1.25.5.PKGBUILD new file mode 100644 index 0000000..2edc6d8 --- /dev/null +++ b/dev-lang/go-1.25.5.PKGBUILD @@ -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: diff --git a/dev-lang/nasm-3.01.PKGBUILD b/dev-lang/nasm-3.01.PKGBUILD new file mode 100644 index 0000000..0094a7b --- /dev/null +++ b/dev-lang/nasm-3.01.PKGBUILD @@ -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: diff --git a/dev-lang/python-3.13.7.PKGBUILD b/dev-lang/python-3.13.7.PKGBUILD new file mode 100644 index 0000000..591793b --- /dev/null +++ b/dev-lang/python-3.13.7.PKGBUILD @@ -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]}" +} diff --git a/dev-lang/python-3.13.7/pythondocs.sh b/dev-lang/python-3.13.7/pythondocs.sh new file mode 100644 index 0000000..625a373 --- /dev/null +++ b/dev-lang/python-3.13.7/pythondocs.sh @@ -0,0 +1,3 @@ +# /etc/profile.d/pythondocs.sh +# this file belongs to dev-lang/python +export PYTHONDOCS=/usr/share/doc/python-3/html diff --git a/dev-lang/rust-1.89.0.PKGBUILD b/dev-lang/rust-1.89.0.PKGBUILD new file mode 100644 index 0000000..2b16efe --- /dev/null +++ b/dev-lang/rust-1.89.0.PKGBUILD @@ -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 +} diff --git a/dev-lang/yasm-1.3.0.PKGBUILD b/dev-lang/yasm-1.3.0.PKGBUILD new file mode 100644 index 0000000..8df76a8 --- /dev/null +++ b/dev-lang/yasm-1.3.0.PKGBUILD @@ -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: diff --git a/dev-lang/yasm-1.3.0/yasm-1.3.0-fix-modern-c.patch b/dev-lang/yasm-1.3.0/yasm-1.3.0-fix-modern-c.patch new file mode 100644 index 0000000..61f1e88 --- /dev/null +++ b/dev-lang/yasm-1.3.0/yasm-1.3.0-fix-modern-c.patch @@ -0,0 +1,87 @@ +https://github.com/yasm/yasm/commit/f79f5e37f0e4b06d5dc303cc219929d7359dd7df +From: Biswapriyo Nath +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< +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 + diff --git a/dev-libs/check-0.15.2/check-0.15.2-avoid-static-lib.patch b/dev-libs/check-0.15.2/check-0.15.2-avoid-static-lib.patch new file mode 100644 index 0000000..2a7866a --- /dev/null +++ b/dev-libs/check-0.15.2/check-0.15.2-avoid-static-lib.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +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} + diff --git a/dev-libs/elfutils-0.193.PKGBUILD b/dev-libs/elfutils-0.193.PKGBUILD new file mode 100644 index 0000000..016d25c --- /dev/null +++ b/dev-libs/elfutils-0.193.PKGBUILD @@ -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: diff --git a/dev-libs/fribidi-1.0.16.PKGBUILD b/dev-libs/fribidi-1.0.16.PKGBUILD new file mode 100644 index 0000000..7d426b9 --- /dev/null +++ b/dev-libs/fribidi-1.0.16.PKGBUILD @@ -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: diff --git a/dev-libs/glib-2.84.4.PKGBUILD b/dev-libs/glib-2.84.4.PKGBUILD new file mode 100644 index 0000000..466682a --- /dev/null +++ b/dev-libs/glib-2.84.4.PKGBUILD @@ -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: diff --git a/dev-libs/glib-2.84.4/gio-querymodules.HOOK b/dev-libs/glib-2.84.4/gio-querymodules.HOOK new file mode 100644 index 0000000..710c0bb --- /dev/null +++ b/dev-libs/glib-2.84.4/gio-querymodules.HOOK @@ -0,0 +1,5 @@ +target=(/usr/lib/gio/modules/*.so) +triggers=("install" "remove") +operation() { + /usr/bin/gio-querymodules /usr/lib/gio/modules +} diff --git a/dev-libs/glib-2.84.4/glib-compile-schemas.HOOK b/dev-libs/glib-2.84.4/glib-compile-schemas.HOOK new file mode 100644 index 0000000..2559fc7 --- /dev/null +++ b/dev-libs/glib-2.84.4/glib-compile-schemas.HOOK @@ -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 +} diff --git a/dev-libs/gobject-introspection-1.84.0.PKGBUILD b/dev-libs/gobject-introspection-1.84.0.PKGBUILD new file mode 100644 index 0000000..f4ed849 --- /dev/null +++ b/dev-libs/gobject-introspection-1.84.0.PKGBUILD @@ -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} +} diff --git a/dev-libs/hyprgraphics-0.1.5.PKGBUILD b/dev-libs/hyprgraphics-0.1.5.PKGBUILD new file mode 100644 index 0000000..dcaf429 --- /dev/null +++ b/dev-libs/hyprgraphics-0.1.5.PKGBUILD @@ -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: diff --git a/dev-libs/hyprland-protocols-0.6.4.PKGBUILD b/dev-libs/hyprland-protocols-0.6.4.PKGBUILD new file mode 100644 index 0000000..60aa240 --- /dev/null +++ b/dev-libs/hyprland-protocols-0.6.4.PKGBUILD @@ -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: diff --git a/dev-libs/hyprlang-0.6.4.PKGBUILD b/dev-libs/hyprlang-0.6.4.PKGBUILD new file mode 100644 index 0000000..c66a529 --- /dev/null +++ b/dev-libs/hyprlang-0.6.4.PKGBUILD @@ -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: diff --git a/dev-libs/icu-77.1.PKGBUILD b/dev-libs/icu-77.1.PKGBUILD new file mode 100644 index 0000000..eefa3d5 --- /dev/null +++ b/dev-libs/icu-77.1.PKGBUILD @@ -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 +} diff --git a/dev-libs/libatomic_ops-7.8.4.PKGBUILD b/dev-libs/libatomic_ops-7.8.4.PKGBUILD new file mode 100644 index 0000000..a8de7d2 --- /dev/null +++ b/dev-libs/libatomic_ops-7.8.4.PKGBUILD @@ -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: diff --git a/dev-libs/libevdev-1.13.5.PKGBUILD b/dev-libs/libevdev-1.13.5.PKGBUILD new file mode 100644 index 0000000..8aff8dc --- /dev/null +++ b/dev-libs/libevdev-1.13.5.PKGBUILD @@ -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: diff --git a/dev-libs/libevent-2.1.12.PKGBUILD b/dev-libs/libevent-2.1.12.PKGBUILD new file mode 100644 index 0000000..1c27851 --- /dev/null +++ b/dev-libs/libevent-2.1.12.PKGBUILD @@ -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: diff --git a/dev-libs/libevent-2.1.12/libevent-2.1.12-openssl-compat.patch b/dev-libs/libevent-2.1.12/libevent-2.1.12-openssl-compat.patch new file mode 100644 index 0000000..a16d9ab --- /dev/null +++ b/dev-libs/libevent-2.1.12/libevent-2.1.12-openssl-compat.patch @@ -0,0 +1,75 @@ +commit 7f4684c0d362fefee8697ceed3f4f8642ed147ce +Author: William Marlow +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 { + diff --git a/dev-libs/libgcrypt-1.11.2.PKGBUILD b/dev-libs/libgcrypt-1.11.2.PKGBUILD new file mode 100644 index 0000000..eda8c6c --- /dev/null +++ b/dev-libs/libgcrypt-1.11.2.PKGBUILD @@ -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}/" +} diff --git a/dev-libs/libgit2-1.9.2.PKGBUILD b/dev-libs/libgit2-1.9.2.PKGBUILD new file mode 100644 index 0000000..1057cdb --- /dev/null +++ b/dev-libs/libgit2-1.9.2.PKGBUILD @@ -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: diff --git a/dev-libs/libgpg-error-1.55.PKGBUILD b/dev-libs/libgpg-error-1.55.PKGBUILD new file mode 100644 index 0000000..0e2ded0 --- /dev/null +++ b/dev-libs/libgpg-error-1.55.PKGBUILD @@ -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 +} diff --git a/dev-libs/libinput-1.29.1.PKGBUILD b/dev-libs/libinput-1.29.1.PKGBUILD new file mode 100644 index 0000000..6fdf373 --- /dev/null +++ b/dev-libs/libinput-1.29.1.PKGBUILD @@ -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: diff --git a/dev-libs/libtasn1-4.20.0.PKGBUILD b/dev-libs/libtasn1-4.20.0.PKGBUILD new file mode 100644 index 0000000..bf8e126 --- /dev/null +++ b/dev-libs/libtasn1-4.20.0.PKGBUILD @@ -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}/" +} diff --git a/dev-libs/libunistring-1.3.PKGBUILD b/dev-libs/libunistring-1.3.PKGBUILD new file mode 100644 index 0000000..5041fc9 --- /dev/null +++ b/dev-libs/libunistring-1.3.PKGBUILD @@ -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 +} diff --git a/dev-libs/libuv-1.51.0.PKGBUILD b/dev-libs/libuv-1.51.0.PKGBUILD new file mode 100644 index 0000000..85025cc --- /dev/null +++ b/dev-libs/libuv-1.51.0.PKGBUILD @@ -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 +} + diff --git a/dev-libs/libxml2-2.14.5.PKGBUILD b/dev-libs/libxml2-2.14.5.PKGBUILD new file mode 100644 index 0000000..4409c00 --- /dev/null +++ b/dev-libs/libxml2-2.14.5.PKGBUILD @@ -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" +} diff --git a/dev-libs/libxslt-1.1.43.PKGBUILD b/dev-libs/libxslt-1.1.43.PKGBUILD new file mode 100644 index 0000000..27663b7 --- /dev/null +++ b/dev-libs/libxslt-1.1.43.PKGBUILD @@ -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" +} diff --git a/dev-libs/libyaml-0.2.5.PKGBUILD b/dev-libs/libyaml-0.2.5.PKGBUILD new file mode 100644 index 0000000..3455426 --- /dev/null +++ b/dev-libs/libyaml-0.2.5.PKGBUILD @@ -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: diff --git a/dev-libs/libzip-1.11.4.PKGBUILD b/dev-libs/libzip-1.11.4.PKGBUILD new file mode 100644 index 0000000..85a0161 --- /dev/null +++ b/dev-libs/libzip-1.11.4.PKGBUILD @@ -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: diff --git a/dev-libs/libzip-1.11.4/libzip-1.11.4-mbedtls-3.patch b/dev-libs/libzip-1.11.4/libzip-1.11.4-mbedtls-3.patch new file mode 100644 index 0000000..20a8b08 --- /dev/null +++ b/dev-libs/libzip-1.11.4/libzip-1.11.4-mbedtls-3.patch @@ -0,0 +1,80 @@ +From https://github.com/nih-at/libzip/pull/494 +From: "Azamat H. Hackimov" +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 + diff --git a/dev-libs/lzo-2.10.PKGBUILD b/dev-libs/lzo-2.10.PKGBUILD new file mode 100644 index 0000000..2dd022f --- /dev/null +++ b/dev-libs/lzo-2.10.PKGBUILD @@ -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 +} diff --git a/dev-libs/oniguruma-6.9.10.PKGBUILD b/dev-libs/oniguruma-6.9.10.PKGBUILD new file mode 100644 index 0000000..1a93135 --- /dev/null +++ b/dev-libs/oniguruma-6.9.10.PKGBUILD @@ -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: diff --git a/dev-libs/pcre2-10.45.PKGBUILD b/dev-libs/pcre2-10.45.PKGBUILD new file mode 100644 index 0000000..537c399 --- /dev/null +++ b/dev-libs/pcre2-10.45.PKGBUILD @@ -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/" +} diff --git a/dev-libs/popt-1.19.PKGBUILD b/dev-libs/popt-1.19.PKGBUILD new file mode 100644 index 0000000..4b02e89 --- /dev/null +++ b/dev-libs/popt-1.19.PKGBUILD @@ -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 +} diff --git a/dev-libs/pugixml-1.15.PKGBUILD b/dev-libs/pugixml-1.15.PKGBUILD new file mode 100644 index 0000000..a1a3421 --- /dev/null +++ b/dev-libs/pugixml-1.15.PKGBUILD @@ -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: diff --git a/dev-libs/re2-2024.07.02.PKGBUILD b/dev-libs/re2-2024.07.02.PKGBUILD new file mode 100644 index 0000000..09d3d25 --- /dev/null +++ b/dev-libs/re2-2024.07.02.PKGBUILD @@ -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: diff --git a/dev-libs/simde-0.8.2.PKGBUILD b/dev-libs/simde-0.8.2.PKGBUILD new file mode 100644 index 0000000..0725588 --- /dev/null +++ b/dev-libs/simde-0.8.2.PKGBUILD @@ -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: diff --git a/dev-libs/udis86-1.7.2.PKGBUILD b/dev-libs/udis86-1.7.2.PKGBUILD new file mode 100644 index 0000000..1ff933e --- /dev/null +++ b/dev-libs/udis86-1.7.2.PKGBUILD @@ -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: diff --git a/dev-libs/udis86-1.7.2/udis86-1.7.2-docdir.patch b/dev-libs/udis86-1.7.2/udis86-1.7.2-docdir.patch new file mode 100644 index 0000000..3afa725 --- /dev/null +++ b/dev-libs/udis86-1.7.2/udis86-1.7.2-docdir.patch @@ -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 diff --git a/dev-libs/udis86-1.7.2/udis86-1.7.2-python3.patch b/dev-libs/udis86-1.7.2/udis86-1.7.2-python3.patch new file mode 100644 index 0000000..b708072 --- /dev/null +++ b/dev-libs/udis86-1.7.2/udis86-1.7.2-python3.patch @@ -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 diff --git a/dev-libs/udis86-1.7.2/udis86-1.7.2-uninitialized-variable.patch b/dev-libs/udis86-1.7.2/udis86-1.7.2-uninitialized-variable.patch new file mode 100644 index 0000000..3778e53 --- /dev/null +++ b/dev-libs/udis86-1.7.2/udis86-1.7.2-uninitialized-variable.patch @@ -0,0 +1,22 @@ +From cce390dd61996e569bd8a3bca78e7aa4b286d6df Mon Sep 17 00:00:00 2001 +From: Vivek Thampi +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 { diff --git a/dev-libs/wayland-1.24.0.PKGBUILD b/dev-libs/wayland-1.24.0.PKGBUILD new file mode 100644 index 0000000..788cb4e --- /dev/null +++ b/dev-libs/wayland-1.24.0.PKGBUILD @@ -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: diff --git a/dev-libs/wayland-protocols-1.45.0.PKGBUILD b/dev-libs/wayland-protocols-1.45.0.PKGBUILD new file mode 100644 index 0000000..a368b4a --- /dev/null +++ b/dev-libs/wayland-protocols-1.45.0.PKGBUILD @@ -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: diff --git a/dev-libs/xxhash-0.8.3.PKGBUILD b/dev-libs/xxhash-0.8.3.PKGBUILD new file mode 100644 index 0000000..d9f0263 --- /dev/null +++ b/dev-libs/xxhash-0.8.3.PKGBUILD @@ -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 +} diff --git a/dev-libs/yyjson-0.12.0.PKGBUILD b/dev-libs/yyjson-0.12.0.PKGBUILD new file mode 100644 index 0000000..8c78cf2 --- /dev/null +++ b/dev-libs/yyjson-0.12.0.PKGBUILD @@ -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}/" +} diff --git a/dev-python/build-1.3.0.PKGBUILD b/dev-python/build-1.3.0.PKGBUILD new file mode 100644 index 0000000..5ac7aa2 --- /dev/null +++ b/dev-python/build-1.3.0.PKGBUILD @@ -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} +} diff --git a/dev-python/calver-2025.04.01.PKGBUILD b/dev-python/calver-2025.04.01.PKGBUILD new file mode 100644 index 0000000..67cf205 --- /dev/null +++ b/dev-python/calver-2025.04.01.PKGBUILD @@ -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 +} diff --git a/dev-python/cython-3.1.7.PKGBUILD b/dev-python/cython-3.1.7.PKGBUILD new file mode 100644 index 0000000..064cee2 --- /dev/null +++ b/dev-python/cython-3.1.7.PKGBUILD @@ -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: diff --git a/dev-python/docutils-0.21.2.PKGBUILD b/dev-python/docutils-0.21.2.PKGBUILD new file mode 100644 index 0000000..57ac730 --- /dev/null +++ b/dev-python/docutils-0.21.2.PKGBUILD @@ -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 +} diff --git a/dev-python/editables-0.5.PKGBUILD b/dev-python/editables-0.5.PKGBUILD new file mode 100644 index 0000000..a5bd9ad --- /dev/null +++ b/dev-python/editables-0.5.PKGBUILD @@ -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} +} diff --git a/dev-python/hatch-vcs-0.5.0.PKGBUILD b/dev-python/hatch-vcs-0.5.0.PKGBUILD new file mode 100644 index 0000000..4da4f7f --- /dev/null +++ b/dev-python/hatch-vcs-0.5.0.PKGBUILD @@ -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/ +} + diff --git a/dev-python/hatchling-1.27.0.PKGBUILD b/dev-python/hatchling-1.27.0.PKGBUILD new file mode 100644 index 0000000..77bd80f --- /dev/null +++ b/dev-python/hatchling-1.27.0.PKGBUILD @@ -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 +} diff --git a/dev-python/iniconfig-2.1.0.PKGBUILD b/dev-python/iniconfig-2.1.0.PKGBUILD new file mode 100644 index 0000000..c998cb8 --- /dev/null +++ b/dev-python/iniconfig-2.1.0.PKGBUILD @@ -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/ +} diff --git a/dev-python/installer-0.7.0.PKGBUILD b/dev-python/installer-0.7.0.PKGBUILD new file mode 100644 index 0000000..d4972e5 --- /dev/null +++ b/dev-python/installer-0.7.0.PKGBUILD @@ -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} +} diff --git a/dev-python/lxml-6.0.0.PKGBUILD b/dev-python/lxml-6.0.0.PKGBUILD new file mode 100644 index 0000000..7e6b9c8 --- /dev/null +++ b/dev-python/lxml-6.0.0.PKGBUILD @@ -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: diff --git a/dev-python/mako-1.3.10.PKGBUILD b/dev-python/mako-1.3.10.PKGBUILD new file mode 100644 index 0000000..afdee22 --- /dev/null +++ b/dev-python/mako-1.3.10.PKGBUILD @@ -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: diff --git a/dev-python/pathspec-0.12.1.PKGBUILD b/dev-python/pathspec-0.12.1.PKGBUILD new file mode 100644 index 0000000..3b13c02 --- /dev/null +++ b/dev-python/pathspec-0.12.1.PKGBUILD @@ -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 +} + diff --git a/dev-python/pillow-11.3.0.PKGBUILD b/dev-python/pillow-11.3.0.PKGBUILD new file mode 100644 index 0000000..bc78254 --- /dev/null +++ b/dev-python/pillow-11.3.0.PKGBUILD @@ -0,0 +1,61 @@ +pkgname=pillow +pkgver=12.1.0 +pkgrel=2 +pkgdesc='Python Imaging Library (PIL) fork' +arch=(x86_64) +homepage='https://pillow.readthedocs.io' +license=(MIT-CMU) +depends=( + glibc + python + python-packaging + libtiff + libjpeg-turbo + zlib +) +makedepends=( + pybind11 + python-build + python-installer + python-wheel + python-setuptools + libwebp +) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/python-pillow/Pillow/archive/${pkgver}.tar.gz") +md5sums=("acf2299072e42bb6ea186967bffdcd3e") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + cat >> setup.cfg <=dev-libs/glib-2.53.4:2" + ">=x11-libs/gdk-pixbuf-2.30:2" + "app-text/docbook-xml-dtd" + "app-text/docbook-xsl-stylesheets" +) +_hook="gtk-update-icon-cache.HOOK" +_hook_sum="4748f33e21d09a2617f2751c754f2674a18969156feb09bf8f23b7765f980855caccde4ea29459acfc05d93bba30a7c40375ceb38519a75f48337095ab76a226" +sources=("${pkgname}-${pkgver}.tar.bz2" + "${_hook}" +) +urls=("https://gitlab.gnome.org/Community/gentoo/${pkgname}/-/archive/${pkgver}/${sources[0]}" + "${_hook}" +) +sha512sums=("2eb78c3db7ad95df0ae422686cb0e4d857a78ea6ac94afdaf6563a8a366f8dbf93bf2e7db0e26a723107f668abdecc47a7aa720753f79bdfc82dc19450bc8883" + "${_hook_sum}" +) + +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 + ) + meson setup build "${meson_args[@]}" + meson compile -C build +} + +src_install() { + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING + leaf_install_hook "${filedir}/${_hook}" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/dev-util/gtk-update-icon-cache-3.24.42/gtk-update-icon-cache.HOOK b/dev-util/gtk-update-icon-cache-3.24.42/gtk-update-icon-cache.HOOK new file mode 100644 index 0000000..d82fcf9 --- /dev/null +++ b/dev-util/gtk-update-icon-cache-3.24.42/gtk-update-icon-cache.HOOK @@ -0,0 +1,5 @@ +target=(/usr/share/icons/*) +triggers=("install" "remove") +operation() { + /usr/bin/gtk-update-icon-cache -q /usr/share/icons/* +} diff --git a/dev-util/hyprwayland-scanner-0.4.4.PKGBUILD b/dev-util/hyprwayland-scanner-0.4.4.PKGBUILD new file mode 100644 index 0000000..e64d313 --- /dev/null +++ b/dev-util/hyprwayland-scanner-0.4.4.PKGBUILD @@ -0,0 +1,29 @@ +pkgname="hyprwayland-scanner" +pkgver=0.4.4 +pkgdesc="A Hyprland implementation of wayland-scanner, in and for C++" +arch=(x86_64) +homepage="https://github.com/hyprwm/hyprwayland-scanner" +license=('BSD-3-Clause') +depends=('pugixml') +makedepends=('git' 'cmake' 'gcc') +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz") +md5sums=("a1a3c08298d8cf6138566c83f2e18d50") + +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: diff --git a/dev-util/rocm-smi-7.1.0.PKGBUILD b/dev-util/rocm-smi-7.1.0.PKGBUILD new file mode 100644 index 0000000..da0ecb6 --- /dev/null +++ b/dev-util/rocm-smi-7.1.0.PKGBUILD @@ -0,0 +1,69 @@ +pkgname=rocm-smi-lib +pkgver=7.1.0 +pkgdesc='ROCm System Management Interface Library' +arch=('x86_64') +url='https://rocm.docs.amd.com/projects/rocm_smi_lib/en/latest' +license=('NCSA') +depends=('glibc' 'gcc' 'python') +makedepends=('cmake') +_patchs=("rocm-smi-5.7.1-remove-example.patch") +_patchsums=("7ba065a74fbf7ac0529473e419084558") +sources=("rocm-${pkgver}.tar.gz" + ${_patchs[@]} +) +urls=("https://github.com/ROCm/rocm-systems/archive/${sources[0]}" + ${_patchs[@]} +) +md5sums=("7b63ca177ae122118dc215249db5adc3" + ${_patchsums[@]} +) + +_dirname="projects/rocm-smi-lib" + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + pushd -- ${_dirname} + for _patch in ${_patchs[@]}; do + patch -p1 -i ${filedir}/${_patch} + done + + # Disable code that relies on missing .git directory. + # Just silences potential "git: command not found" QA warnings. + sed -e "/find_program (GIT NAMES git)/d" -i CMakeLists.txt + sed -e "/num_change_since_prev_pkg(\${VERSION_PREFIX})/d" -i cmake_modules/utils.cmake + + local rocm_lib="/usr/lib/librocm_smi64.so.@VERSION_MAJOR@" + sed -E "s|path_librocm =.+__file__.+|path_librocm = '${rocm_lib}'|" \ + -i python_smi_tools/rsmiBindingsInit.py.in + popd +} + +src_build() { + local cmake_args=( + -Wno-dev + -S "$_dirname" + -B build + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_BUILD_TYPE=None + ) + cmake "${cmake_args[@]}" + cmake --build build +} + +src_install() { + DESTDIR="$pkgdir" cmake --install build + + py=python3 + _site="$("$py" -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')" + #install -Dm755 python_smi_tools/rocm_smi.py "${pkgdir}/usr/bin/rocm-smi" + #install -Dm644 python_smi_tools/rsmiBindings.py "${pkgdir}/$site/rsmiBindings.py" + #install -Dm644 python_smi_tools/rsmiBindingsInit.py "${pkgdir}/$site/rsmiBindingsInit.py" + #ln -svf "../libexec/rocm_smi/rocm_smi.py" "${pkgdir}/usr/bin/rocm-smi" + install -Dm644 "$srcdir/$_dirname/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + + + + + +# vim:ft=sh syn=sh et sw=2: diff --git a/dev-util/rocm-smi-7.1.0/rocm-smi-5.7.1-remove-example.patch b/dev-util/rocm-smi-7.1.0/rocm-smi-5.7.1-remove-example.patch new file mode 100644 index 0000000..18e1f4c --- /dev/null +++ b/dev-util/rocm-smi-7.1.0/rocm-smi-5.7.1-remove-example.patch @@ -0,0 +1,14 @@ +Remove example; unused, only generates not important QA warnings +--- a/rocm_smi/CMakeLists.txt ++++ b/rocm_smi/CMakeLists.txt +@@ -76,8 +76,10 @@ set(SMI_INC_LIST "") + + set(SMI_EXAMPLE_EXE "rocm_smi_ex") + ++if (WITH_EXAMPLE) + add_executable(${SMI_EXAMPLE_EXE} "example/rocm_smi_example.cc") + target_link_libraries(${SMI_EXAMPLE_EXE} ${ROCM_SMI_TARGET}) ++endif() + add_library(${ROCM_SMI_TARGET} ${CMN_SRC_LIST} ${SMI_SRC_LIST} + ${CMN_INC_LIST} ${SMI_INC_LIST}) + target_link_libraries(${ROCM_SMI_TARGET} pthread rt) diff --git a/dev-util/spirv-headers-1.4.328.0.PKGBUILD b/dev-util/spirv-headers-1.4.328.0.PKGBUILD new file mode 100644 index 0000000..1269a60 --- /dev/null +++ b/dev-util/spirv-headers-1.4.328.0.PKGBUILD @@ -0,0 +1,44 @@ +pkgname=spirv-headers +pkgver=1.4.328.0 +pkgdesc="SPIR-V header files and registry" +homepage="https://www.khronos.org/spirv/" +arch=(any) +license=(MIT) +makedepends=( + cmake + ninja +) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-${pkgver}.tar.gz") +md5sums=("342ebebcea5dae02f7e6638fe753f249") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + local cmake_options=( + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_INSTALL_SYSCONFDIR=/etc + -D CMAKE_SKIP_INSTALL_RPATH=ON + ) + + cmake -B build -G Ninja "${cmake_options[@]}" + + cmake --build build +} + +src_check() { + ctest --test-dir build --output-on-failure --stop-on-failure +} + +src_install() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 README.md "${pkgdir}"/usr/share/doc/${pkgname}-${pkgver}/README.md + install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + + +# vim:ft=sh syn=sh et sw=2: diff --git a/dev-util/spirv-tools-1.4.328.0.PKGBUILD b/dev-util/spirv-tools-1.4.328.0.PKGBUILD new file mode 100644 index 0000000..2a0b332 --- /dev/null +++ b/dev-util/spirv-tools-1.4.328.0.PKGBUILD @@ -0,0 +1,50 @@ +pkgname=spirv-tools +pkgver=1.4.328.0 +pkgdesc="API and commands for processing SPIR-V modules" +homepage="https://www.khronos.org/spirv/" +arch=(x86_64) +license=(Apache-2.0) +depends=( + gcc-libs + glibc + sh +) +makedepends=( + cmake + ninja + python + spirv-headers +) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-${pkgver}.tar.gz") +md5sums=("fb85e921e1b4aa29491f10a83c72f7cb") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + local cmake_options=( + -D BUILD_SHARED_LIBS=ON + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_INSTALL_SYSCONFDIR=/etc + -D CMAKE_SKIP_INSTALL_RPATH=ON + -D SPIRV-Headers_SOURCE_DIR=/usr + -D SPIRV_TOOLS_BUILD_STATIC=OFF + -D SPIRV_WERROR=OFF + ) + + cmake -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +src_check() { + ctest --test-dir build --output-on-failure --stop-on-failure +} + +src_install() { + DESTDIR="$pkgdir" cmake --install build +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/dev-util/vulkan-headers-1.4.328.0.PKGBUILD b/dev-util/vulkan-headers-1.4.328.0.PKGBUILD new file mode 100644 index 0000000..c2af234 --- /dev/null +++ b/dev-util/vulkan-headers-1.4.328.0.PKGBUILD @@ -0,0 +1,48 @@ +pkgname=vulkan-headers +pkgver=1.4.328.0 +_basever="${pkgver%.*}" +pkgdesc="Vulkan header files and API registry" +homepage="https://www.vulkan.org/" +arch=(any) +license=("Apache-2.0 OR MIT") +depends=() +makedepends=( + cmake + ninja + python +) +sources=("Vulkan-Headers-${_basever}.tar.gz") +urls=("https://github.com/KhronosGroup/Vulkan-Headers/archive/v${_basever}/${sources[0]}") +md5sums=("17bc769b0cef7d9acbc0ed1710d0311f") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + local cmake_options=( + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_INSTALL_SYSCONFDIR=/etc + -D CMAKE_SKIP_INSTALL_RPATH=ON + -D VULKAN_HEADERS_ENABLE_MODULE=OFF + ) + cmake -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +src_check() { + ctest --test-dir build --output-on-failure --stop-on-failure +} + +src_install() { + DESTDIR="$pkgdir" cmake --install build + + python -m compileall -d /usr "$pkgdir/usr" + python -O -m compileall -d /usr "$pkgdir/usr" + + install -Dm644 LICENSES/MIT.txt \ + -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/dev-util/wayland-scanner-1.24.0.PKGBUILD b/dev-util/wayland-scanner-1.24.0.PKGBUILD new file mode 100644 index 0000000..2172556 --- /dev/null +++ b/dev-util/wayland-scanner-1.24.0.PKGBUILD @@ -0,0 +1,34 @@ +pkgname=wayland-scanner +pkgver=1.24.0 +pkgdesc="wayland-scanner tool" +homepage="https://wayland.freedesktop.org/" +license=('MIT') +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=false + -Dlibraries=false + -Dscanner=true + -Dtests=false + ) + + meson setup build "${mesonargs[@]}" + meson compile -C build +} + +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: diff --git a/dev-vcs/git-2.44.0.PKGBUILD b/dev-vcs/git-2.50.1.PKGBUILD similarity index 51% rename from dev-vcs/git-2.44.0.PKGBUILD rename to dev-vcs/git-2.50.1.PKGBUILD index 9542591..44ab381 100644 --- a/dev-vcs/git-2.44.0.PKGBUILD +++ b/dev-vcs/git-2.50.1.PKGBUILD @@ -1,13 +1,11 @@ pkgname="git" -pkgver="2.44.0" +pkgver="2.50.1" pkgdesc="A fast distributed version control system" homepage="https://git-scm.com/" license=("GPL2") sources=("${pkgname}-${pkgver}.tar.xz") -urls=("https://www.kernel.org/pub/software/scm/git/git-2.44.0.tar.xz") -md5sums=("7e4eb7c45e9ba7c90fa51deeea49732f") - -distdir=${distdir} +urls=("https://www.kernel.org/pub/software/scm/git/${sources[0]}") +md5sums=("2cb96fae126d66f8ff23a68f8dd5d748") src_prepare() { tar -xf ${distdir}/${sources[0]} --strip-components=1 @@ -15,10 +13,11 @@ src_prepare() { src_check(){ SHELL=/bin/sh \ + GIT_UNZIP=nonexist \ make \ NO_SVN_TESTS=y \ - GIT_TEST_OPTS="--root=/dev/shm/git-test" \ - test + GIT_TEST_OPTS="--root=/tmp/git-test" \ + -k test |& tee test.log } src_build() { @@ -29,5 +28,7 @@ src_build() { } src_install() { - make perllibdir=/usr/lib/perl5/5.38/site_perl DESTDIR="$pkgdir" install + make perllibdir=/usr/lib/perl5/5.42/site_perl DESTDIR="$pkgdir" install + install -d "$pkgdir"/usr/share/zsh/site-functions/ + install -v contrib/completion/git-completion.zsh "$pkgdir"/usr/share/zsh/site-functions/_git } diff --git a/gnome-base/librsvg-2.61.0.PKGBUILD b/gnome-base/librsvg-2.61.0.PKGBUILD new file mode 100644 index 0000000..f9c4e09 --- /dev/null +++ b/gnome-base/librsvg-2.61.0.PKGBUILD @@ -0,0 +1,73 @@ +pkgname=librsvg +pkgver=2.61.0 +_ver=${pkgver%.*} +pkgdesc="SVG rendering library" +homepage="https://wiki.gnome.org/Projects/LibRsvg" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + cairo + freetype + gcc + gdk-pixbuf + glib + glibc + harfbuzz + libxml2 + pango +) +makedepends=( + cargo-c + gobject-introspection + meson + python-docutils + rust +) +checkdepends=(ttf-dejavu) +_patches=("librsvg-2.60.0-libxml2-2.15.0-tests.patch") +_patch_sums=("0c0495867924d9121db39b7f3cf14eff") +sources=("${pkgname}-${pkgver}.tar.xz" + ${_patches[@]} +) +urls=("https://download.gnome.org/sources/librsvg/${_ver}/${sources[0]}" + ${_patches[@]} +) +md5sums=("7ed4ffdee87e0d7f356fedfea77744ca" + ${_patch_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + for _patch in ${_patches[@]}; do + patch -p1 -i ${filedir}/${_patch} + done + cargo fetch --locked --target "$(rustc --print host-tuple)" +} + +src_build() { + local meson_options=( + --prefix=/usr + --buildtype=release + --wrap-mode=nodownload + -D avif=disabled + -D introspection=enabled + -D pixbuf=enabled + -D pixbuf-loader=enabled + -D docs=disabled + -D vala=disabled + -D tests=true + ) + + meson setup build "${meson_options[@]}" + meson compile -C build +} + +src_check() { + meson test -C build --print-errorlogs --no-rebuild +} + +src_install() { + meson install -C build --destdir "$pkgdir" --no-rebuild +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/gnome-base/librsvg-2.61.0/librsvg-2.60.0-libxml2-2.15.0-tests.patch b/gnome-base/librsvg-2.61.0/librsvg-2.60.0-libxml2-2.15.0-tests.patch new file mode 100644 index 0000000..80ee108 --- /dev/null +++ b/gnome-base/librsvg-2.61.0/librsvg-2.60.0-libxml2-2.15.0-tests.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/964256 +https://gitlab.gnome.org/GNOME/librsvg/-/issues/1201 + +"This patch makes the test succeed. Therefore, there is probably not a security issue here. +An error does occur, it just is not being reported as TooManyLoadedElements. +So just the dumb thing, adding an unwrap and expecting it to fail is a decent enough bandaid." +--- a/rsvg/tests/errors.rs ++++ b/rsvg/tests/errors.rs +@@ -14,15 +14,12 @@ use rsvg::{CairoRenderer, ImplementationLimit, Loader, LoadingError, RenderingEr + + #[ignore] + #[test] ++#[should_panic] + fn too_many_elements() { + let name = "tests/fixtures/errors/bug515-too-many-elements.svgz"; + +- assert!(matches!( +- Loader::new().read_path(name), +- Err(LoadingError::LimitExceeded( +- ImplementationLimit::TooManyLoadedElements +- )) +- )); ++ // libxml2 might return an error without updating the element count, so just expect any error, not specifically too many elements ++ Loader::new().read_path(name).unwrap(); + } + + fn rendering_instancing_limit(name: &str) { + diff --git a/gui-libs/aquamarine-0.8.0.PKGBUILD b/gui-libs/aquamarine-0.8.0.PKGBUILD new file mode 100644 index 0000000..08edc3a --- /dev/null +++ b/gui-libs/aquamarine-0.8.0.PKGBUILD @@ -0,0 +1,43 @@ +pkgname=aquamarine +pkgver=0.8.0 +pkgdesc='a very light linux rendering backend library' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(gcc-libs + glibc + hyprutils + hyprwayland-scanner + libdisplay-info + libdrm + libglvnd + libinput + mesa # libgbm.so + pixman + seatd + systemd + wayland + wayland-protocols) +makedepends=(cmake) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz") +md5sums=("b573d36528d2548d3ffa0e572da5f347") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + sed -i "/add_compile_options(-O3)/d" "CMakeLists.txt" +} + +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: diff --git a/gui-libs/hyprcursor-0.1.12.PKGBUILD b/gui-libs/hyprcursor-0.1.12.PKGBUILD new file mode 100644 index 0000000..06793e5 --- /dev/null +++ b/gui-libs/hyprcursor-0.1.12.PKGBUILD @@ -0,0 +1,36 @@ +pkgname=hyprcursor +pkgver=0.1.12 +pkgdesc='The hyprland cursor format, library and utilities' +arch=(x86_64 aarch64) +homepage="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(cairo + gcc + glibc + hyprlang + librsvg + libzip + tomlplusplus +) +makedepends=(cmake) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz") +md5sums=("524d7ff3aa1c97924414b207416c1c32") + +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: diff --git a/gui-libs/hyprutils-0.8.4.PKGBUILD b/gui-libs/hyprutils-0.8.4.PKGBUILD new file mode 100644 index 0000000..17fd2d4 --- /dev/null +++ b/gui-libs/hyprutils-0.8.4.PKGBUILD @@ -0,0 +1,32 @@ +pkgname=hyprutils +pkgver=0.8.4 +pkgdesc='Hyprland utilities library used across the ecosystem' +arch=(x86_64) +homepage="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(pixman) +makedepends=(cmake) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/hyprwm/hyprutils/archive/refs/tags/v${pkgver}/v${pkgver}.tar.gz") +md5sums=("bd1b7f8c646e4cebddf9bbf25b22089a") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + local cmake_args=( + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + -D BUILD_TESTING=False + ) + cmake -W no-dev ${cmake_args[@]} -B ./build + 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: diff --git a/gui-wm/hyprland-0.49.0.PKGBUILD b/gui-wm/hyprland-0.49.0.PKGBUILD new file mode 100644 index 0000000..fc50eba --- /dev/null +++ b/gui-wm/hyprland-0.49.0.PKGBUILD @@ -0,0 +1,66 @@ +pkgname=hyprland +pkgver=0.49.0 +pkgdesc='a highly customizable dynamic tiling Wayland compositor' +arch=(x86_64 aarch64) +homepage="https://github.com/hyprwm/${pkgname^}" +license=(BSD-3-Clause) +depends=(cairo + aquamarine + gcc + glibc + glib + hyprcursor + hyprgraphics + hyprlang + hyprutils + hyprwayland-scanner + libdisplay-info + libdrm + libglvnd + libinput + libxkbcommon + mesa # libgbm.so + pango + pixman + re2 + seatd + systemd + tomlplusplus libtomlplusplus.so libudev.so + util-linux + wayland + wayland-protocols +) +makedepends=(cmake + glaze + hyprland-protocols + meson + ninja +) +sources=("${pkgname}-${pkgver}.tar.gz") +urls=("https://github.com/hyprwm/${pkgname}/archive/v${pkgver}.tar.gz") +md5sums=("b4fe6fe4b952e6f9c2a20e5f6f8d1840") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + + #sed -i -e "s|scripts/generateVersion.sh|echo|g" meson.build +} + +src_build() { + local meson_args=( + --prefix=/usr + --buildtype=release + --wrap-mode=nodownload + -D legacy_renderer=disabled + -D systemd=enabled + -D xwayland=disabled + ) + meson setup build "${meson_args[@]}" + meson compile -C build +} + +src_install() { + DESTDIR="$pkgdir" meson install -C build +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/lfs/check-0.15.2.PKGBUILD b/lfs/check-0.15.2.PKGBUILD deleted file mode 100644 index e95a6b7..0000000 --- a/lfs/check-0.15.2.PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -pkgname=check -pkgver=0.15.2 -pkgdesc="A unit testing framework for C" -homepage="https://libcheck.github.io/check/" -arch=(x86_64) -license=(LGPL) -sources=("${pkgname}-${pkgver}.tar.gz") -urls=("https://github.com/libcheck/check/releases/download/${pkgver}/${sources[0]}") -md5sums=("50fcafcecde5a380415b12e9c574e0b2") - -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}" docdir=/usr/share/doc/check-${pkgver} install -} diff --git a/lfs/expat-2.7.1.PKGBUILD b/lfs/expat-2.7.1.PKGBUILD index 8441a87..cf19a3d 100644 --- a/lfs/expat-2.7.1.PKGBUILD +++ b/lfs/expat-2.7.1.PKGBUILD @@ -4,7 +4,7 @@ pkgdesc="An XML parser library" homepage="https://libexpat.github.io/" license=(MIT) sources=("${pkgname}-${pkgver}.tar.xz") -urls=("https://prdownloads.sourceforge.net/${pkgname}/${sources[0]}") +urls=("https://github.com/libexpat/libexpat/releases/download/R_2_7_1/${sources[0]}") md5sums=("9f0c266ff4b9720beae0c6bd53ae4469") src_prepare() { diff --git a/lfs/glibc-2.42.PKGBUILD b/lfs/glibc-2.42.PKGBUILD index fef7683..6832eef 100644 --- a/lfs/glibc-2.42.PKGBUILD +++ b/lfs/glibc-2.42.PKGBUILD @@ -64,6 +64,29 @@ src_install() { make DESTDIR="${pkgdir}" install sed '/RTLDLIST=/s@/usr@@g' -i "${pkgdir}/usr/bin/ldd" + install -m644 "${distdir}/${sources[2]}" "${pkgdir}/etc/nsswitch.conf" + + tar -xf "${distdir}/${sources[4]}" + ZONEINFO=${pkgdir}/usr/share/zoneinfo + mkdir -pv $ZONEINFO/{posix,right} + for tz in etcetera southamerica northamerica europe africa antarctica \ + asia australasia backward; do + zic -L /dev/null -d $ZONEINFO ${tz} + zic -L /dev/null -d $ZONEINFO/posix ${tz} + zic -L leapseconds -d $ZONEINFO/right ${tz} + done + cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO + zic -d $ZONEINFO -p America/New_York + unset ZONEINFO + + install -m644 "${distdir}/${sources[3]}" "${pkgdir}/etc/ld.so.conf" +} + +src_preinstall() { + install -vm755 "${pkgdir}"/usr/lib/*.so.* /usr/lib +} + +src_postinstall() { localedef -i C -f UTF-8 C.UTF-8 localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 localedef -i de_DE -f ISO-8859-1 de_DE @@ -100,25 +123,4 @@ src_install() { localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS localedef -i zh_TW -f UTF-8 zh_TW.UTF-8 localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 - - install -m644 "${distdir}/${sources[2]}" "${pkgdir}/etc/nsswitch.conf" - - tar -xf "${distdir}/${sources[4]}" - ZONEINFO=${pkgdir}/usr/share/zoneinfo - mkdir -pv $ZONEINFO/{posix,right} - for tz in etcetera southamerica northamerica europe africa antarctica \ - asia australasia backward; do - zic -L /dev/null -d $ZONEINFO ${tz} - zic -L /dev/null -d $ZONEINFO/posix ${tz} - zic -L leapseconds -d $ZONEINFO/right ${tz} - done - cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO - zic -d $ZONEINFO -p America/New_York - unset ZONEINFO - - install -m644 "${distdir}/${sources[3]}" "${pkgdir}/etc/ld.so.conf" -} - -src_preinstall() { - install -vm755 "${pkgdir}"/usr/lib/*.so.* /usr/lib } diff --git a/lfs/kmod-34.2.PKGBUILD b/lfs/kmod-34.2.PKGBUILD index b474e01..5137bfa 100644 --- a/lfs/kmod-34.2.PKGBUILD +++ b/lfs/kmod-34.2.PKGBUILD @@ -18,7 +18,8 @@ src_build() { meson setup --prefix=/usr .. \ --sbindir=/usr/sbin \ --buildtype=release \ - -D manpages=false + -D manpages=false \ + -D zstd=enabled ninja } diff --git a/lfs/libelf-0.193.PKGBUILD b/lfs/libelf-0.193.PKGBUILD index 2c5d5ac..1165130 100644 --- a/lfs/libelf-0.193.PKGBUILD +++ b/lfs/libelf-0.193.PKGBUILD @@ -27,7 +27,7 @@ src_check() { src_install() { make -C ${pkgname} DESTDIR="${pkgdir}" install - install -vm644 config/libelf.pc "${pkgdir}/usr/lib/pkgconfig" + install -vDm644 config/libelf.pc -t "${pkgdir}/usr/lib/pkgconfig/" rm -v "${pkgdir}/usr/lib/libelf.a" } diff --git a/lfs/procps-ng-4.0.5.PKGBUILD b/lfs/procps-ng-4.0.5.PKGBUILD index 31b7d85..2e7586e 100644 --- a/lfs/procps-ng-4.0.5.PKGBUILD +++ b/lfs/procps-ng-4.0.5.PKGBUILD @@ -25,6 +25,7 @@ src_build() { src_check() { chown -R leaf . + chown -R leaf ${TMPDIR} leaf_record_message "ps with output flag bsdtime,cputime,etime,etimes is known to fail without CONFIG_BSD_PROCESS_ACCT." leaf_record_message "one pgrep test is known to fail in chroot." su leaf -c "PATH=$PATH make check" diff --git a/lfs/systemd-257.8.PKGBUILD b/lfs/systemd-257.8.PKGBUILD index dd3215c..08c7be4 100644 --- a/lfs/systemd-257.8.PKGBUILD +++ b/lfs/systemd-257.8.PKGBUILD @@ -5,12 +5,18 @@ homepage="https://www.freedesktop.org/wiki/Software/systemd/" license=("LGPL-2.1-or-laterC" "C0-1.0" "GPL-2.0-or-later" "MIT-0") sources=("${pkgname}-${pkgver}.tar.gz" "${pkgname}-man-pages-${pkgver}.tar.xz" + "30-systemd-daemon-reload-system.HOOK" + "30-systemd-daemon-reload-user.HOOK" ) urls=("https://github.com/systemd/systemd/archive/v${pkgver}/${sources[0]}" "https://anduin.linuxfromscratch.org/LFS/${sources[1]}" + "30-systemd-daemon-reload-system.HOOK" + "30-systemd-daemon-reload-user.HOOK" ) md5sums=("25fe5d328e22641254761f1baa74cee0" "a44063e2ec0cf4adfd2ed5c9e9e095c5" + "49ffd7e5c810f8b3cf14fb9535d6a4c5" + "e38543ca711f6ff063174b82afe3cbb3" ) src_prepare() { @@ -43,6 +49,8 @@ src_build() { -D nobody-group=nogroup \ -D sysupdate=disabled \ -D ukify=disabled \ + -D default-kill-user-processes=false \ + -D default-locale='C.UTF-8' \ -D docdir=/usr/share/doc/systemd-${pkgver} ninja @@ -50,17 +58,19 @@ src_build() { } src_check() { - pushd build + pushd build && if [[ ! -f /etc/os-release ]]; then echo 'NAME="Linux From Scratch"' > /etc/os-release fi - ninja test + ninja test && popd } src_install() { pushd build DESTDIR=$pkgdir ninja install + leaf_install_hook ${filedir}/${sources[2]} + leaf_install_hook ${filedir}/${sources[3]} install -d -v -m755 ${pkgdir}/usr/share/man tar -xf ${distdir}/${sources[1]} \ --no-same-owner --strip-components=1 \ diff --git a/lfs/systemd-257.8/30-systemd-daemon-reload-system.HOOK b/lfs/systemd-257.8/30-systemd-daemon-reload-system.HOOK new file mode 100644 index 0000000..b3b471c --- /dev/null +++ b/lfs/systemd-257.8/30-systemd-daemon-reload-system.HOOK @@ -0,0 +1,14 @@ +target=(/usr/lib/systemd/system/*) +triggers=("install" "remove") +operation(){ + if systemd-detect-virt --chroot; then + echo >&2 " Skipped: Running in chroot." + exit 0 + fi + if ! systemd-notify --booted; then + echo >&2 " Skipped: Current root is not booted." + exit 0 + fi + + /usr/bin/systemctl --system daemon-reload +} diff --git a/lfs/systemd-257.8/30-systemd-daemon-reload-user.HOOK b/lfs/systemd-257.8/30-systemd-daemon-reload-user.HOOK new file mode 100644 index 0000000..ad199ae --- /dev/null +++ b/lfs/systemd-257.8/30-systemd-daemon-reload-user.HOOK @@ -0,0 +1,14 @@ +target=(/usr/lib/systemd/user/*) +triggers=("install" "remove") +operation(){ + if systemd-detect-virt --chroot; then + echo >&2 " Skipped: Running in chroot." + exit 0 + fi + if ! systemd-notify --booted; then + echo >&2 " Skipped: Current root is not booted." + exit 0 + fi + + /usr/bin/systemctl reload 'user@*.service' +} diff --git a/lfs/util-linux-2.41.1.PKGBUILD b/lfs/util-linux-2.41.1.PKGBUILD index e6aeb35..74f05c2 100644 --- a/lfs/util-linux-2.41.1.PKGBUILD +++ b/lfs/util-linux-2.41.1.PKGBUILD @@ -4,7 +4,7 @@ pkgdesc='Miscellaneous system utilities for Linux' homepage='https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/' arch=('x86_64') sources=("${pkgname}-${pkgver}.tar.xz") -urls=("https://www.kernel.org/pub/linux/utils/${pkgname}/v${pkgver}/$sources[0]") +urls=("https://www.kernel.org/pub/linux/utils/${pkgname}/v${pkgver%.*}/${sources[0]}") md5sums=("7e5e68845e2f347cf96f5448165f1764") src_prepare() { @@ -45,3 +45,5 @@ src_check() { src_install() { make DESTDIR="${pkgdir}" install } + +# vim:ft=sh syn=sh et sw=2: diff --git a/lfs/vim-9.1.1629.PKGBUILD b/lfs/vim-9.1.1629.PKGBUILD index e3ca5f6..8864b30 100644 --- a/lfs/vim-9.1.1629.PKGBUILD +++ b/lfs/vim-9.1.1629.PKGBUILD @@ -42,15 +42,22 @@ src_build() { src_check() { leaf_record_message "Tests require at least 24 lines with 80 characters." leaf_record_message "Test_write_backup_symlink is known to fail if BUILD_DIR is under /tmp." + if [[ -f /etc/vimrc ]]; then + mv -v /etc/vimrc /etc/vimrc.old + fi chown -R leaf . sed '/test_plugin_glvs/d' -i src/testdir/Make_all.mak echo "Testing... May take a while..." su leaf -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \ &> vim-test.log + if [[ -f /etc/vimrc.old ]]; then + mv -v /etc/vimrc.old /etc/vimrc + fi } src_install() { make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}/usr/share/icons" ln -sv vim ${pkgdir}/usr/bin/vi for L in ${pkgdir}/usr/share/man/{,*/}man1/vim.1; do ln -sv vim.1 $(dirname $L)/vi.1 @@ -59,3 +66,5 @@ src_install() { install -dv ${pkgdir}/usr/share/doc/ ln -sv ../vim/vim${_versiondir}/doc ${pkgdir}/usr/share/doc/vim-${pkgver} } + +# vim:ft=sh syn=sh et sw=2: diff --git a/llvm-core/clang-20.1.8.PKGBUILD b/llvm-core/clang-20.1.8.PKGBUILD new file mode 100644 index 0000000..cb0e9a5 --- /dev/null +++ b/llvm-core/clang-20.1.8.PKGBUILD @@ -0,0 +1,142 @@ +pkgname=clang +pkgver=20.1.8 +pkgdesc="C language family frontend for LLVM" +arch=('x86_64') +homepage="https://clang.llvm.org/" +license=('Apache-2.0 WITH LLVM-exception') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +_blfs_source_base="https://anduin.linuxfromscratch.org/BLFS/llvm/" +sources=("clang-$pkgver.src.tar.xz" + "clang-tools-extra-$pkgver.src.tar.xz" + "llvm-${pkgver}.src.tar.xz" + "llvm-cmake-${pkgver}.src.tar.xz" + "llvm-third-party-${pkgver}.src.tar.xz" +) +urls=("${_source_base}/${sources[0]}" + "${_source_base}/${sources[1]}" + "${_blfs_source_base}/${sources[2]}" + "${_blfs_source_base}/${sources[3]}" + "${_blfs_source_base}/${sources[4]}" +) +md5sums=("62a0500bb932868061607cde0c01f584" + "254c99f104cd17b32ef721acaeb58a7c" + "78040509eb91309b4ec2edfe12cd20d8" + "5bfb8f4b4a2b3ccffca0d2406e4cdcc6" + "2ffd8624b3cbddf55a4e74a7d8ea89fa" +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} && + tar -xf ${distdir}/${sources[1]} && + tar -xf ${distdir}/${sources[2]} && + tar -xf ${distdir}/${sources[3]} && + tar -xf ${distdir}/${sources[4]} && + rename -v -- "-$pkgver.src" '' {cmake,clang-tools-extra}-$pkgver.src + cd clang-$pkgver.src + mkdir build + cd .. +} + +# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid +# installing static libraries; inspired by Gentoo +_get_distribution_components() { + local target + ninja -t targets | grep -Po 'install-\K.*(?=-stripped:)' | while read -r target; do + case $target in + clang-libraries|distribution) + continue + ;; + clang|clangd|clang-*) + ;; + clang*|findAllSymbols) + continue + ;; + esac + echo $target + done +} + +src_build() { + pushd clang-$pkgver.src/build + + # Build only minimal debug info to reduce size + CFLAGS=${CFLAGS/-g /-g1 } + CXXFLAGS=${CXXFLAGS/-g /-g1 } + + local cmake_args=( + -G Ninja + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_DOCDIR=share/doc + -DCMAKE_SKIP_RPATH=ON + -DCLANG_DEFAULT_PIE_ON_LINUX=ON + -DCLANG_LINK_CLANG_DYLIB=ON + -DENABLE_LINKER_BUILD_ID=ON + -DLLVM_BUILD_TESTS=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_SPHINX=OFF + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="$srcdir/clang-tools-extra" + -DLLVM_EXTERNAL_LIT=/usr/bin/lit + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_THIRD_PARTY_DIR="$srcdir/third-party-$pkgver.src" + ) + + cmake .. "${cmake_args[@]}" + local distribution_components=$(_get_distribution_components | paste -sd\;) + test -n "$distribution_components" + cmake_args+=(-DLLVM_DISTRIBUTION_COMPONENTS="$distribution_components") + + cmake .. "${cmake_args[@]}" && + ninja && + popd +} + +src_check() { + pushd clang-$pkgver.src/build + LD_LIBRARY_PATH=$PWD/lib ninja check-clang{,-tools} + popd +} + +_python_optimize() { + python -m compileall "$@" + python -O -m compileall "$@" + python -OO -m compileall "$@" +} + +src_install() { + pushd clang-$pkgver.src/build + + DESTDIR="$pkgdir" ninja install-distribution + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + mkdir -pv ${pkgdir}/etc/clang && + for i in clang clang++; do + echo -fstack-protector-strong > ${pkgdir}/etc/clang/$i.cfg + done + + # Remove documentation sources + rm -r "$pkgdir"/usr/share/doc/clang{,-tools}/html/{_sources,.buildinfo} || true + + # Move scanbuild-py into site-packages and install Python bindings + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + install -d "$pkgdir/$site_packages" + mv "$pkgdir"/usr/lib/{libear,libscanbuild} "$pkgdir/$site_packages/" + cp -a ../bindings/python/clang "$pkgdir/$site_packages/" + + # Move analyzer scripts out of /usr/libexec + mv "$pkgdir"/usr/libexec/* "$pkgdir/usr/lib/clang/" + rmdir "$pkgdir/usr/libexec" + sed -i 's|libexec|lib/clang|' \ + "$pkgdir/usr/bin/scan-build" \ + "$pkgdir/$site_packages/libscanbuild/analyze.py" + + # Compile Python scripts + _python_optimize "$pkgdir/usr/share" "$pkgdir/$site_packages" + + # Move bash completion + local bash_completion_destdir="$pkgdir/usr/share/bash-completion/completions" + install -d $bash_completion_destdir + mv "$pkgdir/usr/share/clang/bash-autocomplete.sh" "$bash_completion_destdir/clang" + + popd +} diff --git a/llvm-core/llvm-20.1.8.PKGBUILD b/llvm-core/llvm-20.1.8.PKGBUILD new file mode 100644 index 0000000..a33c191 --- /dev/null +++ b/llvm-core/llvm-20.1.8.PKGBUILD @@ -0,0 +1,123 @@ +pkgname=llvm +pkgver=20.1.8 +arch=('x86_64') +url="https://llvm.org/" +license=('Apache-2.0 WITH LLVM-exception') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +sources=("${pkgname}-${pkgver}.src.tar.xz" + "llvm-cmake-${pkgver}.src.tar.xz" + "llvm-third-party-${pkgver}.src.tar.xz" +) +urls=("${_source_base}/llvm-${pkgver}.src.tar.xz" + "https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-${pkgver}.src.tar.xz" + "https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-party-${pkgver}.src.tar.xz" +) +md5sums=("78040509eb91309b4ec2edfe12cd20d8" + "5bfb8f4b4a2b3ccffca0d2406e4cdcc6" + "2ffd8624b3cbddf55a4e74a7d8ea89fa" +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 && + tar -xf ${distdir}/${sources[1]} && + tar -xf ${distdir}/${sources[2]} && + sed "/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-${pkgver}.src@" \ + -i CMakeLists.txt && + sed "/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-${pkgver}.src@" \ + -i cmake/modules/HandleLLVMOptions.cmake && + sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt +} + +# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid +# installing static libraries; inspired by Gentoo +_get_distribution_components() { + local target + ninja -t targets | grep -Po 'install-\K.*(?=-stripped:)' | while read -r target; do + case $target in + llvm-libraries|distribution) + continue + ;; + # shared libraries + LLVM|LLVMgold) + ;; + # libraries needed for clang-tblgen + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # used by lldb + LLVMDebuginfod) + ;; + # testing libraries + LLVMTestingAnnotations|LLVMTestingSupport) + ;; + # exclude static libraries + LLVM*) + continue + ;; + # exclude llvm-exegesis (doesn't seem useful without libpfm) + llvm-exegesis) + continue + ;; + esac + echo $target + done +} + +src_build() { + mkdir -v build && + cd build && + + # Build only minimal debug info to reduce size + CFLAGS=${CFLAGS/-g /-g1 } + CXXFLAGS=${CXXFLAGS/-g /-g1 } + + local cmake_args=( + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_SKIP_INSTALL_RPATH=ON + -D LLVM_ENABLE_FFI=ON + -D LLVM_USE_PERF=ON + -D CMAKE_BUILD_TYPE=Release + -D LLVM_BUILD_LLVM_DYLIB=ON + -D LLVM_LINK_LLVM_DYLIB=ON + -D LLVM_ENABLE_RTTI=ON + -D LLVM_ENABLE_SPHINX=OFF + -D LLVM_TARGETS_TO_BUILD="host;AMDGPU" + -D LLVM_BINUTILS_INCDIR=/usr/include + -D LLVM_INCLUDE_BENCHMARKS=OFF + -D LLVM_BUILD_TESTS=ON + -D LLVM_INSTALL_GTEST=ON + -W no-dev + -G Ninja + ) + + CC=gcc CXX=g++ cmake .. "${cmake_args[@]}" && + local distribution_components=$(_get_distribution_components | paste -sd\;) && + test -n "$distribution_components" && + cmake_args+=(-DLLVM_DISTRIBUTION_COMPONENTS="$distribution_components") && + + CC=gcc CXX=g++ cmake .. "${cmake_args[@]}" && + + ninja && + cd .. && + + pushd utils/lit && + pip3 wheel -w dist --no-build-isolation --no-deps $PWD && + popd +} + +src_check() { + pushd build && + ninja check-llvm && + popd +} + +src_install() { + pushd build && + DESTDIR="$pkgdir" ninja install-distribution && + pushd ../utils/lit && + pip3 install --no-deps --no-warn-script-location --no-index --find-links dist --no-cache-dir --no-user --root $pkgdir lit && + popd && + # Remove documentation sources + rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo} || true && + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" && + popd +} diff --git a/llvm-runtimes/compiler-rt-20.1.8.PKGBUILD b/llvm-runtimes/compiler-rt-20.1.8.PKGBUILD new file mode 100644 index 0000000..7ed502f --- /dev/null +++ b/llvm-runtimes/compiler-rt-20.1.8.PKGBUILD @@ -0,0 +1,53 @@ +pkgname=compiler-rt +pkgver=20.1.8 +pkgdesc="Compiler runtime libraries for clang" +arch=('x86_64') +homepage="https://compiler-rt.llvm.org/" +license=('Apache-2.0 WITH LLVM-exception') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +_blfs_source_base="https://anduin.linuxfromscratch.org/BLFS/llvm/" +sources=("compiler-rt-${pkgver}.src.tar.xz" + "llvm-cmake-${pkgver}.src.tar.xz" + "llvm-third-party-${pkgver}.src.tar.xz" +) +urls=("${_source_base}/${sources[0]}" + "${_blfs_source_base}/${sources[1]}" + "${_blfs_source_base}/${sources[2]}" +) +md5sums=("3869861662d173ca8303b9f1524d1e91" + "5bfb8f4b4a2b3ccffca0d2406e4cdcc6" + "2ffd8624b3cbddf55a4e74a7d8ea89fa" +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} && + tar -xf ${distdir}/${sources[1]} && + tar -xf ${distdir}/${sources[2]} && + mv cmake{-$pkgver.src,} + mv third-party{-$pkgver.src,} + cd compiler-rt-$pkgver.src + mkdir build + cd .. +} + +src_build() { + pushd compiler-rt-$pkgver.src/build + + local cmake_args=( + -G Ninja + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_SKIP_INSTALL_RPATH=ON + -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/${pkgver%%.*} + ) + cmake .. "${cmake_args[@]}" && + ninja && + popd +} + +src_install() { + cd compiler-rt-$pkgver.src/build + + DESTDIR="$pkgdir" ninja install + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/media-fonts/dejavu-2.37.PKGBUILD b/media-fonts/dejavu-2.37.PKGBUILD new file mode 100644 index 0000000..56ccf1f --- /dev/null +++ b/media-fonts/dejavu-2.37.PKGBUILD @@ -0,0 +1,31 @@ +pkgname=dejavu +_name=${pkgname}-fonts-ttf +pkgver=2.37 +pkgdesc="DejaVu fonts, bitstream vera with ISO-8859-2 characters" +homepage="https://dejavu-fonts.github.io/" +license="BitstreamVera" +sources=("${_name}-${pkgver}.tar.bz2") +urls=("https://downloads.sourceforge.net/${pkgname}/${sources[0]}") +md5sums=("d0efec10b9f110a32e9b8f796e21782c") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_install() { + mkdir -pv "${pkgdir}/usr/share/fonts/" + cp -rv ttf "${pkgdir}/usr/share/fonts/${pkgname}" + FONT_CONF=( + fontconfig/20-unhint-small-dejavu-sans-mono.conf + fontconfig/20-unhint-small-dejavu-sans.conf + fontconfig/20-unhint-small-dejavu-serif.conf + fontconfig/57-dejavu-sans-mono.conf + fontconfig/57-dejavu-sans.conf + fontconfig/57-dejavu-serif.conf + ) + for _conf in ${FONT_CONF[@]}; do + install -vDm644 ${_conf} -t "${pkgdir}/etc/fonts/conf.avail/" + done +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-fonts/nerd-fonts-3.4.0.PKGBUILD b/media-fonts/nerd-fonts-3.4.0.PKGBUILD new file mode 100644 index 0000000..9188443 --- /dev/null +++ b/media-fonts/nerd-fonts-3.4.0.PKGBUILD @@ -0,0 +1,127 @@ +pkgname=nerd-fonts +pkgver=3.4.0 +pkgdesc="Nerd Fonts is a project that patches developer targeted fonts with glyphs" +homepage="https://github.com/ryanoasis/nerd-fonts" +common_url="https://github.com/ryanoasis/${pkgname}/releases/download/v${pkgver}" + +sources=() +urls=() +sha512sums=() + +if [ -z ${NERD_FONTS} ]; then + export NERD_FONTS="firacode" +else + export NERD_FONTS=${NERD_FONTS} +fi + +havex() { + local needle=$1; shift + case " $* " in + *" $needle "*) return 0 ;; + *) return 1 ;; + esac +} + +add_source() { + local _fontname=$1 + local _sha512sum=$2 + if havex "${_fontname,,}" "${NERD_FONTS}"; then + sources+=("${_fontname}-nf-${pkgver}.tar.xz") + urls+=("${common_url}/${_fontname}.tar.xz") + sha512sums+=("${_sha512sum}") + fi +} + +add_source "0xProto" "e23f5b4d777d36caa76e075b20e048f924e5136e2c571161cebc99091caf684d72ce0d0f4d0318ef986b1c115eaab839af53b02c3d7d88c7130f81194cbbdeb0" +add_source "3270" "5d11cc1cff583aa5074b99e60dfd288eadca4f21ae767345677c78e759463355f6ba6c130fc5a725b08891caccd7d12ca394ca8dd8301c5473a0c1fc78874456" +add_source "AdwaitaMono" "d494d6fde0d10458fa0da1eae9b9d12d0ba42e840fd39ce30a95076f31e66620c960e0b37496fea0960916677cf2e35ae4d868dd6f39beb329b5639c2b420ec1" +add_source "Agave" "4c48d98c51bbf68c740d289772cfc4be08c19aa31bbd5fe16d5a8f85aa40e13cda320c1fe07dc861ff4a4cd22a3ade6a2abc6aaaa55e0fea76bb196a31e29fe1" +add_source "AnonymousPro" "1df0a476af13ca167cb8272c07f1fc1fc76294863fcbd07ed588e1822797e736fff47d7d14e1e59927309081d895a7c5cd5656257b6a40adbbe9110eb864aa04" +add_source "Arimo" "1617bb22726ef415cad3e8ba8e90f86fab6b4405c7d3a15343a4a4e9d40d226c1ff43179df4ea011d7fbf8afd419aaa89ac91c7931f3064eb9c92460531aa890" +add_source "AtkinsonHyperlegibleMono" "f13c7cda87af0a12c5c5094460b067b782da40778f2872cf132b0c1e7d5f80967000d226c4d59a2d5731e6c9c5e0f74ec71d49533e87bb5ff20ced1e29c62575" +add_source "AurulentSansMono" "f7a6c2b480f6dfdb7e221ee9bdf9ff2813cfd0a4915db97e00b7adb2aa9d659c9fbe684387825fe1ea9ea5c5e7373f7125b6a01f578dd4c960469e2f6afdb812" +add_source "BigBlueTerminal" "1ee16d7e340ef3a0b9ba22a58eaf489553da327120a27e99f0bc40974d0865c05ecae17f1db1abdaf324e7e366312e3dda15776c05432c0c0018e33d7e95acaf" +add_source "BitstreamVeraSansMono" "cd32ba6cf042cc9a400305246005186667d719720040839ce538d449c4ab30ce9927784270efd91609d982bdaacbb49c47bd8baa6de4fee2d269364d92a0d5a6" +add_source "CascadiaCode" "add0cee2e2bbe85568bc108bb1ac4b1a4b87a5cc7c869a225b53fd1de17902ee5710fa0144126b62e902528aec0e2c3a720054d384fa5f94ff0981fee2bd4030" +add_source "CascadiaMono" "90a5509f5113d93393655d543bffc143bc76217db2ab944d3d7d2f2fe2788a9444f07c50f65b9ae497656a0a37ba3ee67b01d567d25f180c5f0778fb80d8ca2c" +add_source "CodeNewRoman" "13ed2b76a687c9a13910dc5eb5f9c80bc5fe46273c05d67fd9d15ae3cea113286b5ba81f693e8f51240a659487d26209dab6538413b605ba41a5fa4fcf757ddf" +add_source "ComicShannsMono" "048150e4bd27c31abd93c9c5c7b6a2022424640eefb8660d9fe0cd1e2e8ed3e50526647ec1313aa09d837e54f63b80e111904ccfe7bf561482ab96693054616f" +add_source "CommitMono" "d581c75d42aac54f6210629407a1202da0863242c83a9484679f27f6b9c014c91efa1a3ea18a24d41efd6f5b7653c8fddde3b12f8d5e4b14030abdbebc21199e" +add_source "Cousine" "cca300cdba9a3b3efc1b5307ceb9c6480db832000261ff5ad4203761d8fb537339c43747b7cfd85174571fe8010c3be887ce9a95a22747546731ac0ed07ef187" +add_source "D2Coding" "7c866b9b452514264ccea46bdccdbd48ed8fea58bc6448090c6fe1f4dae42c8526ef4e5c2949c91bf4ca61c0110e57287681c9e5fa2b66fe643ba7bf0f7a999d" +add_source "DaddyTimeMono" "79908da4699c633290d1a41b15500f3c3456bcb68d7682520a476f8c2f5451b4e967c909ab1fff333ad603194730b594107dc13f28f937fc2ad7646c0e08b741" +add_source "DejaVuSansMono" "22d1a7d9627c930cb45963d7d716d2dd12232ce1b77b7575b1bcfed1eec7858582b28dad462f16bcd59f5af6cf38d0db1b343d5ccf4dfb4b41442f9f1856ad32" +add_source "DepartureMono" "203c0a61746c03d9383229e0f79a47227bf69bd547f5783d8e87e740934aa0065039f201a9933cbcc18a6872f4d4617e2fa635e46742120039dfdf7108129acc" +add_source "DroidSansMono" "871df60c850e5bf225f82186fb8068895e31d19c6ed9fccf396967b49d3b8a987eff1e5209101b0c97841b49206e135357de04f57de7695d25947baa708ec7c8" +add_source "EnvyCodeR" "3b52bb1a54a299e7b654176b6bbaa41c10ab1345d9cf1bb50981def971f0fb8b9a903ee8f8018b9b604c9b941287be6f23b54c1967cea0b8ffdc674b54f4499f" +add_source "FantasqueSansMono" "b63f86ddac5e9ff4e304c9227046335c5f9171ae2f75fb1e34a9831f64bb8ac8ea8303d1799110998e17bf88895306c3e147f0dbf96a657ace7999f3509bbdb2" +add_source "FiraCode" "0caf5d6bca799fdf784f8eaf8ea9033a5e01c865a96a549508d789a12c711819b0c5e652588e58c53807ea96fd319baccdd2a1dd5af5b9e3037f0f3564131805" +add_source "FiraMono" "69577e2549a7eda24954d5b5edd81224d40ca015b75844c449d3074877d518e58f26851a8cdad7896a4448e4ea8d25035e04f7b5c25819ec24255382b5d38909" +add_source "GeistMono" "1b73c53982de9284491627570e599247e0e275ffbded533ac4368ab572bdc1ccd37715a8a4052fbd48587272b1eafff79befae78116850e28eb6512993687860" +add_source "Go-Mono" "f3dcb50ccac6477800101b6504ba87f6905cd8656bc94436e87bb5119e5d402b2607128113be86d18681fefcf0e4b5b5ef6c987612ecdceef82f86b5ebfc2d30" +add_source "Gohu" "170ec74639406c39b2e3e23b9fe36cb209e01d2eea2e71148e5c2ab1ca7116f862fc836b9f2bb24ae0ba2346fa31296376affeaa154cf80337255d27cdba6aeb" +add_source "Hack" "bfc3368584b7007ddfcd40e14f0586f76e52af7cab4d5e2915e2e969ac24b1e3cd3717b5eef6e234d4d6cf2f8a814665a403f443b13e07e1e9410dfc2a4f50ec" +add_source "Hasklig" "9653adc2c698235809ce8a4a0b87e7d15ca71e1e6c054a2c2a65e34f226138eb7e02492b083647ccccace610f04f45201194561d9fbecb95eee1dcdd39b4b6f9" +add_source "HeavyData" "9a431b8851b32e64e71cc063c66ff7501a5e694d23b139c127d37ac4354266fc422f2d81ddd1c6edf597edb8b6312633f1612806894c703442024f1f590e92cc" +add_source "Hermit" "ece939144b40afd6d3afab8ad7e636e4f94ef8d277458e94841d61cd86e61c671cab4d7e612cd0eaa4e5efff209f562d9faf2198e531925b865c005f17e43b6e" +add_source "iA-Writer" "50665542a3883d47c3b2533cb58aacfb1e589c648b9efcedc3d8e5ceb5d62d7f855f245d161c70891305aba2373ece72c29beb0442f5e71fd284e4015ebfec3d" +add_source "IBMPlexMono" "47624e7a63f9f0cb1868308de3527fbfeaa3c08726f55d486063e85c7db39ba6726428bfd8bd5ca01ce205c07e63110232b5a24ea41148ab2565610d4a57d79f" +add_source "Inconsolata" "fce0cb831573fcbe3f76941e491319cb454b3cd272322113680316acebefd80e69659808ea3ef75619a3779387e7a7f593b38ff453d80684b0cd8dfe3411951c" +add_source "InconsolataGo" "2792c43120554de1a80ecb83bcfa1615d469b5a04d64a46eb0f63bfd36a112a16bf3379e149739ffba4b67437965b1efa1523b411d0b59461132aa1c171b862d" +add_source "InconsolataLGC" "0a27380dde514d64d17d05dbdd1a41ab2b681751d9386291f30d537c8d61c033f4616500ffb79d89f979dfc4c8cc44133de7f68b58acbecc9b52ab30492ee7c3" +add_source "IntelOneMono" "cfcb8b5884e1e5f005f9d163922c10b2fe42d063fcd31be30bec31396b0b7758792ddf3549108068ec8799cf7ce059a49b1164350a986097ba82b9a6a833b31f" +add_source "Iosevka" "77ff01686c0dfb770f26f68f3ab272def613ee5dc05ecbfa37573d67424179b5aee38edcdf4c8e2a89b816fdc3a89170d4074f279ea7d4178572b5db97f0978f" +add_source "IosevkaTerm" "fb3ed3fa4d392b0b503b184d97d64af7d83218464d43723cc5551e5030409d288372ebdaca4c84ed372a22bcbb95e8f6f212004a3692f34b89c7cb312d7ea566" +add_source "IosevkaTermSlab" "2a703fc9795d12b339fcb2cd20a5196f03ed132086411db9adc30769c890a7eead840733af41fe3f284c26bda0842787254a44aa04a468d0243cf090003ef59d" +add_source "JetBrainsMono" "c09183ef60a3845ba01f7cbb3a3c83b344db4f044ec0c2009063e8ed2cb9d4e86fb47b5402570a6f95aed5b179677ec7a04dc365feba7d70f8bc6d4a353ba493" +add_source "Lekton" "b4e4cdc77ed165e4d8efefd4b6ed9afa8267fe936f08f4b19d35a97aad85ac618944ef663a53514d83afcfeb48f660751ec5deab650922bd7178655c67fbf730" +add_source "LiberationMono" "71143b6ae427d9c479fb397be2772009550339c53b9f5b0b01b8eef224d0fdd911b87882d2c9ecd6ab3a728007e58763c9fffdcff0dd02bbd9bc969357bd579d" +add_source "Lilex" "af14205313e49a45beee2f1acd755385fc3a19ffcfaffdb4af0e89a2ee50a32bf4a3fddb0275d629d178cc30a64763d1e8343c35ea76612d6e9cebc18acc9ccb" +add_source "MartianMono" "e12dfcfe6b5021e5795de7fde10267301d0ca58979aaf33177097cbe0777dbbc1dfafba97e1f8dd11d315d422f9bf8314e850743195d5c303f9e087952fdcd60" +add_source "Meslo" "084fd36a8a89e8a59e2c465c420ef50a9ef69f6f27c81af7b64308719c2c8d2f78b5aa7291d1bd21a51718bc162474734e15ab04c34a786e66fe882f3dbe8aac" +add_source "Monaspace" "434bd1d7528ee9648a4b67336ee77ca8a28b37b1c84eb1079c6d48ede1212449db4815014d59b1706249909c257c00cc77556713bd86803a4a6c249c77d03b39" +add_source "Monofur" "f18e40f857499e06cb9962eb2ad281ab5b8ff5dff29425b71a6bf91a2c3e1cc6f61d5ac527c60e84e5fe41c035945b3696375b784abc14f321d0fe93cfe4ae9a" +add_source "Monoid" "79266592f386109a9ae0ba059dc2894af6bc53b3bd44e402f25206b4f1d59c6f65222aca1065ec7456fe24bbe17debda05616e171945cc11340fdf14802c0c89" +add_source "Mononoki" "375d9cd322cbe168e13dac58a072f8f35e3f237498e4e75e95df79c1e0f5f3c725e9c81edf53c63222c5414ce6cf16188099031741c39daacc88ec1e8f45ab1e" +add_source "MPlus" "727392e21c267f03bd1276d0748a6f6947639e669f206f22ed12f41a32c62d02d2b1368576b3ac78e6089b7a719f014ca8aa6ff065314d60c1419d1291132b9b" +add_source "NerdFontsSymbolsOnly" "2d1744affba49a14455a671c9dd19f5b3eb2f97009788bef1d832241aef4ab9149f51e7aa1cfed1436fb3b6db6f4de36bef0883959e7797f74097ceab4689f89" +add_source "Noto" "c0fb5f41e46150dcaf66be54ba284ce09e5bc4225e068094796a53bdffa374977cc47b18d7a576c14db6be46cc597d97d94a02cc6615c31efe827ae628df9fa2" +add_source "OpenDyslexic" "d85ea7d88c65be87d8c47840aa2e6125c135e25d348989358364844723771c5bd8db02089c2e1fcd5dda7157484af21ec92e86f66894f493f6c4dea8666dbcf4" +add_source "Overpass" "4b834b52f5b5d34f8c884d72ce2d7825e6b14946b08219c18f8ed515a7eed820d2e83090ea65bd0de87026e2ab031bae7ee27a757d9626e5de22d0f1d8d8d792" +add_source "ProFont" "467febabffb1fc36a254ca6b549d4f1af1f8a107c19125664c9b7ae7702897edf34d46d724bb83c88967974a5326256221cceec8c765779ac0741a737219ad66" +add_source "ProggyClean" "e7aec0a3a8ef45e824b822554a9dfb86a25b196fde3d9a88ef9ddce4db6f153c25d73fb4d82adcccbd9fd7d0d50a3251d0166dad460ca188d096ee7926c9aa71" +add_source "Recursive" "45bd743f29de24892400b24829a26fa899d4906088fb18d4ee578d6c69bb62c1cd2beac92f5ecfa8e23970e206082c76d388523f6759b8d9aeeace39f8920dee" +add_source "RobotoMono" "10c13551971a69a5388a52b6e0af567e0dbbd09a1bb2fb833c3eff7979ceed42124194c74d785a8dd19590a386707a93d268ce0c78634e0a7c6a481983d74547" +add_source "ShareTechMono" "500cd53cb4e03e4817214b8b13dbec39d6d2e1c3432750cff63833969c14f10805f6de9961ff0977af140633ec84207fe41ad1bc6ea7f5bfa6e951e244fed72f" +add_source "SourceCodePro" "088b18e7c0480b03c57e17d19ebd9b177df1616e4e36dd3fae26cb8471da44dcac081574f7d83384f28a1142651abbffa0353b991a74e00968af095abb74e16a" +add_source "SpaceMono" "a0d4e8c47200c35c896a4f0d094cadf1a478c7c25ffa153fe933a17a4b04c98e3051073d600b32fc0c72a04e99ab77ebed24c3c2c1b5afacefe532c8a344c198" +add_source "Terminus" "be5e546d4b2bec43e9e4e2086d350cec6e61fdc86972c50252a1892c7424283932bd39b87a465cc2b163aa4769d249d64fd74f182c3a3bec8ad5cacd711110bc" +add_source "Tinos" "0ee4b0424f13fbdbdf8a982f2702f3c4854be4ca66fcfe4825587953b2f20f1f47f674b713308a2be196ca73b5e7d66bed18e945ebe3b1edbaefcd5c65f3ffe0" +add_source "Ubuntu" "3cab10bff5ab6ae6b96167e1abf8086b2b4cccc2c0bb18df9f02a959aa5808fdccd2e7bf9681c2bb4c31133d3a1bdbfac7856c7020abf9c30fb1692419cc90b2" +add_source "UbuntuMono" "455da63dc9c956dd454e3ca5c2390bf67e464902cebee54c0541d1f54336147ae49d82988f79d733e477e26c975edef1a7fbae80df4afd9921d0325ff5c28c4d" +add_source "UbuntuSans" "32ebb28ba4072bfda3a9ab1b43349265c2528d6998056d215aa8631e9a5a553b018b1a0e27b24939cdc97f2851aecb16ef6403d1e7b12d5dad18bb8b9a661444" +add_source "VictorMono" "1e6845803b6b88b4c937df4721f770873d0a25aa33d697d32c3d9d85e4de5885660a179f5ab7806d9ff772a19ba1d9c7b70cc18df9b264b26ed92e474ad89728" +add_source "ZedMono" "dfc6e27f58e94d01b3bdf65cceea66ab34e3b2eed0aedb0916aeca51b79547e9823df076df892c56b6468e49b54f7b8e51e49d7cdf491e7317c315ce5d931304" + +src_prepare() { + for _f in "${sources[@]}"; do + tar -xf ${distdir}/${_f} + done +} + +src_install() { + local otf_file_number ttf_file_number + otf_file_number=$(ls "${srcdir}" | grep -i otf | wc -l) || true + echo -e "find ${otf_file_number} otf files." + ttf_file_number=$(ls "${srcdir}" | grep -i ttf | wc -l) || true + echo -e "find ${ttf_file_number} ttf files." + + if [[ ${otf_file_number} != 0 ]]; then + install -Dm644 *.otf -t "${pkgdir}/usr/share/fonts/${pkgname}" + fi + if [[ ${ttf_file_number} != 0 ]]; then + install -Dm644 *.ttf -t "${pkgdir}/usr/share/fonts/${pkgname}" + fi +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-fonts/noto-20251101.PKGBUILD b/media-fonts/noto-20251101.PKGBUILD new file mode 100644 index 0000000..b365c67 --- /dev/null +++ b/media-fonts/noto-20251101.PKGBUILD @@ -0,0 +1,39 @@ +pkgname=noto +pkgver=20251101 +_commit="7eb462dbfc5fe79b18ea35e7f1773f9495b8a1c6" +pkgdesc='Google Noto TTF fonts' +arch=(any) +homepage='https://fonts.google.com/noto' +license=(OFL-1.1-no-RFN) +_fontconfs=("66-noto-serif.conf" + "66-noto-mono.conf" + "66-noto-sans.conf" +) +_fontconf_sums=("e99b33ffbf57d7a7d277acea0a0ce910" + "7d7b0c67b955d9ebc5ceb9e002126706" + "d1c1f1fdd1ee428b9317de9e639d7544" +) +sources=("${pkgname}-${pkgver}.tar.gz" + ${_fontconfs[@]} +) +urls=("https://github.com/notofonts/notofonts.github.io/archive/${_commit}.tar.gz" + ${_fontconfs[@]} +) +md5sums=("026d82cecb9f9f89fce7d6741ef45f3f" + ${_fontconf_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_install() { + install -vDm644 fonts/*/hinted/ttf/*.tt[fc] -t "$pkgdir"/usr/share/fonts/${pkgname} + install -vDm644 LICENSE -t "$pkgdir"/usr/share/licenses/noto-fonts + + for _f in ${_fontconfs[@]}; do + install -vDm644 "${filedir}/${_f}" -t "${pkgdir}/etc/fonts/conf.avail" + done +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-fonts/noto-20251101/66-noto-mono.conf b/media-fonts/noto-20251101/66-noto-mono.conf new file mode 100644 index 0000000..21d6c36 --- /dev/null +++ b/media-fonts/noto-20251101/66-noto-mono.conf @@ -0,0 +1,16 @@ + + + + + monospace + + Noto Sans Mono + + + + Noto Sans Mono + + monospace + + + diff --git a/media-fonts/noto-20251101/66-noto-sans.conf b/media-fonts/noto-20251101/66-noto-sans.conf new file mode 100644 index 0000000..012aebe --- /dev/null +++ b/media-fonts/noto-20251101/66-noto-sans.conf @@ -0,0 +1,16 @@ + + + + + sans-serif + + Noto Sans + + + + Noto Sans + + sans-serif + + + diff --git a/media-fonts/noto-20251101/66-noto-serif.conf b/media-fonts/noto-20251101/66-noto-serif.conf new file mode 100644 index 0000000..036baf7 --- /dev/null +++ b/media-fonts/noto-20251101/66-noto-serif.conf @@ -0,0 +1,16 @@ + + + + + serif + + Noto Serif + + + + Noto Serif + + serif + + + diff --git a/media-fonts/noto-cjk-20190416.PKGBUILD b/media-fonts/noto-cjk-20190416.PKGBUILD new file mode 100644 index 0000000..eb98bb7 --- /dev/null +++ b/media-fonts/noto-cjk-20190416.PKGBUILD @@ -0,0 +1,33 @@ +pkgname=noto-cjk +pkgver=20190416 +_commit=be6c059ac1587e556e2412b27f5155c8eb3ddbe6 +pkgdesc='Google Noto CJK fonts' +arch=(any) +homepage='https://www.google.com/get/noto/' +license=(OFL-1.1) +_fontconfs=("70-noto-cjk.conf") +_fontconf_sums=("d00d70e55a3267f61e87c73c8ab651d7") +sources=("${pkgname}-${pkgver}.tar.gz" + ${_fontconfs[@]} +) +urls=("https://github.com/notofonts/noto-cjk/archive/${_commit}.tar.gz" + ${_fontconfs[@]} +) +md5sums=("8d542e9750d6581ddf13a17ddcbc2031" + ${_fontconf_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_install() { + install -vDm644 *.ttc -t "$pkgdir"/usr/share/fonts/noto-cjk + install -vDm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + + for _f in ${_fontconfs[@]}; do + install -vDm644 "${filedir}/${_f}" -t "${pkgdir}/etc/fonts/conf.avail" + done +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-fonts/noto-cjk-20190416/70-noto-cjk.conf b/media-fonts/noto-cjk-20190416/70-noto-cjk.conf new file mode 100644 index 0000000..c1052bb --- /dev/null +++ b/media-fonts/noto-cjk-20190416/70-noto-cjk.conf @@ -0,0 +1,147 @@ + + + + + + ja + + + serif + + + Noto Serif CJK JP + + + + + + ko + + + serif + + + Noto Serif CJK KR + + + + + + zh-cn + + + serif + + + Noto Serif CJK SC + + + + + + zh-tw + + + serif + + + Noto Serif CJK TC + + + + + + ja + + + sans-serif + + + Noto Sans CJK JP + + + + + + ko + + + sans-serif + + + Noto Sans CJK KR + + + + + + zh-cn + + + sans-serif + + + Noto Sans CJK SC + + + + + + zh-tw + + + sans-serif + + + Noto Sans CJK TC + + + + + + ja + + + monospace + + + Noto Sans Mono CJK JP + + + + + + ko + + + monospace + + + Noto Sans Mono CJK KR + + + + + + zh-cn + + + monospace + + + Noto Sans Mono CJK SC + + + + + + zh-tw + + + monospace + + + Noto Sans Mono CJK TC + + + diff --git a/media-fonts/noto-emoji-20250912.PKGBUILD b/media-fonts/noto-emoji-20250912.PKGBUILD new file mode 100644 index 0000000..96d67e3 --- /dev/null +++ b/media-fonts/noto-emoji-20250912.PKGBUILD @@ -0,0 +1,38 @@ +pkgname=noto-emoji +pkgver=20250912 +_commit="8998f5dd683424a73e2314a8c1f1e359c19e8742" +_commit_mc="b80db438fe644bd25e0032661ab66fa72f2af0e2" +pkgdesc='Google Noto Color Emoji font' +arch=(any) +homepage='https://www.google.com/get/noto/' +license=(OFL-1.1-no-RFN) +_fontconfs=("75-noto-emoji-fallback.conf") +_fontconf_sums=("4f1ecb8bbad064885a02a8bd5d6a4a32") +sources=("${pkgname}-${pkgver}.tar.gz" + "${pkgname}-${pkgver}-monochrome.tar.gz" + ${_fontconfs[@]} +) +urls=("https://github.com/googlefonts/noto-emoji/archive/${_commit}.tar.gz" + "https://github.com/zjaco13/Noto-Emoji-Monochrome/archive/${_commit_mc}.tar.gz" + ${_fontconfs[@]} +) +md5sums=("a75b88f15a3f41c221666451f510c33f" + "d8c27c1159e275472ed0c1c1b9c90636" + ${_fontconf_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + tar -xf ${distdir}/${sources[1]} +} + +src_install() { + install -vDm644 fonts/NotoColorEmoji.ttf -t "${pkgdir}/usr/share/fonts/${pkgname}" + install -vDm644 Noto-Emoji-Monochrome-${_commit_mc}/fonts/*.ttf "${pkgdir}/usr/share/fonts/${pkgname}" + + for _f in ${_fontconfs[@]}; do + install -vDm644 "${filedir}/${_f}" -t "${pkgdir}/etc/fonts/conf.avail" + done +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-fonts/noto-emoji-20250912/75-noto-emoji-fallback.conf b/media-fonts/noto-emoji-20250912/75-noto-emoji-fallback.conf new file mode 100644 index 0000000..deb9c96 --- /dev/null +++ b/media-fonts/noto-emoji-20250912/75-noto-emoji-fallback.conf @@ -0,0 +1,31 @@ + + + +: + + + + sans + Noto Color Emoji + + + + serif + Noto Color Emoji + + + + sans-serif + Noto Color Emoji + + + + monospace + Noto Color Emoji + + + diff --git a/media-fonts/symbols-nerd-font-3.4.0.PKGBUILD b/media-fonts/symbols-nerd-font-3.4.0.PKGBUILD new file mode 100644 index 0000000..2ee69e0 --- /dev/null +++ b/media-fonts/symbols-nerd-font-3.4.0.PKGBUILD @@ -0,0 +1,20 @@ +pkgname=symbols-nerd-font +pkgver=3.4.0 +pkgdesc="High number of extra glyphs from popular 'iconic fonts'" +arch=(any) +homepage=https://github.com/ryanoasis/nerd-fonts +license=(MIT) +sources=("${pkgname}-${pkgver}.zip") +urls=("https://github.com/ryanoasis/nerd-fonts/releases/download/v${pkgver}/NerdFontsSymbolsOnly.zip") +md5sums=("a0caf173734e58937970550b8dcab9c8") + +src_prepare() { + bsdtar -xf ${distdir}/${sources[0]} +} + +src_install() { + install -Dvm644 *.ttf -t "${pkgdir}/usr/share/fonts/${pkgname}" + install -Dvm644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-gfx/graphite2-1.3.14.PKGBUILD b/media-gfx/graphite2-1.3.14.PKGBUILD new file mode 100644 index 0000000..8e2ac40 --- /dev/null +++ b/media-gfx/graphite2-1.3.14.PKGBUILD @@ -0,0 +1,59 @@ +pkgname=graphite2 +pkgver=1.3.14 +arch=('x86_64') +homepage="https://graphite.sil.org/" +pkgdesc="a \"smart font\" system to handle the complexities of lesser-known languages of the world" +license=('LGPL-2.1-or-later OR MPL-2.0 OR GPL-2.0-or-later') +depends=('gcc' 'glibc') +_patches=("graphite2-1.3.14-fix-cmake-files-libdir.patch" + "graphite2-1.3.14-no-libtool-file.patch" + "graphite2-1.3.14-fix-nodefaultlibs-deux.patch" + "graphite2-1.3.14-fix-nodefaultlibs.patch" + "graphite2-1.3.5-fix-gcc-linking.patch" + "graphite2-1.3.14-gcc15.patch" + "graphite2-1.3.14_p20210810-cmake-findpython3.patch" + "graphite2-1.3.14_p20210810-cmake-minreqver-3.16.patch" +) +_patch_sums=("63419840415e7df9c9d8fd257d6ad85a" + "91c6f43f2f61f3f1427485e6898da562" + "1d4ac3863efc426f3df269ff063fdd84" + "e22b5e6306d042e03b6180636e45c857" + "487a20652b53a9af76e8fefe180d87e2" + "494ea9f8d0e3ee094d18d507225a25c0" + "6790fdb031c855fb959499f3a4b55991" + "9d4999373dd822fe4b1b8550073f2fa8" +) +sources=("${pkgname}-${pkgver}.tgz" + ${_patches[@]} +) +urls=("https://github.com/silnrsi/graphite/releases/download/${pkgver}/${sources[0]}" + ${_patches[@]} +) +md5sums=("1bccb985a7da01092bfb53bb5041e836" + ${_patch_sums[@]} +) + +src_prepare() { + tar -xzf ${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_SKIP_INSTALL_RPATH=ON + -DGRAPHITE2_COMPARE_RENDERER=OFF + ) + cmake -B build "${cmake_args[@]}" + cmake --build build +} + +src_install() { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-cmake-files-libdir.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-cmake-files-libdir.patch new file mode 100644 index 0000000..d4ae984 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-cmake-files-libdir.patch @@ -0,0 +1,13 @@ +Fix CMake install path. Noticed as part of the SSP patch (which we handle in +the ebuild instead). + +https://git.alpinelinux.org/aports/tree/main/graphite2/cmake.patch?h=3.15-stable +https://bugs.gentoo.org/829690 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -156,4 +152,4 @@ endif() + + + install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) +-install(EXPORT graphite2 DESTINATION share/graphite2 NAMESPACE gr2_) ++install(EXPORT graphite2 DESTINATION lib${LIB_SUFFIX}/cmake/graphite2 NAMESPACE gr2_) diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs-deux.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs-deux.patch new file mode 100644 index 0000000..64fcfd6 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs-deux.patch @@ -0,0 +1,105 @@ +https://bugs.gentoo.org/870034 +https://bugs.gentoo.org/829690 +https://github.com/silnrsi/graphite/pull/44. +https://raw.githubusercontent.com/chimera-linux/cports/6d3cabd18bac6f4caaea08eaa928840552711c0c/main/graphite2/patches/clang.patch + +Obsoletes graphite2-1.3.14-fix-nodefaultlibs.patch whose description was: +""" +Drop -nodefaultlibs: +- graphite is written in C++ which makes avoiding libstdc++ (or libc++) a dubious + goal; +- this ends up breaking e.g. x86/musl because we need to inject -lssp_nonshared, + but it wouldn't be surprising if it broke other exotic targets too. +""" + +This patch is based on the linked one above from Chimera Linux. We have +to adapt it a bit because GCC lacks -nostdlib++. + +Quoting it: +"Clang has -nostdlib++, which can be used more effectively than disabling +all and then hardcoding linking against libgcc (which we do not have)" +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -105,7 +105,6 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}" + if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + set_target_properties(graphite2 PROPERTIES + COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden" +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINKER_LANGUAGE C) + if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") + add_definitions(-mfpmath=sse -msse2) +@@ -114,22 +113,32 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + add_definitions(-Wno-class-memaccess -Wdouble-promotion) + endif() + message(STATUS "Compiler ID is: ${CMAKE_CXX_COMPILER_ID}") +- if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") +- add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32) +- endif() ++ ++ include(Graphite) ++ + if (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*") + target_link_libraries(graphite2 kernel32 msvcr90 mingw32 gcc user32) + else (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*") +- if (GRAPHITE2_SANITIZERS) +- target_link_libraries(graphite2 c gcc_s) +- else () +- target_link_libraries(graphite2 c gcc) +- endif () ++ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") ++ add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32) ++ set_target_properties(graphite2 PROPERTIES ++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}") ++ else() ++ set_target_properties(graphite2 PROPERTIES ++ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ ++ if (GRAPHITE2_SANITIZERS) ++ target_link_libraries(graphite2 c gcc_s) ++ else() ++ target_link_libraries(graphite2 c gcc) ++ endif() ++ ++ if (BUILD_SHARED_LIBS) ++ nolib_test(stdc++ $) ++ endif () ++ endif() + endif() +- include(Graphite) +- if (BUILD_SHARED_LIBS) +- nolib_test(stdc++ $) +- endif () ++ + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") + if (0) + CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -44,15 +44,25 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + COMPILE_DEFINITIONS "GRAPHITE2_STATIC;GRAPHITE2_NTRACING${TELEMETRY};_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;UNICODE") + else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + # don't -D GRAPHITE2_STATIC so that tests can see the API symbols in the static library ++ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") ++ set_target_properties(graphite2-base PROPERTIES ++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}") ++ set_target_properties(graphite2-file PROPERTIES ++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}") ++ else() ++ set_target_properties(graphite2-base PROPERTIES ++ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ set_target_properties(graphite2-file PROPERTIES ++ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ endif() ++ + set_target_properties(graphite2-base PROPERTIES + COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions" + COMPILE_DEFINITIONS "GRAPHITE2_NTRACING" +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINKER_LANGUAGE C) + set_target_properties(graphite2-file PROPERTIES + COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions" + COMPILE_DEFINITIONS "GRAPHITE2_NTRACING${TELEMETRY}" +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}" + LINKER_LANGUAGE C) + endif() + diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs.patch new file mode 100644 index 0000000..c55f67c --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-fix-nodefaultlibs.patch @@ -0,0 +1,26 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,7 +125,7 @@ + LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}") + else() + set_target_properties(graphite2 PROPERTIES +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}") + + if (GRAPHITE2_SANITIZERS) + target_link_libraries(graphite2 c gcc_s) +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -51,9 +51,9 @@ + LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}") + else() + set_target_properties(graphite2-base PROPERTIES +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}") + set_target_properties(graphite2-file PROPERTIES +- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") ++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}") + endif() + + set_target_properties(graphite2-base PROPERTIES + diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14-gcc15.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-gcc15.patch new file mode 100644 index 0000000..3eaf568 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-gcc15.patch @@ -0,0 +1,29 @@ +https://github.com/silnrsi/graphite/pull/91 + +From fb5e7313802a32783cf0a3f1c28880f11e9588a5 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Fri, 2 Aug 2024 22:31:44 +0100 +Subject: [PATCH] tests/featuremap/featuremaptest.cpp: add missing + include + +Without the change `graphite` build fails on upcoming `gcc-15` as: + + tests/featuremap/featuremaptest.cpp:30:15: error: 'uint8_t' was not declared in this scope + 30 | std::vector _ttf; + | ^~~~~~~ + tests/featuremap/featuremaptest.cpp:16:1: note: 'uint8_t' is defined in header ''; + this is probably fixable by adding '#include ' + 15 | #include "inc/Face.h" + +++ |+#include + 16 | #include "inc/FeatureMap.h" +--- a/tests/featuremap/featuremaptest.cpp ++++ b/tests/featuremap/featuremaptest.cpp +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include + #include + + diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14-no-libtool-file.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-no-libtool-file.patch new file mode 100644 index 0000000..2f1056b --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14-no-libtool-file.patch @@ -0,0 +1,68 @@ +From https://github.com/silnrsi/graphite/pull/65 + +From 3edb88b55c0870989778c670d555aa159a2c3abc Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 31 Aug 2020 20:56:43 +0200 +Subject: [PATCH] don't install a libtool file with static library + +Static library is supported since version 1.3.11 and +https://github.com/silnrsi/graphite/commit/2f143c04da5caa43ddf4dba437b2f2bc26bf4238 + +However, graphite2 is still installing libgraphite2.la which contains +incorrect information (i.e. dlname set to libgraphite2.so and +old_library set to ''): + +dlname='libgraphite2.so' + +library_names='libgraphite2.so.3.2.1 libgraphite2.so.3 libgraphite2.so' + +old_library='' + +dependency_libs='' + +This will result in the following build failure with any applications +using this file such as harfbuzz: + +arm-linux-g++.br_real: error: /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgraphite2.so: No such file or directory +make[5]: *** [main] Error 1 + +Instead of trying to fix this libtool file, just disable it when +building a static library as it is not needed + +Fixes: + - http://autobuild.buildroot.org/results/9ebe1d11e80755d59190ef2aae82bbba5cc45e44 + +Signed-off-by: Fabrice Fontaine + +* asturm 2021-12-28: We don't want those files at all. + +--- + src/CMakeLists.txt | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b6ac26bf..a7ace040 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -131,7 +131,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + nolib_test(stdc++ $) + endif () + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ if (0) ++ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ endif() + endif() + + if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +@@ -146,7 +148,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + include(Graphite) + nolib_test(stdc++ $) + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ if (0) ++ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") ++ endif() + endif() + + if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-findpython3.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-findpython3.patch new file mode 100644 index 0000000..32a8e92 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-findpython3.patch @@ -0,0 +1,95 @@ +From e3e6a1d23140d3d60b11afefed20a0094efd0ed7 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Fri, 17 Oct 2025 14:20:26 +0200 +Subject: [PATCH] Port PythonInterp -> Python3(REQUIRED COMPONENTS), + exec_program -> execute_process + +Use BUILD_TESTING to avoid building tests if not needed +Requires >=CMake-3.12 +Fixes CMP0148 and CMP0153 warnings + +Signed-off-by: Andreas Sturmlechner +--- + CMakeLists.txt | 20 ++++++++++---------- + Graphite.cmake | 12 ++++++------ + 2 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d670bd4d..55dac3ca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,6 +3,5 @@ + cmake_minimum_required(VERSION 3.16) + include(TestBigEndian) +-find_package(PythonInterp 3.6) + project(graphite2) + set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) + if (NOT CMAKE_BUILD_TYPE) +@@ -65,15 +64,14 @@ if (GRAPHITE2_VM_TYPE STREQUAL "direct" AND NOT (CMAKE_COMPILER_IS_GNUCXX OR CMA + endif() + message(STATUS "Using vm machine type: ${GRAPHITE2_VM_TYPE}") + +-if (BUILD_SHARED_LIBS) +- if (PYTHONINTERP_FOUND) +- EXEC_PROGRAM(${PYTHON_EXECUTABLE} +- ARGS -c \"import ctypes\; print(ctypes.sizeof(ctypes.c_void_p)) \" ++if (BUILD_TESTING AND BUILD_SHARED_LIBS) ++ find_package(Python3 3.6 REQUIRED COMPONENTS Interpreter) ++ if (TARGET Python3::Interpreter) ++ execute_process(COMMAND ${Python3_EXECUTABLE} ++ -c "import ctypes; print(ctypes.sizeof(ctypes.c_void_p), end=\"\")" + OUTPUT_VARIABLE PYTHON_SIZEOF_VOID_P) +- if (NOT (PYTHON_VERSION_MAJOR GREATER 2 AND PYTHON_VERSION_MINOR GREATER 5)) +- message(WARNING "Python version 3.6 or greater required. Disabling some tests.") +- elseif ((PYTHON_SIZEOF_VOID_P STREQUAL CMAKE_SIZEOF_VOID_P) AND (NOT GRAPHITE2_NFILEFACE) AND ((NOT GRAPHITE2_SANITIZERS MATCHES "address") OR CMAKE_COMPILER_IS_GNUCXX)) +- set(PYTHON_CTYPES_COMPATBILE TRUE) ++ if ((PYTHON_SIZEOF_VOID_P STREQUAL CMAKE_SIZEOF_VOID_P) AND (NOT GRAPHITE2_NFILEFACE) AND ((NOT GRAPHITE2_SANITIZERS MATCHES "address") OR CMAKE_COMPILER_IS_GNUCXX)) ++ set(PYTHON_CTYPES_COMPATIBLE TRUE) + else () + if ((NOT GRAPHITE2_SANITIZERS MATCHES "address") OR CMAKE_COMPILER_IS_GNUCXX) + message(WARNING "Python ctypes is incompatible with built DLL. Disabling some tests.") +@@ -83,7 +81,9 @@ if (BUILD_SHARED_LIBS) + endif() + + add_subdirectory(src) +-add_subdirectory(tests) ++if (BUILD_TESTING) ++ add_subdirectory(tests) ++endif() + add_subdirectory(doc) + if (NOT GRAPHITE2_NFILEFACE) + add_subdirectory(gr2fonttest) +diff --git a/Graphite.cmake b/Graphite.cmake +index 02e34903..774d2cac 100644 +--- a/Graphite.cmake ++++ b/Graphite.cmake +@@ -83,10 +83,10 @@ function(fonttest TESTNAME FONTFILE) + add_test(NAME ${TESTNAME} COMMAND $ -trace ${PROJECT_BINARY_DIR}/${TESTNAME}.json -log ${PROJECT_BINARY_DIR}/${TESTNAME}.log ${PROJECT_SOURCE_DIR}/fonts/${FONTFILE} -codes ${ARGN}) + set_tests_properties(${TESTNAME} PROPERTIES TIMEOUT 3) + add_test(NAME ${TESTNAME}Output COMMAND ${CMAKE_COMMAND} -E compare_files ${PROJECT_BINARY_DIR}/${TESTNAME}.log ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}${PLATFORM_TEST_SUFFIX}.log) +- if ((NOT GRAPHITE2_NTRACING) AND PYTHONINTERP_FOUND) +- add_test(NAME ${TESTNAME}Debug COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/jsoncmp ${PROJECT_BINARY_DIR}/${TESTNAME}.json ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}.json) ++ if ((NOT GRAPHITE2_NTRACING) AND TARGET Python3::Interpreter) ++ add_test(NAME ${TESTNAME}Debug COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/jsoncmp ${PROJECT_BINARY_DIR}/${TESTNAME}.json ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}.json) + set_tests_properties(${TESTNAME}Debug PROPERTIES DEPENDS ${TESTNAME}) +- endif ((NOT GRAPHITE2_NTRACING) AND PYTHONINTERP_FOUND) ++ endif ((NOT GRAPHITE2_NTRACING) AND TARGET Python3::Interpreter) + set_tests_properties(${TESTNAME}Output PROPERTIES DEPENDS ${TESTNAME}) + endif (NOT GRAPHITE2_NFILEFACE) + endfunction(fonttest) +@@ -109,9 +109,9 @@ function(cmptest TESTNAME FONTFILE TEXTFILE) + if (EXISTS ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}${CMAKE_SYSTEM_NAME}.json) + set(PLATFORM_TEST_SUFFIX ${CMAKE_SYSTEM_NAME}) + endif (EXISTS ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}${CMAKE_SYSTEM_NAME}.json) +- if (PYTHON_CTYPES_COMPATBILE) +- add_test(NAME ${TESTNAME} COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/fnttxtrender --graphite_library=$ -t ${PROJECT_SOURCE_DIR}/texts/${TEXTFILE} -o ${PROJECT_BINARY_DIR}/${TESTNAME}.json -c ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}${PLATFORM_TEST_SUFFIX}.json ${ARGN} ${PROJECT_SOURCE_DIR}/fonts/${FONTFILE}) ++ if (PYTHON_CTYPES_COMPATIBLE) ++ add_test(NAME ${TESTNAME} COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/fnttxtrender --graphite_library=$ -t ${PROJECT_SOURCE_DIR}/texts/${TEXTFILE} -o ${PROJECT_BINARY_DIR}/${TESTNAME}.json -c ${PROJECT_SOURCE_DIR}/standards/${TESTNAME}${PLATFORM_TEST_SUFFIX}.json ${ARGN} ${PROJECT_SOURCE_DIR}/fonts/${FONTFILE}) + set_tests_properties(${TESTNAME} PROPERTIES ENVIRONMENT PYTHONPATH=${CMAKE_SOURCE_DIR}/python) +- endif (PYTHON_CTYPES_COMPATBILE) ++ endif () + endif () + endfunction(cmptest) +-- +2.51.0 + diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-minreqver-3.16.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-minreqver-3.16.patch new file mode 100644 index 0000000..797bf70 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake-minreqver-3.16.patch @@ -0,0 +1,96 @@ +From 915ed5f042f2edecce7e0d014a6b0e99efeb9ca5 Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Thu, 20 Feb 2025 22:37:44 +0100 +Subject: [PATCH] CMake: Raised required version to 3.5 + +CMake >= 4.0.0-rc1 removed compatibility with versions < 3.5 and errors +out with such versions passed to cmake_minimum_required(). 3.5.0 has +been released 9 years ago, so I'd assume it's available almost everywhere. + +Furthermore at least 3.1 was already required, because that's the +version, which introduced CXX_STANDARD{,_REQUIRED}. + +Also remove the FATAL_ERROR part, which has been ignored since 2.6. and +CMP0012 is now implicitly assumed to be NEW already. + +* asturm 2025-10-17: bump CMake Minimum to 3.16 already + +--- + CMakeLists.txt | 3 +-- + gr2fonttest/CMakeLists.txt | 2 +- + src/CMakeLists.txt | 3 +-- + tests/bittwiddling/CMakeLists.txt | 2 +- + tests/json/CMakeLists.txt | 2 +- + tests/sparsetest/CMakeLists.txt | 2 +- + tests/utftest/CMakeLists.txt | 2 +- + 7 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4870971d..a2e88fa6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,5 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) +-cmake_policy(SET CMP0012 NEW) ++cmake_minimum_required(VERSION 3.16) + include(TestBigEndian) + find_package(PythonInterp 3.6) + project(graphite2) +diff --git a/gr2fonttest/CMakeLists.txt b/gr2fonttest/CMakeLists.txt +--- a/gr2fonttest/CMakeLists.txt ++++ b/gr2fonttest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + + project(gr2fonttest) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -2,8 +2,7 @@ + # internet at http://www.fsf.org/licenses/lgpl.html. + +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + project(graphite2_core) +-cmake_policy(SET CMP0012 NEW) + INCLUDE(CheckCXXSourceCompiles) + + set(GRAPHITE_API_CURRENT 3) +diff --git a/tests/bittwiddling/CMakeLists.txt b/tests/bittwiddling/CMakeLists.txt +--- a/tests/bittwiddling/CMakeLists.txt ++++ b/tests/bittwiddling/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + project(bits) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/json/CMakeLists.txt b/tests/json/CMakeLists.txt +--- a/tests/json/CMakeLists.txt ++++ b/tests/json/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + project(jsontest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/sparsetest/CMakeLists.txt b/tests/sparsetest/CMakeLists.txt +--- a/tests/sparsetest/CMakeLists.txt ++++ b/tests/sparsetest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + project(sparsetest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/utftest/CMakeLists.txt b/tests/utftest/CMakeLists.txt +--- a/tests/utftest/CMakeLists.txt ++++ b/tests/utftest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.16) + project(utftest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake4.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake4.patch new file mode 100644 index 0000000..45cd95d --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.14_p20210810-cmake4.patch @@ -0,0 +1,93 @@ +From 915ed5f042f2edecce7e0d014a6b0e99efeb9ca5 Mon Sep 17 00:00:00 2001 +From: Heiko Becker +Date: Thu, 20 Feb 2025 22:37:44 +0100 +Subject: [PATCH] CMake: Raised required version to 3.5 + +CMake >= 4.0.0-rc1 removed compatibility with versions < 3.5 and errors +out with such versions passed to cmake_minimum_required(). 3.5.0 has +been released 9 years ago, so I'd assume it's available almost everywhere. + +Furthermore at least 3.1 was already required, because that's the +version, which introduced CXX_STANDARD{,_REQUIRED}. + +Also remove the FATAL_ERROR part, which has been ignored since 2.6. and +CMP0012 is now implicitly assumed to be NEW already. +--- + CMakeLists.txt | 3 +-- + gr2fonttest/CMakeLists.txt | 2 +- + src/CMakeLists.txt | 3 +-- + tests/bittwiddling/CMakeLists.txt | 2 +- + tests/json/CMakeLists.txt | 2 +- + tests/sparsetest/CMakeLists.txt | 2 +- + tests/utftest/CMakeLists.txt | 2 +- + 7 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4870971d..a2e88fa6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,5 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) +-cmake_policy(SET CMP0012 NEW) ++cmake_minimum_required(VERSION 3.5.0) + include(TestBigEndian) + find_package(PythonInterp 3.6) + project(graphite2) +diff --git a/gr2fonttest/CMakeLists.txt b/gr2fonttest/CMakeLists.txt +--- a/gr2fonttest/CMakeLists.txt ++++ b/gr2fonttest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + + project(gr2fonttest) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -2,8 +2,7 @@ + # internet at http://www.fsf.org/licenses/lgpl.html. + +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + project(graphite2_core) +-cmake_policy(SET CMP0012 NEW) + INCLUDE(CheckCXXSourceCompiles) + + set(GRAPHITE_API_CURRENT 3) +diff --git a/tests/bittwiddling/CMakeLists.txt b/tests/bittwiddling/CMakeLists.txt +--- a/tests/bittwiddling/CMakeLists.txt ++++ b/tests/bittwiddling/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + project(bits) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/json/CMakeLists.txt b/tests/json/CMakeLists.txt +--- a/tests/json/CMakeLists.txt ++++ b/tests/json/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + project(jsontest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/sparsetest/CMakeLists.txt b/tests/sparsetest/CMakeLists.txt +--- a/tests/sparsetest/CMakeLists.txt ++++ b/tests/sparsetest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + project(sparsetest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) +diff --git a/tests/utftest/CMakeLists.txt b/tests/utftest/CMakeLists.txt +--- a/tests/utftest/CMakeLists.txt ++++ b/tests/utftest/CMakeLists.txt +@@ -4,4 +4,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.5.0) + project(utftest) + include(Graphite) + include_directories(${graphite2_core_SOURCE_DIR}) diff --git a/media-gfx/graphite2-1.3.14/graphite2-1.3.5-fix-gcc-linking.patch b/media-gfx/graphite2-1.3.14/graphite2-1.3.5-fix-gcc-linking.patch new file mode 100644 index 0000000..e4413d1 --- /dev/null +++ b/media-gfx/graphite2-1.3.14/graphite2-1.3.5-fix-gcc-linking.patch @@ -0,0 +1,17 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -127,12 +127,7 @@ + set_target_properties(graphite2 PROPERTIES + LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}") + +- if (GRAPHITE2_SANITIZERS) +- target_link_libraries(graphite2 c gcc_s) +- else() +- target_link_libraries(graphite2 c gcc) +- endif() +- ++ target_link_libraries(graphite2 c gcc_s) + if (BUILD_SHARED_LIBS) + nolib_test(stdc++ $) + endif () + diff --git a/media-libs/dav1d-1.5.0.PKGBUILD b/media-libs/dav1d-1.5.0.PKGBUILD new file mode 100644 index 0000000..09189e4 --- /dev/null +++ b/media-libs/dav1d-1.5.0.PKGBUILD @@ -0,0 +1,39 @@ +pkgname=dav1d +pkgver=1.5.0 +pkgdesc="dav1d is an AV1 Decoder :)" +homepage="https://code.videolan.org/videolan/dav1d" +licenses=("BSD-2") +makedepends=('glibc' 'meson' 'nasm' 'ninja') +sources=("${pkgname}-${pkgver}.tar.xz") +urls=("https://downloads.videolan.org/pub/videolan/dav1d/${pkgver}/${sources[0]}") +sha512sums=("774881d27d045f468a8617317fa751e1ce452a15c6d6c2c93c3dd3c3544d6b2b91b0c3eb5ff379f113c26b27a02dc4b54d0751b083dcbcb18bb96c66a6504acb") + +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 bitdepths=8,16 + -D enable_asm=true + -D enable_tests=true + -D xxhash_muxer=disabled + -D enable_docs=false + ) + meson setup build "${meson_args[@]}" + meson compile -C build +} + +src_check() { + meson test -C build +} + +src_install() { + meson install -C build --destdir "$pkgdir" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-libs/flac-1.5.0.PKGBUILD b/media-libs/flac-1.5.0.PKGBUILD new file mode 100644 index 0000000..554b093 --- /dev/null +++ b/media-libs/flac-1.5.0.PKGBUILD @@ -0,0 +1,55 @@ +pkgname=flac +pkgver=1.5.0 +pkgdesc='Free Lossless Audio Codec' +homepage='https://xiph.org/flac/' +arch=('x86_64') +license=( + 'BSD-3-Clause' # library + 'GPL-2.0-or-later' # apps +) +depends=( + 'glibc' + 'gcc' +) +makedepends=( + 'cmake' +) +sources=("${pkgname}-${pkgver}.tar.xz") +urls=("https://github.com/xiph/flac/releases/download/${pkgver}/${sources[0]}") +sha512sums=("34c9193b804e990b0828a5759e4d7ef1d1859174262d3b305d03e65285edb35c7f429e8071d9dd2c6da0c16e842b40b439bf215704636ae15dd5886151f0d17a") + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 +} + +src_build() { + local conf_args=( + --prefix=/usr + --docdir=/usr/share/doc/${pkgname}-${pkgver} + --disable-thorough-tests + --disable-doxygen-docs + --disable-examples + --disable-valgrind-testing + --disable-version-from-git + --enable-avx + --enable-cpplibs + --disable-debug + --disable-ogg + --disable-static + --enable-programs + ) + ./configure "${conf_args[@]}" + make +} + +src_check() { + chown -R leaf . + su leaf -c "PATH=$PATH make -j1 check" +} + +src_install() { + make DESTDIR="$pkgdir" install + install -Dm644 COPYING.* -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-libs/fontconfig-2.17.1.PKGBUILD b/media-libs/fontconfig-2.17.1.PKGBUILD new file mode 100644 index 0000000..e5afd4d --- /dev/null +++ b/media-libs/fontconfig-2.17.1.PKGBUILD @@ -0,0 +1,111 @@ +pkgname=fontconfig +pkgver=2.17.1 +pkgdesc="Library for configuring and customizing font access" +homepage=https://www.freedesktop.org/wiki/Software/fontconfig/ +arch=(x86_64) +license=('HPND AND Unicode-DFS-2016') +depends=( + bash + expat + freetype + glibc +) +makedepends=( + gperf + meson +) +_patches=("fontconfig-2.14.0-latin-update.patch" + "fontconfig-2.17.0-skip-bubblewrap-tests.patch" + "fontconfig-2.17.0-network-test.patch" + "fontconfig-2.17.0-macro-preprocess.patch" +) +_patch_sums=("92015fbfc95fae01a0ad6f346132d215" + "e23add7395db7d284c8557329058c694" + "897596e23b6c42d4b15911dc70df4542" + "886ae03ad92de457c3f3ac6aafe1fcf6" +) +sources=("${pkgname}-${pkgver}.tar.xz" + "40-fontconfig-config.HOOK" + ${_patches[@]} +) +urls=("https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${pkgver}/${sources[0]}" + "40-fontconfig-config.HOOK" + ${_patches[@]} +) +md5sums=("f68f95052c7297b98eccb7709d817f6a" + "fafd8323134280f4da770f95037c9324" + ${_patch_sums[@]} +) + +src_prepare() { + tar -xf ${distdir}/${sources[0]} --strip-components=1 + for _patch in ${_patchs[@]}; do + patch -p1 -i ${filedir}/${_patch} + done +} + +src_build() { + local addfonts=( + /usr/local/share/fonts + ) + local meson_options=( + --prefix=/usr + --buildtype=release + -D bitmap-conf=noinstall + -D default-sub-pixel-rendering=noinstall + -D doc=disabled + -D doc-html=disabled + -D doc-pdf=disabled + -D doc-man=disabled + -D doc-txt=disabled + -D nls=enabled + -D tests=disabled + + -D cache-build=disabled + -D cache-dir=/var/cache/fontconfig + -D default-fonts-dirs=/usr/share/fonts + -D additional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" ) + -D template-dir=/etc/fonts/conf.avail + -D fontations=disabled + -D xml-backend=expat + ) + meson setup build "${meson_options[@]}" + meson compile -C build +} + +src_install() { + meson install -C build --destdir "$pkgdir" + + install -Dvm644 build/fonts.conf "${pkgdir}/etc/fonts/" + + install -Dvm644 fc-lang/*.orth -t "${pkgdir}/usr/share/fc-lang" + + install -Dvm644 doc/fontconfig-user.{txt,pdf} -t "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}" + + leaf_install_hook "${filedir}/${sources[1]}" +} + +src_preinstall() { + echo -e "${GREEN_COLOR}Syncing fontconfig configuration to system${CLEAR_COLOR}" + if [[ -e /etc/fonts/conf.d ]] ; then + local file f + for file in ""/etc/fonts/conf.avail/* ; do + f=${file##*/} + if [[ -L /etc/fonts/conf.d/${f} ]] ; then + [[ -f ${pkgdir}/etc/fonts/conf.avail/${f} ]] \ + && ln -sf ../conf.avail/"${f}" \ + "${pkgdir}"/etc/fonts/conf.d/ &>/dev/null + else + [[ -f ${pkgdir}/etc/fonts/conf.avail/${f} ]] \ + && rm "${pkgdir}"/etc/fonts/conf.d/"${f}" &>/dev/null + fi + done + fi +} + +src_postinstall() { + echo -e "${GREEN_COLOR}Cleaning broken symlinks in /etc/fonts/conf.d/${CLEAR_COLOR}" + find -L /etc/fonts/conf.d/ -type l -delete +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/media-libs/fontconfig-2.17.1/40-fontconfig-config.HOOK b/media-libs/fontconfig-2.17.1/40-fontconfig-config.HOOK new file mode 100644 index 0000000..bdc7b98 --- /dev/null +++ b/media-libs/fontconfig-2.17.1/40-fontconfig-config.HOOK @@ -0,0 +1,9 @@ +target=( + /etc/fonts/conf.avail/* + /etc/fonts/conf.d/* + /usr/share/fonts/* +) +triggers=("install" "remove") +operation() { + /usr/bin/fc-cache -fs +} diff --git a/media-libs/fontconfig-2.17.1/fontconfig-2.14.0-latin-update.patch b/media-libs/fontconfig-2.17.1/fontconfig-2.14.0-latin-update.patch new file mode 100644 index 0000000..2ae36f4 --- /dev/null +++ b/media-libs/fontconfig-2.17.1/fontconfig-2.14.0-latin-update.patch @@ -0,0 +1,66 @@ +https://bugs.gentoo.org/130466 +--- a/conf.d/60-latin.conf ++++ b/conf.d/60-latin.conf +@@ -5,47 +5,50 @@ + + serif + ++ Liberation Serif + Noto Serif + DejaVu Serif + Times New Roman +- Thorndale AMT + Luxi Serif + Nimbus Roman No9 L + Nimbus Roman + Times ++ Thorndale AMT + + + + sans-serif + ++ Liberation Sans + Noto Sans + DejaVu Sans +- Verdana + Arial +- Albany AMT + Luxi Sans + Nimbus Sans L + Nimbus Sans + Helvetica + Lucida Sans Unicode + BPG Glaho International ++ Verdana + Tahoma ++ Albany AMT + + + + monospace + ++ Liberation Mono + Noto Sans Mono + DejaVu Sans Mono + Inconsolata + Andale Mono + Courier New +- Cumberland AMT + Luxi Mono + Nimbus Mono L + Nimbus Mono + Nimbus Mono PS + Courier ++ Cumberland AMT + + +