From 42be80069e22f48b85e62061e2743c2dec9037d7 Mon Sep 17 00:00:00 2001 From: Developer Date: Sun, 16 Jun 2024 14:38:05 -0400 Subject: [PATCH] UPDATE: 2024-06-16 14:38:04 --- cp.sh | 18 + main/a52dec/PKGBUILD | 25 + main/a52dec/README | 43 + main/a52dec/version | 1 + main/abseil-cpp/.PKGINFO | 16 + main/abseil-cpp/PKGBUILD | 47 + main/abseil-cpp/README | 43 + main/abseil-cpp/scoped-mock-log.patch | 12 + main/abseil-cpp/version | 1 + main/accounts-qml-module/.nvchecker.toml | 6 + main/accounts-qml-module/PKGBUILD | 39 + main/accounts-qml-module/README | 43 + main/accounts-qml-module/version | 1 + main/accountsservice/.PKGINFO | 37 + main/accountsservice/PKGBUILD | 74 + main/accountsservice/README | 43 + main/accountsservice/version | 1 + main/acl/PKGBUILD | 38 + main/acl/README | 43 + main/acl/version | 1 + main/adobe-source-code-pro-fonts/PKGBUILD | 28 + main/adobe-source-code-pro-fonts/README | 43 + main/adobe-source-code-pro-fonts/version | 1 + main/adwaita-icon-theme-legacy/PKGBUILD | 38 + main/adwaita-icon-theme-legacy/version | 1 + main/adwaita-icon-theme/PKGBUILD | 69 + main/adwaita-icon-theme/README | 43 + main/adwaita-icon-theme/version | 1 + main/aha/.nvchecker.toml | 4 + main/aha/PKGBUILD | 23 + main/aha/README | 43 + main/aha/version | 1 + main/alsa-lib/.PKGINFO | 18 + main/alsa-lib/PKGBUILD | 53 + main/alsa-lib/README | 43 + main/alsa-lib/alsa-lib.install | 7 + main/alsa-lib/version | 1 + main/alsa-topology-conf/PKGBUILD | 25 + main/alsa-topology-conf/README | 43 + main/alsa-topology-conf/version | 1 + main/alsa-ucm-conf/.PKGINFO | 13 + main/alsa-ucm-conf/PKGBUILD | 27 + main/alsa-ucm-conf/README | 43 + main/alsa-ucm-conf/version | 1 + main/alsa-utils/.PKGINFO | 37 + main/alsa-utils/PKGBUILD | 83 + main/alsa-utils/README | 43 + main/alsa-utils/alsa-utils.tmpfiles | 1 + main/alsa-utils/version | 1 + main/aom/.PKGINFO | 20 + main/aom/PKGBUILD | 70 + main/aom/README | 43 + main/aom/version | 1 + main/appstream/.PKGINFO | 28 + main/appstream/.nvchecker.toml | 5 + main/appstream/PKGBUILD | 98 + main/appstream/README | 43 + main/appstream/update-appstream-cache.hook | 18 + main/appstream/version | 1 + main/argon2/PKGBUILD | 36 + main/argon2/README | 43 + main/argon2/version | 1 + main/aribb24/PKGBUILD | 34 + main/aribb24/README | 43 + main/aribb24/version | 1 + main/at-spi2-core/PKGBUILD | 100 + main/at-spi2-core/README | 43 + main/at-spi2-core/version | 1 + main/attica/.PKGINFO | 22 + main/attica/PKGBUILD | 34 + main/attica/README | 43 + main/attica/version | 1 + main/attr/PKGBUILD | 45 + main/attr/README | 43 + main/attr/version | 1 + main/audit/.PKGINFO | 27 + main/audit/.nvchecker.toml | 4 + main/audit/PKGBUILD | 145 + main/audit/README | 43 + main/audit/audit-4.0-executable_paths.patch | 79 + main/audit/audit.tmpfiles | 16 + main/audit/version | 1 + main/avahi/.PKGINFO | 51 + main/avahi/0001-HACK-Install-fixes.patch | 55 + main/avahi/PKGBUILD | 105 + main/avahi/README | 43 + main/avahi/version | 1 + main/b43-fwcutter/PKGBUILD | 26 + main/b43-fwcutter/README | 43 + main/b43-fwcutter/version | 1 + main/baloo-widgets/.PKGINFO | 26 + main/baloo-widgets/PKGBUILD | 41 + main/baloo-widgets/README | 43 + main/baloo-widgets/version | 1 + main/base-devel/PKGBUILD | 40 + main/base-devel/README | 43 + main/base-devel/version | 1 + main/bash-completion/.PKGINFO | 15 + main/bash-completion/PKGBUILD | 39 + main/bash-completion/README | 43 + main/bash-completion/version | 1 + main/bc/PKGBUILD | 35 + main/bc/README | 43 + main/bc/version | 1 + main/bcachefs-tools/.PKGINFO | 39 + main/bcachefs-tools/PKGBUILD | 75 + main/bcachefs-tools/README | 43 + main/bcachefs-tools/version | 1 + main/bind/.PKGINFO | 46 + main/bind/127.0.0.zone | 10 + main/bind/PKGBUILD | 101 + main/bind/README | 43 + main/bind/bind.install | 10 + main/bind/localhost.ip6.zone | 10 + main/bind/localhost.zone | 11 + main/bind/named.conf | 57 + main/bind/named.service | 10 + main/bind/sysusers.conf | 1 + main/bind/tmpfiles.conf | 1 + main/bind/version | 1 + main/binutils/.PKGINFO | 34 + main/binutils/PKGBUILD | 129 + main/binutils/README | 43 + main/binutils/gold-warn-unsupported.patch | 66 + main/binutils/version | 1 + main/bluedevil/.PKGINFO | 38 + main/bluedevil/PKGBUILD | 55 + main/bluedevil/README | 43 + main/bluedevil/version | 1 + main/bluez-qt/.PKGINFO | 25 + main/bluez-qt/PKGBUILD | 37 + main/bluez-qt/README | 43 + main/bluez-qt/version | 1 + main/bluez/.PKGINFO | 24 + main/bluez/.nvchecker.toml | 6 + main/bluez/0001_use_bt_uhid_functions.patch | 924 ++ main/bluez/PKGBUILD | 185 + main/bluez/README | 43 + main/bluez/bluetooth.modprobe | 3 + main/bluez/version | 1 + main/bolt/.PKGINFO | 20 + main/bolt/.nvchecker.toml | 4 + main/bolt/PKGBUILD | 34 + main/bolt/README | 43 + main/bolt/version | 1 + main/boost/.PKGINFO | 68 + main/boost/PKGBUILD | 134 + main/boost/README | 43 + ...-1.81.0-phoenix-multiple-definitions.patch | 11 + main/boost/version | 1 + main/breeze-gtk/.PKGINFO | 18 + main/breeze-gtk/PKGBUILD | 33 + main/breeze-gtk/README | 43 + main/breeze-gtk/version | 1 + main/breeze-icons/.PKGINFO | 19 + main/breeze-icons/PKGBUILD | 30 + main/breeze-icons/README | 43 + main/breeze-icons/version | 1 + main/brltty/.PKGINFO | 86 + main/brltty/PKGBUILD | 147 + main/brltty/README | 43 + .../brltty-6.2-systemd_sysusers_groups.patch | 46 + main/brltty/brltty-6.4-x11_autostart.patch | 24 + main/brltty/brltty.install | 12 + main/brltty/version | 1 + main/broadcom-wl/.PKGINFO | 16 + main/broadcom-wl/PKGBUILD | 43 + main/broadcom-wl/README | 43 + main/broadcom-wl/version | 1 + main/brotli/.PKGINFO | 20 + main/brotli/PKGBUILD | 80 + main/brotli/README | 43 + main/brotli/version | 1 + main/btrfs-progs/.PKGINFO | 36 + main/btrfs-progs/PKGBUILD | 77 + main/btrfs-progs/README | 43 + main/btrfs-progs/btrfs-progs.install | 15 + main/btrfs-progs/btrfs-scrub@.service | 10 + main/btrfs-progs/btrfs-scrub@.timer | 11 + main/btrfs-progs/initcpio-hook-btrfs | 7 + main/btrfs-progs/initcpio-install-btrfs | 17 + main/btrfs-progs/version | 1 + main/bzip2/PKGBUILD | 61 + main/bzip2/README | 43 + main/bzip2/bzip2.pc | 11 + main/bzip2/version | 1 + main/ca-certificates/40-update-ca-trust.hook | 11 + main/ca-certificates/PKGBUILD | 88 + main/ca-certificates/README | 43 + .../ca-certificates-utils.install | 23 + main/ca-certificates/update-ca-trust | 42 + main/ca-certificates/update-ca-trust.8.txt | 286 + main/ca-certificates/version | 1 + main/cairo/PKGBUILD | 80 + main/cairo/README | 43 + main/cairo/version | 1 + main/calamares/PKGBUILD | 29 + main/calamares/README | 43 + main/calamares/version | 1 + main/cantarell-fonts/PKGBUILD | 26 + main/cantarell-fonts/README | 43 + main/cantarell-fonts/version | 1 + main/ccid/PKGBUILD | 39 + main/ccid/README | 43 + main/ccid/version | 1 + main/cdparanoia/PKGBUILD | 39 + .../cdparanoia-10.2-format-security.patch | 16 + main/cdparanoia/cdparanoia-10.2-ldflags.patch | 24 + main/cdparanoia/cdparanoia-r15388.patch | 582 + main/cdparanoia/version | 1 + main/cifs-utils/PKGBUILD | 46 + main/cifs-utils/README | 43 + ..._fix_capng_apply_for_libcap-ng-0.8.1.patch | 101 + ...png_apply_for_libcap-ng-0.8.1_part-2.patch | 58 + ....13_fix-regression-in-kerberos-mount.patch | 493 + main/cifs-utils/version | 1 + main/clang/.PKGINFO | 30 + main/clang/PKGBUILD | 155 + main/clang/README | 43 + ...e-fstack-protector-strong-by-default.patch | 72 + main/clang/version | 1 + main/clinfo/PKGBUILD | 26 + main/clinfo/README | 43 + main/clinfo/version | 1 + main/clonezilla/PKGBUILD | 32 + main/clonezilla/README | 43 + main/clonezilla/usrbin.patch | 13 + main/clonezilla/version | 1 + main/cloud-init/.PKGINFO | 45 + main/cloud-init/.nvchecker.toml | 3 + main/cloud-init/PKGBUILD | 114 + main/cloud-init/README | 43 + main/cloud-init/version | 1 + main/colord/PKGBUILD | 135 + main/colord/README | 43 + main/colord/version | 1 + main/compiler-rt/.PKGINFO | 19 + main/compiler-rt/PKGBUILD | 55 + main/compiler-rt/README | 43 + main/compiler-rt/version | 1 + main/convertlit/.nvchecker.toml | 4 + main/convertlit/PKGBUILD | 32 + main/convertlit/README | 43 + main/convertlit/version | 1 + main/coreutils/PKGBUILD | 50 + main/coreutils/README | 43 + main/coreutils/version | 1 + main/cracklib/PKGBUILD | 34 + main/cracklib/README | 43 + main/cracklib/version | 1 + main/cryptsetup/.PKGINFO | 27 + main/cryptsetup/PKGBUILD | 42 + main/cryptsetup/README | 43 + main/cryptsetup/version | 1 + main/cups/.PKGINFO | 27 + main/cups/.nvchecker.toml | 5 + main/cups/PKGBUILD | 179 + main/cups/README | 43 + main/cups/cups-2.4.0-statedir.patch | 11 + main/cups/cups-freebind.patch | 15 + main/cups/cups.install | 28 + main/cups/cups.logrotate | 5 + main/cups/cups.pam | 3 + main/cups/cups.sysusers | 2 + main/cups/guid.patch | 39 + main/cups/version | 1 + main/curl/.PKGINFO | 19 + main/curl/.nvchecker.toml | 6 + .../0001-bump-version-to-match-last-tag.patch | 41 + main/curl/PKGBUILD | 188 + main/curl/README | 43 + main/curl/version | 1 + main/darkhttpd/PKGBUILD | 40 + main/darkhttpd/README | 43 + main/darkhttpd/darkhttpd.service | 14 + main/darkhttpd/darkhttpd@.service | 14 + main/darkhttpd/version | 1 + main/dav1d/PKGBUILD | 62 + main/dav1d/README | 43 + main/dav1d/version | 1 + main/db5.3/.PKGINFO | 15 + main/db5.3/PKGBUILD | 73 + main/db5.3/README | 43 + .../db-5.3.21-memp_stat-upstream-fix.patch | 183 + main/db5.3/db-5.3.21-mutex_leak.patch | 718 + .../db-5.3.28-atomic_compare_exchange.patch | 20 + main/db5.3/db-5.3.28-lemon_hash.patch | 20 + .../db5.3/db-5.3.28-mmap-high-cpu-usage.patch | 19 + main/db5.3/db-5.3.28_cve-2019-2708.patch | 694 + main/db5.3/version | 1 + main/dbus-broker/.PKGINFO | 20 + .../0001-units-Enable-statically.patch | 60 + main/dbus-broker/PKGBUILD | 98 + main/dbus-broker/README | 43 + main/dbus-broker/version | 1 + main/dbus/PKGBUILD | 134 + main/dbus/README | 43 + main/dbus/dbus-reload.hook | 13 + main/dbus/version | 1 + main/dconf/PKGBUILD | 51 + main/dconf/README | 43 + main/dconf/dconf-update | 9 + main/dconf/dconf-update.hook | 12 + main/dconf/dconf.install | 11 + main/dconf/version | 1 + main/ddcutil/PKGBUILD | 32 + main/ddcutil/README | 43 + main/ddcutil/version | 1 + main/ddrescue/PKGBUILD | 40 + main/ddrescue/README | 43 + main/ddrescue/version | 1 + main/default-cursors/PKGBUILD | 22 + main/default-cursors/README | 43 + main/default-cursors/version | 1 + main/desktop-file-utils/PKGBUILD | 52 + main/desktop-file-utils/README | 43 + .../update-desktop-database.hook | 11 + main/desktop-file-utils/version | 1 + main/dex/PKGBUILD | 31 + main/dex/README | 43 + main/dex/fix-dex-version.patch | 11 + main/dex/version | 1 + main/dhcp/.PKGINFO | 21 + ...001-99-replace-hostname-with-uname-n.patch | 35 + main/dhcp/PKGBUILD | 105 + main/dhcp/README | 43 + main/dhcp/dhclient@.service | 13 + main/dhcp/dhcp-sysusers.conf | 1 + main/dhcp/dhcp-tmpfiles.conf | 3 + main/dhcp/dhcpd4.service | 25 + main/dhcp/dhcpd6.service | 25 + main/dhcp/version | 1 + main/dhcpcd/PKGBUILD | 78 + main/dhcpcd/README | 43 + main/dhcpcd/dhcpcd.service | 10 + main/dhcpcd/dhcpcd.sysusers | 1 + main/dhcpcd/dhcpcd.tmpfiles | 2 + main/dhcpcd/dhcpcd_.service | 15 + main/dhcpcd/version | 1 + main/diffutils/PKGBUILD | 47 + main/diffutils/README | 43 + main/diffutils/version | 1 + main/ding-libs/.nvchecker.toml | 5 + main/ding-libs/PKGBUILD | 34 + main/ding-libs/README | 43 + main/ding-libs/version | 1 + main/dmidecode/PKGBUILD | 29 + main/dmidecode/README | 43 + main/dmidecode/version | 1 + main/dmraid/PKGBUILD | 51 + main/dmraid/README | 43 + main/dmraid/dmraid-format-security.patch | 20 + main/dmraid/dmraid.install | 14 + main/dmraid/dmraid.service | 15 + main/dmraid/dmraid_hook | 14 + main/dmraid/dmraid_install | 24 + main/dmraid/dmraid_tmpfiles | 1 + main/dmraid/version | 1 + main/dnsmasq/PKGBUILD | 69 + main/dnsmasq/README | 43 + main/dnsmasq/dnsmasq-sysusers.conf | 1 + main/dnsmasq/dnsmasq.service | 19 + main/dnsmasq/version | 1 + main/dnssec-anchors/LICENSE | 1 + main/dnssec-anchors/PKGBUILD | 21 + main/dnssec-anchors/README | 43 + .../dnssec-anchors-versioned.sh | 23 + main/dnssec-anchors/version | 1 + main/dolphin/.PKGINFO | 57 + main/dolphin/PKGBUILD | 70 + main/dolphin/README | 43 + main/dolphin/version | 1 + main/dosfstools/PKGBUILD | 31 + main/dosfstools/README | 43 + main/dosfstools/version | 1 + main/double-conversion/.nvchecker.toml | 5 + main/double-conversion/PKGBUILD | 27 + main/double-conversion/README | 43 + main/double-conversion/version | 1 + main/doxygen/.PKGINFO | 45 + main/doxygen/.nvchecker.toml | 4 + main/doxygen/PKGBUILD | 104 + main/doxygen/README | 43 + main/doxygen/version | 1 + main/drbl/PKGBUILD | 38 + main/drbl/README | 43 + main/drbl/usrbin.patch | 15 + main/drbl/version | 1 + main/drkonqi/.PKGINFO | 42 + main/drkonqi/PKGBUILD | 60 + main/drkonqi/README | 43 + main/drkonqi/version | 1 + main/duktape/PKGBUILD | 51 + main/duktape/README | 43 + main/duktape/version | 1 + ...system-image-w-o-a-pre-existing-file.patch | 47 + main/e2fsprogs/MIT-LICENSE | 25 + main/e2fsprogs/PKGBUILD | 93 + main/e2fsprogs/README | 43 + main/e2fsprogs/version | 1 + main/ebook-tools/.nvchecker.toml | 4 + main/ebook-tools/PKGBUILD | 38 + main/ebook-tools/README | 43 + main/ebook-tools/crash-fix.patch | 51 + main/ebook-tools/version | 1 + main/ecryptfs-utils/PKGBUILD | 45 + main/ecryptfs-utils/README | 43 + main/ecryptfs-utils/openssl-1.1.x.patch | 76 + main/ecryptfs-utils/version | 1 + main/editorconfig-core-c/.PKGINFO | 18 + main/editorconfig-core-c/.nvchecker.toml | 5 + main/editorconfig-core-c/PKGBUILD | 27 + main/editorconfig-core-c/README | 43 + main/editorconfig-core-c/version | 1 + main/edk2/50-edk2-ovmf-i386-secure-4m.json | 35 + main/edk2/50-edk2-ovmf-i386-secure.json | 35 + main/edk2/50-edk2-ovmf-x86_64-secure-4m.json | 36 + main/edk2/50-edk2-ovmf-x86_64-secure.json | 36 + main/edk2/60-edk2-aarch64.json | 31 + main/edk2/60-edk2-arm.json | 31 + main/edk2/60-edk2-ovmf-i386-4m.json | 34 + main/edk2/60-edk2-ovmf-i386.json | 34 + main/edk2/60-edk2-ovmf-microvm-4m.json | 22 + main/edk2/60-edk2-ovmf-microvm.json | 22 + main/edk2/60-edk2-ovmf-x86_64-4m.json | 35 + main/edk2/60-edk2-ovmf-x86_64.json | 35 + main/edk2/70-edk2-ovmf-i386-csm-4m.json | 34 + main/edk2/70-edk2-ovmf-i386-csm.json | 34 + main/edk2/70-edk2-ovmf-x86_64-csm-4m.json | 35 + main/edk2/70-edk2-ovmf-x86_64-csm.json | 35 + ...80-edk2-ovmf-ia32-on-x86_64-secure-4m.json | 35 + .../80-edk2-ovmf-ia32-on-x86_64-secure.json | 35 + main/edk2/81-edk2-ovmf-ia32-on-x86_64-4m.json | 34 + main/edk2/81-edk2-ovmf-ia32-on-x86_64.json | 34 + .../82-edk2-ovmf-ia32-on-x86_64-csm-4m.json | 34 + .../edk2/82-edk2-ovmf-ia32-on-x86_64-csm.json | 34 + main/edk2/PKGBUILD | 487 + main/edk2/README | 43 + main/edk2/edk2-202202-brotli.patch | 15 + main/edk2/edk2-ovmf.install | 6 + main/edk2/edk2-shell.install | 1 + main/edk2/version | 1 + main/efibootmgr/.nvchecker.toml | 3 + main/efibootmgr/PKGBUILD | 38 + main/efibootmgr/README | 43 + main/efibootmgr/version | 1 + main/efivar/PKGBUILD | 59 + main/efivar/README | 43 + main/efivar/version | 1 + main/elfutils/.PKGINFO | 33 + main/elfutils/.nvchecker.toml | 5 + main/elfutils/PKGBUILD | 148 + main/elfutils/README | 43 + main/elfutils/version | 1 + main/ell/.PKGINFO | 17 + main/ell/.nvchecker.toml | 5 + main/ell/PKGBUILD | 34 + main/ell/README | 43 + main/ell/version | 1 + main/espeak-ng/.nvchecker.toml | 4 + main/espeak-ng/PKGBUILD | 45 + main/espeak-ng/README | 43 + main/espeak-ng/version | 1 + main/espeakup/.nvchecker.toml | 5 + main/espeakup/PKGBUILD | 36 + main/espeakup/README | 43 + main/espeakup/espeakup.conf.d | 6 + main/espeakup/espeakup.modules-load.d | 1 + main/espeakup/espeakup.service | 15 + main/espeakup/version | 1 + main/ethtool/.PKGINFO | 15 + main/ethtool/PKGBUILD | 33 + main/ethtool/README | 43 + main/ethtool/version | 1 + main/exfatprogs/PKGBUILD | 32 + main/exfatprogs/README | 43 + main/exfatprogs/version | 1 + main/exiv2/.PKGINFO | 31 + main/exiv2/.nvchecker.toml | 5 + main/exiv2/PKGBUILD | 57 + main/exiv2/README | 43 + main/exiv2/version | 1 + main/expat/.nvchecker.toml | 6 + main/expat/PKGBUILD | 42 + main/expat/README | 43 + main/expat/version | 1 + main/f2fs-tools/PKGBUILD | 59 + main/f2fs-tools/README | 43 + main/f2fs-tools/version | 1 + main/faad2/PKGBUILD | 44 + main/faad2/README | 43 + main/faad2/version | 1 + main/fastfetch/.PKGINFO | 51 + main/fastfetch/PKGBUILD | 72 + main/fastfetch/version | 1 + main/fatresize/.nvchecker.toml | 5 + main/fatresize/PKGBUILD | 25 + main/fatresize/README | 43 + main/fatresize/version | 1 + main/ffmpeg/PKGBUILD | 253 + main/ffmpeg/README | 43 + ...av_stream_get_first_dts-for-chromium.patch | 31 + main/ffmpeg/version | 1 + main/ffmpeg4.4/PKGBUILD | 200 + main/ffmpeg4.4/README | 43 + main/ffmpeg4.4/binutils-2.41.patch | 75 + main/ffmpeg4.4/version | 1 + main/fftw/.PKGINFO | 35 + main/fftw/PKGBUILD | 190 + main/fftw/README | 43 + main/fftw/version | 1 + main/file/PKGBUILD | 58 + main/file/README | 43 + main/file/version | 1 + main/filesystem/PKGBUILD | 141 + main/filesystem/README | 43 + main/filesystem/config_user | 7 + main/filesystem/crypttab | 12 + main/filesystem/env-generator | 3 + main/filesystem/fstab | 4 + main/filesystem/group | 1 + main/filesystem/gshadow | 1 + main/filesystem/host.conf | 4 + main/filesystem/hosts | 2 + main/filesystem/issue | 2 + main/filesystem/ld.so.conf | 5 + main/filesystem/locale.sh | 22 + main/filesystem/nsswitch.conf | 19 + main/filesystem/os-release | 10 + main/filesystem/passwd | 1 + main/filesystem/polkit_config_user | 7 + main/filesystem/profile | 48 + main/filesystem/resolv.conf | 2 + main/filesystem/securetty | 12 + main/filesystem/shadow | 1 + main/filesystem/shells | 9 + main/filesystem/subgid | 0 main/filesystem/subuid | 0 main/filesystem/sysctl | 6 + main/filesystem/sysusers | 28 + main/filesystem/tmpfiles | 18 + main/filesystem/tuxcore-logo-dark.png | Bin 0 -> 153496 bytes main/filesystem/tuxcore-logo-dark.svg | 16 + main/filesystem/tuxcore-logo-text-dark.svg | 16 + main/filesystem/tuxcore-logo-text.svg | 15 + main/filesystem/tuxcore-logo.png | Bin 0 -> 286435 bytes main/filesystem/tuxcore-logo.svg | 16 + main/filesystem/version | 1 + main/findutils/.PKGINFO | 15 + main/findutils/PKGBUILD | 38 + main/findutils/README | 43 + main/findutils/version | 1 + main/firefox/.PKGINFO | 68 + main/firefox/PKGBUILD | 263 + main/firefox/README | 43 + main/firefox/firefox.desktop | 386 + main/firefox/identity-icons-brand.svg | 3 + main/firefox/upload-symbol-archive | 25 + main/firefox/version | 1 + main/flac/PKGBUILD | 69 + main/flac/README | 43 + main/flac/version | 1 + main/flex/PKGBUILD | 47 + main/flex/README | 43 + main/flex/flex-pie.patch | 39 + main/flex/version | 1 + main/fmt/.PKGINFO | 25 + main/fmt/PKGBUILD | 68 + main/fmt/README | 43 + main/fmt/fmt-10.0.0-sphinx.patch | 13 + main/fmt/fmt-no-pip-no-virtualenv.patch | 61 + main/fmt/version | 1 + main/fontconfig/.nvchecker.toml | 5 + main/fontconfig/40-fontconfig-config.hook | 11 + main/fontconfig/40-fontconfig-config.script | 12 + main/fontconfig/PKGBUILD | 91 + main/fontconfig/README | 43 + main/fontconfig/fontconfig.hook | 14 + main/fontconfig/fontconfig.install | 26 + main/fontconfig/version | 1 + main/foot/.PKGINFO | 31 + main/foot/.nvchecker.toml | 3 + main/foot/PKGBUILD | 72 + main/foot/README | 43 + main/foot/version | 1 + main/frameworkintegration/.PKGINFO | 30 + main/frameworkintegration/PKGBUILD | 42 + main/frameworkintegration/README | 43 + main/frameworkintegration/version | 1 + main/freetype2/.nvchecker.toml | 7 + ...0001-Enable-table-validation-modules.patch | 42 + .../0002-Enable-subpixel-rendering.patch | 22 + .../0003-Enable-long-PCF-family-names.patch | 22 + main/freetype2/PKGBUILD | 133 + main/freetype2/README | 43 + main/freetype2/freetype2.install | 16 + main/freetype2/freetype2.sh | 11 + main/freetype2/version | 1 + main/fribidi/.PKGINFO | 17 + main/fribidi/PKGBUILD | 41 + main/fribidi/README | 43 + main/fribidi/version | 1 + main/fsarchiver/PKGBUILD | 24 + main/fsarchiver/README | 43 + main/fsarchiver/version | 1 + main/fuse2/PKGBUILD | 51 + main/fuse2/README | 43 + .../conditionally-define-closefrom.patch | 60 + main/fuse2/version | 1 + main/fuse3/PKGBUILD | 46 + main/fuse3/README | 43 + main/fuse3/version | 1 + main/gawk/PKGBUILD | 32 + main/gawk/README | 43 + main/gawk/version | 1 + main/gc/PKGBUILD | 34 + main/gc/README | 43 + main/gc/version | 1 + main/gcc/.PKGINFO | 33 + main/gcc/PKGBUILD | 512 + main/gcc/README | 43 + main/gcc/c89 | 10 + main/gcc/c99 | 10 + main/gcc/fix-asan-allocator-aslr.patch | 60 + main/gcc/gcc-ada-repro.patch | 15 + main/gcc/version | 1 + main/gcr-4/.PKGINFO | 31 + main/gcr-4/PKGBUILD | 74 + main/gcr-4/README | 43 + main/gcr-4/version | 1 + main/gdb/.PKGINFO | 27 + main/gdb/PKGBUILD | 62 + main/gdb/README | 43 + main/gdb/version | 1 + main/gdbm/PKGBUILD | 48 + main/gdbm/README | 43 + main/gdbm/version | 1 + main/gdk-pixbuf2/.PKGINFO | 32 + main/gdk-pixbuf2/PKGBUILD | 71 + main/gdk-pixbuf2/README | 43 + .../gdk-pixbuf2/gdk-pixbuf-query-loaders.hook | 11 + main/gdk-pixbuf2/gdk-pixbuf2.install | 3 + main/gdk-pixbuf2/version | 1 + main/geoclue/.PKGINFO | 30 + main/geoclue/PKGBUILD | 77 + main/geoclue/README | 43 + main/geoclue/version | 1 + main/gettext/.PKGINFO | 25 + main/gettext/PKGBUILD | 59 + main/gettext/README | 43 + .../gettext-0.22-disable-libtextstyle.patch | 141 + main/gettext/version | 1 + main/giflib/PKGBUILD | 48 + main/giflib/README | 43 + ...1.9-fix-missing-quantize-API-symbols.patch | 32 + main/giflib/giflib-5.1.9-make-flags.patch | 47 + main/giflib/version | 1 + main/glib-networking/PKGBUILD | 50 + main/glib-networking/README | 43 + main/glib-networking/version | 1 + main/glib2/.PKGINFO | 29 + ...emas-Remove-noisy-deprecation-warnin.patch | 40 + main/glib2/PKGBUILD | 139 + main/glib2/README | 43 + main/glib2/gio-querymodules.hook | 11 + main/glib2/glib-compile-schemas.hook | 12 + main/glib2/version | 1 + main/glibc/.PKGINFO | 19 + main/glibc/PKGBUILD | 218 + main/glibc/README | 43 + main/glibc/glibc.install | 5 + main/glibc/lib32-glibc.conf | 1 + main/glibc/locale-gen | 42 + main/glibc/locale.gen.txt | 17 + main/glibc/sdt-config.h | 6 + main/glibc/sdt.h | 430 + main/glibc/version | 1 + main/glslang/.PKGINFO | 19 + main/glslang/PKGBUILD | 75 + main/glslang/README | 43 + main/glslang/version | 1 + main/glu/.nvchecker.toml | 6 + main/glu/PKGBUILD | 35 + main/glu/README | 43 + main/glu/version | 1 + main/gmp/.PKGINFO | 16 + main/gmp/.nvchecker.toml | 4 + main/gmp/PKGBUILD | 35 + main/gmp/README | 43 + main/gmp/version | 1 + main/gnu-free-fonts/PKGBUILD | 22 + main/gnu-free-fonts/README | 43 + main/gnu-free-fonts/version | 1 + main/gnu-netcat/.PKGINFO | 17 + main/gnu-netcat/PKGBUILD | 26 + main/gnu-netcat/README | 43 + main/gnu-netcat/version | 1 + main/gnupg/.nvchecker.toml | 5 + main/gnupg/PKGBUILD | 180 + main/gnupg/README | 43 + main/gnupg/dirmngr.service | 8 + main/gnupg/dirmngr.socket | 8 + main/gnupg/dirmngr@.service | 8 + main/gnupg/dirmngr@.socket | 7 + main/gnupg/gnupg-2.4-avoid_beta_warning.patch | 46 + main/gnupg/gnupg-2.4-drop_import_clean.patch | 51 + .../gnupg-2.4-keep-systemd-support.patch | 32 + .../gnupg-2.4-keyboxd-systemd-support.patch | 136 + .../gnupg-2.4-revert_default_rfc4880bis.patch | 200 + main/gnupg/gnupg.install | 17 + main/gnupg/gpg-agent-browser.socket | 10 + main/gnupg/gpg-agent-browser@.socket | 9 + main/gnupg/gpg-agent-extra.socket | 10 + main/gnupg/gpg-agent-extra@.socket | 9 + main/gnupg/gpg-agent-ssh.socket | 10 + main/gnupg/gpg-agent-ssh@.socket | 9 + main/gnupg/gpg-agent.service | 8 + main/gnupg/gpg-agent.socket | 9 + main/gnupg/gpg-agent@.service | 8 + main/gnupg/gpg-agent@.socket | 8 + main/gnupg/keyboxd.service | 7 + main/gnupg/keyboxd.socket | 8 + main/gnupg/keyboxd@.service | 7 + main/gnupg/keyboxd@.socket | 7 + main/gnupg/version | 1 + main/gnutls/.nvchecker.toml | 4 + main/gnutls/PKGBUILD | 76 + main/gnutls/README | 43 + main/gnutls/config | 9 + .../gnutls-ktls_disable_keyupdate_test.patch | 13 + main/gnutls/version | 1 + main/gpart/PKGBUILD | 26 + main/gpart/README | 43 + main/gpart/version | 1 + main/gperftools/PKGBUILD | 28 + main/gperftools/README | 43 + main/gperftools/version | 1 + main/gpgme/.PKGINFO | 24 + main/gpgme/PKGBUILD | 119 + main/gpgme/README | 43 + main/gpgme/version | 1 + main/gpm/PKGBUILD | 63 + main/gpm/README | 43 + main/gpm/gpm.path | 5 + main/gpm/gpm.service | 13 + main/gpm/gpm.sh | 3 + main/gpm/version | 1 + main/gptfdisk/PKGBUILD | 42 + main/gptfdisk/README | 43 + main/gptfdisk/version | 1 + main/graphene/PKGBUILD | 54 + main/graphene/no-installed-tests.diff | 15 + main/graphene/version | 1 + main/graphite/.nvchecker.toml | 5 + main/graphite/PKGBUILD | 64 + main/graphite/README | 43 + main/graphite/version | 1 + main/grep/PKGBUILD | 47 + main/grep/README | 43 + main/grep/version | 1 + main/grml-zsh-config/PKGBUILD | 30 + main/grml-zsh-config/README | 43 + main/grml-zsh-config/version | 1 + main/groff/.PKGINFO | 23 + main/groff/PKGBUILD | 66 + main/groff/README | 43 + main/groff/display-utc-times.patch | 86 + main/groff/site.tmac | 37 + main/groff/version | 1 + main/grub/PKGBUILD | 54 + main/grub/README | 43 + main/grub/grub.default | 63 + main/grub/grub.install | 38 + main/grub/sbat.csv | 2 + main/grub/version | 1 + main/gsettings-desktop-schemas/PKGBUILD | 48 + main/gsettings-desktop-schemas/README | 43 + main/gsettings-desktop-schemas/version | 1 + main/gsm/PKGBUILD | 44 + main/gsm/README | 43 + main/gsm/gsm-fix-toast-install.patch | 16 + main/gsm/gsm-shared.patch | 130 + main/gsm/version | 1 + main/gssproxy/.nvchecker.toml | 5 + main/gssproxy/PKGBUILD | 70 + main/gssproxy/README | 43 + main/gssproxy/version | 1 + main/gstreamer/.PKGINFO | 156 + ...0001-HACK-meson-Disable-broken-tests.patch | 135 + ...ibav-Fix-compatibility-with-ffmpeg-7.patch | 1958 +++ main/gstreamer/PKGBUILD | 845 ++ main/gstreamer/README | 43 + main/gstreamer/gstreamer.install | 7 + main/gstreamer/version | 1 + main/gtest/PKGBUILD | 65 + main/gtest/gtest-version.patch | 22 + main/gtest/version | 1 + main/gtk3/.PKGINFO | 65 + main/gtk3/PKGBUILD | 156 + main/gtk3/README | 43 + main/gtk3/gtk-query-immodules-3.0.hook | 11 + main/gtk3/gtk3.install | 3 + main/gtk3/version | 1 + main/gtk4/.PKGINFO | 39 + ...t-use-objcopy-for-resource-embedding.patch | 29 + main/gtk4/PKGBUILD | 228 + main/gtk4/README | 43 + main/gtk4/gtk-update-icon-cache.hook | 13 + main/gtk4/gtk-update-icon-cache.script | 10 + main/gtk4/gtk4-querymodules.hook | 12 + main/gtk4/gtk4-querymodules.script | 7 + main/gtk4/version | 1 + main/guile/PKGBUILD | 37 + main/guile/README | 43 + main/guile/version | 1 + main/gzip/PKGBUILD | 49 + main/gzip/README | 43 + main/gzip/version | 1 + main/harfbuzz/.PKGINFO | 36 + main/harfbuzz/PKGBUILD | 163 + main/harfbuzz/README | 43 + main/harfbuzz/version | 1 + main/hdparm/PKGBUILD | 41 + main/hdparm/README | 43 + main/hdparm/pass-ldflags.patch | 11 + main/hdparm/version | 1 + main/hicolor-icon-theme/PKGBUILD | 23 + main/hicolor-icon-theme/README | 43 + main/hicolor-icon-theme/version | 1 + main/hidapi/PKGBUILD | 26 + main/hidapi/README | 43 + main/hidapi/version | 1 + main/highway/PKGBUILD | 34 + main/highway/README | 43 + main/highway/version | 1 + main/hunspell/.nvchecker.toml | 5 + main/hunspell/PKGBUILD | 39 + main/hunspell/README | 43 + main/hunspell/version | 1 + main/hwdata/.PKGINFO | 15 + main/hwdata/PKGBUILD | 24 + main/hwdata/README | 43 + main/hwdata/version | 1 + main/hwinfo/PKGBUILD | 43 + main/hwinfo/README | 43 + main/hwinfo/custom_ioctl.patch | 20 + main/hwinfo/version | 1 + main/hwloc/PKGBUILD | 38 + main/hwloc/version | 1 + main/i2c-tools/.PKGINFO | 20 + main/i2c-tools/.nvchecker.toml | 5 + main/i2c-tools/45-i2c-tools.rules | 2 + main/i2c-tools/PKGBUILD | 48 + main/i2c-tools/README | 43 + main/i2c-tools/i2c-tools.sysusers | 1 + main/i2c-tools/python-makefile.patch | 13 + main/i2c-tools/version | 1 + main/iana-etc/.PKGINFO | 15 + main/iana-etc/LICENSE | 1 + main/iana-etc/PKGBUILD | 51 + main/iana-etc/README | 43 + main/iana-etc/version | 1 + main/icu/.PKGINFO | 25 + main/icu/.nvchecker.toml | 7 + main/icu/ICU-22132.patch | 25 + main/icu/LICENSE | 519 + main/icu/PKGBUILD | 60 + main/icu/README | 43 + main/icu/version | 1 + main/imath/.PKGINFO | 20 + main/imath/.nvchecker.toml | 6 + main/imath/PKGBUILD | 31 + main/imath/README | 43 + main/imath/version | 1 + main/intel-media-sdk/.PKGINFO | 23 + .../020-intel-media-sdk-gcc13-fix.patch | 10 + main/intel-media-sdk/PKGBUILD | 69 + main/intel-media-sdk/README | 43 + main/intel-media-sdk/version | 1 + main/intel-ucode/.PKGINFO | 15 + main/intel-ucode/PKGBUILD | 31 + main/intel-ucode/README | 43 + main/intel-ucode/version | 1 + main/iproute2/.PKGINFO | 23 + .../0001-make-iproute2-fhs-compliant.patch | 103 + main/iproute2/0002-bdb-5-3.patch | 22 + main/iproute2/PKGBUILD | 59 + main/iproute2/README | 43 + main/iproute2/version | 1 + main/iptables/PKGBUILD | 105 + main/iptables/README | 43 + main/iptables/arptables.service | 14 + main/iptables/ebtables.service | 14 + main/iptables/empty-filter.rules | 6 + main/iptables/empty-mangle.rules | 8 + main/iptables/empty-nat.rules | 7 + main/iptables/empty-raw.rules | 5 + main/iptables/empty-security.rules | 6 + main/iptables/empty.rules | 6 + main/iptables/ip6tables.service | 15 + .../iptables-apply-default-path.patch | 53 + main/iptables/iptables-legacy-flush | 18 + main/iptables/iptables-nft-flush | 18 + main/iptables/iptables.service | 14 + main/iptables/simple_firewall.rules | 11 + main/iptables/version | 1 + main/iputils/PKGBUILD | 34 + main/iputils/README | 43 + main/iputils/version | 1 + main/irssi/.PKGINFO | 26 + main/irssi/PKGBUILD | 38 + main/irssi/README | 43 + main/irssi/version | 1 + main/iso-codes/.nvchecker.toml | 6 + main/iso-codes/PKGBUILD | 24 + main/iso-codes/README | 43 + main/iso-codes/version | 1 + main/iw/.PKGINFO | 15 + main/iw/PKGBUILD | 26 + main/iw/README | 43 + main/iw/version | 1 + main/iwd/.PKGINFO | 22 + main/iwd/.nvchecker.toml | 5 + ...network-group-for-unprivileged-access.diff | 22 + main/iwd/PKGBUILD | 61 + main/iwd/README | 43 + main/iwd/version | 1 + main/jack2/PKGBUILD | 117 + main/jack2/README | 43 + main/jack2/jack2-1.9.22-db-5.3.patch | 15 + main/jack2/version | 1 + main/jansson/.PKGINFO | 14 + main/jansson/PKGBUILD | 31 + main/jansson/README | 43 + main/jansson/version | 1 + main/jbigkit/.PKGINFO | 14 + main/jbigkit/PKGBUILD | 64 + main/jbigkit/README | 43 + main/jbigkit/jbigkit-2.1-build_warnings.patch | 77 + main/jbigkit/jbigkit-2.1-coverity.patch | 30 + main/jbigkit/jbigkit-2.1-ldflags.patch | 51 + main/jbigkit/jbigkit-2.1-shared_lib.patch | 160 + main/jbigkit/version | 1 + main/jemalloc/.PKGINFO | 17 + main/jemalloc/PKGBUILD | 41 + main/jemalloc/README | 43 + main/jemalloc/version | 1 + main/jfsutils/PKGBUILD | 45 + main/jfsutils/README | 43 + main/jfsutils/inttypes.patch | 12 + ...sutils-1.1.15-format-security-errors.patch | 37 + main/jfsutils/jfsutils-1.1.15-gcc10.patch | 74 + .../jfsutils-1.1.15-missing-includes.patch | 17 + main/jfsutils/jfsutils-1.1.15-sysmacros.patch | 15 + main/jfsutils/sysmacros.patch | 15 + main/jfsutils/version | 1 + main/json-c/PKGBUILD | 59 + main/json-c/README | 43 + main/json-c/version | 1 + main/json-glib/PKGBUILD | 70 + main/json-glib/README | 43 + main/json-glib/version | 1 + main/kaccounts-integration/.PKGINFO | 33 + main/kaccounts-integration/PKGBUILD | 46 + main/kaccounts-integration/README | 43 + main/kaccounts-integration/version | 1 + main/kactivitymanagerd/.PKGINFO | 28 + main/kactivitymanagerd/PKGBUILD | 44 + main/kactivitymanagerd/README | 43 + main/kactivitymanagerd/version | 1 + main/karchive/.PKGINFO | 26 + main/karchive/PKGBUILD | 38 + main/karchive/README | 43 + main/karchive/version | 1 + main/kauth/.PKGINFO | 25 + main/kauth/PKGBUILD | 38 + main/kauth/README | 43 + main/kauth/version | 1 + main/kbd/PKGBUILD | 64 + main/kbd/README | 43 + main/kbd/fix-euro2.patch | 9 + main/kbd/kbd-fix-loadkmap-compat.patch | 22 + main/kbd/version | 1 + main/kbd/vlock.pam | 5 + main/kbookmarks/.PKGINFO | 26 + main/kbookmarks/PKGBUILD | 38 + main/kbookmarks/README | 43 + main/kbookmarks/version | 1 + main/kcmutils/.PKGINFO | 34 + main/kcmutils/PKGBUILD | 47 + main/kcmutils/README | 43 + main/kcmutils/version | 1 + main/kcodecs/.PKGINFO | 23 + main/kcodecs/PKGBUILD | 35 + main/kcodecs/README | 43 + main/kcodecs/version | 1 + main/kcolorscheme/.PKGINFO | 25 + main/kcolorscheme/PKGBUILD | 37 + main/kcolorscheme/README | 43 + main/kcolorscheme/version | 1 + main/kcompletion/.PKGINFO | 25 + main/kcompletion/PKGBUILD | 37 + main/kcompletion/README | 43 + main/kcompletion/version | 1 + main/kconfig/.PKGINFO | 23 + main/kconfig/PKGBUILD | 36 + main/kconfig/README | 43 + main/kconfig/version | 1 + main/kconfigwidgets/.PKGINFO | 28 + main/kconfigwidgets/PKGBUILD | 40 + main/kconfigwidgets/README | 43 + main/kconfigwidgets/version | 1 + main/kcoreaddons/.PKGINFO | 25 + main/kcoreaddons/PKGBUILD | 37 + main/kcoreaddons/README | 43 + main/kcoreaddons/version | 1 + main/kcrash/.PKGINFO | 25 + main/kcrash/PKGBUILD | 38 + main/kcrash/README | 43 + main/kcrash/version | 1 + main/kdbusaddons/.PKGINFO | 22 + main/kdbusaddons/PKGBUILD | 34 + main/kdbusaddons/README | 43 + main/kdbusaddons/version | 1 + main/kde-cli-tools/.PKGINFO | 33 + main/kde-cli-tools/PKGBUILD | 49 + main/kde-cli-tools/README | 43 + main/kde-cli-tools/version | 1 + main/kde-gtk-config/.PKGINFO | 32 + main/kde-gtk-config/PKGBUILD | 48 + main/kde-gtk-config/README | 43 + main/kde-gtk-config/version | 1 + main/kdeclarative/.PKGINFO | 30 + main/kdeclarative/PKGBUILD | 42 + main/kdeclarative/README | 43 + main/kdeclarative/version | 1 + main/kdecoration/.PKGINFO | 19 + main/kdecoration/PKGBUILD | 34 + main/kdecoration/README | 43 + main/kdecoration/version | 1 + main/kded/.PKGINFO | 25 + main/kded/PKGBUILD | 36 + main/kded/README | 43 + main/kded/version | 1 + main/kdeplasma-addons/.PKGINFO | 55 + main/kdeplasma-addons/PKGBUILD | 71 + main/kdeplasma-addons/README | 43 + main/kdeplasma-addons/version | 1 + main/kdesu/.PKGINFO | 27 + main/kdesu/PKGBUILD | 40 + main/kdesu/README | 43 + main/kdesu/version | 1 + main/kdnssd/.PKGINFO | 22 + main/kdnssd/PKGBUILD | 34 + main/kdnssd/README | 43 + main/kdnssd/version | 1 + .../.nvchecker.toml | 6 + main/kdsoap-ws-discovery-client/PKGBUILD | 35 + main/kdsoap-ws-discovery-client/README | 43 + main/kdsoap-ws-discovery-client/version | 1 + main/kdsoap/.nvchecker.toml | 5 + main/kdsoap/PKGBUILD | 52 + main/kdsoap/README | 43 + main/kdsoap/version | 1 + main/keyutils/PKGBUILD | 42 + main/keyutils/README | 43 + main/keyutils/reproducible.patch | 24 + main/keyutils/request-key.conf.patch | 21 + main/keyutils/version | 1 + main/kfilemetadata/.PKGINFO | 38 + main/kfilemetadata/PKGBUILD | 49 + main/kfilemetadata/README | 43 + main/kfilemetadata/version | 1 + main/kgamma/.PKGINFO | 27 + main/kgamma/PKGBUILD | 42 + main/kgamma/README | 43 + main/kgamma/version | 1 + main/kglobalaccel/.PKGINFO | 22 + main/kglobalaccel/PKGBUILD | 34 + main/kglobalaccel/README | 43 + main/kglobalaccel/version | 1 + main/kglobalacceld/.PKGINFO | 30 + main/kglobalacceld/PKGBUILD | 46 + main/kglobalacceld/README | 43 + main/kglobalacceld/version | 1 + main/kguiaddons/.PKGINFO | 26 + main/kguiaddons/PKGBUILD | 38 + main/kguiaddons/README | 43 + main/kguiaddons/version | 1 + main/kholidays/.PKGINFO | 24 + main/kholidays/PKGBUILD | 37 + main/kholidays/README | 43 + main/kholidays/version | 1 + main/ki18n/.PKGINFO | 27 + main/ki18n/PKGBUILD | 39 + main/ki18n/README | 43 + main/ki18n/version | 1 + main/kiconthemes/.PKGINFO | 31 + main/kiconthemes/PKGBUILD | 43 + main/kiconthemes/README | 43 + main/kiconthemes/version | 1 + main/kidletime/.PKGINFO | 32 + main/kidletime/PKGBUILD | 44 + main/kidletime/README | 43 + main/kidletime/version | 1 + main/kinfocenter/.PKGINFO | 44 + main/kinfocenter/PKGBUILD | 59 + main/kinfocenter/README | 43 + main/kinfocenter/version | 1 + main/kio-extras/.PKGINFO | 60 + main/kio-extras/PKGBUILD | 75 + main/kio-extras/README | 43 + main/kio-extras/version | 1 + main/kio-fuse/.nvchecker.toml | 6 + main/kio-fuse/PKGBUILD | 33 + main/kio-fuse/README | 43 + main/kio-fuse/version | 1 + main/kirigami-addons/.PKGINFO | 25 + main/kirigami-addons/.nvchecker.toml | 6 + main/kirigami-addons/PKGBUILD | 37 + main/kirigami-addons/README | 43 + main/kirigami-addons/version | 1 + main/kitemmodels/.PKGINFO | 24 + main/kitemmodels/PKGBUILD | 36 + main/kitemmodels/README | 43 + main/kitemmodels/version | 1 + main/kitemviews/.PKGINFO | 22 + main/kitemviews/PKGBUILD | 34 + main/kitemviews/README | 43 + main/kitemviews/version | 1 + main/kitty/.PKGINFO | 19 + main/kitty/PKGBUILD | 67 + main/kitty/README | 43 + main/kitty/version | 1 + main/kjobwidgets/.PKGINFO | 25 + main/kjobwidgets/PKGBUILD | 37 + main/kjobwidgets/README | 43 + main/kjobwidgets/version | 1 + main/kmenuedit/.PKGINFO | 34 + main/kmenuedit/PKGBUILD | 49 + main/kmenuedit/README | 43 + main/kmenuedit/version | 1 + main/kmod/PKGBUILD | 80 + main/kmod/README | 43 + main/kmod/depmod-search.conf | 5 + main/kmod/depmod.hook | 13 + main/kmod/depmod.script | 13 + main/kmod/version | 1 + main/knewstuff/.PKGINFO | 34 + main/knewstuff/PKGBUILD | 58 + main/knewstuff/README | 43 + main/knewstuff/version | 1 + main/knotifications/.PKGINFO | 26 + main/knotifications/PKGBUILD | 38 + main/knotifications/README | 43 + main/knotifications/version | 1 + main/knotifyconfig/.PKGINFO | 26 + main/knotifyconfig/PKGBUILD | 38 + main/knotifyconfig/README | 43 + main/knotifyconfig/version | 1 + main/konsole/.PKGINFO | 48 + main/konsole/PKGBUILD | 60 + main/konsole/README | 43 + main/konsole/version | 1 + main/kpackage/.PKGINFO | 26 + main/kpackage/PKGBUILD | 39 + main/kpackage/README | 43 + main/kpackage/version | 1 + main/kparts/.PKGINFO | 28 + main/kparts/PKGBUILD | 40 + main/kparts/README | 43 + main/kparts/version | 1 + main/kpipewire/.PKGINFO | 28 + main/kpipewire/PKGBUILD | 43 + main/kpipewire/README | 43 + main/kpipewire/version | 1 + main/kpmcore/.PKGINFO | 36 + main/kpmcore/PKGBUILD | 49 + main/kpmcore/README | 43 + main/kpmcore/version | 1 + main/kpty/.PKGINFO | 25 + main/kpty/PKGBUILD | 37 + main/kpty/README | 43 + main/kpty/version | 1 + main/kquickcharts/.PKGINFO | 22 + main/kquickcharts/PKGBUILD | 33 + main/kquickcharts/README | 43 + main/kquickcharts/version | 1 + main/krb5/PKGBUILD | 96 + main/krb5/README | 43 + main/krb5/krb5-kadmind.service | 8 + main/krb5/krb5-kdc.service | 9 + main/krb5/krb5-kpropd.service | 8 + main/krb5/krb5-kpropd.socket | 9 + main/krb5/krb5-kpropd@.service | 8 + main/krb5/version | 1 + main/krunner/.PKGINFO | 27 + main/krunner/PKGBUILD | 39 + main/krunner/README | 43 + main/krunner/version | 1 + main/kscreen/.PKGINFO | 36 + main/kscreen/PKGBUILD | 52 + main/kscreen/README | 43 + main/kscreen/version | 1 + main/kscreenlocker/.PKGINFO | 48 + main/kscreenlocker/PKGBUILD | 74 + main/kscreenlocker/README | 43 + main/kscreenlocker/kde-fingerprint.pam | 14 + main/kscreenlocker/kde-smartcard.pam | 14 + main/kscreenlocker/kde.pam | 9 + main/kscreenlocker/version | 1 + main/kservice/.PKGINFO | 26 + main/kservice/PKGBUILD | 38 + main/kservice/README | 43 + main/kservice/version | 1 + main/ksshaskpass/.PKGINFO | 24 + main/ksshaskpass/PKGBUILD | 40 + main/ksshaskpass/README | 43 + main/ksshaskpass/ksshaskpass.install | 5 + main/ksshaskpass/version | 1 + main/kstatusnotifieritem/.PKGINFO | 22 + main/kstatusnotifieritem/PKGBUILD | 35 + main/kstatusnotifieritem/README | 43 + main/kstatusnotifieritem/version | 1 + main/ksvg/.PKGINFO | 32 + main/ksvg/PKGBUILD | 44 + main/ksvg/README | 43 + main/ksvg/version | 1 + main/ksystemstats/.PKGINFO | 29 + main/ksystemstats/PKGBUILD | 44 + main/ksystemstats/README | 43 + main/ksystemstats/version | 1 + main/ktexteditor/.PKGINFO | 44 + main/ktexteditor/PKGBUILD | 56 + main/ktexteditor/README | 43 + main/ktexteditor/version | 1 + main/ktextwidgets/.PKGINFO | 30 + main/ktextwidgets/PKGBUILD | 42 + main/ktextwidgets/README | 43 + main/ktextwidgets/version | 1 + main/kunitconversion/.PKGINFO | 23 + main/kunitconversion/PKGBUILD | 35 + main/kunitconversion/README | 43 + main/kunitconversion/version | 1 + main/kuserfeedback/.PKGINFO | 28 + main/kuserfeedback/PKGBUILD | 39 + main/kuserfeedback/README | 43 + main/kuserfeedback/version | 1 + main/kwallet-pam/.PKGINFO | 21 + main/kwallet-pam/PKGBUILD | 36 + main/kwallet-pam/README | 43 + main/kwallet-pam/version | 1 + main/kwayland/.PKGINFO | 25 + main/kwayland/PKGBUILD | 42 + main/kwayland/README | 43 + main/kwayland/version | 1 + main/kwidgetsaddons/.PKGINFO | 22 + main/kwidgetsaddons/PKGBUILD | 34 + main/kwidgetsaddons/README | 43 + main/kwidgetsaddons/version | 1 + main/kwin/.PKGINFO | 83 + main/kwin/PKGBUILD | 100 + main/kwin/README | 43 + main/kwin/kwin.install | 9 + main/kwin/version | 1 + main/kwindowsystem/.PKGINFO | 32 + main/kwindowsystem/PKGBUILD | 44 + main/kwindowsystem/README | 43 + main/kwindowsystem/version | 1 + main/kwrited/.PKGINFO | 23 + main/kwrited/PKGBUILD | 38 + main/kwrited/README | 43 + main/kwrited/version | 1 + main/kxmlgui/.PKGINFO | 32 + main/kxmlgui/PKGBUILD | 45 + main/kxmlgui/README | 43 + main/kxmlgui/version | 1 + main/l-smash/PKGBUILD | 37 + main/l-smash/README | 43 + main/l-smash/version | 1 + main/lame/PKGBUILD | 46 + main/lame/README | 43 + main/lame/lame.pc.in | 10 + main/lame/version | 1 + main/lapack/PKGBUILD | 145 + main/lapack/version | 1 + main/layer-shell-qt/.PKGINFO | 23 + main/layer-shell-qt/PKGBUILD | 36 + main/layer-shell-qt/README | 43 + main/layer-shell-qt/version | 1 + main/lbzip2/PKGBUILD | 41 + main/lbzip2/README | 43 + main/lbzip2/lbzip2-gnulib-build-fix.patch | 30 + main/lbzip2/version | 1 + main/lcms2/PKGBUILD | 35 + main/lcms2/README | 43 + main/lcms2/version | 1 + main/ldb/.PKGINFO | 25 + main/ldb/PKGBUILD | 39 + main/ldb/README | 43 + main/ldb/version | 1 + main/ldns/PKGBUILD | 37 + main/ldns/README | 43 + main/ldns/version | 1 + main/less/.PKGINFO | 16 + main/less/PKGBUILD | 43 + main/less/README | 43 + main/less/version | 1 + main/lftp/.nvchecker.toml | 5 + main/lftp/PKGBUILD | 42 + main/lftp/README | 43 + main/lftp/lftp-4.9.2-gnutls-peers2.patch | 261 + main/lftp/version | 1 + main/libaccounts-glib/.PKGINFO | 23 + main/libaccounts-glib/.nvchecker.toml | 7 + main/libaccounts-glib/PKGBUILD | 36 + main/libaccounts-glib/README | 43 + main/libaccounts-glib/version | 1 + main/libaccounts-qt/.nvchecker.toml | 6 + main/libaccounts-qt/PKGBUILD | 38 + main/libaccounts-qt/README | 43 + main/libaccounts-qt/version | 1 + main/libaio/.nvchecker.toml | 5 + main/libaio/PKGBUILD | 40 + main/libaio/README | 43 + main/libaio/version | 1 + main/libappindicator/PKGBUILD | 67 + main/libappindicator/README | 43 + main/libappindicator/version | 1 + main/libarchive/.PKGINFO | 29 + main/libarchive/PKGBUILD | 49 + main/libarchive/README | 43 + main/libarchive/version | 1 + main/libass/.PKGINFO | 22 + main/libass/PKGBUILD | 57 + main/libass/README | 43 + main/libass/version | 1 + main/libassuan/.nvchecker.toml | 5 + main/libassuan/PKGBUILD | 44 + main/libassuan/README | 43 + main/libassuan/version | 1 + main/libasyncns/PKGBUILD | 41 + main/libasyncns/README | 43 + main/libasyncns/version | 1 + .../0001-Dont-test-undefined-bits.patch | 28 + ...p-our-own-many-bad-sectors-heuristic.patch | 93 + main/libatasmart/PKGBUILD | 34 + main/libatasmart/README | 43 + main/libatasmart/version | 1 + main/libavc1394/PKGBUILD | 24 + main/libavc1394/README | 43 + main/libavc1394/version | 1 + main/libb2/.nvchecker.toml | 5 + main/libb2/PKGBUILD | 34 + main/libb2/README | 43 + main/libb2/version | 1 + main/libblockdev/.PKGINFO | 48 + main/libblockdev/.nvchecker.toml | 5 + main/libblockdev/PKGBUILD | 359 + main/libblockdev/README | 43 + main/libblockdev/version | 1 + main/libbluray/PKGBUILD | 60 + main/libbluray/README | 43 + main/libbluray/version | 1 + main/libbpf/PKGBUILD | 30 + main/libbpf/README | 43 + main/libbpf/version | 1 + main/libbs2b/PKGBUILD | 51 + main/libbs2b/README | 43 + main/libbs2b/formatsecurity.diff | 12 + main/libbs2b/version | 1 + main/libbsd/.PKGINFO | 16 + main/libbsd/PKGBUILD | 41 + main/libbsd/README | 43 + main/libbsd/version | 1 + main/libbytesize/.PKGINFO | 17 + main/libbytesize/PKGBUILD | 27 + main/libbytesize/README | 43 + main/libbytesize/version | 1 + main/libcamera/PKGBUILD | 206 + main/libcamera/README | 43 + main/libcamera/libcamera-0.0.5-sphinx.patch | 13 + main/libcamera/version | 1 + main/libcanberra/40-libcanberra-gtk-module.sh | 13 + main/libcanberra/PKGBUILD | 66 + main/libcanberra/README | 43 + .../libcanberra-multi-backend.patch | 26 + main/libcanberra/version | 1 + main/libcap-ng/.PKGINFO | 21 + main/libcap-ng/PKGBUILD | 88 + main/libcap-ng/README | 43 + main/libcap-ng/version | 1 + main/libcbor/PKGBUILD | 42 + main/libcbor/README | 43 + main/libcbor/version | 1 + main/libcloudproviders/PKGBUILD | 49 + main/libcloudproviders/README | 43 + main/libcloudproviders/version | 1 + main/libdaemon/PKGBUILD | 27 + main/libdaemon/README | 43 + main/libdaemon/version | 1 + main/libdatrie/PKGBUILD | 32 + main/libdatrie/README | 43 + main/libdatrie/version | 1 + main/libdbusmenu/PKGBUILD | 79 + main/libdbusmenu/README | 43 + main/libdbusmenu/version | 1 + main/libdc1394/PKGBUILD | 32 + main/libdc1394/version | 1 + main/libdca/PKGBUILD | 31 + main/libdca/README | 43 + main/libdca/version | 1 + main/libdecor/PKGBUILD | 24 + main/libdecor/README | 43 + main/libdecor/version | 1 + main/libdeflate/.PKGINFO | 18 + main/libdeflate/PKGBUILD | 45 + main/libdeflate/README | 43 + main/libdeflate/version | 1 + main/libdisplay-info/.nvchecker.toml | 5 + main/libdisplay-info/PKGBUILD | 39 + main/libdisplay-info/README | 43 + main/libdisplay-info/version | 1 + main/libdmtx/.nvchecker.toml | 5 + main/libdmtx/PKGBUILD | 25 + main/libdmtx/README | 43 + main/libdmtx/version | 1 + main/libdnet/PKGBUILD | 43 + main/libdnet/README | 43 + main/libdnet/version | 1 + main/libdovi/.PKGINFO | 19 + main/libdovi/PKGBUILD | 61 + main/libdovi/README | 43 + main/libdovi/version | 1 + main/libdrm/.PKGINFO | 21 + main/libdrm/.nvchecker.toml | 6 + main/libdrm/COPYING | 48 + main/libdrm/PKGBUILD | 47 + main/libdrm/README | 43 + main/libdrm/version | 1 + main/libdvbpsi/PKGBUILD | 33 + main/libdvbpsi/README | 43 + main/libdvbpsi/version | 1 + main/libebml/PKGBUILD | 39 + main/libebml/README | 43 + main/libebml/version | 1 + main/libedit/PKGBUILD | 37 + main/libedit/README | 43 + main/libedit/version | 1 + main/libei/PKGBUILD | 65 + main/libei/README | 43 + main/libei/version | 1 + main/libepoxy/PKGBUILD | 59 + main/libepoxy/README | 43 + main/libepoxy/version | 1 + main/libevdev/.nvchecker.toml | 6 + main/libevdev/PKGBUILD | 33 + main/libevdev/README | 43 + main/libevdev/version | 1 + main/libevent/EVENT__SIZEOF_TIME_T.patch | 37 + main/libevent/PKGBUILD | 69 + main/libevent/README | 43 + .../libevent-2.1.12-openssl-compat.patch | 74 + main/libevent/version | 1 + main/libfdk-aac/PKGBUILD | 42 + main/libfdk-aac/README | 43 + main/libfdk-aac/version | 1 + main/libffi/.nvchecker.toml | 4 + main/libffi/PKGBUILD | 45 + main/libffi/README | 43 + main/libffi/version | 1 + main/libfido2/PKGBUILD | 46 + main/libfido2/README | 43 + main/libfido2/version | 1 + main/libfontenc/.nvchecker.toml | 8 + main/libfontenc/PKGBUILD | 31 + main/libfontenc/README | 43 + main/libfontenc/version | 1 + main/libfreeaptx/PKGBUILD | 40 + main/libfreeaptx/README | 43 + main/libfreeaptx/version | 1 + main/libgcrypt/.nvchecker.toml | 9 + main/libgcrypt/PKGBUILD | 53 + main/libgcrypt/README | 43 + main/libgcrypt/version | 1 + main/libglvnd/LICENSE | 26 + main/libglvnd/PKGBUILD | 33 + main/libglvnd/README | 43 + main/libglvnd/version | 1 + main/libgpg-error/.PKGINFO | 18 + main/libgpg-error/.nvchecker.toml | 9 + main/libgpg-error/PKGBUILD | 42 + main/libgpg-error/README | 43 + main/libgpg-error/version | 1 + main/libgudev/PKGBUILD | 61 + main/libgudev/README | 43 + main/libgudev/version | 1 + main/libice/.nvchecker.toml | 8 + main/libice/PKGBUILD | 30 + main/libice/README | 43 + main/libice/version | 1 + main/libidn/PKGBUILD | 40 + main/libidn/README | 43 + main/libidn/version | 1 + main/libidn2/PKGBUILD | 43 + main/libidn2/README | 43 + main/libidn2/version | 1 + main/libiec61883/PKGBUILD | 26 + main/libiec61883/README | 43 + main/libiec61883/version | 1 + main/libimobiledevice-glue/PKGBUILD | 25 + main/libimobiledevice-glue/README | 43 + main/libimobiledevice-glue/version | 1 + main/libinih/PKGBUILD | 45 + main/libinih/README | 43 + main/libinih/version | 1 + main/libinput/.PKGINFO | 27 + main/libinput/.nvchecker.toml | 5 + main/libinput/PKGBUILD | 43 + main/libinput/README | 43 + main/libinput/version | 1 + main/libisl/.PKGINFO | 17 + main/libisl/PKGBUILD | 38 + main/libisl/README | 43 + main/libisl/version | 1 + main/libjpeg-turbo/.PKGINFO | 24 + main/libjpeg-turbo/PKGBUILD | 68 + main/libjpeg-turbo/README | 43 + main/libjpeg-turbo/version | 1 + main/libjxl/PKGBUILD | 95 + main/libjxl/README | 43 + main/libjxl/version | 1 + main/libkexiv2/.PKGINFO | 21 + main/libkexiv2/PKGBUILD | 48 + main/libkexiv2/README | 43 + main/libkexiv2/version | 1 + main/libksba/PKGBUILD | 32 + main/libksba/README | 43 + main/libksba/version | 1 + main/libkscreen/.PKGINFO | 25 + main/libkscreen/PKGBUILD | 42 + main/libkscreen/README | 43 + main/libkscreen/version | 1 + main/libksysguard/.PKGINFO | 36 + main/libksysguard/PKGBUILD | 53 + main/libksysguard/README | 43 + main/libksysguard/libksysguard.install | 9 + main/libksysguard/version | 1 + main/liblc3/.PKGINFO | 17 + main/liblc3/PKGBUILD | 44 + main/liblc3/README | 43 + main/liblc3/version | 1 + main/libldac/PKGBUILD | 43 + main/libldac/README | 43 + main/libldac/version | 1 + main/liblouis/.PKGINFO | 22 + main/liblouis/PKGBUILD | 39 + main/liblouis/README | 43 + main/liblouis/version | 1 + main/libmad/PKGBUILD | 47 + main/libmad/README | 43 + main/libmad/libmad-0.15.1b-gcc43.patch | 130 + main/libmad/libmad-amd64-64bit.diff | 12 + main/libmad/libmad-length-check.patch | 817 ++ main/libmad/libmad-md_size.diff | 58 + main/libmad/libmad-pkgconfig.patch | 117 + main/libmad/version | 1 + main/libmatroska/PKGBUILD | 41 + main/libmatroska/README | 43 + main/libmatroska/version | 1 + main/libmaxminddb/.PKGINFO | 15 + main/libmaxminddb/PKGBUILD | 43 + main/libmaxminddb/README | 43 + main/libmaxminddb/version | 1 + main/libmbim/PKGBUILD | 55 + main/libmbim/README | 43 + main/libmbim/version | 1 + main/libmd/.nvchecker.toml | 4 + main/libmd/PKGBUILD | 32 + main/libmd/README | 43 + main/libmd/version | 1 + main/libmnl/PKGBUILD | 27 + main/libmnl/README | 43 + main/libmnl/version | 1 + main/libmodplug/PKGBUILD | 35 + main/libmodplug/README | 43 + .../libmodplug-0.8.9.0-no-fast-math.patch | 12 + main/libmodplug/version | 1 + main/libmpc/.nvchecker.toml | 4 + main/libmpc/PKGBUILD | 32 + main/libmpc/README | 43 + main/libmpc/mpc-fix-includes.patch | 413 + main/libmpc/version | 1 + main/libmpeg2/.PKGINFO | 14 + main/libmpeg2/PKGBUILD | 27 + main/libmpeg2/README | 43 + main/libmpeg2/version | 1 + main/libmspack/PKGBUILD | 49 + main/libmspack/README | 43 + main/libmspack/version | 1 + main/libmtp/.nvchecker.toml | 4 + main/libmtp/PKGBUILD | 35 + main/libmtp/README | 43 + main/libmtp/version | 1 + main/libmysofa/PKGBUILD | 37 + main/libmysofa/README | 43 + main/libmysofa/version | 1 + main/libndp/PKGBUILD | 42 + main/libndp/README | 43 + main/libndp/version | 1 + main/libnetfilter_conntrack/PKGBUILD | 29 + main/libnetfilter_conntrack/README | 43 + main/libnetfilter_conntrack/version | 1 + main/libnewt/.PKGINFO | 20 + main/libnewt/PKGBUILD | 34 + main/libnewt/README | 43 + main/libnewt/version | 1 + main/libnfnetlink/PKGBUILD | 28 + main/libnfnetlink/README | 43 + main/libnfnetlink/version | 1 + main/libnftnl/PKGBUILD | 46 + main/libnftnl/README | 43 + main/libnftnl/version | 1 + main/libnghttp2/.PKGINFO | 17 + main/libnghttp2/PKGBUILD | 59 + main/libnghttp2/README | 43 + main/libnghttp2/version | 1 + main/libnghttp3/.PKGINFO | 15 + main/libnghttp3/PKGBUILD | 40 + main/libnghttp3/README | 43 + main/libnghttp3/version | 1 + main/libnl/PKGBUILD | 37 + main/libnl/README | 43 + main/libnl/version | 1 + main/libnma/PKGBUILD | 124 + main/libnma/README | 43 + main/libnma/version | 1 + main/libnotify/PKGBUILD | 67 + main/libnotify/README | 43 + main/libnotify/version | 1 + main/libnsl/PKGBUILD | 34 + main/libnsl/README | 43 + main/libnsl/version | 1 + main/libnvme/.PKGINFO | 22 + main/libnvme/.nvchecker.toml | 6 + main/libnvme/PKGBUILD | 29 + main/libnvme/README | 43 + ...ibnvme-1.6-allocate_aligned_payloads.patch | 118 + main/libnvme/version | 1 + main/libogg/.PKGINFO | 18 + main/libogg/PKGBUILD | 44 + main/libogg/README | 43 + main/libogg/version | 1 + main/libomxil-bellagio/PKGBUILD | 39 + main/libomxil-bellagio/README | 43 + main/libomxil-bellagio/fedora-fixes.patch | 199 + main/libomxil-bellagio/version | 1 + main/libopenmpt/.PKGINFO | 27 + main/libopenmpt/.nvchecker.toml | 5 + main/libopenmpt/PKGBUILD | 54 + main/libopenmpt/README | 43 + main/libopenmpt/version | 1 + main/libotr/.PKGINFO | 17 + main/libotr/PKGBUILD | 33 + main/libotr/README | 43 + .../libotr-4.1.1-include-socket.h.patch | 16 + main/libotr/version | 1 + main/libpcap/PKGBUILD | 54 + main/libpcap/README | 43 + main/libpcap/version | 1 + main/libpciaccess/.nvchecker.toml | 8 + main/libpciaccess/PKGBUILD | 36 + main/libpciaccess/README | 43 + main/libpciaccess/version | 1 + main/libpgm/PKGBUILD | 34 + main/libpgm/README | 43 + main/libpgm/version | 1 + main/libpipeline/.nvchecker.toml | 4 + main/libpipeline/PKGBUILD | 34 + main/libpipeline/README | 43 + main/libpipeline/version | 1 + main/libplacebo/.PKGINFO | 38 + main/libplacebo/PKGBUILD | 55 + main/libplacebo/README | 43 + main/libplacebo/version | 1 + main/libplasma/.PKGINFO | 47 + main/libplasma/PKGBUILD | 63 + main/libplasma/README | 43 + main/libplasma/version | 1 + main/libplist/.PKGINFO | 20 + main/libplist/PKGBUILD | 32 + main/libplist/README | 43 + main/libplist/version | 1 + main/libpng/PKGBUILD | 42 + main/libpng/README | 43 + main/libpng/version | 1 + main/libproxy/.PKGINFO | 26 + main/libproxy/PKGBUILD | 72 + main/libproxy/README | 43 + main/libproxy/version | 1 + main/libpsl/.PKGINFO | 22 + main/libpsl/.nvchecker.toml | 3 + main/libpsl/PKGBUILD | 62 + main/libpsl/README | 43 + main/libpsl/version | 1 + main/libpwquality/.PKGINFO | 19 + main/libpwquality/PKGBUILD | 30 + main/libpwquality/README | 43 + main/libpwquality/version | 1 + main/libqaccessibilityclient/.nvchecker.toml | 6 + main/libqaccessibilityclient/PKGBUILD | 51 + main/libqaccessibilityclient/README | 43 + main/libqaccessibilityclient/version | 1 + main/libqalculate/.PKGINFO | 25 + main/libqalculate/.nvchecker.toml | 5 + main/libqalculate/PKGBUILD | 35 + main/libqalculate/README | 43 + main/libqalculate/version | 1 + main/libqmi/PKGBUILD | 55 + main/libqmi/README | 43 + main/libqmi/version | 1 + main/libqrtr-glib/PKGBUILD | 45 + main/libqrtr-glib/README | 43 + main/libqrtr-glib/version | 1 + main/libraw1394/PKGBUILD | 27 + main/libraw1394/README | 43 + main/libraw1394/version | 1 + main/librsvg/PKGBUILD | 93 + main/librsvg/README | 43 + main/librsvg/version | 1 + main/libsamplerate/PKGBUILD | 44 + main/libsamplerate/README | 43 + main/libsamplerate/version | 1 + main/libsasl/PKGBUILD | 103 + main/libsasl/README | 43 + main/libsasl/version | 1 + main/libseccomp/.PKGINFO | 18 + main/libseccomp/PKGBUILD | 56 + main/libseccomp/README | 43 + main/libseccomp/version | 1 + main/libsecret/PKGBUILD | 105 + main/libsecret/README | 43 + main/libsecret/version | 1 + main/libsm/.nvchecker.toml | 8 + main/libsm/PKGBUILD | 29 + main/libsm/README | 43 + main/libsm/version | 1 + main/libsndfile/PKGBUILD | 85 + main/libsndfile/README | 43 + main/libsndfile/version | 1 + main/libsodium/PKGBUILD | 39 + main/libsodium/README | 43 + main/libsodium/version | 1 + main/libsonic/PKGBUILD | 33 + main/libsonic/README | 43 + main/libsonic/ldflags.patch | 29 + main/libsonic/version | 1 + main/libsoup3/PKGBUILD | 89 + main/libsoup3/README | 43 + main/libsoup3/version | 1 + main/libsoxr/PKGBUILD | 42 + main/libsoxr/README | 43 + main/libsoxr/version | 1 + main/libssh/.nvchecker.toml | 4 + main/libssh/PKGBUILD | 60 + main/libssh/README | 43 + main/libssh/version | 1 + main/libssh2/PKGBUILD | 35 + main/libssh2/README | 43 + main/libssh2/version | 1 + main/libtar/PKGBUILD | 34 + main/libtar/README | 43 + main/libtar/version | 1 + main/libtasn1/.nvchecker.toml | 5 + main/libtasn1/PKGBUILD | 32 + main/libtasn1/README | 43 + main/libtasn1/version | 1 + main/libteam/PKGBUILD | 77 + main/libteam/README | 43 + main/libteam/version | 1 + main/libthai/PKGBUILD | 32 + main/libthai/README | 43 + main/libthai/version | 1 + main/libtheora/PKGBUILD | 39 + main/libtheora/README | 43 + main/libtheora/libtheora-1.1.1-libpng16.patch | 17 + main/libtheora/version | 1 + main/libtiff/.PKGINFO | 28 + main/libtiff/PKGBUILD | 57 + main/libtiff/README | 43 + main/libtiff/version | 1 + main/libtirpc/.nvchecker.toml | 7 + main/libtirpc/PKGBUILD | 29 + main/libtirpc/README | 43 + main/libtirpc/version | 1 + main/libtommath/PKGBUILD | 26 + main/libtommath/README | 43 + main/libtommath/version | 1 + main/libtool/.PKGINFO | 26 + main/libtool/PKGBUILD | 75 + main/libtool/README | 43 + main/libtool/disable-lto-link-order2.patch | 56 + main/libtool/grep_3.8_fix.patch | 17 + main/libtool/no_hostname.patch | 12 + main/libtool/version | 1 + main/libunibreak/PKGBUILD | 28 + main/libunibreak/README | 43 + main/libunibreak/version | 1 + main/libunistring/PKGBUILD | 35 + main/libunistring/README | 43 + main/libunistring/version | 1 + main/libunwind/.PKGINFO | 22 + main/libunwind/PKGBUILD | 57 + main/libunwind/README | 43 + main/libunwind/version | 1 + main/libupnp/.PKGINFO | 21 + main/libupnp/PKGBUILD | 48 + main/libupnp/README | 43 + main/libupnp/version | 1 + main/liburcu/PKGBUILD | 26 + main/liburcu/README | 43 + main/liburcu/version | 1 + main/liburing/.PKGINFO | 18 + main/liburing/PKGBUILD | 39 + main/liburing/README | 43 + main/liburing/version | 1 + main/libusb-compat/PKGBUILD | 29 + main/libusb-compat/README | 43 + main/libusb-compat/version | 1 + main/libusbmuxd/PKGBUILD | 24 + main/libusbmuxd/README | 43 + main/libusbmuxd/version | 1 + main/libutempter/PKGBUILD | 26 + main/libutempter/README | 43 + main/libutempter/version | 1 + main/libuv/PKGBUILD | 58 + main/libuv/README | 43 + main/libuv/version | 1 + main/libva/PKGBUILD | 61 + main/libva/README | 43 + main/libva/version | 1 + main/libvdpau/PKGBUILD | 50 + main/libvdpau/README | 43 + main/libvdpau/version | 1 + main/libverto/.nvchecker.toml | 5 + main/libverto/PKGBUILD | 38 + main/libverto/README | 43 + main/libverto/version | 1 + main/libvorbis/PKGBUILD | 54 + main/libvorbis/README | 43 + main/libvorbis/version | 1 + main/libvpl/.PKGINFO | 21 + main/libvpl/PKGBUILD | 52 + main/libvpl/README | 43 + main/libvpl/version | 1 + main/libvpx/CVE-2023-5217.patch | 31 + main/libvpx/PKGBUILD | 54 + main/libvpx/README | 43 + main/libvpx/version | 1 + main/libwacom/.PKGINFO | 24 + main/libwacom/.nvchecker.toml | 6 + main/libwacom/PKGBUILD | 37 + main/libwacom/README | 43 + main/libwacom/version | 1 + main/libwebp/.PKGINFO | 25 + main/libwebp/PKGBUILD | 70 + main/libwebp/README | 43 + main/libwebp/version | 1 + main/libx11/.nvchecker.toml | 8 + main/libx11/MR236.patch | 344 + main/libx11/PKGBUILD | 53 + main/libx11/README | 43 + main/libx11/version | 1 + main/libx86emu/PKGBUILD | 29 + main/libx86emu/README | 43 + main/libx86emu/version | 1 + main/libxau/PKGBUILD | 30 + main/libxau/README | 43 + main/libxau/version | 1 + main/libxaw/.nvchecker.toml | 8 + main/libxaw/PKGBUILD | 36 + main/libxaw/README | 43 + main/libxaw/version | 1 + main/libxcb/.PKGINFO | 21 + main/libxcb/.nvchecker.toml | 8 + main/libxcb/PKGBUILD | 40 + main/libxcb/README | 43 + main/libxcb/version | 1 + main/libxcomposite/PKGBUILD | 30 + main/libxcomposite/README | 43 + main/libxcomposite/version | 1 + main/libxcrypt/PKGBUILD | 63 + main/libxcrypt/README | 43 + main/libxcrypt/libxcrypt.install | 15 + main/libxcrypt/version | 1 + main/libxcursor/.nvchecker.toml | 8 + main/libxcursor/PKGBUILD | 30 + main/libxcursor/README | 43 + main/libxcursor/version | 1 + main/libxcvt/PKGBUILD | 31 + main/libxcvt/README | 43 + main/libxcvt/version | 1 + main/libxdamage/PKGBUILD | 29 + main/libxdamage/README | 43 + main/libxdamage/version | 1 + main/libxdmcp/.nvchecker.toml | 8 + main/libxdmcp/PKGBUILD | 31 + main/libxdmcp/README | 43 + main/libxdmcp/version | 1 + main/libxext/PKGBUILD | 30 + main/libxext/README | 43 + main/libxext/version | 1 + main/libxfixes/PKGBUILD | 32 + main/libxfixes/README | 43 + main/libxfixes/version | 1 + main/libxfont2/PKGBUILD | 32 + main/libxfont2/README | 43 + main/libxfont2/version | 1 + main/libxft/PKGBUILD | 32 + main/libxft/README | 43 + main/libxft/version | 1 + main/libxi/PKGBUILD | 33 + main/libxi/README | 43 + main/libxi/version | 1 + main/libxinerama/PKGBUILD | 29 + main/libxinerama/README | 43 + main/libxinerama/version | 1 + main/libxkbcommon/PKGBUILD | 116 + main/libxkbcommon/README | 43 + main/libxkbcommon/version | 1 + main/libxkbfile/PKGBUILD | 33 + main/libxkbfile/README | 43 + main/libxkbfile/version | 1 + main/libxml2/.PKGINFO | 15 + .../0001-HACK-Don-t-run-fuzzing-tests.patch | 27 + main/libxml2/PKGBUILD | 99 + main/libxml2/README | 43 + main/libxml2/version | 1 + main/libxmlb/.PKGINFO | 21 + main/libxmlb/.nvchecker.toml | 4 + main/libxmlb/PKGBUILD | 31 + main/libxmlb/README | 43 + main/libxmlb/version | 1 + main/libxmu/.PKGINFO | 19 + main/libxmu/.nvchecker.toml | 8 + main/libxmu/PKGBUILD | 32 + main/libxmu/README | 43 + main/libxmu/version | 1 + main/libxpm/PKGBUILD | 42 + main/libxpm/README | 43 + main/libxpm/version | 1 + main/libxrandr/PKGBUILD | 32 + main/libxrandr/README | 43 + main/libxrandr/version | 1 + main/libxrender/PKGBUILD | 30 + main/libxrender/README | 43 + main/libxrender/version | 1 + main/libxshmfence/PKGBUILD | 37 + main/libxshmfence/README | 43 + main/libxshmfence/version | 1 + main/libxslt/.PKGINFO | 24 + main/libxslt/PKGBUILD | 85 + main/libxslt/README | 43 + main/libxslt/version | 1 + main/libxss/PKGBUILD | 33 + main/libxss/README | 43 + main/libxss/version | 1 + main/libxt/PKGBUILD | 32 + main/libxt/README | 43 + main/libxt/version | 1 + main/libxtst/PKGBUILD | 32 + main/libxtst/README | 43 + main/libxtst/version | 1 + main/libxv/PKGBUILD | 31 + main/libxv/README | 43 + main/libxv/version | 1 + main/libxxf86vm/PKGBUILD | 30 + main/libxxf86vm/README | 43 + main/libxxf86vm/version | 1 + main/libyaml/PKGBUILD | 26 + main/libyaml/README | 43 + main/libyaml/version | 1 + main/libzip/PKGBUILD | 30 + main/libzip/README | 43 + main/libzip/version | 1 + main/licenses/PKGBUILD | 160 + main/licenses/README | 43 + main/licenses/version | 1 + main/lilv/.PKGINFO | 39 + main/lilv/PKGBUILD | 107 + main/lilv/README | 43 + main/lilv/lilvmm.patch | 40 + main/lilv/version | 1 + main/linux-api-headers/.PKGINFO | 14 + main/linux-api-headers/PKGBUILD | 32 + main/linux-api-headers/README | 43 + main/linux-api-headers/version | 1 + main/linux-atm/PKGBUILD | 45 + main/linux-atm/README | 43 + .../linux-atm-linux-5.2-SIOCGSTAMP.patch | 41 + main/linux-atm/linux-atm-man-pages.patch | 45 + .../linux-atm-remove-define-hacks.patch | 22 + .../linux-atm-string-formatting.patch | 11 + main/linux-atm/version | 1 + main/linux-firmware/.PKGINFO | 17 + main/linux-firmware/PKGBUILD | 169 + main/linux-firmware/README | 43 + main/linux-firmware/version | 1 + main/linux-lts/.PKGINFO | 68 + main/linux-lts/.nvchecker.toml | 9 + ...nd-CONFIG-to-disallow-unprivileged-C.patch | 151 + ...simpledrm-if-nvidia-drm.modeset=1-is.patch | 86 + ...fault-to-maximum-amount-of-ASLR-bits.patch | 33 + main/linux-lts/0005-fix-doc-build.patch | 11 + main/linux-lts/PKGBUILD | 378 + main/linux-lts/README | 43 + main/linux-lts/config | 11619 ++++++++++++++++ main/linux-lts/version | 1 + main/linux-tools/.PKGINFO | 44 + main/linux-tools/PKGBUILD | 310 + main/linux-tools/README | 43 + main/linux-tools/cpupower.default | 29 + main/linux-tools/cpupower.install | 13 + main/linux-tools/cpupower.service | 12 + main/linux-tools/cpupower.systemd | 32 + main/linux-tools/hv_fcopy_daemon.service | 9 + main/linux-tools/hv_kvp_daemon.service | 9 + main/linux-tools/hv_vss_daemon.service | 9 + main/linux-tools/usbipd.service | 9 + main/linux-tools/version | 1 + main/livecd-sounds/PKGBUILD | 21 + main/livecd-sounds/README | 43 + main/livecd-sounds/version | 1 + main/llvm/.PKGINFO | 32 + main/llvm/PKGBUILD | 152 + main/llvm/README | 43 + main/llvm/version | 1 + main/lm_sensors/PKGBUILD | 59 + main/lm_sensors/README | 43 + main/lm_sensors/healthd | 53 + main/lm_sensors/healthd.conf | 17 + main/lm_sensors/healthd.service | 9 + main/lm_sensors/sensord.conf | 9 + main/lm_sensors/version | 1 + main/lmdb/PKGBUILD | 43 + main/lmdb/README | 43 + main/lmdb/lmdb.pc | 10 + main/lmdb/version | 1 + main/lrzip/PKGBUILD | 42 + main/lrzip/README | 43 + main/lrzip/version | 1 + main/lsb-release/PKGBUILD | 43 + main/lsb-release/README | 43 + main/lsb-release/lsb-release | 3 + .../lsb-release/lsb_release_description.patch | 11 + ...b_release_make_man_page_reproducible.patch | 40 + main/lsb-release/version | 1 + main/lsscsi/PKGBUILD | 26 + main/lsscsi/README | 43 + main/lsscsi/version | 1 + main/lua/.nvchecker.toml | 4 + main/lua/LICENSE | 30 + main/lua/PKGBUILD | 79 + main/lua/README | 43 + main/lua/liblua.so.patch | 47 + main/lua/lua.pc | 20 + main/lua/paths.patch | 33 + main/lua/version | 1 + main/luit/PKGBUILD | 32 + main/luit/README | 43 + main/luit/version | 1 + main/lv2/PKGBUILD | 99 + main/lv2/README | 43 + main/lv2/version | 1 + main/lvm2/.PKGINFO | 33 + main/lvm2/0001-udev-initcpio.patch | 48 + main/lvm2/11-dm-initramfs.rules | 3 + main/lvm2/PKGBUILD | 123 + main/lvm2/README | 43 + main/lvm2/version | 1 + main/lynx/.PKGINFO | 21 + main/lynx/.nvchecker.toml | 4 + main/lynx/PKGBUILD | 45 + main/lynx/README | 43 + main/lynx/version | 1 + main/lz4/PKGBUILD | 39 + main/lz4/README | 43 + main/lz4/version | 1 + main/lzo/PKGBUILD | 41 + main/lzo/README | 43 + main/lzo/version | 1 + main/lzop/PKGBUILD | 28 + main/lzop/README | 43 + main/lzop/version | 1 + main/m4/PKGBUILD | 31 + main/m4/README | 43 + main/m4/version | 1 + main/mailcap/PKGBUILD | 46 + main/mailcap/README | 43 + main/mailcap/version | 1 + main/make/PKGBUILD | 31 + main/make/README | 43 + main/make/version | 1 + main/man-db/.PKGINFO | 27 + main/man-db/.nvchecker.toml | 4 + main/man-db/PKGBUILD | 57 + main/man-db/README | 43 + main/man-db/man-db.install | 11 + main/man-db/version | 1 + main/man-pages/.PKGINFO | 31 + main/man-pages/.nvchecker.toml | 5 + main/man-pages/PKGBUILD | 70 + main/man-pages/README | 43 + main/man-pages/version | 1 + main/mc/.nvchecker.toml | 4 + main/mc/PKGBUILD | 89 + main/mc/README | 43 + main/mc/version | 1 + main/md4c/.nvchecker.toml | 5 + main/md4c/PKGBUILD | 26 + main/md4c/README | 43 + main/md4c/version | 1 + main/mdadm/PKGBUILD | 38 + main/mdadm/README | 43 + main/mdadm/mdadm.conf | 67 + main/mdadm/version | 1 + main/media-player-info/PKGBUILD | 46 + main/media-player-info/README | 43 + main/media-player-info/version | 1 + main/mesa-demos/.nvchecker.toml | 6 + main/mesa-demos/LICENSE | 82 + main/mesa-demos/PKGBUILD | 80 + main/mesa-demos/README | 43 + main/mesa-demos/mesa-demos.install | 6 + main/mesa-demos/version | 1 + main/milou/.PKGINFO | 25 + main/milou/PKGBUILD | 39 + main/milou/README | 43 + main/milou/version | 1 + main/mkinitcpio-busybox/PKGBUILD | 37 + main/mkinitcpio-busybox/README | 43 + main/mkinitcpio-busybox/config | 1223 ++ main/mkinitcpio-busybox/version | 1 + main/mkinitcpio-nfs-utils/PKGBUILD | 36 + main/mkinitcpio-nfs-utils/README | 43 + main/mkinitcpio-nfs-utils/initcpio-hook-net | 90 + .../mkinitcpio-nfs-utils/initcpio-install-net | 108 + .../nfsmount-fix-wrong-umount-path.patch | 14 + main/mkinitcpio-nfs-utils/version | 1 + main/mkinitcpio-tuxiso/.nvchecker.toml | 4 + main/mkinitcpio-tuxiso/PKGBUILD | 37 + main/mkinitcpio-tuxiso/README | 43 + main/mkinitcpio-tuxiso/version | 1 + main/mobile-broadband-provider-info/.PKGINFO | 16 + main/mobile-broadband-provider-info/PKGBUILD | 43 + main/mobile-broadband-provider-info/README | 43 + main/mobile-broadband-provider-info/version | 1 + main/modemmanager-qt/.PKGINFO | 23 + main/modemmanager-qt/PKGBUILD | 36 + main/modemmanager-qt/README | 43 + main/modemmanager-qt/version | 1 + main/modemmanager/PKGBUILD | 108 + main/modemmanager/README | 43 + main/modemmanager/version | 1 + main/mpdecimal/PKGBUILD | 25 + main/mpdecimal/version | 1 + main/mpfr/.PKGINFO | 17 + main/mpfr/.nvchecker.toml | 4 + main/mpfr/PKGBUILD | 64 + main/mpfr/README | 43 + main/mpfr/version | 1 + main/mpg123/.PKGINFO | 24 + main/mpg123/PKGBUILD | 42 + main/mpg123/README | 43 + main/mpg123/version | 1 + main/mtdev/PKGBUILD | 33 + main/mtdev/README | 43 + main/mtdev/version | 1 + main/mtools/.PKGINFO | 20 + main/mtools/PKGBUILD | 58 + main/mtools/README | 43 + main/mtools/version | 1 + main/musepack/.PKGINFO | 14 + main/musepack/01_am-maintainer-mode.patch | 12 + main/musepack/02_link-libm.patch | 7 + main/musepack/03_mpcchap.patch | 66 + main/musepack/04_link-order.patch | 44 + main/musepack/05_visibility.patch | 13 + main/musepack/1001_missing_extern_kw.patch | 22 + main/musepack/PKGBUILD | 72 + main/musepack/README | 43 + main/musepack/add_subdir-objects.patch | 16 + main/musepack/version | 1 + main/nano/.PKGINFO | 17 + main/nano/PKGBUILD | 35 + main/nano/README | 43 + main/nano/version | 1 + main/nbd/PKGBUILD | 72 + main/nbd/README | 43 + main/nbd/config | 21 + main/nbd/nbd.service | 12 + main/nbd/sysusers_nbd.conf | 1 + main/nbd/version | 1 + main/ncurses/.PKGINFO | 24 + main/ncurses/PKGBUILD | 87 + main/ncurses/README | 43 + main/ncurses/ncurses-6.3-libs.patch | 58 + main/ncurses/ncurses-6.3-pkgconfig.patch | 24 + main/ncurses/version | 1 + main/ndisc6/PKGBUILD | 65 + main/ndisc6/README | 43 + main/ndisc6/ndisc6.install | 14 + main/ndisc6/rdnssd@.service | 10 + main/ndisc6/resolvconf-hook | 5 + main/ndisc6/version | 1 + main/neofetch/.nvchecker.toml | 4 + main/neofetch/PKGBUILD | 38 + main/neofetch/README | 43 + main/neofetch/version | 1 + main/nettle/.nvchecker.toml | 7 + main/nettle/PKGBUILD | 35 + main/nettle/README | 43 + main/nettle/version | 1 + main/network-manager-applet/PKGBUILD | 91 + main/network-manager-applet/README | 43 + main/network-manager-applet/version | 1 + main/networkmanager-qt/.PKGINFO | 25 + main/networkmanager-qt/PKGBUILD | 37 + main/networkmanager-qt/README | 43 + main/networkmanager-qt/version | 1 + main/networkmanager/.PKGINFO | 88 + main/networkmanager/PKGBUILD | 228 + main/networkmanager/README | 43 + main/networkmanager/version | 1 + main/nfs-utils/.nvchecker.toml | 6 + main/nfs-utils/PKGBUILD | 123 + main/nfs-utils/README | 43 + main/nfs-utils/exports | 12 + main/nfs-utils/sysusers.d | 1 + main/nfs-utils/version | 1 + main/nftables/.PKGINFO | 27 + main/nftables/PKGBUILD | 70 + main/nftables/README | 43 + main/nftables/nftables.conf | 27 + main/nftables/nftables.install | 10 + main/nftables/nftables.service | 12 + main/nftables/version | 1 + main/nilfs-utils/.PKGINFO | 16 + main/nilfs-utils/PKGBUILD | 26 + main/nilfs-utils/README | 43 + main/nilfs-utils/version | 1 + main/nmap/.PKGINFO | 22 + main/nmap/PKGBUILD | 56 + main/nmap/README | 43 + main/nmap/version | 1 + main/noto-fonts-emoji/.nvchecker.toml | 5 + .../noto-fonts-emoji/66-noto-color-emoji.conf | 27 + main/noto-fonts-emoji/PKGBUILD | 22 + main/noto-fonts-emoji/README | 43 + main/noto-fonts-emoji/version | 1 + main/npth/.nvchecker.toml | 4 + main/npth/PKGBUILD | 44 + main/npth/README | 43 + main/npth/version | 1 + main/nspr/.PKGINFO | 17 + ...-provided-atomics-to-asssembly-imple.patch | 78 + ....in-Remove-assembly-files-from-build.patch | 39 + main/nspr/PKGBUILD | 72 + main/nspr/README | 43 + main/nspr/version | 1 + main/nss/.PKGINFO | 23 + main/nss/PKGBUILD | 121 + main/nss/README | 43 + main/nss/bundle.sh | 22 + main/nss/certdata2pem.py | 413 + main/nss/version | 1 + main/ntfs-3g/PKGBUILD | 47 + main/ntfs-3g/README | 43 + main/ntfs-3g/version | 1 + main/numactl/PKGBUILD | 42 + main/numactl/README | 43 + main/numactl/version | 1 + main/nvme-cli/.PKGINFO | 22 + main/nvme-cli/.nvchecker.toml | 6 + main/nvme-cli/PKGBUILD | 54 + main/nvme-cli/README | 43 + main/nvme-cli/nvme-cli.install | 8 + main/nvme-cli/version | 1 + main/oath-toolkit/PKGBUILD | 36 + main/oath-toolkit/README | 43 + main/oath-toolkit/version | 1 + main/ocean-sound-theme/.PKGINFO | 16 + main/ocean-sound-theme/PKGBUILD | 31 + main/ocean-sound-theme/README | 43 + main/ocean-sound-theme/version | 1 + main/ocl-icd/PKGBUILD | 46 + main/ocl-icd/README | 43 + main/ocl-icd/version | 1 + main/onetbb/PKGBUILD | 36 + main/onetbb/version | 1 + main/open-iscsi/.PKGINFO | 22 + main/open-iscsi/PKGBUILD | 39 + main/open-iscsi/README | 43 + main/open-iscsi/open-iscsi.install | 21 + main/open-iscsi/version | 1 + main/open-isns/PKGBUILD | 30 + main/open-isns/README | 43 + main/open-isns/version | 1 + main/open-vm-tools/.PKGINFO | 41 + main/open-vm-tools/PKGBUILD | 73 + main/open-vm-tools/README | 43 + main/open-vm-tools/version | 1 + main/open-vm-tools/vmtoolsd.pam | 5 + main/open-vm-tools/vmtoolsd.service | 10 + .../open-vm-tools/vmware-vmblock-fuse.service | 12 + main/openconnect/PKGBUILD | 50 + main/openconnect/README | 43 + main/openconnect/version | 1 + main/opencore-amr/PKGBUILD | 38 + main/opencore-amr/README | 43 + main/opencore-amr/version | 1 + main/opencv/PKGBUILD | 195 + main/opencv/version | 1 + main/opencv/vtk9.patch | 36 + main/openexr/.nvchecker.toml | 5 + main/openexr/PKGBUILD | 29 + main/openexr/README | 43 + main/openexr/version | 1 + main/openjpeg2/.nvchecker.toml | 5 + main/openjpeg2/PKGBUILD | 39 + main/openjpeg2/README | 43 + main/openjpeg2/version | 1 + main/openldap/.PKGINFO | 28 + main/openldap/PKGBUILD | 163 + main/openldap/README | 43 + main/openldap/openldap.sysusers | 1 + main/openldap/openldap.tmpfiles | 3 + main/openldap/version | 1 + main/openpgp-card-tools/.PKGINFO | 20 + main/openpgp-card-tools/PKGBUILD | 57 + main/openpgp-card-tools/README | 43 + main/openpgp-card-tools/version | 1 + main/openssh/.PKGINFO | 46 + main/openssh/.nvchecker.toml | 5 + main/openssh/99-archlinux.conf | 4 + main/openssh/PKGBUILD | 162 + main/openssh/README | 43 + main/openssh/openssh.tmpfiles | 9 + main/openssh/ssh-agent.service | 15 + main/openssh/sshd.pam | 6 + main/openssh/sshd.service | 14 + main/openssh/sshdgenkeys.service | 13 + main/openssh/version | 1 + main/openssl/.PKGINFO | 22 + main/openssl/PKGBUILD | 64 + main/openssl/README | 43 + main/openssl/ca-dir.patch | 31 + main/openssl/version | 1 + main/openvpn/0001-unprivileged.patch | 28 + main/openvpn/PKGBUILD | 94 + main/openvpn/README | 43 + main/openvpn/openvpn.install | 12 + main/openvpn/sysusers.conf | 1 + main/openvpn/tmpfiles.conf | 4 + main/openvpn/version | 1 + main/opus/.PKGINFO | 17 + main/opus/PKGBUILD | 69 + main/opus/README | 43 + main/opus/version | 1 + main/orc/PKGBUILD | 46 + main/orc/version | 1 + main/os-prober/PKGBUILD | 45 + main/os-prober/README | 43 + main/os-prober/version | 1 + main/oxygen-sounds/.PKGINFO | 15 + main/oxygen-sounds/PKGBUILD | 30 + main/oxygen-sounds/README | 43 + main/oxygen-sounds/version | 1 + main/p11-kit/PKGBUILD | 110 + main/p11-kit/README | 43 + main/p11-kit/p11-kit.install | 23 + main/p11-kit/version | 1 + main/pam/.PKGINFO | 38 + main/pam/PKGBUILD | 66 + main/pam/README | 43 + main/pam/pam.tmpfiles | 1 + main/pam/version | 1 + main/pambase/PKGBUILD | 44 + main/pambase/README | 43 + main/pambase/other | 9 + main/pambase/system-auth | 27 + main/pambase/system-local-login | 6 + main/pambase/system-login | 20 + main/pambase/system-remote-login | 6 + main/pambase/system-services | 11 + main/pambase/version | 1 + main/pango/.PKGINFO | 34 + main/pango/PKGBUILD | 70 + main/pango/README | 43 + main/pango/version | 1 + main/partclone/PKGBUILD | 39 + main/partclone/README | 43 + main/partclone/version | 1 + main/parted/PKGBUILD | 35 + main/parted/README | 43 + main/parted/version | 1 + main/partimage/PKGBUILD | 64 + main/partimage/README | 43 + .../partimage-0.6.9-zlib-1.2.6.patch | 35 + main/partimage/partimage-build-fix.patch | 13 + main/partimage/partimage.sysusers | 1 + main/partimage/partimaged-gencrt | 18 + main/partimage/partimaged.service | 10 + main/partimage/use-SSLv3-by-default.patch | 80 + main/partimage/version | 1 + main/pbzip2/PKGBUILD | 35 + main/pbzip2/README | 43 + main/pbzip2/version | 1 + main/pcaudiolib/.nvchecker.toml | 4 + main/pcaudiolib/PKGBUILD | 29 + main/pcaudiolib/README | 43 + main/pcaudiolib/version | 1 + main/pciutils/.PKGINFO | 20 + main/pciutils/PKGBUILD | 36 + main/pciutils/README | 43 + main/pciutils/version | 1 + ...re-JIT-compiler-update-for-Intel-CET.patch | 2638 ++++ ...he-compiler-when-Intel-CET-is-enable.patch | 98 + main/pcre/PKGBUILD | 63 + main/pcre/README | 43 + main/pcre/version | 1 + main/pcre2/.PKGINFO | 22 + main/pcre2/.nvchecker.toml | 4 + main/pcre2/PKGBUILD | 66 + main/pcre2/README | 43 + main/pcre2/version | 1 + main/pcsclite/.PKGINFO | 28 + main/pcsclite/PKGBUILD | 49 + main/pcsclite/README | 43 + main/pcsclite/version | 1 + main/perl-clone/PKGBUILD | 33 + main/perl-clone/README | 43 + main/perl-clone/version | 1 + main/perl-encode-locale/PKGBUILD | 30 + main/perl-encode-locale/README | 43 + main/perl-encode-locale/version | 1 + main/perl-file-listing/PKGBUILD | 30 + main/perl-file-listing/README | 43 + main/perl-file-listing/version | 1 + main/perl-html-parser/.PKGINFO | 16 + main/perl-html-parser/PKGBUILD | 30 + main/perl-html-parser/README | 43 + main/perl-html-parser/version | 1 + main/perl-html-tagset/PKGBUILD | 34 + main/perl-html-tagset/README | 43 + main/perl-html-tagset/version | 1 + main/perl-http-cookiejar/PKGBUILD | 37 + main/perl-http-cookiejar/README | 43 + main/perl-http-cookiejar/version | 1 + main/perl-http-cookies/PKGBUILD | 30 + main/perl-http-cookies/README | 43 + main/perl-http-cookies/version | 1 + main/perl-http-daemon/PKGBUILD | 34 + main/perl-http-daemon/README | 43 + main/perl-http-daemon/version | 1 + main/perl-http-date/PKGBUILD | 30 + main/perl-http-date/README | 43 + main/perl-http-date/version | 1 + main/perl-http-message/PKGBUILD | 36 + main/perl-http-message/README | 43 + main/perl-http-message/version | 1 + main/perl-http-negotiate/PKGBUILD | 30 + main/perl-http-negotiate/README | 43 + main/perl-http-negotiate/version | 1 + main/perl-io-html/PKGBUILD | 32 + main/perl-io-html/README | 43 + main/perl-io-html/version | 1 + main/perl-libwww/PKGBUILD | 35 + main/perl-libwww/README | 43 + main/perl-libwww/version | 1 + main/perl-lwp-mediatypes/PKGBUILD | 31 + main/perl-lwp-mediatypes/README | 43 + main/perl-lwp-mediatypes/version | 1 + main/perl-net-http/PKGBUILD | 45 + main/perl-net-http/README | 43 + main/perl-net-http/version | 1 + main/perl-timedate/PKGBUILD | 34 + main/perl-timedate/README | 43 + main/perl-timedate/version | 1 + main/perl-try-tiny/PKGBUILD | 32 + main/perl-try-tiny/README | 43 + main/perl-try-tiny/version | 1 + main/perl-uri/PKGBUILD | 32 + main/perl-uri/README | 43 + main/perl-uri/version | 1 + main/perl-www-robotrules/PKGBUILD | 30 + main/perl-www-robotrules/README | 43 + main/perl-www-robotrules/version | 1 + main/perl-xml-parser/PKGBUILD | 30 + main/perl-xml-parser/README | 43 + main/perl-xml-parser/version | 1 + main/perl-xml-writer/PKGBUILD | 31 + main/perl-xml-writer/README | 43 + main/perl-xml-writer/version | 1 + main/perl-yaml-tiny/PKGBUILD | 37 + main/perl-yaml-tiny/README | 43 + main/perl-yaml-tiny/version | 1 + main/phonon-vlc/PKGBUILD | 54 + main/phonon-vlc/README | 43 + main/phonon-vlc/version | 1 + main/pigz/PKGBUILD | 38 + main/pigz/README | 43 + main/pigz/version | 1 + main/pinentry/PKGBUILD | 59 + main/pinentry/README | 43 + main/pinentry/pinentry | 14 + main/pinentry/preexec | 5 + main/pinentry/version | 1 + main/pipewire/.PKGINFO | 53 + main/pipewire/PKGBUILD | 526 + main/pipewire/README | 43 + main/pipewire/pipewire-pulse.install | 14 + main/pipewire/pipewire.install | 14 + main/pipewire/version | 1 + main/pixman/.nvchecker.toml | 6 + main/pixman/PKGBUILD | 38 + main/pixman/README | 43 + main/pixman/version | 1 + main/pixz/PKGBUILD | 32 + main/pixz/README | 43 + main/pixz/version | 1 + .../0001-nss-use-nss-pkcs11-h.patch | 58 + main/pkcs11-helper/PKGBUILD | 34 + main/pkcs11-helper/README | 43 + main/pkcs11-helper/version | 1 + main/plasma-activities-stats/.PKGINFO | 25 + main/plasma-activities-stats/PKGBUILD | 41 + main/plasma-activities-stats/README | 43 + main/plasma-activities-stats/version | 1 + main/plasma-browser-integration/.PKGINFO | 31 + main/plasma-browser-integration/PKGBUILD | 46 + main/plasma-browser-integration/README | 43 + main/plasma-browser-integration/version | 1 + main/plasma-desktop/PKGBUILD | 100 + main/plasma-desktop/README | 43 + main/plasma-desktop/main.xml | 133 + main/plasma-desktop/version | 1 + main/plasma-disks/.PKGINFO | 32 + main/plasma-disks/PKGBUILD | 47 + main/plasma-disks/README | 43 + main/plasma-disks/version | 1 + main/plasma-firewall/.PKGINFO | 31 + main/plasma-firewall/PKGBUILD | 46 + main/plasma-firewall/README | 43 + main/plasma-firewall/version | 1 + main/plasma-integration/.PKGINFO | 54 + main/plasma-integration/PKGBUILD | 110 + main/plasma-integration/README | 43 + main/plasma-integration/version | 1 + main/plasma-meta/PKGBUILD | 48 + main/plasma-meta/README | 43 + main/plasma-meta/version | 1 + main/plasma-nm/.PKGINFO | 49 + main/plasma-nm/PKGBUILD | 65 + main/plasma-nm/README | 43 + main/plasma-nm/version | 1 + main/plasma-pa/.PKGINFO | 36 + main/plasma-pa/PKGBUILD | 51 + main/plasma-pa/README | 43 + main/plasma-pa/version | 1 + main/plasma-systemmonitor/.PKGINFO | 37 + main/plasma-systemmonitor/PKGBUILD | 51 + main/plasma-systemmonitor/README | 43 + main/plasma-systemmonitor/version | 1 + main/plasma-thunderbolt/.PKGINFO | 26 + main/plasma-thunderbolt/PKGBUILD | 41 + main/plasma-thunderbolt/README | 43 + main/plasma-thunderbolt/version | 1 + main/plasma-vault/.PKGINFO | 36 + main/plasma-vault/PKGBUILD | 51 + main/plasma-vault/README | 43 + main/plasma-vault/version | 1 + main/plasma-welcome/.PKGINFO | 34 + main/plasma-welcome/PKGBUILD | 49 + main/plasma-welcome/README | 43 + main/plasma-welcome/version | 1 + main/plasma-workspace-wallpapers/.PKGINFO | 16 + main/plasma-workspace-wallpapers/PKGBUILD | 30 + main/plasma-workspace-wallpapers/README | 43 + main/plasma-workspace-wallpapers/version | 1 + main/plasma5support/.PKGINFO | 24 + main/plasma5support/PKGBUILD | 40 + main/plasma5support/README | 43 + main/plasma5support/version | 1 + main/polkit-kde-agent/.PKGINFO | 28 + main/polkit-kde-agent/PKGBUILD | 44 + main/polkit-kde-agent/README | 43 + main/polkit-kde-agent/version | 1 + main/polkit-qt/.nvchecker.toml | 6 + main/polkit-qt/PKGBUILD | 50 + main/polkit-qt/README | 43 + main/polkit-qt/version | 1 + main/poppler/.PKGINFO | 46 + main/poppler/.nvchecker.toml | 6 + main/poppler/PKGBUILD | 109 + main/poppler/README | 43 + main/poppler/version | 1 + main/popt/PKGBUILD | 27 + main/popt/README | 43 + main/popt/version | 1 + main/portaudio/PKGBUILD | 61 + main/portaudio/README | 43 + main/portaudio/version | 1 + main/powerdevil/.PKGINFO | 46 + main/powerdevil/PKGBUILD | 62 + main/powerdevil/README | 43 + main/powerdevil/version | 1 + main/ppp/LICENSE | 7 + main/ppp/PKGBUILD | 93 + main/ppp/README | 43 + main/ppp/ip-down | 12 + main/ppp/ip-down.d.dns.sh | 7 + main/ppp/ip-up | 12 + main/ppp/ip-up.d.dns.sh | 11 + main/ppp/ipv6-down | 12 + main/ppp/ipv6-up | 12 + main/ppp/ipv6-up.d.iface-config.sh | 4 + main/ppp/options | 352 + main/ppp/ppp.systemd | 10 + main/ppp/rebuild-list | 8 + main/ppp/version | 1 + main/pptpclient/PKGBUILD | 38 + main/pptpclient/README | 43 + main/pptpclient/version | 1 + main/print-manager/.PKGINFO | 35 + main/print-manager/PKGBUILD | 51 + main/print-manager/README | 43 + main/print-manager/version | 1 + main/prison/.PKGINFO | 27 + main/prison/PKGBUILD | 40 + main/prison/README | 43 + main/prison/version | 1 + ...1-build-sys-Add-systemd-elogind-to-w.patch | 43 + ...-Don-t-crash-when-using-short-option.patch | 176 + main/procps-ng/PKGBUILD | 58 + main/procps-ng/README | 43 + main/procps-ng/version | 1 + main/protobuf/PKGBUILD | 97 + main/protobuf/protobuf-21.12-pep517.patch | 16 + main/protobuf/soversion.patch | 36 + main/protobuf/version | 1 + main/psmisc/PKGBUILD | 35 + main/psmisc/README | 43 + main/psmisc/version | 1 + main/pulseaudio/PKGBUILD | 292 + main/pulseaudio/README | 43 + main/pulseaudio/pulseaudio.install | 14 + main/pulseaudio/version | 1 + main/purpose/.PKGINFO | 38 + main/purpose/PKGBUILD | 50 + main/purpose/README | 43 + main/purpose/version | 1 + main/pv/.PKGINFO | 14 + main/pv/.nvchecker.toml | 4 + main/pv/PKGBUILD | 33 + main/pv/README | 43 + main/pv/version | 1 + main/python-attrs/.PKGINFO | 24 + main/python-attrs/PKGBUILD | 35 + main/python-attrs/README | 43 + main/python-attrs/version | 1 + main/python-certifi/.PKGINFO | 20 + main/python-certifi/PKGBUILD | 55 + main/python-certifi/README | 43 + main/python-certifi/version | 1 + main/python-cffi/.PKGINFO | 20 + main/python-cffi/PKGBUILD | 38 + main/python-cffi/README | 43 + .../python-cffi-remove-py-usage.patch | 54 + main/python-cffi/version | 1 + main/python-charset-normalizer/.PKGINFO | 20 + main/python-charset-normalizer/PKGBUILD | 52 + main/python-charset-normalizer/README | 43 + main/python-charset-normalizer/version | 1 + main/python-configobj/.PKGINFO | 16 + main/python-configobj/PKGBUILD | 28 + main/python-configobj/README | 43 + main/python-configobj/version | 1 + main/python-cryptography/.PKGINFO | 29 + main/python-cryptography/PKGBUILD | 35 + main/python-cryptography/README | 43 + main/python-cryptography/version | 1 + main/python-idna/.PKGINFO | 18 + main/python-idna/PKGBUILD | 31 + main/python-idna/README | 43 + main/python-idna/version | 1 + main/python-jinja/.PKGINFO | 22 + main/python-jinja/PKGBUILD | 48 + main/python-jinja/README | 43 + main/python-jinja/version | 1 + main/python-jsonpatch/.PKGINFO | 17 + main/python-jsonpatch/PKGBUILD | 32 + main/python-jsonpatch/README | 43 + main/python-jsonpatch/version | 1 + main/python-jsonpointer/.PKGINFO | 15 + main/python-jsonpointer/COPYING | 26 + main/python-jsonpointer/PKGBUILD | 30 + main/python-jsonpointer/README | 43 + main/python-jsonpointer/version | 1 + .../python-jsonschema-specifications/.PKGINFO | 21 + .../python-jsonschema-specifications/PKGBUILD | 53 + main/python-jsonschema-specifications/README | 43 + main/python-jsonschema-specifications/version | 1 + main/python-markupsafe/.PKGINFO | 21 + main/python-markupsafe/PKGBUILD | 31 + main/python-markupsafe/README | 43 + main/python-markupsafe/version | 1 + main/python-netifaces/.PKGINFO | 15 + main/python-netifaces/PKGBUILD | 29 + main/python-netifaces/README | 43 + main/python-netifaces/version | 1 + main/python-oauthlib/.PKGINFO | 18 + main/python-oauthlib/PKGBUILD | 27 + main/python-oauthlib/README | 43 + main/python-oauthlib/version | 1 + main/python-psutil/.PKGINFO | 21 + main/python-psutil/PKGBUILD | 40 + main/python-psutil/README | 43 + main/python-psutil/version | 1 + main/python-pycparser/.PKGINFO | 15 + main/python-pycparser/PKGBUILD | 33 + main/python-pycparser/README | 43 + main/python-pycparser/version | 1 + main/python-pygdbmi/.PKGINFO | 20 + main/python-pygdbmi/.nvchecker.toml | 3 + main/python-pygdbmi/PKGBUILD | 38 + main/python-pygdbmi/README | 43 + main/python-pygdbmi/version | 1 + main/python-pyrsistent/.PKGINFO | 21 + main/python-pyrsistent/PKGBUILD | 40 + main/python-pyrsistent/README | 43 + main/python-pyrsistent/version | 1 + main/python-pyserial/.PKGINFO | 15 + main/python-pyserial/.nvchecker.toml | 3 + main/python-pyserial/PKGBUILD | 25 + main/python-pyserial/README | 43 + main/python-pyserial/version | 1 + main/python-referencing/.PKGINFO | 24 + main/python-referencing/PKGBUILD | 69 + main/python-referencing/README | 43 + main/python-referencing/version | 1 + main/python-requests/.PKGINFO | 27 + main/python-requests/PKGBUILD | 51 + main/python-requests/README | 43 + main/python-requests/certs.patch | 14 + main/python-requests/version | 1 + main/python-rpds-py/.PKGINFO | 20 + main/python-rpds-py/PKGBUILD | 55 + main/python-rpds-py/README | 43 + main/python-rpds-py/version | 1 + main/python-sentry_sdk/.PKGINFO | 38 + main/python-sentry_sdk/.nvchecker.toml | 6 + main/python-sentry_sdk/PKGBUILD | 46 + main/python-sentry_sdk/README | 43 + main/python-sentry_sdk/version | 1 + main/python-six/.PKGINFO | 17 + main/python-six/PKGBUILD | 27 + main/python-six/README | 43 + main/python-six/version | 1 + main/python-typing_extensions/.PKGINFO | 19 + main/python-typing_extensions/PKGBUILD | 50 + main/python-typing_extensions/README | 43 + main/python-typing_extensions/version | 1 + main/python-urllib3/.PKGINFO | 38 + main/python-urllib3/LICENSE | 32 + main/python-urllib3/PKGBUILD | 77 + main/python-urllib3/README | 43 + main/python-urllib3/version | 1 + main/python-yaml/.PKGINFO | 22 + main/python-yaml/PKGBUILD | 49 + main/python-yaml/README | 43 + main/python-yaml/version | 1 + main/qca/.PKGINFO | 34 + main/qca/.nvchecker.toml | 6 + main/qca/PKGBUILD | 68 + main/qca/README | 43 + main/qca/version | 1 + main/qcoro/.nvchecker.toml | 5 + main/qcoro/PKGBUILD | 51 + main/qcoro/README | 43 + main/qcoro/version | 1 + main/qemu/.PKGINFO | 109 + main/qemu/.nvchecker.toml | 5 + main/qemu/65-kvm.rules | 1 + main/qemu/99-qemu-guest-agent.rules | 1 + main/qemu/PKGBUILD | 1234 ++ main/qemu/README | 43 + main/qemu/bridge.conf | 1 + .../build-most-modules-statically-hack.diff | 40 + main/qemu/qemu-8.1.1-static_regression.patch | 13 + main/qemu/qemu-common.install | 14 + main/qemu/qemu-ga.conf | 10 + main/qemu/qemu-guest-agent.install | 9 + main/qemu/qemu-sysusers.conf | 2 + main/qemu/version | 1 + main/qqc2-breeze-style/.PKGINFO | 25 + main/qqc2-breeze-style/PKGBUILD | 40 + main/qqc2-breeze-style/README | 43 + main/qqc2-breeze-style/version | 1 + main/qqc2-desktop-style/.PKGINFO | 26 + main/qqc2-desktop-style/PKGBUILD | 36 + main/qqc2-desktop-style/README | 43 + main/qqc2-desktop-style/version | 1 + main/qrencode/PKGBUILD | 34 + main/qrencode/README | 43 + main/qrencode/version | 1 + main/qt5-base/.PKGINFO | 60 + main/qt5-base/.nvchecker.toml | 6 + main/qt5-base/PKGBUILD | 116 + main/qt5-base/README | 43 + main/qt5-base/qmake-cflags.patch | 46 + main/qt5-base/qmake-config.patch | 13 + main/qt5-base/version | 1 + .../work-around-pyside2-brokenness.patch | 137 + main/qt5-svg/PKGBUILD | 46 + main/qt5-svg/README | 43 + main/qt5-svg/version | 1 + main/qt5-translations/PKGBUILD | 42 + main/qt5-translations/README | 43 + main/qt5-translations/version | 1 + main/qt5-x11extras/PKGBUILD | 46 + main/qt5-x11extras/README | 43 + main/qt5-x11extras/version | 1 + main/qt6-5compat/.PKGINFO | 28 + main/qt6-5compat/PKGBUILD | 39 + main/qt6-5compat/README | 43 + main/qt6-5compat/version | 1 + main/qt6-base/.PKGINFO | 85 + main/qt6-base/.nvchecker.toml | 5 + main/qt6-base/PKGBUILD | 148 + main/qt6-base/README | 43 + main/qt6-base/qt6-base-cflags.patch | 46 + main/qt6-base/qt6-base-nostrip.patch | 13 + main/qt6-base/version | 1 + main/qt6-declarative/.PKGINFO | 29 + main/qt6-declarative/PKGBUILD | 50 + main/qt6-declarative/README | 43 + main/qt6-declarative/version | 1 + main/qt6-multimedia/.PKGINFO | 34 + main/qt6-multimedia/PKGBUILD | 89 + main/qt6-multimedia/README | 43 + main/qt6-multimedia/version | 1 + main/qt6-positioning/.PKGINFO | 28 + main/qt6-positioning/PKGBUILD | 38 + main/qt6-positioning/README | 43 + main/qt6-positioning/version | 1 + main/qt6-quick3d/.PKGINFO | 25 + main/qt6-quick3d/PKGBUILD | 40 + main/qt6-quick3d/README | 43 + main/qt6-quick3d/version | 1 + main/qt6-quicktimeline/.PKGINFO | 23 + main/qt6-quicktimeline/PKGBUILD | 35 + main/qt6-quicktimeline/README | 43 + main/qt6-quicktimeline/version | 1 + main/qt6-sensors/.PKGINFO | 25 + main/qt6-sensors/PKGBUILD | 37 + main/qt6-sensors/README | 43 + main/qt6-sensors/version | 1 + main/qt6-shadertools/.PKGINFO | 19 + main/qt6-shadertools/PKGBUILD | 34 + main/qt6-shadertools/README | 43 + main/qt6-shadertools/version | 1 + main/qt6-speech/.PKGINFO | 29 + main/qt6-speech/PKGBUILD | 41 + main/qt6-speech/README | 43 + main/qt6-speech/version | 1 + main/qt6-svg/.PKGINFO | 23 + main/qt6-svg/PKGBUILD | 35 + main/qt6-svg/README | 43 + main/qt6-svg/version | 1 + main/qt6-tools/.PKGINFO | 31 + main/qt6-tools/PKGBUILD | 59 + main/qt6-tools/README | 43 + main/qt6-tools/version | 1 + main/qt6-translations/.PKGINFO | 20 + main/qt6-translations/PKGBUILD | 34 + main/qt6-translations/README | 43 + main/qt6-translations/version | 1 + main/qt6-virtualkeyboard/.PKGINFO | 25 + main/qt6-virtualkeyboard/PKGBUILD | 37 + main/qt6-virtualkeyboard/README | 43 + main/qt6-virtualkeyboard/version | 1 + main/qt6-wayland/.PKGINFO | 26 + main/qt6-wayland/PKGBUILD | 38 + main/qt6-wayland/README | 43 + main/qt6-wayland/version | 1 + main/qt6-webchannel/.PKGINFO | 23 + main/qt6-webchannel/PKGBUILD | 35 + main/qt6-webchannel/README | 43 + main/qt6-webchannel/version | 1 + main/qt6-webengine/.PKGINFO | 73 + main/qt6-webengine/PKGBUILD | 101 + main/qt6-webengine/README | 43 + main/qt6-webengine/version | 1 + main/qt6-websockets/.PKGINFO | 24 + main/qt6-websockets/PKGBUILD | 36 + main/qt6-websockets/README | 43 + main/qt6-websockets/version | 1 + main/rav1e/PKGBUILD | 87 + main/rav1e/README | 43 + main/rav1e/version | 1 + main/readline/PKGBUILD | 74 + main/readline/README | 43 + main/readline/inputrc | 36 + main/readline/version | 1 + main/refind/.PKGINFO | 34 + main/refind/PKGBUILD | 106 + main/refind/README | 43 + main/refind/version | 1 + main/reiserfsprogs/PKGBUILD | 38 + main/reiserfsprogs/README | 43 + .../reiserfsprogs-3.6.27-loff_t.patch | 16 + main/reiserfsprogs/version | 1 + main/rp-pppoe/PKGBUILD | 35 + main/rp-pppoe/README | 43 + main/rp-pppoe/adsl.service | 10 + main/rp-pppoe/rp-pppoe.install | 12 + main/rp-pppoe/version | 1 + main/rpcbind/.nvchecker.toml | 6 + main/rpcbind/CVE-2017-8779.diff | 21 + main/rpcbind/PKGBUILD | 70 + main/rpcbind/README | 43 + main/rpcbind/rpcbind-sunrpc.patch | 11 + main/rpcbind/rpcbind.conf | 3 + main/rpcbind/systemd_service.diff | 10 + main/rpcbind/sysusers.d | 1 + main/rpcbind/tmpfiles.d | 1 + main/rpcbind/version | 1 + main/rsync/.PKGINFO | 26 + main/rsync/PKGBUILD | 80 + main/rsync/README | 43 + main/rsync/rsyncd.conf | 10 + main/rsync/version | 1 + main/rtkit/PKGBUILD | 44 + main/rtkit/README | 43 + main/rtkit/version | 1 + main/rubberband/PKGBUILD | 130 + main/rubberband/README | 43 + main/rubberband/version | 1 + main/run-parts/PKGBUILD | 38 + main/run-parts/README | 43 + main/run-parts/version | 1 + main/rxvt-unicode/PKGBUILD | 121 + main/rxvt-unicode/README | 43 + main/rxvt-unicode/perl-5.38.patch | 13 + main/rxvt-unicode/signing-key.pub | 2 + main/rxvt-unicode/urxvt-tabbed.desktop | 9 + main/rxvt-unicode/urxvt.desktop | 9 + main/rxvt-unicode/urxvtc.desktop | 9 + main/rxvt-unicode/version | 1 + main/samba/.PKGINFO | 66 + main/samba/PKGBUILD | 203 + main/samba/README | 43 + main/samba/samba-4.17.0-15195.patch | 86 + main/samba/samba-glibc-2.36.patch | 57 + main/samba/samba.conf | 2 + main/samba/samba.install | 10 + main/samba/samba.logrotate | 5 + main/samba/samba.pam | 3 + main/samba/version | 1 + main/sbc/PKGBUILD | 42 + main/sbc/README | 43 + main/sbc/version | 1 + main/screen/PKGBUILD | 56 + main/screen/README | 43 + main/screen/pam.d | 1 + main/screen/tmpfiles.d | 1 + main/screen/version | 1 + main/sddm-kcm/.PKGINFO | 33 + main/sddm-kcm/PKGBUILD | 48 + main/sddm-kcm/README | 43 + main/sddm-kcm/version | 1 + main/sdl2/.PKGINFO | 42 + main/sdl2/PKGBUILD | 43 + main/sdl2/README | 43 + main/sdl2/version | 1 + main/sdparm/PKGBUILD | 30 + main/sdparm/README | 43 + main/sdparm/version | 1 + main/sed/PKGBUILD | 47 + main/sed/README | 43 + main/sed/version | 1 + main/sequoia-sq/.PKGINFO | 29 + main/sequoia-sq/.nvchecker.toml | 4 + main/sequoia-sq/PKGBUILD | 75 + main/sequoia-sq/README | 43 + main/sequoia-sq/version | 1 + main/serd/PKGBUILD | 72 + main/serd/README | 43 + main/serd/version | 1 + main/sg3_utils/PKGBUILD | 26 + main/sg3_utils/README | 43 + main/sg3_utils/version | 1 + main/shaderc/.PKGINFO | 23 + main/shaderc/PKGBUILD | 62 + main/shaderc/README | 43 + main/shaderc/version | 1 + main/shadow/.nvchecker.toml | 5 + ...-tools-their-man-pages-and-PAM-integ.patch | 727 + ...pt-login.defs-for-PAM-and-util-linux.patch | 699 + ...d-Arch-Linux-defaults-for-login.defs.patch | 73 + main/shadow/PKGBUILD | 146 + main/shadow/README | 43 + main/shadow/shadow.service | 37 + main/shadow/shadow.sysusers | 1 + main/shadow/shadow.timer | 7 + main/shadow/shadow.tmpfiles | 1 + main/shadow/useradd.defaults | 27 + main/shadow/version | 1 + main/shared-mime-info/MR_162.patch | 130 + main/shared-mime-info/PKGBUILD | 54 + main/shared-mime-info/README | 43 + .../shared-mime-info/shared-mime-info.install | 7 + .../update-mime-database.hook | 11 + main/shared-mime-info/version | 1 + main/signon-kwallet-extension/.PKGINFO | 21 + main/signon-kwallet-extension/PKGBUILD | 35 + main/signon-kwallet-extension/README | 43 + main/signon-kwallet-extension/version | 1 + main/signon-plugin-oauth2/.nvchecker.toml | 6 + main/signon-plugin-oauth2/PKGBUILD | 43 + main/signon-plugin-oauth2/README | 43 + main/signon-plugin-oauth2/version | 1 + main/signon-ui/PKGBUILD | 49 + main/signon-ui/README | 43 + main/signon-ui/fake-user-agent.patch | 12 + main/signon-ui/version | 1 + main/signond/.nvchecker.toml | 6 + main/signond/PKGBUILD | 38 + main/signond/README | 43 + main/signond/version | 1 + main/slang/PKGBUILD | 34 + main/slang/README | 43 + main/slang/version | 1 + main/smartmontools/PKGBUILD | 51 + main/smartmontools/README | 43 + main/smartmontools/smartd.conf | 1 + main/smartmontools/version | 1 + main/snappy/PKGBUILD | 67 + main/snappy/README | 43 + main/snappy/cmake_add_pkgconfig.patch | 24 + main/snappy/snappy.pc.in | 10 + main/snappy/version | 1 + main/snowball/PKGBUILD | 59 + main/snowball/README | 43 + main/snowball/dynamiclib.diff | 68 + main/snowball/version | 1 + main/socat/.PKGINFO | 21 + main/socat/.nvchecker.toml | 4 + main/socat/PKGBUILD | 46 + main/socat/README | 43 + main/socat/version | 1 + main/sof-bin/PKGBUILD | 49 + main/sof-bin/README | 43 + main/sof-bin/version | 1 + main/solid/.PKGINFO | 31 + main/solid/PKGBUILD | 46 + main/solid/README | 43 + main/solid/version | 1 + main/sonnet/.PKGINFO | 32 + main/sonnet/PKGBUILD | 44 + main/sonnet/README | 43 + main/sonnet/version | 1 + main/sord/PKGBUILD | 71 + main/sord/README | 43 + main/sord/version | 1 + main/sound-theme-freedesktop/PKGBUILD | 26 + main/sound-theme-freedesktop/README | 43 + main/sound-theme-freedesktop/version | 1 + main/source-highlight/.PKGINFO | 18 + main/source-highlight/PKGBUILD | 44 + main/source-highlight/README | 43 + .../source-highlight-gcc11.patch | 34 + main/source-highlight/version | 1 + main/spdlog/PKGBUILD | 49 + main/spdlog/spdlog_constexpr.patch | 21 + main/spdlog/spdlog_fmt_external.patch | 11 + main/spdlog/version | 1 + main/spectacle/.PKGINFO | 49 + main/spectacle/PKGBUILD | 61 + main/spectacle/README | 43 + main/spectacle/version | 1 + main/speech-dispatcher/.PKGINFO | 24 + main/speech-dispatcher/PKGBUILD | 67 + main/speech-dispatcher/README | 43 + main/speech-dispatcher/version | 1 + main/speex/PKGBUILD | 48 + main/speex/README | 43 + main/speex/version | 1 + main/speexdsp/PKGBUILD | 45 + main/speexdsp/README | 43 + main/speexdsp/version | 1 + main/spirv-tools/.PKGINFO | 20 + main/spirv-tools/PKGBUILD | 44 + main/spirv-tools/README | 43 + main/spirv-tools/version | 1 + main/sqlite/.PKGINFO | 20 + main/sqlite/.nvchecker.toml | 4 + main/sqlite/PKGBUILD | 157 + main/sqlite/README | 43 + main/sqlite/license.txt | 33 + .../sqlite/sqlite-lemon-system-template.patch | 13 + main/sqlite/version | 1 + main/squashfs-tools/PKGBUILD | 51 + main/squashfs-tools/README | 43 + main/squashfs-tools/version | 1 + main/sratom/PKGBUILD | 72 + main/sratom/README | 43 + main/sratom/version | 1 + main/srt/PKGBUILD | 55 + main/srt/README | 43 + main/srt/version | 1 + main/sshfs/PKGBUILD | 36 + main/sshfs/README | 43 + main/sshfs/version | 1 + main/stoken/PKGBUILD | 42 + main/stoken/README | 43 + main/stoken/version | 1 + main/sudo/PKGBUILD | 78 + main/sudo/README | 43 + main/sudo/sudo.install | 9 + main/sudo/sudo.pam | 4 + main/sudo/sudo_logsrvd.service | 13 + main/sudo/version | 1 + main/svt-av1/.PKGINFO | 19 + main/svt-av1/PKGBUILD | 48 + main/svt-av1/README | 43 + main/svt-av1/version | 1 + main/syndication/.PKGINFO | 23 + main/syndication/PKGBUILD | 35 + main/syndication/README | 43 + main/syndication/version | 1 + main/syntax-highlighting/.PKGINFO | 23 + main/syntax-highlighting/PKGBUILD | 37 + main/syntax-highlighting/README | 43 + main/syntax-highlighting/version | 1 + main/sysfsutils/PKGBUILD | 36 + main/sysfsutils/README | 43 + main/sysfsutils/version | 1 + main/syslinux/0002-gfxboot-menu-label.patch | 53 + main/syslinux/0004-gnu-efi-from-arch.patch | 36 + ...multiple-definition-of-symbol-errors.patch | 109 + .../0005-gnu-efi-version-compatibility.patch | 25 + ...strlen-that-appears-to-get-optimized.patch | 40 + main/syslinux/0016-strip-gnu-property.patch | 43 + main/syslinux/0017-single-load-segment.patch | 306 + .../0018-prevent-pow-optimization.patch | 36 + main/syslinux/0025-reproducible-build.patch | 39 + main/syslinux/PKGBUILD | 108 + main/syslinux/README | 43 + main/syslinux/syslinux-install_update | 465 + main/syslinux/syslinux.cfg | 78 + main/syslinux/syslinux.install | 32 + main/syslinux/version | 1 + main/sysprof/.PKGINFO | 17 + main/sysprof/PKGBUILD | 101 + main/sysprof/README | 43 + main/sysprof/version | 1 + main/systemd/.PKGINFO | 68 + ...-Use-Arch-Linux-device-access-groups.patch | 181 + main/systemd/20-systemd-sysusers.hook | 10 + main/systemd/30-systemd-binfmt.hook | 10 + main/systemd/30-systemd-catalog.hook | 11 + .../30-systemd-daemon-reload-system.hook | 11 + .../30-systemd-daemon-reload-user.hook | 11 + main/systemd/30-systemd-hwdb.hook | 11 + main/systemd/30-systemd-sysctl.hook | 10 + main/systemd/30-systemd-tmpfiles.hook | 10 + main/systemd/30-systemd-udev-reload.hook | 11 + main/systemd/30-systemd-update.hook | 11 + main/systemd/PKGBUILD | 353 + main/systemd/README | 43 + main/systemd/arch.conf | 7 + main/systemd/loader.conf | 1 + main/systemd/splash-arch.bmp | Bin 0 -> 378226 bytes main/systemd/systemd-hook | 81 + main/systemd/systemd-user.pam | 5 + main/systemd/systemd.install | 54 + main/systemd/version | 1 + main/systemsettings/.PKGINFO | 41 + main/systemsettings/PKGBUILD | 56 + main/systemsettings/README | 43 + main/systemsettings/version | 1 + main/taglib/.PKGINFO | 21 + main/taglib/.nvchecker.toml | 5 + main/taglib/PKGBUILD | 42 + main/taglib/README | 43 + main/taglib/version | 1 + main/talloc/.PKGINFO | 18 + main/talloc/PKGBUILD | 38 + main/talloc/README | 43 + main/talloc/version | 1 + main/tar/PKGBUILD | 54 + main/tar/README | 43 + main/tar/version | 1 + main/tcl/.PKGINFO | 14 + main/tcl/.nvchecker.toml | 5 + main/tcl/PKGBUILD | 73 + main/tcl/README | 43 + main/tcl/version | 1 + main/tcpdump/.PKGINFO | 24 + main/tcpdump/PKGBUILD | 51 + main/tcpdump/README | 43 + main/tcpdump/version | 1 + main/tdb/.PKGINFO | 19 + main/tdb/PKGBUILD | 33 + main/tdb/README | 43 + main/tdb/version | 1 + main/terminus-font/PKGBUILD | 59 + main/terminus-font/README | 43 + main/terminus-font/fix-75-yes-terminus.patch | 11 + main/terminus-font/version | 1 + main/testdisk/PKGBUILD | 27 + main/testdisk/README | 43 + main/testdisk/version | 1 + main/tevent/.PKGINFO | 18 + main/tevent/PKGBUILD | 35 + main/tevent/README | 43 + main/tevent/version | 1 + main/thin-provisioning-tools/PKGBUILD | 31 + main/thin-provisioning-tools/README | 43 + main/thin-provisioning-tools/version | 1 + main/tmux/.PKGINFO | 22 + main/tmux/PKGBUILD | 41 + main/tmux/README | 43 + main/tmux/version | 1 + main/tpkg/PKGBUILD | 118 + main/tpkg/README | 43 + main/tpkg/makepkg.conf | 167 + main/tpkg/tpkg.conf | 74 + main/tpkg/version | 1 + main/tpm2-tools/.nvchecker.toml | 4 + main/tpm2-tools/PKGBUILD | 63 + main/tpm2-tools/README | 43 + main/tpm2-tools/version | 1 + main/tpm2-tss/PKGBUILD | 53 + main/tpm2-tss/README | 43 + main/tpm2-tss/version | 1 + main/tracker3/.PKGINFO | 40 + main/tracker3/PKGBUILD | 88 + main/tracker3/README | 43 + main/tracker3/version | 1 + main/tslib/.nvchecker.toml | 5 + main/tslib/PKGBUILD | 27 + main/tslib/README | 43 + main/tslib/version | 1 + main/ttf-hack/LICENSE | 45 + main/ttf-hack/PKGBUILD | 18 + main/ttf-hack/README | 43 + main/ttf-hack/version | 1 + main/tzdata/.PKGINFO | 15 + main/tzdata/.nvchecker.toml | 4 + main/tzdata/PKGBUILD | 54 + main/tzdata/README | 43 + main/tzdata/version | 1 + main/udftools/PKGBUILD | 38 + main/udftools/README | 43 + main/udftools/version | 1 + main/udisks2/.nvchecker.toml | 4 + main/udisks2/PKGBUILD | 172 + main/udisks2/README | 43 + main/udisks2/version | 1 + main/upower/.PKGINFO | 38 + main/upower/PKGBUILD | 65 + main/upower/README | 43 + main/upower/version | 1 + main/uriparser/.PKGINFO | 14 + main/uriparser/PKGBUILD | 34 + main/uriparser/README | 43 + main/uriparser/version | 1 + main/usb_modeswitch/PKGBUILD | 52 + main/usb_modeswitch/README | 43 + main/usb_modeswitch/version | 1 + main/usbmuxd/PKGBUILD | 53 + main/usbmuxd/README | 43 + main/usbmuxd/libplist-2.3.0.diff | 32 + main/usbmuxd/usbmuxd.sysusers | 1 + main/usbmuxd/version | 1 + main/usbutils/PKGBUILD | 58 + main/usbutils/README | 43 + main/usbutils/version | 1 + main/util-linux/.PKGINFO | 41 + main/util-linux/60-rfkill.rules | 1 + main/util-linux/PKGBUILD | 192 + main/util-linux/README | 43 + main/util-linux/pam-common | 6 + main/util-linux/pam-login | 7 + main/util-linux/pam-remote | 8 + main/util-linux/pam-runuser | 4 + main/util-linux/pam-su | 10 + main/util-linux/rfkill-block_.service | 10 + main/util-linux/rfkill-unblock_.service | 10 + main/util-linux/util-linux.sysusers | 2 + main/util-linux/version | 1 + main/v4l-utils/PKGBUILD | 35 + main/v4l-utils/README | 43 + main/v4l-utils/version | 1 + main/vapoursynth/.PKGINFO | 19 + main/vapoursynth/PKGBUILD | 59 + main/vapoursynth/README | 43 + main/vapoursynth/vapoursynth.xml | 8 + main/vapoursynth/version | 1 + main/verdict/PKGBUILD | 25 + main/verdict/version | 1 + main/vid.stab/PKGBUILD | 41 + main/vid.stab/README | 43 + main/vid.stab/version | 1 + main/vim/.PKGINFO | 31 + main/vim/.nvchecker.toml | 5 + main/vim/PKGBUILD | 207 + main/vim/README | 43 + main/vim/archlinux.vim | 46 + main/vim/version | 1 + main/vim/vimdoc.hook | 11 + main/vim/vimrc | 18 + main/virtualbox/.PKGINFO | 57 + main/virtualbox/001-disable-update.patch | 13 + main/virtualbox/004-drop-Wno-format.patch | 86 + main/virtualbox/008-no-vboxvideo.patch | 12 + .../virtualbox/009-properly-handle-i3wm.patch | 76 + ...3GuestCtrlDetectPeekGetCancelSupport.patch | 14 + .../013-support-building-from-dkms.patch | 54 + .../virtualbox/018-upate-xclient-script.patch | 35 + main/virtualbox/019-libxml-2-12.patch | 47 + main/virtualbox/60-vboxdrv.rules | 8 + main/virtualbox/60-vboxguest.rules | 2 + main/virtualbox/LocalConfig.kmk | 40 + main/virtualbox/PKGBUILD | 354 + main/virtualbox/README | 43 + main/virtualbox/build.sh | 3 + main/virtualbox/vboxdrmclient.path | 6 + main/virtualbox/vboxdrmclient.service | 7 + main/virtualbox/vboxreload | 37 + main/virtualbox/vboxservice-nox.service | 11 + main/virtualbox/vboxservice.service | 13 + main/virtualbox/vboxweb.service | 11 + main/virtualbox/version | 1 + main/virtualbox/virtualbox-ext-vnc.install | 27 + .../virtualbox-guest-utils.sysusers | 1 + main/virtualbox/virtualbox-host-dkms.conf | 31 + main/virtualbox/virtualbox-host-dkms.install | 12 + main/virtualbox/virtualbox.sysusers | 1 + main/vlc/.PKGINFO | 194 + main/vlc/PKGBUILD | 356 + main/vlc/README | 43 + main/vlc/taglib-2.patch | 63 + main/vlc/update-vlc-plugin-cache.hook | 11 + main/vlc/version | 1 + main/vmaf/PKGBUILD | 30 + main/vmaf/README | 43 + main/vmaf/version | 1 + main/volume_key/.PKGINFO | 31 + main/volume_key/PKGBUILD | 85 + main/volume_key/README | 43 + main/volume_key/version | 1 + main/vpnc/.PKGINFO | 23 + main/vpnc/PKGBUILD | 70 + main/vpnc/README | 43 + main/vpnc/version | 1 + main/vpnc/vpnc.conf | 17 + main/vpnc/vpnc@.service | 12 + main/vulkan-headers/.PKGINFO | 18 + main/vulkan-headers/PKGBUILD | 33 + main/vulkan-headers/README | 43 + main/vulkan-headers/version | 1 + main/vulkan-icd-loader/.PKGINFO | 22 + main/vulkan-icd-loader/PKGBUILD | 44 + main/vulkan-icd-loader/README | 43 + main/vulkan-icd-loader/version | 1 + main/vulkan-tools/PKGBUILD | 69 + main/vulkan-tools/README | 43 + main/vulkan-tools/version | 1 + main/wayland-utils/.nvchecker.toml | 5 + main/wayland-utils/PKGBUILD | 26 + main/wayland-utils/README | 43 + main/wayland-utils/version | 1 + main/webrtc-audio-processing-1/PKGBUILD | 52 + main/webrtc-audio-processing-1/README | 43 + main/webrtc-audio-processing-1/version | 1 + main/which/PKGBUILD | 28 + main/which/README | 43 + main/which/version | 1 + main/wireless-regdb/.PKGINFO | 19 + main/wireless-regdb/85-regulatory.rules | 3 + main/wireless-regdb/PKGBUILD | 42 + main/wireless-regdb/README | 43 + main/wireless-regdb/set-wireless-regdom | 5 + main/wireless-regdb/version | 1 + main/wireless-regdb/wireless-regdom | 4 + main/wireless_tools/.PKGINFO | 13 + main/wireless_tools/PKGBUILD | 33 + main/wireless_tools/README | 43 + main/wireless_tools/version | 1 + main/wireplumber/.PKGINFO | 46 + main/wireplumber/.nvchecker.toml | 3 + main/wireplumber/PKGBUILD | 136 + main/wireplumber/README | 43 + main/wireplumber/version | 1 + main/wireplumber/wireplumber.install | 23 + main/wpa_supplicant/.nvchecker.toml | 7 + .../0001-Enable-TLSv1.0-by-default.patch | 29 + ...emd-service-activation-configuration.patch | 37 + ...ate-yes-to-keep-wpa-supplicant-runni.patch | 37 + ...egotiation-to-fix-PEAP-issues-with-s.patch | 32 + ...urity-level-to-0-with-OpenSSL-3.0-wh.patch | 52 + .../0006-Disable-Werror-for-eapol_test.patch | 26 + ...-extra-ies-only-if-allowed-by-driver.patch | 73 + ...T-SAE-code-with-CONFIG_IEEE80211R_AP.patch | 57 + ...nnection-flags-before-reading-certif.patch | 42 + ...L-security-level-to-1-when-setting-c.patch | 29 + ...ad-support-to-the-systemd-unit-files.patch | 68 + ...est-available-BSS-not-just-the-first.patch | 135 + ...ix-wpa_supplicant-configuration-pars.patch | 30 + .../0014-Abort-ongoing-scan.patch | 26 + ...11w-from-pmf-for-AP-mode-in-wpa_supp.patch | 33 + main/wpa_supplicant/PKGBUILD | 124 + main/wpa_supplicant/README | 43 + main/wpa_supplicant/version | 1 + main/wpa_supplicant/wpa_supplicant.install | 7 + main/wpa_supplicant/wpa_supplicant_config | 649 + main/wvdial/PKGBUILD | 41 + main/wvdial/README | 43 + main/wvdial/version | 1 + .../wvdial-1.61-FTBFS-with-gcc-4.5.patch | 19 + main/wvdial/wvdial-1.61-destdir.patch | 35 + main/wvdial/wvdial-1.61-parallel-make.patch | 20 + main/wvstreams/PKGBUILD | 68 + main/wvstreams/README | 43 + main/wvstreams/version | 1 + main/wvstreams/wvstreams-4.6.1-gcc10.patch | 29 + main/wvstreams/wvstreams-4.6.1-gcc47.patch | 11 + main/wvstreams/wvstreams-4.6.1-gcc6.patch | 42 + main/wvstreams/wvstreams-4.6.1-glibc212.patch | 30 + main/wvstreams/wvstreams-4.6.1-magic.patch | 35 + .../wvstreams/wvstreams-4.6.1-openssl10.patch | 11 + .../wvstreams/wvstreams-4.6.1-openssl11.patch | 539 + .../wvstreams-4.6.1-parallel-make.patch | 60 + main/x264/.PKGINFO | 25 + main/x264/PKGBUILD | 55 + main/x264/README | 43 + main/x264/version | 1 + main/x265/PKGBUILD | 67 + main/x265/README | 43 + main/x265/version | 1 + main/xbitmaps/PKGBUILD | 27 + main/xbitmaps/README | 43 + main/xbitmaps/version | 1 + main/xcb-proto/.PKGINFO | 15 + main/xcb-proto/PKGBUILD | 35 + main/xcb-proto/README | 43 + main/xcb-proto/version | 1 + main/xcb-util-cursor/PKGBUILD | 31 + main/xcb-util-cursor/README | 43 + main/xcb-util-cursor/version | 1 + main/xcb-util-image/LICENSE | 267 + main/xcb-util-image/PKGBUILD | 35 + main/xcb-util-image/README | 43 + main/xcb-util-image/version | 1 + main/xcb-util-keysyms/PKGBUILD | 33 + main/xcb-util-keysyms/README | 43 + main/xcb-util-keysyms/version | 1 + main/xcb-util-renderutil/LICENSE | 267 + main/xcb-util-renderutil/PKGBUILD | 33 + main/xcb-util-renderutil/README | 43 + main/xcb-util-renderutil/version | 1 + main/xcb-util-wm/PKGBUILD | 34 + main/xcb-util-wm/README | 43 + main/xcb-util-wm/version | 1 + main/xdg-desktop-portal-kde/.PKGINFO | 41 + main/xdg-desktop-portal-kde/PKGBUILD | 57 + main/xdg-desktop-portal-kde/README | 43 + main/xdg-desktop-portal-kde/version | 1 + main/xdg-user-dirs/PKGBUILD | 45 + main/xdg-user-dirs/README | 43 + main/xdg-user-dirs/version | 1 + .../xdg-user-dirs-update.service | 10 + main/xdg-user-dirs/xdg-user-dirs.install | 14 + main/xdg-utils/.nvchecker.toml | 6 + main/xdg-utils/PKGBUILD | 67 + main/xdg-utils/README | 43 + main/xdg-utils/version | 1 + main/xf86-input-libinput/PKGBUILD | 35 + main/xf86-input-libinput/README | 43 + main/xf86-input-libinput/version | 1 + main/xfsprogs/.PKGINFO | 24 + main/xfsprogs/PKGBUILD | 41 + main/xfsprogs/README | 43 + main/xfsprogs/version | 1 + main/xkeyboard-config/.PKGINFO | 20 + main/xkeyboard-config/.nvchecker.toml | 6 + main/xkeyboard-config/PKGBUILD | 41 + main/xkeyboard-config/README | 43 + main/xkeyboard-config/version | 1 + main/xl2tpd/PKGBUILD | 45 + main/xl2tpd/README | 43 + main/xl2tpd/options.l2tpd | 24 + main/xl2tpd/version | 1 + main/xl2tpd/xl2tpd.conf.client-example | 19 + main/xl2tpd/xl2tpd.conf.server-example | 21 + main/xl2tpd/xl2tpd.service | 15 + main/xl2tpd/xl2tpd.tmpfiles | 1 + main/xmlsec/.PKGINFO | 28 + main/xmlsec/.nvchecker.toml | 4 + ...nsure-nss-algorithms-are-initialized.patch | 30 + ...ix-typo-with-xmlSecKeyDataEcGetKlass.patch | 22 + main/xmlsec/PKGBUILD | 51 + main/xmlsec/README | 43 + main/xmlsec/version | 1 + main/xorg-bdftopcf/PKGBUILD | 31 + main/xorg-bdftopcf/README | 43 + main/xorg-bdftopcf/version | 1 + main/xorg-fonts-encodings/.nvchecker.toml | 8 + main/xorg-fonts-encodings/PKGBUILD | 43 + main/xorg-fonts-encodings/README | 43 + main/xorg-fonts-encodings/version | 1 + main/xorg-iceauth/.nvchecker.toml | 8 + main/xorg-iceauth/PKGBUILD | 30 + main/xorg-iceauth/README | 43 + main/xorg-iceauth/version | 1 + main/xorg-mkfontscale/.nvchecker.toml | 8 + main/xorg-mkfontscale/PKGBUILD | 44 + main/xorg-mkfontscale/README | 43 + main/xorg-mkfontscale/version | 1 + main/xorg-mkfontscale/xorg-mkfontscale.hook | 13 + .../xorg-mkfontscale/xorg-mkfontscale.install | 8 + main/xorg-mkfontscale/xorg-mkfontscale.script | 9 + main/xorg-server/.PKGINFO | 62 + main/xorg-server/.nvchecker.toml | 15 + main/xorg-server/PKGBUILD | 193 + main/xorg-server/README | 43 + main/xorg-server/version | 1 + main/xorg-server/xorg-server.install | 18 + main/xorg-server/xvfb-run | 199 + main/xorg-server/xvfb-run.1 | 282 + main/xorg-sessreg/PKGBUILD | 31 + main/xorg-sessreg/README | 43 + main/xorg-sessreg/version | 1 + main/xorg-setxkbmap/PKGBUILD | 31 + main/xorg-setxkbmap/README | 43 + main/xorg-setxkbmap/version | 1 + main/xorg-smproxy/PKGBUILD | 30 + main/xorg-smproxy/README | 43 + main/xorg-smproxy/version | 1 + main/xorg-x11perf/PKGBUILD | 30 + main/xorg-x11perf/README | 43 + main/xorg-x11perf/version | 1 + main/xorg-xauth/.nvchecker.toml | 8 + main/xorg-xauth/PKGBUILD | 37 + main/xorg-xauth/README | 43 + main/xorg-xauth/version | 1 + main/xorg-xbacklight/PKGBUILD | 29 + main/xorg-xbacklight/README | 43 + main/xorg-xbacklight/version | 1 + main/xorg-xcmsdb/PKGBUILD | 31 + main/xorg-xcmsdb/README | 43 + main/xorg-xcmsdb/version | 1 + main/xorg-xcursorgen/PKGBUILD | 30 + main/xorg-xcursorgen/README | 43 + main/xorg-xcursorgen/version | 1 + main/xorg-xdpyinfo/PKGBUILD | 30 + main/xorg-xdpyinfo/README | 43 + main/xorg-xdpyinfo/version | 1 + main/xorg-xdriinfo/PKGBUILD | 30 + main/xorg-xdriinfo/README | 43 + main/xorg-xdriinfo/version | 1 + main/xorg-xev/.nvchecker.toml | 8 + main/xorg-xev/PKGBUILD | 30 + main/xorg-xev/README | 43 + main/xorg-xev/version | 1 + main/xorg-xgamma/PKGBUILD | 29 + main/xorg-xgamma/README | 43 + main/xorg-xgamma/version | 1 + main/xorg-xhost/PKGBUILD | 29 + main/xorg-xhost/README | 43 + main/xorg-xhost/version | 1 + main/xorg-xinput/PKGBUILD | 30 + main/xorg-xinput/README | 43 + main/xorg-xinput/version | 1 + main/xorg-xkbcomp/PKGBUILD | 39 + main/xorg-xkbcomp/README | 43 + main/xorg-xkbcomp/version | 1 + main/xorg-xkbevd/PKGBUILD | 30 + main/xorg-xkbevd/README | 43 + main/xorg-xkbevd/version | 1 + main/xorg-xkbprint/PKGBUILD | 29 + main/xorg-xkbprint/README | 43 + main/xorg-xkbprint/version | 1 + main/xorg-xkbutils/PKGBUILD | 29 + main/xorg-xkbutils/README | 43 + main/xorg-xkbutils/version | 1 + main/xorg-xkill/PKGBUILD | 29 + main/xorg-xkill/README | 43 + main/xorg-xkill/version | 1 + main/xorg-xlsatoms/PKGBUILD | 29 + main/xorg-xlsatoms/README | 43 + main/xorg-xlsatoms/version | 1 + main/xorg-xlsclients/PKGBUILD | 29 + main/xorg-xlsclients/README | 43 + main/xorg-xlsclients/version | 1 + main/xorg-xmessage/.nvchecker.toml | 8 + main/xorg-xmessage/PKGBUILD | 37 + main/xorg-xmessage/README | 43 + main/xorg-xmessage/version | 1 + main/xorg-xmodmap/PKGBUILD | 29 + main/xorg-xmodmap/README | 43 + main/xorg-xmodmap/version | 1 + main/xorg-xpr/.nvchecker.toml | 8 + main/xorg-xpr/PKGBUILD | 29 + main/xorg-xpr/README | 43 + main/xorg-xpr/version | 1 + main/xorg-xprop/PKGBUILD | 31 + main/xorg-xprop/README | 43 + main/xorg-xprop/version | 1 + main/xorg-xrandr/PKGBUILD | 33 + main/xorg-xrandr/README | 43 + main/xorg-xrandr/version | 1 + main/xorg-xrdb/PKGBUILD | 35 + main/xorg-xrdb/README | 43 + main/xorg-xrdb/version | 1 + main/xorg-xrefresh/.nvchecker.toml | 8 + main/xorg-xrefresh/PKGBUILD | 29 + main/xorg-xrefresh/README | 43 + main/xorg-xrefresh/version | 1 + main/xorg-xset/PKGBUILD | 30 + main/xorg-xset/README | 43 + main/xorg-xset/version | 1 + main/xorg-xsetroot/PKGBUILD | 29 + main/xorg-xsetroot/README | 43 + main/xorg-xsetroot/version | 1 + main/xorg-xvinfo/PKGBUILD | 29 + main/xorg-xvinfo/README | 43 + main/xorg-xvinfo/version | 1 + main/xorg-xwayland/.PKGINFO | 55 + main/xorg-xwayland/.nvchecker.toml | 15 + main/xorg-xwayland/PKGBUILD | 73 + main/xorg-xwayland/README | 43 + main/xorg-xwayland/version | 1 + main/xorg-xwd/PKGBUILD | 29 + main/xorg-xwd/README | 43 + main/xorg-xwd/version | 1 + main/xorg-xwininfo/PKGBUILD | 30 + main/xorg-xwininfo/README | 43 + main/xorg-xwininfo/version | 1 + main/xorg-xwud/PKGBUILD | 29 + main/xorg-xwud/README | 43 + main/xorg-xwud/version | 1 + main/xorgproto/.nvchecker.toml | 8 + main/xorgproto/PKGBUILD | 61 + main/xorgproto/README | 43 + main/xorgproto/version | 1 + main/xsettingsd/PKGBUILD | 25 + main/xsettingsd/README | 43 + main/xsettingsd/version | 1 + main/xterm/.PKGINFO | 21 + main/xterm/PKGBUILD | 66 + main/xterm/README | 43 + main/xterm/version | 1 + main/xvidcore/PKGBUILD | 31 + main/xvidcore/README | 43 + main/xvidcore/version | 1 + main/xxhash/PKGBUILD | 35 + main/xxhash/README | 43 + main/xxhash/version | 1 + main/xxhash/xxhash-man-symlinks.patch | 16 + main/xz/.PKGINFO | 20 + main/xz/PKGBUILD | 48 + main/xz/README | 43 + main/xz/version | 1 + main/yakuake/.PKGINFO | 41 + main/yakuake/PKGBUILD | 54 + main/yakuake/README | 43 + main/yakuake/version | 1 + main/yaml-cpp/PKGBUILD | 42 + main/yaml-cpp/README | 43 + main/yaml-cpp/version | 1 + main/yyjson/PKGBUILD | 36 + main/yyjson/version | 1 + main/zeromq/PKGBUILD | 102 + main/zeromq/README | 43 + main/zeromq/fix-doc-install.patch | 11 + main/zeromq/version | 1 + main/zimg/PKGBUILD | 46 + main/zimg/README | 43 + main/zimg/version | 1 + main/zix/PKGBUILD | 68 + main/zix/README | 43 + main/zix/version | 1 + main/zlib/.PKGINFO | 15 + main/zlib/PKGBUILD | 71 + main/zlib/README | 43 + main/zlib/version | 1 + ...0001-50629-do-not-use-egrep-in-tests.patch | 164 + main/zsh/0002-fix-autocompletion.patch | 37 + main/zsh/0003-51862-support-texinfo-7-0.patch | 44 + main/zsh/0004-pcre2.patch | 709 + main/zsh/PKGBUILD | 123 + main/zsh/README | 43 + main/zsh/version | 1 + main/zsh/zprofile | 1 + main/zsh/zsh.install | 14 + main/zstd/PKGBUILD | 58 + main/zstd/README | 43 + main/zstd/version | 1 + main/zxing-cpp/.nvchecker.toml | 5 + main/zxing-cpp/PKGBUILD | 33 + main/zxing-cpp/README | 43 + main/zxing-cpp/version | 1 + 3717 files changed, 145698 insertions(+) create mode 100755 cp.sh create mode 100644 main/a52dec/PKGBUILD create mode 100644 main/a52dec/README create mode 100644 main/a52dec/version create mode 100644 main/abseil-cpp/.PKGINFO create mode 100644 main/abseil-cpp/PKGBUILD create mode 100644 main/abseil-cpp/README create mode 100644 main/abseil-cpp/scoped-mock-log.patch create mode 100644 main/abseil-cpp/version create mode 100644 main/accounts-qml-module/.nvchecker.toml create mode 100644 main/accounts-qml-module/PKGBUILD create mode 100644 main/accounts-qml-module/README create mode 100644 main/accounts-qml-module/version create mode 100644 main/accountsservice/.PKGINFO create mode 100644 main/accountsservice/PKGBUILD create mode 100644 main/accountsservice/README create mode 100644 main/accountsservice/version create mode 100644 main/acl/PKGBUILD create mode 100644 main/acl/README create mode 100644 main/acl/version create mode 100644 main/adobe-source-code-pro-fonts/PKGBUILD create mode 100644 main/adobe-source-code-pro-fonts/README create mode 100644 main/adobe-source-code-pro-fonts/version create mode 100644 main/adwaita-icon-theme-legacy/PKGBUILD create mode 100644 main/adwaita-icon-theme-legacy/version create mode 100644 main/adwaita-icon-theme/PKGBUILD create mode 100644 main/adwaita-icon-theme/README create mode 100644 main/adwaita-icon-theme/version create mode 100644 main/aha/.nvchecker.toml create mode 100644 main/aha/PKGBUILD create mode 100644 main/aha/README create mode 100644 main/aha/version create mode 100644 main/alsa-lib/.PKGINFO create mode 100644 main/alsa-lib/PKGBUILD create mode 100644 main/alsa-lib/README create mode 100644 main/alsa-lib/alsa-lib.install create mode 100644 main/alsa-lib/version create mode 100644 main/alsa-topology-conf/PKGBUILD create mode 100644 main/alsa-topology-conf/README create mode 100644 main/alsa-topology-conf/version create mode 100644 main/alsa-ucm-conf/.PKGINFO create mode 100644 main/alsa-ucm-conf/PKGBUILD create mode 100644 main/alsa-ucm-conf/README create mode 100644 main/alsa-ucm-conf/version create mode 100644 main/alsa-utils/.PKGINFO create mode 100644 main/alsa-utils/PKGBUILD create mode 100644 main/alsa-utils/README create mode 100644 main/alsa-utils/alsa-utils.tmpfiles create mode 100644 main/alsa-utils/version create mode 100644 main/aom/.PKGINFO create mode 100644 main/aom/PKGBUILD create mode 100644 main/aom/README create mode 100644 main/aom/version create mode 100644 main/appstream/.PKGINFO create mode 100644 main/appstream/.nvchecker.toml create mode 100644 main/appstream/PKGBUILD create mode 100644 main/appstream/README create mode 100644 main/appstream/update-appstream-cache.hook create mode 100644 main/appstream/version create mode 100644 main/argon2/PKGBUILD create mode 100644 main/argon2/README create mode 100644 main/argon2/version create mode 100644 main/aribb24/PKGBUILD create mode 100644 main/aribb24/README create mode 100644 main/aribb24/version create mode 100644 main/at-spi2-core/PKGBUILD create mode 100644 main/at-spi2-core/README create mode 100644 main/at-spi2-core/version create mode 100644 main/attica/.PKGINFO create mode 100644 main/attica/PKGBUILD create mode 100644 main/attica/README create mode 100644 main/attica/version create mode 100644 main/attr/PKGBUILD create mode 100644 main/attr/README create mode 100644 main/attr/version create mode 100644 main/audit/.PKGINFO create mode 100644 main/audit/.nvchecker.toml create mode 100644 main/audit/PKGBUILD create mode 100644 main/audit/README create mode 100644 main/audit/audit-4.0-executable_paths.patch create mode 100644 main/audit/audit.tmpfiles create mode 100644 main/audit/version create mode 100644 main/avahi/.PKGINFO create mode 100644 main/avahi/0001-HACK-Install-fixes.patch create mode 100644 main/avahi/PKGBUILD create mode 100644 main/avahi/README create mode 100644 main/avahi/version create mode 100644 main/b43-fwcutter/PKGBUILD create mode 100644 main/b43-fwcutter/README create mode 100644 main/b43-fwcutter/version create mode 100644 main/baloo-widgets/.PKGINFO create mode 100644 main/baloo-widgets/PKGBUILD create mode 100644 main/baloo-widgets/README create mode 100644 main/baloo-widgets/version create mode 100644 main/base-devel/PKGBUILD create mode 100644 main/base-devel/README create mode 100644 main/base-devel/version create mode 100644 main/bash-completion/.PKGINFO create mode 100644 main/bash-completion/PKGBUILD create mode 100644 main/bash-completion/README create mode 100644 main/bash-completion/version create mode 100644 main/bc/PKGBUILD create mode 100644 main/bc/README create mode 100644 main/bc/version create mode 100644 main/bcachefs-tools/.PKGINFO create mode 100644 main/bcachefs-tools/PKGBUILD create mode 100644 main/bcachefs-tools/README create mode 100644 main/bcachefs-tools/version create mode 100644 main/bind/.PKGINFO create mode 100644 main/bind/127.0.0.zone create mode 100644 main/bind/PKGBUILD create mode 100644 main/bind/README create mode 100644 main/bind/bind.install create mode 100644 main/bind/localhost.ip6.zone create mode 100644 main/bind/localhost.zone create mode 100644 main/bind/named.conf create mode 100644 main/bind/named.service create mode 100644 main/bind/sysusers.conf create mode 100644 main/bind/tmpfiles.conf create mode 100644 main/bind/version create mode 100644 main/binutils/.PKGINFO create mode 100644 main/binutils/PKGBUILD create mode 100644 main/binutils/README create mode 100644 main/binutils/gold-warn-unsupported.patch create mode 100644 main/binutils/version create mode 100644 main/bluedevil/.PKGINFO create mode 100644 main/bluedevil/PKGBUILD create mode 100644 main/bluedevil/README create mode 100644 main/bluedevil/version create mode 100644 main/bluez-qt/.PKGINFO create mode 100644 main/bluez-qt/PKGBUILD create mode 100644 main/bluez-qt/README create mode 100644 main/bluez-qt/version create mode 100644 main/bluez/.PKGINFO create mode 100644 main/bluez/.nvchecker.toml create mode 100644 main/bluez/0001_use_bt_uhid_functions.patch create mode 100644 main/bluez/PKGBUILD create mode 100644 main/bluez/README create mode 100644 main/bluez/bluetooth.modprobe create mode 100644 main/bluez/version create mode 100644 main/bolt/.PKGINFO create mode 100644 main/bolt/.nvchecker.toml create mode 100644 main/bolt/PKGBUILD create mode 100644 main/bolt/README create mode 100644 main/bolt/version create mode 100644 main/boost/.PKGINFO create mode 100644 main/boost/PKGBUILD create mode 100644 main/boost/README create mode 100644 main/boost/boost-1.81.0-phoenix-multiple-definitions.patch create mode 100644 main/boost/version create mode 100644 main/breeze-gtk/.PKGINFO create mode 100644 main/breeze-gtk/PKGBUILD create mode 100644 main/breeze-gtk/README create mode 100644 main/breeze-gtk/version create mode 100644 main/breeze-icons/.PKGINFO create mode 100644 main/breeze-icons/PKGBUILD create mode 100644 main/breeze-icons/README create mode 100644 main/breeze-icons/version create mode 100644 main/brltty/.PKGINFO create mode 100644 main/brltty/PKGBUILD create mode 100644 main/brltty/README create mode 100644 main/brltty/brltty-6.2-systemd_sysusers_groups.patch create mode 100644 main/brltty/brltty-6.4-x11_autostart.patch create mode 100644 main/brltty/brltty.install create mode 100644 main/brltty/version create mode 100644 main/broadcom-wl/.PKGINFO create mode 100644 main/broadcom-wl/PKGBUILD create mode 100644 main/broadcom-wl/README create mode 100644 main/broadcom-wl/version create mode 100644 main/brotli/.PKGINFO create mode 100644 main/brotli/PKGBUILD create mode 100644 main/brotli/README create mode 100644 main/brotli/version create mode 100644 main/btrfs-progs/.PKGINFO create mode 100644 main/btrfs-progs/PKGBUILD create mode 100644 main/btrfs-progs/README create mode 100644 main/btrfs-progs/btrfs-progs.install create mode 100644 main/btrfs-progs/btrfs-scrub@.service create mode 100644 main/btrfs-progs/btrfs-scrub@.timer create mode 100644 main/btrfs-progs/initcpio-hook-btrfs create mode 100644 main/btrfs-progs/initcpio-install-btrfs create mode 100644 main/btrfs-progs/version create mode 100644 main/bzip2/PKGBUILD create mode 100644 main/bzip2/README create mode 100644 main/bzip2/bzip2.pc create mode 100644 main/bzip2/version create mode 100644 main/ca-certificates/40-update-ca-trust.hook create mode 100644 main/ca-certificates/PKGBUILD create mode 100644 main/ca-certificates/README create mode 100644 main/ca-certificates/ca-certificates-utils.install create mode 100644 main/ca-certificates/update-ca-trust create mode 100644 main/ca-certificates/update-ca-trust.8.txt create mode 100644 main/ca-certificates/version create mode 100644 main/cairo/PKGBUILD create mode 100644 main/cairo/README create mode 100644 main/cairo/version create mode 100644 main/calamares/PKGBUILD create mode 100644 main/calamares/README create mode 100644 main/calamares/version create mode 100644 main/cantarell-fonts/PKGBUILD create mode 100644 main/cantarell-fonts/README create mode 100644 main/cantarell-fonts/version create mode 100644 main/ccid/PKGBUILD create mode 100644 main/ccid/README create mode 100644 main/ccid/version create mode 100644 main/cdparanoia/PKGBUILD create mode 100644 main/cdparanoia/cdparanoia-10.2-format-security.patch create mode 100644 main/cdparanoia/cdparanoia-10.2-ldflags.patch create mode 100644 main/cdparanoia/cdparanoia-r15388.patch create mode 100644 main/cdparanoia/version create mode 100644 main/cifs-utils/PKGBUILD create mode 100644 main/cifs-utils/README create mode 100644 main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1.patch create mode 100644 main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1_part-2.patch create mode 100644 main/cifs-utils/cifs-utils-6.13_fix-regression-in-kerberos-mount.patch create mode 100644 main/cifs-utils/version create mode 100644 main/clang/.PKGINFO create mode 100644 main/clang/PKGBUILD create mode 100644 main/clang/README create mode 100644 main/clang/enable-fstack-protector-strong-by-default.patch create mode 100644 main/clang/version create mode 100644 main/clinfo/PKGBUILD create mode 100644 main/clinfo/README create mode 100644 main/clinfo/version create mode 100644 main/clonezilla/PKGBUILD create mode 100644 main/clonezilla/README create mode 100644 main/clonezilla/usrbin.patch create mode 100644 main/clonezilla/version create mode 100644 main/cloud-init/.PKGINFO create mode 100644 main/cloud-init/.nvchecker.toml create mode 100644 main/cloud-init/PKGBUILD create mode 100644 main/cloud-init/README create mode 100644 main/cloud-init/version create mode 100644 main/colord/PKGBUILD create mode 100644 main/colord/README create mode 100644 main/colord/version create mode 100644 main/compiler-rt/.PKGINFO create mode 100644 main/compiler-rt/PKGBUILD create mode 100644 main/compiler-rt/README create mode 100644 main/compiler-rt/version create mode 100644 main/convertlit/.nvchecker.toml create mode 100644 main/convertlit/PKGBUILD create mode 100644 main/convertlit/README create mode 100644 main/convertlit/version create mode 100644 main/coreutils/PKGBUILD create mode 100644 main/coreutils/README create mode 100644 main/coreutils/version create mode 100644 main/cracklib/PKGBUILD create mode 100644 main/cracklib/README create mode 100644 main/cracklib/version create mode 100644 main/cryptsetup/.PKGINFO create mode 100644 main/cryptsetup/PKGBUILD create mode 100644 main/cryptsetup/README create mode 100644 main/cryptsetup/version create mode 100644 main/cups/.PKGINFO create mode 100644 main/cups/.nvchecker.toml create mode 100644 main/cups/PKGBUILD create mode 100644 main/cups/README create mode 100644 main/cups/cups-2.4.0-statedir.patch create mode 100644 main/cups/cups-freebind.patch create mode 100644 main/cups/cups.install create mode 100644 main/cups/cups.logrotate create mode 100644 main/cups/cups.pam create mode 100644 main/cups/cups.sysusers create mode 100644 main/cups/guid.patch create mode 100644 main/cups/version create mode 100644 main/curl/.PKGINFO create mode 100644 main/curl/.nvchecker.toml create mode 100644 main/curl/0001-bump-version-to-match-last-tag.patch create mode 100644 main/curl/PKGBUILD create mode 100644 main/curl/README create mode 100644 main/curl/version create mode 100644 main/darkhttpd/PKGBUILD create mode 100644 main/darkhttpd/README create mode 100644 main/darkhttpd/darkhttpd.service create mode 100644 main/darkhttpd/darkhttpd@.service create mode 100644 main/darkhttpd/version create mode 100644 main/dav1d/PKGBUILD create mode 100644 main/dav1d/README create mode 100644 main/dav1d/version create mode 100644 main/db5.3/.PKGINFO create mode 100644 main/db5.3/PKGBUILD create mode 100644 main/db5.3/README create mode 100644 main/db5.3/db-5.3.21-memp_stat-upstream-fix.patch create mode 100644 main/db5.3/db-5.3.21-mutex_leak.patch create mode 100644 main/db5.3/db-5.3.28-atomic_compare_exchange.patch create mode 100644 main/db5.3/db-5.3.28-lemon_hash.patch create mode 100644 main/db5.3/db-5.3.28-mmap-high-cpu-usage.patch create mode 100644 main/db5.3/db-5.3.28_cve-2019-2708.patch create mode 100644 main/db5.3/version create mode 100644 main/dbus-broker/.PKGINFO create mode 100644 main/dbus-broker/0001-units-Enable-statically.patch create mode 100644 main/dbus-broker/PKGBUILD create mode 100644 main/dbus-broker/README create mode 100644 main/dbus-broker/version create mode 100644 main/dbus/PKGBUILD create mode 100644 main/dbus/README create mode 100644 main/dbus/dbus-reload.hook create mode 100644 main/dbus/version create mode 100644 main/dconf/PKGBUILD create mode 100644 main/dconf/README create mode 100755 main/dconf/dconf-update create mode 100644 main/dconf/dconf-update.hook create mode 100644 main/dconf/dconf.install create mode 100644 main/dconf/version create mode 100644 main/ddcutil/PKGBUILD create mode 100644 main/ddcutil/README create mode 100644 main/ddcutil/version create mode 100644 main/ddrescue/PKGBUILD create mode 100644 main/ddrescue/README create mode 100644 main/ddrescue/version create mode 100644 main/default-cursors/PKGBUILD create mode 100644 main/default-cursors/README create mode 100644 main/default-cursors/version create mode 100644 main/desktop-file-utils/PKGBUILD create mode 100644 main/desktop-file-utils/README create mode 100644 main/desktop-file-utils/update-desktop-database.hook create mode 100644 main/desktop-file-utils/version create mode 100644 main/dex/PKGBUILD create mode 100644 main/dex/README create mode 100644 main/dex/fix-dex-version.patch create mode 100644 main/dex/version create mode 100644 main/dhcp/.PKGINFO create mode 100644 main/dhcp/0001-99-replace-hostname-with-uname-n.patch create mode 100644 main/dhcp/PKGBUILD create mode 100644 main/dhcp/README create mode 100644 main/dhcp/dhclient@.service create mode 100644 main/dhcp/dhcp-sysusers.conf create mode 100644 main/dhcp/dhcp-tmpfiles.conf create mode 100644 main/dhcp/dhcpd4.service create mode 100644 main/dhcp/dhcpd6.service create mode 100644 main/dhcp/version create mode 100644 main/dhcpcd/PKGBUILD create mode 100644 main/dhcpcd/README create mode 100644 main/dhcpcd/dhcpcd.service create mode 100644 main/dhcpcd/dhcpcd.sysusers create mode 100644 main/dhcpcd/dhcpcd.tmpfiles create mode 100644 main/dhcpcd/dhcpcd_.service create mode 100644 main/dhcpcd/version create mode 100644 main/diffutils/PKGBUILD create mode 100644 main/diffutils/README create mode 100644 main/diffutils/version create mode 100644 main/ding-libs/.nvchecker.toml create mode 100644 main/ding-libs/PKGBUILD create mode 100644 main/ding-libs/README create mode 100644 main/ding-libs/version create mode 100644 main/dmidecode/PKGBUILD create mode 100644 main/dmidecode/README create mode 100644 main/dmidecode/version create mode 100644 main/dmraid/PKGBUILD create mode 100644 main/dmraid/README create mode 100644 main/dmraid/dmraid-format-security.patch create mode 100644 main/dmraid/dmraid.install create mode 100644 main/dmraid/dmraid.service create mode 100644 main/dmraid/dmraid_hook create mode 100644 main/dmraid/dmraid_install create mode 100644 main/dmraid/dmraid_tmpfiles create mode 100644 main/dmraid/version create mode 100644 main/dnsmasq/PKGBUILD create mode 100644 main/dnsmasq/README create mode 100644 main/dnsmasq/dnsmasq-sysusers.conf create mode 100644 main/dnsmasq/dnsmasq.service create mode 100644 main/dnsmasq/version create mode 100644 main/dnssec-anchors/LICENSE create mode 100644 main/dnssec-anchors/PKGBUILD create mode 100644 main/dnssec-anchors/README create mode 100755 main/dnssec-anchors/dnssec-anchors-versioned.sh create mode 100644 main/dnssec-anchors/version create mode 100644 main/dolphin/.PKGINFO create mode 100644 main/dolphin/PKGBUILD create mode 100644 main/dolphin/README create mode 100644 main/dolphin/version create mode 100644 main/dosfstools/PKGBUILD create mode 100644 main/dosfstools/README create mode 100644 main/dosfstools/version create mode 100644 main/double-conversion/.nvchecker.toml create mode 100644 main/double-conversion/PKGBUILD create mode 100644 main/double-conversion/README create mode 100644 main/double-conversion/version create mode 100644 main/doxygen/.PKGINFO create mode 100644 main/doxygen/.nvchecker.toml create mode 100644 main/doxygen/PKGBUILD create mode 100644 main/doxygen/README create mode 100644 main/doxygen/version create mode 100644 main/drbl/PKGBUILD create mode 100644 main/drbl/README create mode 100644 main/drbl/usrbin.patch create mode 100644 main/drbl/version create mode 100644 main/drkonqi/.PKGINFO create mode 100644 main/drkonqi/PKGBUILD create mode 100644 main/drkonqi/README create mode 100644 main/drkonqi/version create mode 100644 main/duktape/PKGBUILD create mode 100644 main/duktape/README create mode 100644 main/duktape/version create mode 100644 main/e2fsprogs/0001-mke2fs-fix-creating-a-file-system-image-w-o-a-pre-existing-file.patch create mode 100644 main/e2fsprogs/MIT-LICENSE create mode 100644 main/e2fsprogs/PKGBUILD create mode 100644 main/e2fsprogs/README create mode 100644 main/e2fsprogs/version create mode 100644 main/ebook-tools/.nvchecker.toml create mode 100644 main/ebook-tools/PKGBUILD create mode 100644 main/ebook-tools/README create mode 100644 main/ebook-tools/crash-fix.patch create mode 100644 main/ebook-tools/version create mode 100644 main/ecryptfs-utils/PKGBUILD create mode 100644 main/ecryptfs-utils/README create mode 100644 main/ecryptfs-utils/openssl-1.1.x.patch create mode 100644 main/ecryptfs-utils/version create mode 100644 main/editorconfig-core-c/.PKGINFO create mode 100644 main/editorconfig-core-c/.nvchecker.toml create mode 100644 main/editorconfig-core-c/PKGBUILD create mode 100644 main/editorconfig-core-c/README create mode 100644 main/editorconfig-core-c/version create mode 100644 main/edk2/50-edk2-ovmf-i386-secure-4m.json create mode 100644 main/edk2/50-edk2-ovmf-i386-secure.json create mode 100644 main/edk2/50-edk2-ovmf-x86_64-secure-4m.json create mode 100644 main/edk2/50-edk2-ovmf-x86_64-secure.json create mode 100644 main/edk2/60-edk2-aarch64.json create mode 100644 main/edk2/60-edk2-arm.json create mode 100644 main/edk2/60-edk2-ovmf-i386-4m.json create mode 100644 main/edk2/60-edk2-ovmf-i386.json create mode 100644 main/edk2/60-edk2-ovmf-microvm-4m.json create mode 100644 main/edk2/60-edk2-ovmf-microvm.json create mode 100644 main/edk2/60-edk2-ovmf-x86_64-4m.json create mode 100644 main/edk2/60-edk2-ovmf-x86_64.json create mode 100644 main/edk2/70-edk2-ovmf-i386-csm-4m.json create mode 100644 main/edk2/70-edk2-ovmf-i386-csm.json create mode 100644 main/edk2/70-edk2-ovmf-x86_64-csm-4m.json create mode 100644 main/edk2/70-edk2-ovmf-x86_64-csm.json create mode 100644 main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure-4m.json create mode 100644 main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure.json create mode 100644 main/edk2/81-edk2-ovmf-ia32-on-x86_64-4m.json create mode 100644 main/edk2/81-edk2-ovmf-ia32-on-x86_64.json create mode 100644 main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm-4m.json create mode 100644 main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm.json create mode 100644 main/edk2/PKGBUILD create mode 100644 main/edk2/README create mode 100644 main/edk2/edk2-202202-brotli.patch create mode 100644 main/edk2/edk2-ovmf.install create mode 100644 main/edk2/edk2-shell.install create mode 100644 main/edk2/version create mode 100644 main/efibootmgr/.nvchecker.toml create mode 100755 main/efibootmgr/PKGBUILD create mode 100644 main/efibootmgr/README create mode 100644 main/efibootmgr/version create mode 100644 main/efivar/PKGBUILD create mode 100644 main/efivar/README create mode 100644 main/efivar/version create mode 100644 main/elfutils/.PKGINFO create mode 100644 main/elfutils/.nvchecker.toml create mode 100644 main/elfutils/PKGBUILD create mode 100644 main/elfutils/README create mode 100644 main/elfutils/version create mode 100644 main/ell/.PKGINFO create mode 100644 main/ell/.nvchecker.toml create mode 100644 main/ell/PKGBUILD create mode 100644 main/ell/README create mode 100644 main/ell/version create mode 100644 main/espeak-ng/.nvchecker.toml create mode 100644 main/espeak-ng/PKGBUILD create mode 100644 main/espeak-ng/README create mode 100644 main/espeak-ng/version create mode 100644 main/espeakup/.nvchecker.toml create mode 100644 main/espeakup/PKGBUILD create mode 100644 main/espeakup/README create mode 100644 main/espeakup/espeakup.conf.d create mode 100644 main/espeakup/espeakup.modules-load.d create mode 100644 main/espeakup/espeakup.service create mode 100644 main/espeakup/version create mode 100644 main/ethtool/.PKGINFO create mode 100644 main/ethtool/PKGBUILD create mode 100644 main/ethtool/README create mode 100644 main/ethtool/version create mode 100644 main/exfatprogs/PKGBUILD create mode 100644 main/exfatprogs/README create mode 100644 main/exfatprogs/version create mode 100644 main/exiv2/.PKGINFO create mode 100644 main/exiv2/.nvchecker.toml create mode 100644 main/exiv2/PKGBUILD create mode 100644 main/exiv2/README create mode 100644 main/exiv2/version create mode 100644 main/expat/.nvchecker.toml create mode 100644 main/expat/PKGBUILD create mode 100644 main/expat/README create mode 100644 main/expat/version create mode 100644 main/f2fs-tools/PKGBUILD create mode 100644 main/f2fs-tools/README create mode 100644 main/f2fs-tools/version create mode 100644 main/faad2/PKGBUILD create mode 100644 main/faad2/README create mode 100644 main/faad2/version create mode 100644 main/fastfetch/.PKGINFO create mode 100644 main/fastfetch/PKGBUILD create mode 100644 main/fastfetch/version create mode 100644 main/fatresize/.nvchecker.toml create mode 100644 main/fatresize/PKGBUILD create mode 100644 main/fatresize/README create mode 100644 main/fatresize/version create mode 100644 main/ffmpeg/PKGBUILD create mode 100644 main/ffmpeg/README create mode 100644 main/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch create mode 100644 main/ffmpeg/version create mode 100644 main/ffmpeg4.4/PKGBUILD create mode 100644 main/ffmpeg4.4/README create mode 100644 main/ffmpeg4.4/binutils-2.41.patch create mode 100644 main/ffmpeg4.4/version create mode 100644 main/fftw/.PKGINFO create mode 100644 main/fftw/PKGBUILD create mode 100644 main/fftw/README create mode 100644 main/fftw/version create mode 100644 main/file/PKGBUILD create mode 100644 main/file/README create mode 100644 main/file/version create mode 100644 main/filesystem/PKGBUILD create mode 100644 main/filesystem/README create mode 100755 main/filesystem/config_user create mode 100644 main/filesystem/crypttab create mode 100755 main/filesystem/env-generator create mode 100644 main/filesystem/fstab create mode 100644 main/filesystem/group create mode 100644 main/filesystem/gshadow create mode 100644 main/filesystem/host.conf create mode 100644 main/filesystem/hosts create mode 100644 main/filesystem/issue create mode 100644 main/filesystem/ld.so.conf create mode 100644 main/filesystem/locale.sh create mode 100644 main/filesystem/nsswitch.conf create mode 100644 main/filesystem/os-release create mode 100644 main/filesystem/passwd create mode 100755 main/filesystem/polkit_config_user create mode 100644 main/filesystem/profile create mode 100644 main/filesystem/resolv.conf create mode 100644 main/filesystem/securetty create mode 100644 main/filesystem/shadow create mode 100644 main/filesystem/shells create mode 100644 main/filesystem/subgid create mode 100644 main/filesystem/subuid create mode 100644 main/filesystem/sysctl create mode 100644 main/filesystem/sysusers create mode 100644 main/filesystem/tmpfiles create mode 100644 main/filesystem/tuxcore-logo-dark.png create mode 100644 main/filesystem/tuxcore-logo-dark.svg create mode 100644 main/filesystem/tuxcore-logo-text-dark.svg create mode 100644 main/filesystem/tuxcore-logo-text.svg create mode 100644 main/filesystem/tuxcore-logo.png create mode 100644 main/filesystem/tuxcore-logo.svg create mode 100644 main/filesystem/version create mode 100644 main/findutils/.PKGINFO create mode 100644 main/findutils/PKGBUILD create mode 100644 main/findutils/README create mode 100644 main/findutils/version create mode 100644 main/firefox/.PKGINFO create mode 100644 main/firefox/PKGBUILD create mode 100644 main/firefox/README create mode 100644 main/firefox/firefox.desktop create mode 100644 main/firefox/identity-icons-brand.svg create mode 100755 main/firefox/upload-symbol-archive create mode 100644 main/firefox/version create mode 100644 main/flac/PKGBUILD create mode 100644 main/flac/README create mode 100644 main/flac/version create mode 100644 main/flex/PKGBUILD create mode 100644 main/flex/README create mode 100644 main/flex/flex-pie.patch create mode 100644 main/flex/version create mode 100644 main/fmt/.PKGINFO create mode 100644 main/fmt/PKGBUILD create mode 100644 main/fmt/README create mode 100644 main/fmt/fmt-10.0.0-sphinx.patch create mode 100644 main/fmt/fmt-no-pip-no-virtualenv.patch create mode 100644 main/fmt/version create mode 100644 main/fontconfig/.nvchecker.toml create mode 100644 main/fontconfig/40-fontconfig-config.hook create mode 100644 main/fontconfig/40-fontconfig-config.script create mode 100644 main/fontconfig/PKGBUILD create mode 100644 main/fontconfig/README create mode 100644 main/fontconfig/fontconfig.hook create mode 100644 main/fontconfig/fontconfig.install create mode 100644 main/fontconfig/version create mode 100644 main/foot/.PKGINFO create mode 100644 main/foot/.nvchecker.toml create mode 100644 main/foot/PKGBUILD create mode 100644 main/foot/README create mode 100644 main/foot/version create mode 100644 main/frameworkintegration/.PKGINFO create mode 100644 main/frameworkintegration/PKGBUILD create mode 100644 main/frameworkintegration/README create mode 100644 main/frameworkintegration/version create mode 100644 main/freetype2/.nvchecker.toml create mode 100644 main/freetype2/0001-Enable-table-validation-modules.patch create mode 100644 main/freetype2/0002-Enable-subpixel-rendering.patch create mode 100644 main/freetype2/0003-Enable-long-PCF-family-names.patch create mode 100644 main/freetype2/PKGBUILD create mode 100644 main/freetype2/README create mode 100644 main/freetype2/freetype2.install create mode 100644 main/freetype2/freetype2.sh create mode 100644 main/freetype2/version create mode 100644 main/fribidi/.PKGINFO create mode 100644 main/fribidi/PKGBUILD create mode 100644 main/fribidi/README create mode 100644 main/fribidi/version create mode 100644 main/fsarchiver/PKGBUILD create mode 100644 main/fsarchiver/README create mode 100644 main/fsarchiver/version create mode 100644 main/fuse2/PKGBUILD create mode 100644 main/fuse2/README create mode 100644 main/fuse2/conditionally-define-closefrom.patch create mode 100644 main/fuse2/version create mode 100644 main/fuse3/PKGBUILD create mode 100644 main/fuse3/README create mode 100644 main/fuse3/version create mode 100644 main/gawk/PKGBUILD create mode 100644 main/gawk/README create mode 100644 main/gawk/version create mode 100644 main/gc/PKGBUILD create mode 100644 main/gc/README create mode 100644 main/gc/version create mode 100644 main/gcc/.PKGINFO create mode 100644 main/gcc/PKGBUILD create mode 100644 main/gcc/README create mode 100644 main/gcc/c89 create mode 100644 main/gcc/c99 create mode 100644 main/gcc/fix-asan-allocator-aslr.patch create mode 100644 main/gcc/gcc-ada-repro.patch create mode 100644 main/gcc/version create mode 100644 main/gcr-4/.PKGINFO create mode 100644 main/gcr-4/PKGBUILD create mode 100644 main/gcr-4/README create mode 100644 main/gcr-4/version create mode 100644 main/gdb/.PKGINFO create mode 100644 main/gdb/PKGBUILD create mode 100644 main/gdb/README create mode 100644 main/gdb/version create mode 100644 main/gdbm/PKGBUILD create mode 100644 main/gdbm/README create mode 100644 main/gdbm/version create mode 100644 main/gdk-pixbuf2/.PKGINFO create mode 100644 main/gdk-pixbuf2/PKGBUILD create mode 100644 main/gdk-pixbuf2/README create mode 100644 main/gdk-pixbuf2/gdk-pixbuf-query-loaders.hook create mode 100644 main/gdk-pixbuf2/gdk-pixbuf2.install create mode 100644 main/gdk-pixbuf2/version create mode 100644 main/geoclue/.PKGINFO create mode 100644 main/geoclue/PKGBUILD create mode 100644 main/geoclue/README create mode 100644 main/geoclue/version create mode 100644 main/gettext/.PKGINFO create mode 100644 main/gettext/PKGBUILD create mode 100644 main/gettext/README create mode 100644 main/gettext/gettext-0.22-disable-libtextstyle.patch create mode 100644 main/gettext/version create mode 100644 main/giflib/PKGBUILD create mode 100644 main/giflib/README create mode 100644 main/giflib/giflib-5.1.9-fix-missing-quantize-API-symbols.patch create mode 100644 main/giflib/giflib-5.1.9-make-flags.patch create mode 100644 main/giflib/version create mode 100644 main/glib-networking/PKGBUILD create mode 100644 main/glib-networking/README create mode 100644 main/glib-networking/version create mode 100644 main/glib2/.PKGINFO create mode 100644 main/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch create mode 100644 main/glib2/PKGBUILD create mode 100644 main/glib2/README create mode 100644 main/glib2/gio-querymodules.hook create mode 100644 main/glib2/glib-compile-schemas.hook create mode 100644 main/glib2/version create mode 100644 main/glibc/.PKGINFO create mode 100644 main/glibc/PKGBUILD create mode 100644 main/glibc/README create mode 100644 main/glibc/glibc.install create mode 100644 main/glibc/lib32-glibc.conf create mode 100755 main/glibc/locale-gen create mode 100644 main/glibc/locale.gen.txt create mode 100644 main/glibc/sdt-config.h create mode 100644 main/glibc/sdt.h create mode 100644 main/glibc/version create mode 100644 main/glslang/.PKGINFO create mode 100644 main/glslang/PKGBUILD create mode 100644 main/glslang/README create mode 100644 main/glslang/version create mode 100644 main/glu/.nvchecker.toml create mode 100644 main/glu/PKGBUILD create mode 100644 main/glu/README create mode 100644 main/glu/version create mode 100644 main/gmp/.PKGINFO create mode 100644 main/gmp/.nvchecker.toml create mode 100644 main/gmp/PKGBUILD create mode 100644 main/gmp/README create mode 100644 main/gmp/version create mode 100644 main/gnu-free-fonts/PKGBUILD create mode 100644 main/gnu-free-fonts/README create mode 100644 main/gnu-free-fonts/version create mode 100644 main/gnu-netcat/.PKGINFO create mode 100644 main/gnu-netcat/PKGBUILD create mode 100644 main/gnu-netcat/README create mode 100644 main/gnu-netcat/version create mode 100644 main/gnupg/.nvchecker.toml create mode 100644 main/gnupg/PKGBUILD create mode 100644 main/gnupg/README create mode 100644 main/gnupg/dirmngr.service create mode 100644 main/gnupg/dirmngr.socket create mode 100644 main/gnupg/dirmngr@.service create mode 100644 main/gnupg/dirmngr@.socket create mode 100644 main/gnupg/gnupg-2.4-avoid_beta_warning.patch create mode 100644 main/gnupg/gnupg-2.4-drop_import_clean.patch create mode 100644 main/gnupg/gnupg-2.4-keep-systemd-support.patch create mode 100644 main/gnupg/gnupg-2.4-keyboxd-systemd-support.patch create mode 100644 main/gnupg/gnupg-2.4-revert_default_rfc4880bis.patch create mode 100644 main/gnupg/gnupg.install create mode 100644 main/gnupg/gpg-agent-browser.socket create mode 100644 main/gnupg/gpg-agent-browser@.socket create mode 100644 main/gnupg/gpg-agent-extra.socket create mode 100644 main/gnupg/gpg-agent-extra@.socket create mode 100644 main/gnupg/gpg-agent-ssh.socket create mode 100644 main/gnupg/gpg-agent-ssh@.socket create mode 100644 main/gnupg/gpg-agent.service create mode 100644 main/gnupg/gpg-agent.socket create mode 100644 main/gnupg/gpg-agent@.service create mode 100644 main/gnupg/gpg-agent@.socket create mode 100644 main/gnupg/keyboxd.service create mode 100644 main/gnupg/keyboxd.socket create mode 100644 main/gnupg/keyboxd@.service create mode 100644 main/gnupg/keyboxd@.socket create mode 100644 main/gnupg/version create mode 100644 main/gnutls/.nvchecker.toml create mode 100644 main/gnutls/PKGBUILD create mode 100644 main/gnutls/README create mode 100644 main/gnutls/config create mode 100644 main/gnutls/gnutls-ktls_disable_keyupdate_test.patch create mode 100644 main/gnutls/version create mode 100644 main/gpart/PKGBUILD create mode 100644 main/gpart/README create mode 100644 main/gpart/version create mode 100644 main/gperftools/PKGBUILD create mode 100644 main/gperftools/README create mode 100644 main/gperftools/version create mode 100644 main/gpgme/.PKGINFO create mode 100644 main/gpgme/PKGBUILD create mode 100644 main/gpgme/README create mode 100644 main/gpgme/version create mode 100644 main/gpm/PKGBUILD create mode 100644 main/gpm/README create mode 100644 main/gpm/gpm.path create mode 100644 main/gpm/gpm.service create mode 100755 main/gpm/gpm.sh create mode 100644 main/gpm/version create mode 100644 main/gptfdisk/PKGBUILD create mode 100644 main/gptfdisk/README create mode 100644 main/gptfdisk/version create mode 100644 main/graphene/PKGBUILD create mode 100644 main/graphene/no-installed-tests.diff create mode 100644 main/graphene/version create mode 100644 main/graphite/.nvchecker.toml create mode 100644 main/graphite/PKGBUILD create mode 100644 main/graphite/README create mode 100644 main/graphite/version create mode 100644 main/grep/PKGBUILD create mode 100644 main/grep/README create mode 100644 main/grep/version create mode 100644 main/grml-zsh-config/PKGBUILD create mode 100644 main/grml-zsh-config/README create mode 100644 main/grml-zsh-config/version create mode 100644 main/groff/.PKGINFO create mode 100644 main/groff/PKGBUILD create mode 100644 main/groff/README create mode 100644 main/groff/display-utc-times.patch create mode 100644 main/groff/site.tmac create mode 100644 main/groff/version create mode 100644 main/grub/PKGBUILD create mode 100644 main/grub/README create mode 100644 main/grub/grub.default create mode 100644 main/grub/grub.install create mode 100644 main/grub/sbat.csv create mode 100644 main/grub/version create mode 100644 main/gsettings-desktop-schemas/PKGBUILD create mode 100644 main/gsettings-desktop-schemas/README create mode 100644 main/gsettings-desktop-schemas/version create mode 100644 main/gsm/PKGBUILD create mode 100644 main/gsm/README create mode 100644 main/gsm/gsm-fix-toast-install.patch create mode 100644 main/gsm/gsm-shared.patch create mode 100644 main/gsm/version create mode 100644 main/gssproxy/.nvchecker.toml create mode 100644 main/gssproxy/PKGBUILD create mode 100644 main/gssproxy/README create mode 100644 main/gssproxy/version create mode 100644 main/gstreamer/.PKGINFO create mode 100644 main/gstreamer/0001-HACK-meson-Disable-broken-tests.patch create mode 100644 main/gstreamer/0002-libav-Fix-compatibility-with-ffmpeg-7.patch create mode 100644 main/gstreamer/PKGBUILD create mode 100644 main/gstreamer/README create mode 100644 main/gstreamer/gstreamer.install create mode 100644 main/gstreamer/version create mode 100644 main/gtest/PKGBUILD create mode 100644 main/gtest/gtest-version.patch create mode 100644 main/gtest/version create mode 100644 main/gtk3/.PKGINFO create mode 100644 main/gtk3/PKGBUILD create mode 100644 main/gtk3/README create mode 100644 main/gtk3/gtk-query-immodules-3.0.hook create mode 100644 main/gtk3/gtk3.install create mode 100644 main/gtk3/version create mode 100644 main/gtk4/.PKGINFO create mode 100644 main/gtk4/0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch create mode 100644 main/gtk4/PKGBUILD create mode 100644 main/gtk4/README create mode 100644 main/gtk4/gtk-update-icon-cache.hook create mode 100644 main/gtk4/gtk-update-icon-cache.script create mode 100644 main/gtk4/gtk4-querymodules.hook create mode 100644 main/gtk4/gtk4-querymodules.script create mode 100644 main/gtk4/version create mode 100644 main/guile/PKGBUILD create mode 100644 main/guile/README create mode 100644 main/guile/version create mode 100644 main/gzip/PKGBUILD create mode 100644 main/gzip/README create mode 100644 main/gzip/version create mode 100644 main/harfbuzz/.PKGINFO create mode 100644 main/harfbuzz/PKGBUILD create mode 100644 main/harfbuzz/README create mode 100644 main/harfbuzz/version create mode 100644 main/hdparm/PKGBUILD create mode 100644 main/hdparm/README create mode 100644 main/hdparm/pass-ldflags.patch create mode 100644 main/hdparm/version create mode 100644 main/hicolor-icon-theme/PKGBUILD create mode 100644 main/hicolor-icon-theme/README create mode 100644 main/hicolor-icon-theme/version create mode 100644 main/hidapi/PKGBUILD create mode 100644 main/hidapi/README create mode 100644 main/hidapi/version create mode 100644 main/highway/PKGBUILD create mode 100644 main/highway/README create mode 100644 main/highway/version create mode 100644 main/hunspell/.nvchecker.toml create mode 100644 main/hunspell/PKGBUILD create mode 100644 main/hunspell/README create mode 100644 main/hunspell/version create mode 100644 main/hwdata/.PKGINFO create mode 100644 main/hwdata/PKGBUILD create mode 100644 main/hwdata/README create mode 100644 main/hwdata/version create mode 100644 main/hwinfo/PKGBUILD create mode 100644 main/hwinfo/README create mode 100644 main/hwinfo/custom_ioctl.patch create mode 100644 main/hwinfo/version create mode 100644 main/hwloc/PKGBUILD create mode 100644 main/hwloc/version create mode 100644 main/i2c-tools/.PKGINFO create mode 100644 main/i2c-tools/.nvchecker.toml create mode 100644 main/i2c-tools/45-i2c-tools.rules create mode 100644 main/i2c-tools/PKGBUILD create mode 100644 main/i2c-tools/README create mode 100644 main/i2c-tools/i2c-tools.sysusers create mode 100644 main/i2c-tools/python-makefile.patch create mode 100644 main/i2c-tools/version create mode 100644 main/iana-etc/.PKGINFO create mode 100644 main/iana-etc/LICENSE create mode 100644 main/iana-etc/PKGBUILD create mode 100644 main/iana-etc/README create mode 100644 main/iana-etc/version create mode 100644 main/icu/.PKGINFO create mode 100644 main/icu/.nvchecker.toml create mode 100644 main/icu/ICU-22132.patch create mode 100644 main/icu/LICENSE create mode 100644 main/icu/PKGBUILD create mode 100644 main/icu/README create mode 100644 main/icu/version create mode 100644 main/imath/.PKGINFO create mode 100644 main/imath/.nvchecker.toml create mode 100644 main/imath/PKGBUILD create mode 100644 main/imath/README create mode 100644 main/imath/version create mode 100644 main/intel-media-sdk/.PKGINFO create mode 100644 main/intel-media-sdk/020-intel-media-sdk-gcc13-fix.patch create mode 100644 main/intel-media-sdk/PKGBUILD create mode 100644 main/intel-media-sdk/README create mode 100644 main/intel-media-sdk/version create mode 100644 main/intel-ucode/.PKGINFO create mode 100644 main/intel-ucode/PKGBUILD create mode 100644 main/intel-ucode/README create mode 100644 main/intel-ucode/version create mode 100644 main/iproute2/.PKGINFO create mode 100644 main/iproute2/0001-make-iproute2-fhs-compliant.patch create mode 100644 main/iproute2/0002-bdb-5-3.patch create mode 100644 main/iproute2/PKGBUILD create mode 100644 main/iproute2/README create mode 100644 main/iproute2/version create mode 100644 main/iptables/PKGBUILD create mode 100644 main/iptables/README create mode 100644 main/iptables/arptables.service create mode 100644 main/iptables/ebtables.service create mode 100644 main/iptables/empty-filter.rules create mode 100644 main/iptables/empty-mangle.rules create mode 100644 main/iptables/empty-nat.rules create mode 100644 main/iptables/empty-raw.rules create mode 100644 main/iptables/empty-security.rules create mode 100644 main/iptables/empty.rules create mode 100644 main/iptables/ip6tables.service create mode 100644 main/iptables/iptables-apply-default-path.patch create mode 100644 main/iptables/iptables-legacy-flush create mode 100644 main/iptables/iptables-nft-flush create mode 100644 main/iptables/iptables.service create mode 100644 main/iptables/simple_firewall.rules create mode 100644 main/iptables/version create mode 100644 main/iputils/PKGBUILD create mode 100644 main/iputils/README create mode 100644 main/iputils/version create mode 100644 main/irssi/.PKGINFO create mode 100644 main/irssi/PKGBUILD create mode 100644 main/irssi/README create mode 100644 main/irssi/version create mode 100644 main/iso-codes/.nvchecker.toml create mode 100644 main/iso-codes/PKGBUILD create mode 100644 main/iso-codes/README create mode 100644 main/iso-codes/version create mode 100644 main/iw/.PKGINFO create mode 100644 main/iw/PKGBUILD create mode 100644 main/iw/README create mode 100644 main/iw/version create mode 100644 main/iwd/.PKGINFO create mode 100644 main/iwd/.nvchecker.toml create mode 100644 main/iwd/0001-use-network-group-for-unprivileged-access.diff create mode 100644 main/iwd/PKGBUILD create mode 100644 main/iwd/README create mode 100644 main/iwd/version create mode 100644 main/jack2/PKGBUILD create mode 100644 main/jack2/README create mode 100644 main/jack2/jack2-1.9.22-db-5.3.patch create mode 100644 main/jack2/version create mode 100644 main/jansson/.PKGINFO create mode 100644 main/jansson/PKGBUILD create mode 100644 main/jansson/README create mode 100644 main/jansson/version create mode 100644 main/jbigkit/.PKGINFO create mode 100644 main/jbigkit/PKGBUILD create mode 100644 main/jbigkit/README create mode 100644 main/jbigkit/jbigkit-2.1-build_warnings.patch create mode 100644 main/jbigkit/jbigkit-2.1-coverity.patch create mode 100644 main/jbigkit/jbigkit-2.1-ldflags.patch create mode 100644 main/jbigkit/jbigkit-2.1-shared_lib.patch create mode 100644 main/jbigkit/version create mode 100644 main/jemalloc/.PKGINFO create mode 100644 main/jemalloc/PKGBUILD create mode 100644 main/jemalloc/README create mode 100644 main/jemalloc/version create mode 100644 main/jfsutils/PKGBUILD create mode 100644 main/jfsutils/README create mode 100644 main/jfsutils/inttypes.patch create mode 100644 main/jfsutils/jfsutils-1.1.15-format-security-errors.patch create mode 100644 main/jfsutils/jfsutils-1.1.15-gcc10.patch create mode 100644 main/jfsutils/jfsutils-1.1.15-missing-includes.patch create mode 100644 main/jfsutils/jfsutils-1.1.15-sysmacros.patch create mode 100644 main/jfsutils/sysmacros.patch create mode 100644 main/jfsutils/version create mode 100644 main/json-c/PKGBUILD create mode 100644 main/json-c/README create mode 100644 main/json-c/version create mode 100644 main/json-glib/PKGBUILD create mode 100644 main/json-glib/README create mode 100644 main/json-glib/version create mode 100644 main/kaccounts-integration/.PKGINFO create mode 100644 main/kaccounts-integration/PKGBUILD create mode 100644 main/kaccounts-integration/README create mode 100644 main/kaccounts-integration/version create mode 100644 main/kactivitymanagerd/.PKGINFO create mode 100644 main/kactivitymanagerd/PKGBUILD create mode 100644 main/kactivitymanagerd/README create mode 100644 main/kactivitymanagerd/version create mode 100644 main/karchive/.PKGINFO create mode 100644 main/karchive/PKGBUILD create mode 100644 main/karchive/README create mode 100644 main/karchive/version create mode 100644 main/kauth/.PKGINFO create mode 100644 main/kauth/PKGBUILD create mode 100644 main/kauth/README create mode 100644 main/kauth/version create mode 100644 main/kbd/PKGBUILD create mode 100644 main/kbd/README create mode 100644 main/kbd/fix-euro2.patch create mode 100644 main/kbd/kbd-fix-loadkmap-compat.patch create mode 100644 main/kbd/version create mode 100644 main/kbd/vlock.pam create mode 100644 main/kbookmarks/.PKGINFO create mode 100644 main/kbookmarks/PKGBUILD create mode 100644 main/kbookmarks/README create mode 100644 main/kbookmarks/version create mode 100644 main/kcmutils/.PKGINFO create mode 100644 main/kcmutils/PKGBUILD create mode 100644 main/kcmutils/README create mode 100644 main/kcmutils/version create mode 100644 main/kcodecs/.PKGINFO create mode 100644 main/kcodecs/PKGBUILD create mode 100644 main/kcodecs/README create mode 100644 main/kcodecs/version create mode 100644 main/kcolorscheme/.PKGINFO create mode 100644 main/kcolorscheme/PKGBUILD create mode 100644 main/kcolorscheme/README create mode 100644 main/kcolorscheme/version create mode 100644 main/kcompletion/.PKGINFO create mode 100644 main/kcompletion/PKGBUILD create mode 100644 main/kcompletion/README create mode 100644 main/kcompletion/version create mode 100644 main/kconfig/.PKGINFO create mode 100644 main/kconfig/PKGBUILD create mode 100644 main/kconfig/README create mode 100644 main/kconfig/version create mode 100644 main/kconfigwidgets/.PKGINFO create mode 100644 main/kconfigwidgets/PKGBUILD create mode 100644 main/kconfigwidgets/README create mode 100644 main/kconfigwidgets/version create mode 100644 main/kcoreaddons/.PKGINFO create mode 100644 main/kcoreaddons/PKGBUILD create mode 100644 main/kcoreaddons/README create mode 100644 main/kcoreaddons/version create mode 100644 main/kcrash/.PKGINFO create mode 100644 main/kcrash/PKGBUILD create mode 100644 main/kcrash/README create mode 100644 main/kcrash/version create mode 100644 main/kdbusaddons/.PKGINFO create mode 100644 main/kdbusaddons/PKGBUILD create mode 100644 main/kdbusaddons/README create mode 100644 main/kdbusaddons/version create mode 100644 main/kde-cli-tools/.PKGINFO create mode 100644 main/kde-cli-tools/PKGBUILD create mode 100644 main/kde-cli-tools/README create mode 100644 main/kde-cli-tools/version create mode 100644 main/kde-gtk-config/.PKGINFO create mode 100644 main/kde-gtk-config/PKGBUILD create mode 100644 main/kde-gtk-config/README create mode 100644 main/kde-gtk-config/version create mode 100644 main/kdeclarative/.PKGINFO create mode 100644 main/kdeclarative/PKGBUILD create mode 100644 main/kdeclarative/README create mode 100644 main/kdeclarative/version create mode 100644 main/kdecoration/.PKGINFO create mode 100644 main/kdecoration/PKGBUILD create mode 100644 main/kdecoration/README create mode 100644 main/kdecoration/version create mode 100644 main/kded/.PKGINFO create mode 100644 main/kded/PKGBUILD create mode 100644 main/kded/README create mode 100644 main/kded/version create mode 100644 main/kdeplasma-addons/.PKGINFO create mode 100644 main/kdeplasma-addons/PKGBUILD create mode 100644 main/kdeplasma-addons/README create mode 100644 main/kdeplasma-addons/version create mode 100644 main/kdesu/.PKGINFO create mode 100644 main/kdesu/PKGBUILD create mode 100644 main/kdesu/README create mode 100644 main/kdesu/version create mode 100644 main/kdnssd/.PKGINFO create mode 100644 main/kdnssd/PKGBUILD create mode 100644 main/kdnssd/README create mode 100644 main/kdnssd/version create mode 100644 main/kdsoap-ws-discovery-client/.nvchecker.toml create mode 100644 main/kdsoap-ws-discovery-client/PKGBUILD create mode 100644 main/kdsoap-ws-discovery-client/README create mode 100644 main/kdsoap-ws-discovery-client/version create mode 100644 main/kdsoap/.nvchecker.toml create mode 100644 main/kdsoap/PKGBUILD create mode 100644 main/kdsoap/README create mode 100644 main/kdsoap/version create mode 100644 main/keyutils/PKGBUILD create mode 100644 main/keyutils/README create mode 100644 main/keyutils/reproducible.patch create mode 100644 main/keyutils/request-key.conf.patch create mode 100644 main/keyutils/version create mode 100644 main/kfilemetadata/.PKGINFO create mode 100644 main/kfilemetadata/PKGBUILD create mode 100644 main/kfilemetadata/README create mode 100644 main/kfilemetadata/version create mode 100644 main/kgamma/.PKGINFO create mode 100644 main/kgamma/PKGBUILD create mode 100644 main/kgamma/README create mode 100644 main/kgamma/version create mode 100644 main/kglobalaccel/.PKGINFO create mode 100644 main/kglobalaccel/PKGBUILD create mode 100644 main/kglobalaccel/README create mode 100644 main/kglobalaccel/version create mode 100644 main/kglobalacceld/.PKGINFO create mode 100644 main/kglobalacceld/PKGBUILD create mode 100644 main/kglobalacceld/README create mode 100644 main/kglobalacceld/version create mode 100644 main/kguiaddons/.PKGINFO create mode 100644 main/kguiaddons/PKGBUILD create mode 100644 main/kguiaddons/README create mode 100644 main/kguiaddons/version create mode 100644 main/kholidays/.PKGINFO create mode 100644 main/kholidays/PKGBUILD create mode 100644 main/kholidays/README create mode 100644 main/kholidays/version create mode 100644 main/ki18n/.PKGINFO create mode 100644 main/ki18n/PKGBUILD create mode 100644 main/ki18n/README create mode 100644 main/ki18n/version create mode 100644 main/kiconthemes/.PKGINFO create mode 100644 main/kiconthemes/PKGBUILD create mode 100644 main/kiconthemes/README create mode 100644 main/kiconthemes/version create mode 100644 main/kidletime/.PKGINFO create mode 100644 main/kidletime/PKGBUILD create mode 100644 main/kidletime/README create mode 100644 main/kidletime/version create mode 100644 main/kinfocenter/.PKGINFO create mode 100644 main/kinfocenter/PKGBUILD create mode 100644 main/kinfocenter/README create mode 100644 main/kinfocenter/version create mode 100644 main/kio-extras/.PKGINFO create mode 100644 main/kio-extras/PKGBUILD create mode 100644 main/kio-extras/README create mode 100644 main/kio-extras/version create mode 100644 main/kio-fuse/.nvchecker.toml create mode 100644 main/kio-fuse/PKGBUILD create mode 100644 main/kio-fuse/README create mode 100644 main/kio-fuse/version create mode 100644 main/kirigami-addons/.PKGINFO create mode 100644 main/kirigami-addons/.nvchecker.toml create mode 100644 main/kirigami-addons/PKGBUILD create mode 100644 main/kirigami-addons/README create mode 100644 main/kirigami-addons/version create mode 100644 main/kitemmodels/.PKGINFO create mode 100644 main/kitemmodels/PKGBUILD create mode 100644 main/kitemmodels/README create mode 100644 main/kitemmodels/version create mode 100644 main/kitemviews/.PKGINFO create mode 100644 main/kitemviews/PKGBUILD create mode 100644 main/kitemviews/README create mode 100644 main/kitemviews/version create mode 100644 main/kitty/.PKGINFO create mode 100644 main/kitty/PKGBUILD create mode 100644 main/kitty/README create mode 100644 main/kitty/version create mode 100644 main/kjobwidgets/.PKGINFO create mode 100644 main/kjobwidgets/PKGBUILD create mode 100644 main/kjobwidgets/README create mode 100644 main/kjobwidgets/version create mode 100644 main/kmenuedit/.PKGINFO create mode 100644 main/kmenuedit/PKGBUILD create mode 100644 main/kmenuedit/README create mode 100644 main/kmenuedit/version create mode 100644 main/kmod/PKGBUILD create mode 100644 main/kmod/README create mode 100644 main/kmod/depmod-search.conf create mode 100644 main/kmod/depmod.hook create mode 100644 main/kmod/depmod.script create mode 100644 main/kmod/version create mode 100644 main/knewstuff/.PKGINFO create mode 100644 main/knewstuff/PKGBUILD create mode 100644 main/knewstuff/README create mode 100644 main/knewstuff/version create mode 100644 main/knotifications/.PKGINFO create mode 100644 main/knotifications/PKGBUILD create mode 100644 main/knotifications/README create mode 100644 main/knotifications/version create mode 100644 main/knotifyconfig/.PKGINFO create mode 100644 main/knotifyconfig/PKGBUILD create mode 100644 main/knotifyconfig/README create mode 100644 main/knotifyconfig/version create mode 100644 main/konsole/.PKGINFO create mode 100644 main/konsole/PKGBUILD create mode 100644 main/konsole/README create mode 100644 main/konsole/version create mode 100644 main/kpackage/.PKGINFO create mode 100644 main/kpackage/PKGBUILD create mode 100644 main/kpackage/README create mode 100644 main/kpackage/version create mode 100644 main/kparts/.PKGINFO create mode 100644 main/kparts/PKGBUILD create mode 100644 main/kparts/README create mode 100644 main/kparts/version create mode 100644 main/kpipewire/.PKGINFO create mode 100644 main/kpipewire/PKGBUILD create mode 100644 main/kpipewire/README create mode 100644 main/kpipewire/version create mode 100644 main/kpmcore/.PKGINFO create mode 100644 main/kpmcore/PKGBUILD create mode 100644 main/kpmcore/README create mode 100644 main/kpmcore/version create mode 100644 main/kpty/.PKGINFO create mode 100644 main/kpty/PKGBUILD create mode 100644 main/kpty/README create mode 100644 main/kpty/version create mode 100644 main/kquickcharts/.PKGINFO create mode 100644 main/kquickcharts/PKGBUILD create mode 100644 main/kquickcharts/README create mode 100644 main/kquickcharts/version create mode 100644 main/krb5/PKGBUILD create mode 100644 main/krb5/README create mode 100644 main/krb5/krb5-kadmind.service create mode 100644 main/krb5/krb5-kdc.service create mode 100644 main/krb5/krb5-kpropd.service create mode 100644 main/krb5/krb5-kpropd.socket create mode 100644 main/krb5/krb5-kpropd@.service create mode 100644 main/krb5/version create mode 100644 main/krunner/.PKGINFO create mode 100644 main/krunner/PKGBUILD create mode 100644 main/krunner/README create mode 100644 main/krunner/version create mode 100644 main/kscreen/.PKGINFO create mode 100644 main/kscreen/PKGBUILD create mode 100644 main/kscreen/README create mode 100644 main/kscreen/version create mode 100644 main/kscreenlocker/.PKGINFO create mode 100644 main/kscreenlocker/PKGBUILD create mode 100644 main/kscreenlocker/README create mode 100644 main/kscreenlocker/kde-fingerprint.pam create mode 100644 main/kscreenlocker/kde-smartcard.pam create mode 100644 main/kscreenlocker/kde.pam create mode 100644 main/kscreenlocker/version create mode 100644 main/kservice/.PKGINFO create mode 100644 main/kservice/PKGBUILD create mode 100644 main/kservice/README create mode 100644 main/kservice/version create mode 100644 main/ksshaskpass/.PKGINFO create mode 100644 main/ksshaskpass/PKGBUILD create mode 100644 main/ksshaskpass/README create mode 100644 main/ksshaskpass/ksshaskpass.install create mode 100644 main/ksshaskpass/version create mode 100644 main/kstatusnotifieritem/.PKGINFO create mode 100644 main/kstatusnotifieritem/PKGBUILD create mode 100644 main/kstatusnotifieritem/README create mode 100644 main/kstatusnotifieritem/version create mode 100644 main/ksvg/.PKGINFO create mode 100644 main/ksvg/PKGBUILD create mode 100644 main/ksvg/README create mode 100644 main/ksvg/version create mode 100644 main/ksystemstats/.PKGINFO create mode 100644 main/ksystemstats/PKGBUILD create mode 100644 main/ksystemstats/README create mode 100644 main/ksystemstats/version create mode 100644 main/ktexteditor/.PKGINFO create mode 100644 main/ktexteditor/PKGBUILD create mode 100644 main/ktexteditor/README create mode 100644 main/ktexteditor/version create mode 100644 main/ktextwidgets/.PKGINFO create mode 100644 main/ktextwidgets/PKGBUILD create mode 100644 main/ktextwidgets/README create mode 100644 main/ktextwidgets/version create mode 100644 main/kunitconversion/.PKGINFO create mode 100644 main/kunitconversion/PKGBUILD create mode 100644 main/kunitconversion/README create mode 100644 main/kunitconversion/version create mode 100644 main/kuserfeedback/.PKGINFO create mode 100644 main/kuserfeedback/PKGBUILD create mode 100644 main/kuserfeedback/README create mode 100644 main/kuserfeedback/version create mode 100644 main/kwallet-pam/.PKGINFO create mode 100644 main/kwallet-pam/PKGBUILD create mode 100644 main/kwallet-pam/README create mode 100644 main/kwallet-pam/version create mode 100644 main/kwayland/.PKGINFO create mode 100644 main/kwayland/PKGBUILD create mode 100644 main/kwayland/README create mode 100644 main/kwayland/version create mode 100644 main/kwidgetsaddons/.PKGINFO create mode 100644 main/kwidgetsaddons/PKGBUILD create mode 100644 main/kwidgetsaddons/README create mode 100644 main/kwidgetsaddons/version create mode 100644 main/kwin/.PKGINFO create mode 100644 main/kwin/PKGBUILD create mode 100644 main/kwin/README create mode 100644 main/kwin/kwin.install create mode 100644 main/kwin/version create mode 100644 main/kwindowsystem/.PKGINFO create mode 100644 main/kwindowsystem/PKGBUILD create mode 100644 main/kwindowsystem/README create mode 100644 main/kwindowsystem/version create mode 100644 main/kwrited/.PKGINFO create mode 100644 main/kwrited/PKGBUILD create mode 100644 main/kwrited/README create mode 100644 main/kwrited/version create mode 100644 main/kxmlgui/.PKGINFO create mode 100644 main/kxmlgui/PKGBUILD create mode 100644 main/kxmlgui/README create mode 100644 main/kxmlgui/version create mode 100644 main/l-smash/PKGBUILD create mode 100644 main/l-smash/README create mode 100644 main/l-smash/version create mode 100644 main/lame/PKGBUILD create mode 100644 main/lame/README create mode 100644 main/lame/lame.pc.in create mode 100644 main/lame/version create mode 100644 main/lapack/PKGBUILD create mode 100644 main/lapack/version create mode 100644 main/layer-shell-qt/.PKGINFO create mode 100644 main/layer-shell-qt/PKGBUILD create mode 100644 main/layer-shell-qt/README create mode 100644 main/layer-shell-qt/version create mode 100644 main/lbzip2/PKGBUILD create mode 100644 main/lbzip2/README create mode 100644 main/lbzip2/lbzip2-gnulib-build-fix.patch create mode 100644 main/lbzip2/version create mode 100644 main/lcms2/PKGBUILD create mode 100644 main/lcms2/README create mode 100644 main/lcms2/version create mode 100644 main/ldb/.PKGINFO create mode 100644 main/ldb/PKGBUILD create mode 100644 main/ldb/README create mode 100644 main/ldb/version create mode 100644 main/ldns/PKGBUILD create mode 100644 main/ldns/README create mode 100644 main/ldns/version create mode 100644 main/less/.PKGINFO create mode 100644 main/less/PKGBUILD create mode 100644 main/less/README create mode 100644 main/less/version create mode 100644 main/lftp/.nvchecker.toml create mode 100644 main/lftp/PKGBUILD create mode 100644 main/lftp/README create mode 100644 main/lftp/lftp-4.9.2-gnutls-peers2.patch create mode 100644 main/lftp/version create mode 100644 main/libaccounts-glib/.PKGINFO create mode 100644 main/libaccounts-glib/.nvchecker.toml create mode 100644 main/libaccounts-glib/PKGBUILD create mode 100644 main/libaccounts-glib/README create mode 100644 main/libaccounts-glib/version create mode 100644 main/libaccounts-qt/.nvchecker.toml create mode 100644 main/libaccounts-qt/PKGBUILD create mode 100644 main/libaccounts-qt/README create mode 100644 main/libaccounts-qt/version create mode 100644 main/libaio/.nvchecker.toml create mode 100644 main/libaio/PKGBUILD create mode 100644 main/libaio/README create mode 100644 main/libaio/version create mode 100644 main/libappindicator/PKGBUILD create mode 100644 main/libappindicator/README create mode 100644 main/libappindicator/version create mode 100644 main/libarchive/.PKGINFO create mode 100644 main/libarchive/PKGBUILD create mode 100644 main/libarchive/README create mode 100644 main/libarchive/version create mode 100644 main/libass/.PKGINFO create mode 100644 main/libass/PKGBUILD create mode 100644 main/libass/README create mode 100644 main/libass/version create mode 100644 main/libassuan/.nvchecker.toml create mode 100644 main/libassuan/PKGBUILD create mode 100644 main/libassuan/README create mode 100644 main/libassuan/version create mode 100644 main/libasyncns/PKGBUILD create mode 100644 main/libasyncns/README create mode 100644 main/libasyncns/version create mode 100644 main/libatasmart/0001-Dont-test-undefined-bits.patch create mode 100644 main/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch create mode 100644 main/libatasmart/PKGBUILD create mode 100644 main/libatasmart/README create mode 100644 main/libatasmart/version create mode 100644 main/libavc1394/PKGBUILD create mode 100644 main/libavc1394/README create mode 100644 main/libavc1394/version create mode 100644 main/libb2/.nvchecker.toml create mode 100644 main/libb2/PKGBUILD create mode 100644 main/libb2/README create mode 100644 main/libb2/version create mode 100644 main/libblockdev/.PKGINFO create mode 100644 main/libblockdev/.nvchecker.toml create mode 100644 main/libblockdev/PKGBUILD create mode 100644 main/libblockdev/README create mode 100644 main/libblockdev/version create mode 100644 main/libbluray/PKGBUILD create mode 100644 main/libbluray/README create mode 100644 main/libbluray/version create mode 100644 main/libbpf/PKGBUILD create mode 100644 main/libbpf/README create mode 100644 main/libbpf/version create mode 100644 main/libbs2b/PKGBUILD create mode 100644 main/libbs2b/README create mode 100644 main/libbs2b/formatsecurity.diff create mode 100644 main/libbs2b/version create mode 100644 main/libbsd/.PKGINFO create mode 100644 main/libbsd/PKGBUILD create mode 100644 main/libbsd/README create mode 100644 main/libbsd/version create mode 100644 main/libbytesize/.PKGINFO create mode 100644 main/libbytesize/PKGBUILD create mode 100644 main/libbytesize/README create mode 100644 main/libbytesize/version create mode 100644 main/libcamera/PKGBUILD create mode 100644 main/libcamera/README create mode 100644 main/libcamera/libcamera-0.0.5-sphinx.patch create mode 100644 main/libcamera/version create mode 100644 main/libcanberra/40-libcanberra-gtk-module.sh create mode 100644 main/libcanberra/PKGBUILD create mode 100644 main/libcanberra/README create mode 100644 main/libcanberra/libcanberra-multi-backend.patch create mode 100644 main/libcanberra/version create mode 100644 main/libcap-ng/.PKGINFO create mode 100644 main/libcap-ng/PKGBUILD create mode 100644 main/libcap-ng/README create mode 100644 main/libcap-ng/version create mode 100644 main/libcbor/PKGBUILD create mode 100644 main/libcbor/README create mode 100644 main/libcbor/version create mode 100644 main/libcloudproviders/PKGBUILD create mode 100644 main/libcloudproviders/README create mode 100644 main/libcloudproviders/version create mode 100644 main/libdaemon/PKGBUILD create mode 100644 main/libdaemon/README create mode 100644 main/libdaemon/version create mode 100644 main/libdatrie/PKGBUILD create mode 100644 main/libdatrie/README create mode 100644 main/libdatrie/version create mode 100644 main/libdbusmenu/PKGBUILD create mode 100644 main/libdbusmenu/README create mode 100644 main/libdbusmenu/version create mode 100644 main/libdc1394/PKGBUILD create mode 100644 main/libdc1394/version create mode 100644 main/libdca/PKGBUILD create mode 100644 main/libdca/README create mode 100644 main/libdca/version create mode 100644 main/libdecor/PKGBUILD create mode 100644 main/libdecor/README create mode 100644 main/libdecor/version create mode 100644 main/libdeflate/.PKGINFO create mode 100644 main/libdeflate/PKGBUILD create mode 100644 main/libdeflate/README create mode 100644 main/libdeflate/version create mode 100644 main/libdisplay-info/.nvchecker.toml create mode 100644 main/libdisplay-info/PKGBUILD create mode 100644 main/libdisplay-info/README create mode 100644 main/libdisplay-info/version create mode 100644 main/libdmtx/.nvchecker.toml create mode 100644 main/libdmtx/PKGBUILD create mode 100644 main/libdmtx/README create mode 100644 main/libdmtx/version create mode 100644 main/libdnet/PKGBUILD create mode 100644 main/libdnet/README create mode 100644 main/libdnet/version create mode 100644 main/libdovi/.PKGINFO create mode 100644 main/libdovi/PKGBUILD create mode 100644 main/libdovi/README create mode 100644 main/libdovi/version create mode 100644 main/libdrm/.PKGINFO create mode 100644 main/libdrm/.nvchecker.toml create mode 100644 main/libdrm/COPYING create mode 100644 main/libdrm/PKGBUILD create mode 100644 main/libdrm/README create mode 100644 main/libdrm/version create mode 100644 main/libdvbpsi/PKGBUILD create mode 100644 main/libdvbpsi/README create mode 100644 main/libdvbpsi/version create mode 100644 main/libebml/PKGBUILD create mode 100644 main/libebml/README create mode 100644 main/libebml/version create mode 100644 main/libedit/PKGBUILD create mode 100644 main/libedit/README create mode 100644 main/libedit/version create mode 100644 main/libei/PKGBUILD create mode 100644 main/libei/README create mode 100644 main/libei/version create mode 100644 main/libepoxy/PKGBUILD create mode 100644 main/libepoxy/README create mode 100644 main/libepoxy/version create mode 100644 main/libevdev/.nvchecker.toml create mode 100644 main/libevdev/PKGBUILD create mode 100644 main/libevdev/README create mode 100644 main/libevdev/version create mode 100644 main/libevent/EVENT__SIZEOF_TIME_T.patch create mode 100644 main/libevent/PKGBUILD create mode 100644 main/libevent/README create mode 100644 main/libevent/libevent-2.1.12-openssl-compat.patch create mode 100644 main/libevent/version create mode 100644 main/libfdk-aac/PKGBUILD create mode 100644 main/libfdk-aac/README create mode 100644 main/libfdk-aac/version create mode 100644 main/libffi/.nvchecker.toml create mode 100644 main/libffi/PKGBUILD create mode 100644 main/libffi/README create mode 100644 main/libffi/version create mode 100644 main/libfido2/PKGBUILD create mode 100644 main/libfido2/README create mode 100644 main/libfido2/version create mode 100644 main/libfontenc/.nvchecker.toml create mode 100644 main/libfontenc/PKGBUILD create mode 100644 main/libfontenc/README create mode 100644 main/libfontenc/version create mode 100644 main/libfreeaptx/PKGBUILD create mode 100644 main/libfreeaptx/README create mode 100644 main/libfreeaptx/version create mode 100644 main/libgcrypt/.nvchecker.toml create mode 100644 main/libgcrypt/PKGBUILD create mode 100644 main/libgcrypt/README create mode 100644 main/libgcrypt/version create mode 100644 main/libglvnd/LICENSE create mode 100644 main/libglvnd/PKGBUILD create mode 100644 main/libglvnd/README create mode 100644 main/libglvnd/version create mode 100644 main/libgpg-error/.PKGINFO create mode 100644 main/libgpg-error/.nvchecker.toml create mode 100644 main/libgpg-error/PKGBUILD create mode 100644 main/libgpg-error/README create mode 100644 main/libgpg-error/version create mode 100644 main/libgudev/PKGBUILD create mode 100644 main/libgudev/README create mode 100644 main/libgudev/version create mode 100644 main/libice/.nvchecker.toml create mode 100644 main/libice/PKGBUILD create mode 100644 main/libice/README create mode 100644 main/libice/version create mode 100644 main/libidn/PKGBUILD create mode 100644 main/libidn/README create mode 100644 main/libidn/version create mode 100644 main/libidn2/PKGBUILD create mode 100644 main/libidn2/README create mode 100644 main/libidn2/version create mode 100644 main/libiec61883/PKGBUILD create mode 100644 main/libiec61883/README create mode 100644 main/libiec61883/version create mode 100644 main/libimobiledevice-glue/PKGBUILD create mode 100644 main/libimobiledevice-glue/README create mode 100644 main/libimobiledevice-glue/version create mode 100644 main/libinih/PKGBUILD create mode 100644 main/libinih/README create mode 100644 main/libinih/version create mode 100644 main/libinput/.PKGINFO create mode 100644 main/libinput/.nvchecker.toml create mode 100644 main/libinput/PKGBUILD create mode 100644 main/libinput/README create mode 100644 main/libinput/version create mode 100644 main/libisl/.PKGINFO create mode 100644 main/libisl/PKGBUILD create mode 100644 main/libisl/README create mode 100644 main/libisl/version create mode 100644 main/libjpeg-turbo/.PKGINFO create mode 100644 main/libjpeg-turbo/PKGBUILD create mode 100644 main/libjpeg-turbo/README create mode 100644 main/libjpeg-turbo/version create mode 100644 main/libjxl/PKGBUILD create mode 100644 main/libjxl/README create mode 100644 main/libjxl/version create mode 100644 main/libkexiv2/.PKGINFO create mode 100644 main/libkexiv2/PKGBUILD create mode 100644 main/libkexiv2/README create mode 100644 main/libkexiv2/version create mode 100644 main/libksba/PKGBUILD create mode 100644 main/libksba/README create mode 100644 main/libksba/version create mode 100644 main/libkscreen/.PKGINFO create mode 100644 main/libkscreen/PKGBUILD create mode 100644 main/libkscreen/README create mode 100644 main/libkscreen/version create mode 100644 main/libksysguard/.PKGINFO create mode 100644 main/libksysguard/PKGBUILD create mode 100644 main/libksysguard/README create mode 100644 main/libksysguard/libksysguard.install create mode 100644 main/libksysguard/version create mode 100644 main/liblc3/.PKGINFO create mode 100644 main/liblc3/PKGBUILD create mode 100644 main/liblc3/README create mode 100644 main/liblc3/version create mode 100644 main/libldac/PKGBUILD create mode 100644 main/libldac/README create mode 100644 main/libldac/version create mode 100644 main/liblouis/.PKGINFO create mode 100644 main/liblouis/PKGBUILD create mode 100644 main/liblouis/README create mode 100644 main/liblouis/version create mode 100644 main/libmad/PKGBUILD create mode 100644 main/libmad/README create mode 100644 main/libmad/libmad-0.15.1b-gcc43.patch create mode 100644 main/libmad/libmad-amd64-64bit.diff create mode 100644 main/libmad/libmad-length-check.patch create mode 100644 main/libmad/libmad-md_size.diff create mode 100644 main/libmad/libmad-pkgconfig.patch create mode 100644 main/libmad/version create mode 100644 main/libmatroska/PKGBUILD create mode 100644 main/libmatroska/README create mode 100644 main/libmatroska/version create mode 100644 main/libmaxminddb/.PKGINFO create mode 100644 main/libmaxminddb/PKGBUILD create mode 100644 main/libmaxminddb/README create mode 100644 main/libmaxminddb/version create mode 100644 main/libmbim/PKGBUILD create mode 100644 main/libmbim/README create mode 100644 main/libmbim/version create mode 100644 main/libmd/.nvchecker.toml create mode 100644 main/libmd/PKGBUILD create mode 100644 main/libmd/README create mode 100644 main/libmd/version create mode 100644 main/libmnl/PKGBUILD create mode 100644 main/libmnl/README create mode 100644 main/libmnl/version create mode 100644 main/libmodplug/PKGBUILD create mode 100644 main/libmodplug/README create mode 100644 main/libmodplug/libmodplug-0.8.9.0-no-fast-math.patch create mode 100644 main/libmodplug/version create mode 100644 main/libmpc/.nvchecker.toml create mode 100644 main/libmpc/PKGBUILD create mode 100644 main/libmpc/README create mode 100644 main/libmpc/mpc-fix-includes.patch create mode 100644 main/libmpc/version create mode 100644 main/libmpeg2/.PKGINFO create mode 100644 main/libmpeg2/PKGBUILD create mode 100644 main/libmpeg2/README create mode 100644 main/libmpeg2/version create mode 100644 main/libmspack/PKGBUILD create mode 100644 main/libmspack/README create mode 100644 main/libmspack/version create mode 100644 main/libmtp/.nvchecker.toml create mode 100644 main/libmtp/PKGBUILD create mode 100644 main/libmtp/README create mode 100644 main/libmtp/version create mode 100644 main/libmysofa/PKGBUILD create mode 100644 main/libmysofa/README create mode 100644 main/libmysofa/version create mode 100644 main/libndp/PKGBUILD create mode 100644 main/libndp/README create mode 100644 main/libndp/version create mode 100644 main/libnetfilter_conntrack/PKGBUILD create mode 100644 main/libnetfilter_conntrack/README create mode 100644 main/libnetfilter_conntrack/version create mode 100644 main/libnewt/.PKGINFO create mode 100644 main/libnewt/PKGBUILD create mode 100644 main/libnewt/README create mode 100644 main/libnewt/version create mode 100644 main/libnfnetlink/PKGBUILD create mode 100644 main/libnfnetlink/README create mode 100644 main/libnfnetlink/version create mode 100644 main/libnftnl/PKGBUILD create mode 100644 main/libnftnl/README create mode 100644 main/libnftnl/version create mode 100644 main/libnghttp2/.PKGINFO create mode 100644 main/libnghttp2/PKGBUILD create mode 100644 main/libnghttp2/README create mode 100644 main/libnghttp2/version create mode 100644 main/libnghttp3/.PKGINFO create mode 100644 main/libnghttp3/PKGBUILD create mode 100644 main/libnghttp3/README create mode 100644 main/libnghttp3/version create mode 100644 main/libnl/PKGBUILD create mode 100644 main/libnl/README create mode 100644 main/libnl/version create mode 100644 main/libnma/PKGBUILD create mode 100644 main/libnma/README create mode 100644 main/libnma/version create mode 100644 main/libnotify/PKGBUILD create mode 100644 main/libnotify/README create mode 100644 main/libnotify/version create mode 100644 main/libnsl/PKGBUILD create mode 100644 main/libnsl/README create mode 100644 main/libnsl/version create mode 100644 main/libnvme/.PKGINFO create mode 100644 main/libnvme/.nvchecker.toml create mode 100644 main/libnvme/PKGBUILD create mode 100644 main/libnvme/README create mode 100644 main/libnvme/libnvme-1.6-allocate_aligned_payloads.patch create mode 100644 main/libnvme/version create mode 100644 main/libogg/.PKGINFO create mode 100644 main/libogg/PKGBUILD create mode 100644 main/libogg/README create mode 100644 main/libogg/version create mode 100644 main/libomxil-bellagio/PKGBUILD create mode 100644 main/libomxil-bellagio/README create mode 100644 main/libomxil-bellagio/fedora-fixes.patch create mode 100644 main/libomxil-bellagio/version create mode 100644 main/libopenmpt/.PKGINFO create mode 100644 main/libopenmpt/.nvchecker.toml create mode 100644 main/libopenmpt/PKGBUILD create mode 100644 main/libopenmpt/README create mode 100644 main/libopenmpt/version create mode 100644 main/libotr/.PKGINFO create mode 100644 main/libotr/PKGBUILD create mode 100644 main/libotr/README create mode 100644 main/libotr/libotr-4.1.1-include-socket.h.patch create mode 100644 main/libotr/version create mode 100644 main/libpcap/PKGBUILD create mode 100644 main/libpcap/README create mode 100644 main/libpcap/version create mode 100644 main/libpciaccess/.nvchecker.toml create mode 100644 main/libpciaccess/PKGBUILD create mode 100644 main/libpciaccess/README create mode 100644 main/libpciaccess/version create mode 100644 main/libpgm/PKGBUILD create mode 100644 main/libpgm/README create mode 100644 main/libpgm/version create mode 100644 main/libpipeline/.nvchecker.toml create mode 100644 main/libpipeline/PKGBUILD create mode 100644 main/libpipeline/README create mode 100644 main/libpipeline/version create mode 100644 main/libplacebo/.PKGINFO create mode 100644 main/libplacebo/PKGBUILD create mode 100644 main/libplacebo/README create mode 100644 main/libplacebo/version create mode 100644 main/libplasma/.PKGINFO create mode 100644 main/libplasma/PKGBUILD create mode 100644 main/libplasma/README create mode 100644 main/libplasma/version create mode 100644 main/libplist/.PKGINFO create mode 100644 main/libplist/PKGBUILD create mode 100644 main/libplist/README create mode 100644 main/libplist/version create mode 100644 main/libpng/PKGBUILD create mode 100644 main/libpng/README create mode 100644 main/libpng/version create mode 100644 main/libproxy/.PKGINFO create mode 100644 main/libproxy/PKGBUILD create mode 100644 main/libproxy/README create mode 100644 main/libproxy/version create mode 100644 main/libpsl/.PKGINFO create mode 100644 main/libpsl/.nvchecker.toml create mode 100644 main/libpsl/PKGBUILD create mode 100644 main/libpsl/README create mode 100644 main/libpsl/version create mode 100644 main/libpwquality/.PKGINFO create mode 100644 main/libpwquality/PKGBUILD create mode 100644 main/libpwquality/README create mode 100644 main/libpwquality/version create mode 100644 main/libqaccessibilityclient/.nvchecker.toml create mode 100644 main/libqaccessibilityclient/PKGBUILD create mode 100644 main/libqaccessibilityclient/README create mode 100644 main/libqaccessibilityclient/version create mode 100644 main/libqalculate/.PKGINFO create mode 100644 main/libqalculate/.nvchecker.toml create mode 100644 main/libqalculate/PKGBUILD create mode 100644 main/libqalculate/README create mode 100644 main/libqalculate/version create mode 100644 main/libqmi/PKGBUILD create mode 100644 main/libqmi/README create mode 100644 main/libqmi/version create mode 100644 main/libqrtr-glib/PKGBUILD create mode 100644 main/libqrtr-glib/README create mode 100644 main/libqrtr-glib/version create mode 100644 main/libraw1394/PKGBUILD create mode 100644 main/libraw1394/README create mode 100644 main/libraw1394/version create mode 100644 main/librsvg/PKGBUILD create mode 100644 main/librsvg/README create mode 100644 main/librsvg/version create mode 100644 main/libsamplerate/PKGBUILD create mode 100644 main/libsamplerate/README create mode 100644 main/libsamplerate/version create mode 100644 main/libsasl/PKGBUILD create mode 100644 main/libsasl/README create mode 100644 main/libsasl/version create mode 100644 main/libseccomp/.PKGINFO create mode 100644 main/libseccomp/PKGBUILD create mode 100644 main/libseccomp/README create mode 100644 main/libseccomp/version create mode 100644 main/libsecret/PKGBUILD create mode 100644 main/libsecret/README create mode 100644 main/libsecret/version create mode 100644 main/libsm/.nvchecker.toml create mode 100644 main/libsm/PKGBUILD create mode 100644 main/libsm/README create mode 100644 main/libsm/version create mode 100644 main/libsndfile/PKGBUILD create mode 100644 main/libsndfile/README create mode 100644 main/libsndfile/version create mode 100644 main/libsodium/PKGBUILD create mode 100644 main/libsodium/README create mode 100644 main/libsodium/version create mode 100644 main/libsonic/PKGBUILD create mode 100644 main/libsonic/README create mode 100644 main/libsonic/ldflags.patch create mode 100644 main/libsonic/version create mode 100644 main/libsoup3/PKGBUILD create mode 100644 main/libsoup3/README create mode 100644 main/libsoup3/version create mode 100644 main/libsoxr/PKGBUILD create mode 100644 main/libsoxr/README create mode 100644 main/libsoxr/version create mode 100644 main/libssh/.nvchecker.toml create mode 100644 main/libssh/PKGBUILD create mode 100644 main/libssh/README create mode 100644 main/libssh/version create mode 100644 main/libssh2/PKGBUILD create mode 100644 main/libssh2/README create mode 100644 main/libssh2/version create mode 100644 main/libtar/PKGBUILD create mode 100644 main/libtar/README create mode 100644 main/libtar/version create mode 100644 main/libtasn1/.nvchecker.toml create mode 100644 main/libtasn1/PKGBUILD create mode 100644 main/libtasn1/README create mode 100644 main/libtasn1/version create mode 100644 main/libteam/PKGBUILD create mode 100644 main/libteam/README create mode 100644 main/libteam/version create mode 100644 main/libthai/PKGBUILD create mode 100644 main/libthai/README create mode 100644 main/libthai/version create mode 100644 main/libtheora/PKGBUILD create mode 100644 main/libtheora/README create mode 100644 main/libtheora/libtheora-1.1.1-libpng16.patch create mode 100644 main/libtheora/version create mode 100644 main/libtiff/.PKGINFO create mode 100644 main/libtiff/PKGBUILD create mode 100644 main/libtiff/README create mode 100644 main/libtiff/version create mode 100644 main/libtirpc/.nvchecker.toml create mode 100644 main/libtirpc/PKGBUILD create mode 100644 main/libtirpc/README create mode 100644 main/libtirpc/version create mode 100644 main/libtommath/PKGBUILD create mode 100644 main/libtommath/README create mode 100644 main/libtommath/version create mode 100644 main/libtool/.PKGINFO create mode 100644 main/libtool/PKGBUILD create mode 100644 main/libtool/README create mode 100644 main/libtool/disable-lto-link-order2.patch create mode 100644 main/libtool/grep_3.8_fix.patch create mode 100644 main/libtool/no_hostname.patch create mode 100644 main/libtool/version create mode 100644 main/libunibreak/PKGBUILD create mode 100644 main/libunibreak/README create mode 100644 main/libunibreak/version create mode 100644 main/libunistring/PKGBUILD create mode 100644 main/libunistring/README create mode 100644 main/libunistring/version create mode 100644 main/libunwind/.PKGINFO create mode 100644 main/libunwind/PKGBUILD create mode 100644 main/libunwind/README create mode 100644 main/libunwind/version create mode 100644 main/libupnp/.PKGINFO create mode 100644 main/libupnp/PKGBUILD create mode 100644 main/libupnp/README create mode 100644 main/libupnp/version create mode 100644 main/liburcu/PKGBUILD create mode 100644 main/liburcu/README create mode 100644 main/liburcu/version create mode 100644 main/liburing/.PKGINFO create mode 100644 main/liburing/PKGBUILD create mode 100644 main/liburing/README create mode 100644 main/liburing/version create mode 100644 main/libusb-compat/PKGBUILD create mode 100644 main/libusb-compat/README create mode 100644 main/libusb-compat/version create mode 100644 main/libusbmuxd/PKGBUILD create mode 100644 main/libusbmuxd/README create mode 100644 main/libusbmuxd/version create mode 100644 main/libutempter/PKGBUILD create mode 100644 main/libutempter/README create mode 100644 main/libutempter/version create mode 100644 main/libuv/PKGBUILD create mode 100644 main/libuv/README create mode 100644 main/libuv/version create mode 100644 main/libva/PKGBUILD create mode 100644 main/libva/README create mode 100644 main/libva/version create mode 100644 main/libvdpau/PKGBUILD create mode 100644 main/libvdpau/README create mode 100644 main/libvdpau/version create mode 100644 main/libverto/.nvchecker.toml create mode 100644 main/libverto/PKGBUILD create mode 100644 main/libverto/README create mode 100644 main/libverto/version create mode 100644 main/libvorbis/PKGBUILD create mode 100644 main/libvorbis/README create mode 100644 main/libvorbis/version create mode 100644 main/libvpl/.PKGINFO create mode 100644 main/libvpl/PKGBUILD create mode 100644 main/libvpl/README create mode 100644 main/libvpl/version create mode 100644 main/libvpx/CVE-2023-5217.patch create mode 100644 main/libvpx/PKGBUILD create mode 100644 main/libvpx/README create mode 100644 main/libvpx/version create mode 100644 main/libwacom/.PKGINFO create mode 100644 main/libwacom/.nvchecker.toml create mode 100644 main/libwacom/PKGBUILD create mode 100644 main/libwacom/README create mode 100644 main/libwacom/version create mode 100644 main/libwebp/.PKGINFO create mode 100644 main/libwebp/PKGBUILD create mode 100644 main/libwebp/README create mode 100644 main/libwebp/version create mode 100644 main/libx11/.nvchecker.toml create mode 100644 main/libx11/MR236.patch create mode 100644 main/libx11/PKGBUILD create mode 100644 main/libx11/README create mode 100644 main/libx11/version create mode 100644 main/libx86emu/PKGBUILD create mode 100644 main/libx86emu/README create mode 100644 main/libx86emu/version create mode 100644 main/libxau/PKGBUILD create mode 100644 main/libxau/README create mode 100644 main/libxau/version create mode 100644 main/libxaw/.nvchecker.toml create mode 100644 main/libxaw/PKGBUILD create mode 100644 main/libxaw/README create mode 100644 main/libxaw/version create mode 100644 main/libxcb/.PKGINFO create mode 100644 main/libxcb/.nvchecker.toml create mode 100644 main/libxcb/PKGBUILD create mode 100644 main/libxcb/README create mode 100644 main/libxcb/version create mode 100644 main/libxcomposite/PKGBUILD create mode 100644 main/libxcomposite/README create mode 100644 main/libxcomposite/version create mode 100644 main/libxcrypt/PKGBUILD create mode 100644 main/libxcrypt/README create mode 100644 main/libxcrypt/libxcrypt.install create mode 100644 main/libxcrypt/version create mode 100644 main/libxcursor/.nvchecker.toml create mode 100644 main/libxcursor/PKGBUILD create mode 100644 main/libxcursor/README create mode 100644 main/libxcursor/version create mode 100644 main/libxcvt/PKGBUILD create mode 100644 main/libxcvt/README create mode 100644 main/libxcvt/version create mode 100644 main/libxdamage/PKGBUILD create mode 100644 main/libxdamage/README create mode 100644 main/libxdamage/version create mode 100644 main/libxdmcp/.nvchecker.toml create mode 100644 main/libxdmcp/PKGBUILD create mode 100644 main/libxdmcp/README create mode 100644 main/libxdmcp/version create mode 100644 main/libxext/PKGBUILD create mode 100644 main/libxext/README create mode 100644 main/libxext/version create mode 100644 main/libxfixes/PKGBUILD create mode 100644 main/libxfixes/README create mode 100644 main/libxfixes/version create mode 100644 main/libxfont2/PKGBUILD create mode 100644 main/libxfont2/README create mode 100644 main/libxfont2/version create mode 100644 main/libxft/PKGBUILD create mode 100644 main/libxft/README create mode 100644 main/libxft/version create mode 100644 main/libxi/PKGBUILD create mode 100644 main/libxi/README create mode 100644 main/libxi/version create mode 100644 main/libxinerama/PKGBUILD create mode 100644 main/libxinerama/README create mode 100644 main/libxinerama/version create mode 100644 main/libxkbcommon/PKGBUILD create mode 100644 main/libxkbcommon/README create mode 100644 main/libxkbcommon/version create mode 100644 main/libxkbfile/PKGBUILD create mode 100644 main/libxkbfile/README create mode 100644 main/libxkbfile/version create mode 100644 main/libxml2/.PKGINFO create mode 100644 main/libxml2/0001-HACK-Don-t-run-fuzzing-tests.patch create mode 100644 main/libxml2/PKGBUILD create mode 100644 main/libxml2/README create mode 100644 main/libxml2/version create mode 100644 main/libxmlb/.PKGINFO create mode 100644 main/libxmlb/.nvchecker.toml create mode 100644 main/libxmlb/PKGBUILD create mode 100644 main/libxmlb/README create mode 100644 main/libxmlb/version create mode 100644 main/libxmu/.PKGINFO create mode 100644 main/libxmu/.nvchecker.toml create mode 100644 main/libxmu/PKGBUILD create mode 100644 main/libxmu/README create mode 100644 main/libxmu/version create mode 100644 main/libxpm/PKGBUILD create mode 100644 main/libxpm/README create mode 100644 main/libxpm/version create mode 100644 main/libxrandr/PKGBUILD create mode 100644 main/libxrandr/README create mode 100644 main/libxrandr/version create mode 100644 main/libxrender/PKGBUILD create mode 100644 main/libxrender/README create mode 100644 main/libxrender/version create mode 100644 main/libxshmfence/PKGBUILD create mode 100644 main/libxshmfence/README create mode 100644 main/libxshmfence/version create mode 100644 main/libxslt/.PKGINFO create mode 100644 main/libxslt/PKGBUILD create mode 100644 main/libxslt/README create mode 100644 main/libxslt/version create mode 100644 main/libxss/PKGBUILD create mode 100644 main/libxss/README create mode 100644 main/libxss/version create mode 100644 main/libxt/PKGBUILD create mode 100644 main/libxt/README create mode 100644 main/libxt/version create mode 100644 main/libxtst/PKGBUILD create mode 100644 main/libxtst/README create mode 100644 main/libxtst/version create mode 100644 main/libxv/PKGBUILD create mode 100644 main/libxv/README create mode 100644 main/libxv/version create mode 100644 main/libxxf86vm/PKGBUILD create mode 100644 main/libxxf86vm/README create mode 100644 main/libxxf86vm/version create mode 100644 main/libyaml/PKGBUILD create mode 100644 main/libyaml/README create mode 100644 main/libyaml/version create mode 100644 main/libzip/PKGBUILD create mode 100644 main/libzip/README create mode 100644 main/libzip/version create mode 100644 main/licenses/PKGBUILD create mode 100644 main/licenses/README create mode 100644 main/licenses/version create mode 100644 main/lilv/.PKGINFO create mode 100644 main/lilv/PKGBUILD create mode 100644 main/lilv/README create mode 100644 main/lilv/lilvmm.patch create mode 100644 main/lilv/version create mode 100644 main/linux-api-headers/.PKGINFO create mode 100644 main/linux-api-headers/PKGBUILD create mode 100644 main/linux-api-headers/README create mode 100644 main/linux-api-headers/version create mode 100644 main/linux-atm/PKGBUILD create mode 100644 main/linux-atm/README create mode 100644 main/linux-atm/linux-atm-linux-5.2-SIOCGSTAMP.patch create mode 100644 main/linux-atm/linux-atm-man-pages.patch create mode 100644 main/linux-atm/linux-atm-remove-define-hacks.patch create mode 100644 main/linux-atm/linux-atm-string-formatting.patch create mode 100644 main/linux-atm/version create mode 100644 main/linux-firmware/.PKGINFO create mode 100644 main/linux-firmware/PKGBUILD create mode 100644 main/linux-firmware/README create mode 100644 main/linux-firmware/version create mode 100644 main/linux-lts/.PKGINFO create mode 100644 main/linux-lts/.nvchecker.toml create mode 100644 main/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch create mode 100644 main/linux-lts/0002-skip-simpledrm-if-nvidia-drm.modeset=1-is.patch create mode 100644 main/linux-lts/0003-Default-to-maximum-amount-of-ASLR-bits.patch create mode 100644 main/linux-lts/0005-fix-doc-build.patch create mode 100644 main/linux-lts/PKGBUILD create mode 100644 main/linux-lts/README create mode 100644 main/linux-lts/config create mode 100644 main/linux-lts/version create mode 100644 main/linux-tools/.PKGINFO create mode 100644 main/linux-tools/PKGBUILD create mode 100644 main/linux-tools/README create mode 100644 main/linux-tools/cpupower.default create mode 100644 main/linux-tools/cpupower.install create mode 100644 main/linux-tools/cpupower.service create mode 100644 main/linux-tools/cpupower.systemd create mode 100644 main/linux-tools/hv_fcopy_daemon.service create mode 100644 main/linux-tools/hv_kvp_daemon.service create mode 100644 main/linux-tools/hv_vss_daemon.service create mode 100644 main/linux-tools/usbipd.service create mode 100644 main/linux-tools/version create mode 100644 main/livecd-sounds/PKGBUILD create mode 100644 main/livecd-sounds/README create mode 100644 main/livecd-sounds/version create mode 100644 main/llvm/.PKGINFO create mode 100644 main/llvm/PKGBUILD create mode 100644 main/llvm/README create mode 100644 main/llvm/version create mode 100644 main/lm_sensors/PKGBUILD create mode 100644 main/lm_sensors/README create mode 100644 main/lm_sensors/healthd create mode 100644 main/lm_sensors/healthd.conf create mode 100644 main/lm_sensors/healthd.service create mode 100644 main/lm_sensors/sensord.conf create mode 100644 main/lm_sensors/version create mode 100644 main/lmdb/PKGBUILD create mode 100644 main/lmdb/README create mode 100644 main/lmdb/lmdb.pc create mode 100644 main/lmdb/version create mode 100644 main/lrzip/PKGBUILD create mode 100644 main/lrzip/README create mode 100644 main/lrzip/version create mode 100644 main/lsb-release/PKGBUILD create mode 100644 main/lsb-release/README create mode 100644 main/lsb-release/lsb-release create mode 100644 main/lsb-release/lsb_release_description.patch create mode 100644 main/lsb-release/lsb_release_make_man_page_reproducible.patch create mode 100644 main/lsb-release/version create mode 100644 main/lsscsi/PKGBUILD create mode 100644 main/lsscsi/README create mode 100644 main/lsscsi/version create mode 100644 main/lua/.nvchecker.toml create mode 100644 main/lua/LICENSE create mode 100644 main/lua/PKGBUILD create mode 100644 main/lua/README create mode 100644 main/lua/liblua.so.patch create mode 100644 main/lua/lua.pc create mode 100644 main/lua/paths.patch create mode 100644 main/lua/version create mode 100644 main/luit/PKGBUILD create mode 100644 main/luit/README create mode 100644 main/luit/version create mode 100644 main/lv2/PKGBUILD create mode 100644 main/lv2/README create mode 100644 main/lv2/version create mode 100644 main/lvm2/.PKGINFO create mode 100644 main/lvm2/0001-udev-initcpio.patch create mode 100644 main/lvm2/11-dm-initramfs.rules create mode 100644 main/lvm2/PKGBUILD create mode 100644 main/lvm2/README create mode 100644 main/lvm2/version create mode 100644 main/lynx/.PKGINFO create mode 100644 main/lynx/.nvchecker.toml create mode 100644 main/lynx/PKGBUILD create mode 100644 main/lynx/README create mode 100644 main/lynx/version create mode 100644 main/lz4/PKGBUILD create mode 100644 main/lz4/README create mode 100644 main/lz4/version create mode 100644 main/lzo/PKGBUILD create mode 100644 main/lzo/README create mode 100644 main/lzo/version create mode 100644 main/lzop/PKGBUILD create mode 100644 main/lzop/README create mode 100644 main/lzop/version create mode 100644 main/m4/PKGBUILD create mode 100644 main/m4/README create mode 100644 main/m4/version create mode 100644 main/mailcap/PKGBUILD create mode 100644 main/mailcap/README create mode 100644 main/mailcap/version create mode 100644 main/make/PKGBUILD create mode 100644 main/make/README create mode 100644 main/make/version create mode 100644 main/man-db/.PKGINFO create mode 100644 main/man-db/.nvchecker.toml create mode 100644 main/man-db/PKGBUILD create mode 100644 main/man-db/README create mode 100644 main/man-db/man-db.install create mode 100644 main/man-db/version create mode 100644 main/man-pages/.PKGINFO create mode 100644 main/man-pages/.nvchecker.toml create mode 100644 main/man-pages/PKGBUILD create mode 100644 main/man-pages/README create mode 100644 main/man-pages/version create mode 100644 main/mc/.nvchecker.toml create mode 100644 main/mc/PKGBUILD create mode 100644 main/mc/README create mode 100644 main/mc/version create mode 100644 main/md4c/.nvchecker.toml create mode 100644 main/md4c/PKGBUILD create mode 100644 main/md4c/README create mode 100644 main/md4c/version create mode 100644 main/mdadm/PKGBUILD create mode 100644 main/mdadm/README create mode 100644 main/mdadm/mdadm.conf create mode 100644 main/mdadm/version create mode 100644 main/media-player-info/PKGBUILD create mode 100644 main/media-player-info/README create mode 100644 main/media-player-info/version create mode 100644 main/mesa-demos/.nvchecker.toml create mode 100644 main/mesa-demos/LICENSE create mode 100644 main/mesa-demos/PKGBUILD create mode 100644 main/mesa-demos/README create mode 100644 main/mesa-demos/mesa-demos.install create mode 100644 main/mesa-demos/version create mode 100644 main/milou/.PKGINFO create mode 100644 main/milou/PKGBUILD create mode 100644 main/milou/README create mode 100644 main/milou/version create mode 100644 main/mkinitcpio-busybox/PKGBUILD create mode 100644 main/mkinitcpio-busybox/README create mode 100644 main/mkinitcpio-busybox/config create mode 100644 main/mkinitcpio-busybox/version create mode 100644 main/mkinitcpio-nfs-utils/PKGBUILD create mode 100644 main/mkinitcpio-nfs-utils/README create mode 100644 main/mkinitcpio-nfs-utils/initcpio-hook-net create mode 100644 main/mkinitcpio-nfs-utils/initcpio-install-net create mode 100644 main/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch create mode 100644 main/mkinitcpio-nfs-utils/version create mode 100644 main/mkinitcpio-tuxiso/.nvchecker.toml create mode 100644 main/mkinitcpio-tuxiso/PKGBUILD create mode 100644 main/mkinitcpio-tuxiso/README create mode 100644 main/mkinitcpio-tuxiso/version create mode 100644 main/mobile-broadband-provider-info/.PKGINFO create mode 100644 main/mobile-broadband-provider-info/PKGBUILD create mode 100644 main/mobile-broadband-provider-info/README create mode 100644 main/mobile-broadband-provider-info/version create mode 100644 main/modemmanager-qt/.PKGINFO create mode 100644 main/modemmanager-qt/PKGBUILD create mode 100644 main/modemmanager-qt/README create mode 100644 main/modemmanager-qt/version create mode 100644 main/modemmanager/PKGBUILD create mode 100644 main/modemmanager/README create mode 100644 main/modemmanager/version create mode 100644 main/mpdecimal/PKGBUILD create mode 100644 main/mpdecimal/version create mode 100644 main/mpfr/.PKGINFO create mode 100644 main/mpfr/.nvchecker.toml create mode 100644 main/mpfr/PKGBUILD create mode 100644 main/mpfr/README create mode 100644 main/mpfr/version create mode 100644 main/mpg123/.PKGINFO create mode 100644 main/mpg123/PKGBUILD create mode 100644 main/mpg123/README create mode 100644 main/mpg123/version create mode 100644 main/mtdev/PKGBUILD create mode 100644 main/mtdev/README create mode 100644 main/mtdev/version create mode 100644 main/mtools/.PKGINFO create mode 100644 main/mtools/PKGBUILD create mode 100644 main/mtools/README create mode 100644 main/mtools/version create mode 100644 main/musepack/.PKGINFO create mode 100644 main/musepack/01_am-maintainer-mode.patch create mode 100644 main/musepack/02_link-libm.patch create mode 100644 main/musepack/03_mpcchap.patch create mode 100644 main/musepack/04_link-order.patch create mode 100644 main/musepack/05_visibility.patch create mode 100644 main/musepack/1001_missing_extern_kw.patch create mode 100644 main/musepack/PKGBUILD create mode 100644 main/musepack/README create mode 100644 main/musepack/add_subdir-objects.patch create mode 100644 main/musepack/version create mode 100644 main/nano/.PKGINFO create mode 100644 main/nano/PKGBUILD create mode 100644 main/nano/README create mode 100644 main/nano/version create mode 100644 main/nbd/PKGBUILD create mode 100644 main/nbd/README create mode 100644 main/nbd/config create mode 100644 main/nbd/nbd.service create mode 100644 main/nbd/sysusers_nbd.conf create mode 100644 main/nbd/version create mode 100644 main/ncurses/.PKGINFO create mode 100644 main/ncurses/PKGBUILD create mode 100644 main/ncurses/README create mode 100644 main/ncurses/ncurses-6.3-libs.patch create mode 100644 main/ncurses/ncurses-6.3-pkgconfig.patch create mode 100644 main/ncurses/version create mode 100644 main/ndisc6/PKGBUILD create mode 100644 main/ndisc6/README create mode 100644 main/ndisc6/ndisc6.install create mode 100644 main/ndisc6/rdnssd@.service create mode 100644 main/ndisc6/resolvconf-hook create mode 100644 main/ndisc6/version create mode 100644 main/neofetch/.nvchecker.toml create mode 100644 main/neofetch/PKGBUILD create mode 100644 main/neofetch/README create mode 100644 main/neofetch/version create mode 100644 main/nettle/.nvchecker.toml create mode 100644 main/nettle/PKGBUILD create mode 100644 main/nettle/README create mode 100644 main/nettle/version create mode 100644 main/network-manager-applet/PKGBUILD create mode 100644 main/network-manager-applet/README create mode 100644 main/network-manager-applet/version create mode 100644 main/networkmanager-qt/.PKGINFO create mode 100644 main/networkmanager-qt/PKGBUILD create mode 100644 main/networkmanager-qt/README create mode 100644 main/networkmanager-qt/version create mode 100644 main/networkmanager/.PKGINFO create mode 100644 main/networkmanager/PKGBUILD create mode 100644 main/networkmanager/README create mode 100644 main/networkmanager/version create mode 100644 main/nfs-utils/.nvchecker.toml create mode 100644 main/nfs-utils/PKGBUILD create mode 100644 main/nfs-utils/README create mode 100644 main/nfs-utils/exports create mode 100644 main/nfs-utils/sysusers.d create mode 100644 main/nfs-utils/version create mode 100644 main/nftables/.PKGINFO create mode 100644 main/nftables/PKGBUILD create mode 100644 main/nftables/README create mode 100644 main/nftables/nftables.conf create mode 100644 main/nftables/nftables.install create mode 100644 main/nftables/nftables.service create mode 100644 main/nftables/version create mode 100644 main/nilfs-utils/.PKGINFO create mode 100644 main/nilfs-utils/PKGBUILD create mode 100644 main/nilfs-utils/README create mode 100644 main/nilfs-utils/version create mode 100644 main/nmap/.PKGINFO create mode 100644 main/nmap/PKGBUILD create mode 100644 main/nmap/README create mode 100644 main/nmap/version create mode 100644 main/noto-fonts-emoji/.nvchecker.toml create mode 100644 main/noto-fonts-emoji/66-noto-color-emoji.conf create mode 100644 main/noto-fonts-emoji/PKGBUILD create mode 100644 main/noto-fonts-emoji/README create mode 100644 main/noto-fonts-emoji/version create mode 100644 main/npth/.nvchecker.toml create mode 100644 main/npth/PKGBUILD create mode 100644 main/npth/README create mode 100644 main/npth/version create mode 100644 main/nspr/.PKGINFO create mode 100644 main/nspr/0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch create mode 100644 main/nspr/0002-configure.in-Remove-assembly-files-from-build.patch create mode 100644 main/nspr/PKGBUILD create mode 100644 main/nspr/README create mode 100644 main/nspr/version create mode 100644 main/nss/.PKGINFO create mode 100644 main/nss/PKGBUILD create mode 100644 main/nss/README create mode 100755 main/nss/bundle.sh create mode 100755 main/nss/certdata2pem.py create mode 100644 main/nss/version create mode 100644 main/ntfs-3g/PKGBUILD create mode 100644 main/ntfs-3g/README create mode 100644 main/ntfs-3g/version create mode 100644 main/numactl/PKGBUILD create mode 100644 main/numactl/README create mode 100644 main/numactl/version create mode 100644 main/nvme-cli/.PKGINFO create mode 100644 main/nvme-cli/.nvchecker.toml create mode 100644 main/nvme-cli/PKGBUILD create mode 100644 main/nvme-cli/README create mode 100644 main/nvme-cli/nvme-cli.install create mode 100644 main/nvme-cli/version create mode 100644 main/oath-toolkit/PKGBUILD create mode 100644 main/oath-toolkit/README create mode 100644 main/oath-toolkit/version create mode 100644 main/ocean-sound-theme/.PKGINFO create mode 100644 main/ocean-sound-theme/PKGBUILD create mode 100644 main/ocean-sound-theme/README create mode 100644 main/ocean-sound-theme/version create mode 100644 main/ocl-icd/PKGBUILD create mode 100644 main/ocl-icd/README create mode 100644 main/ocl-icd/version create mode 100644 main/onetbb/PKGBUILD create mode 100644 main/onetbb/version create mode 100644 main/open-iscsi/.PKGINFO create mode 100644 main/open-iscsi/PKGBUILD create mode 100644 main/open-iscsi/README create mode 100644 main/open-iscsi/open-iscsi.install create mode 100644 main/open-iscsi/version create mode 100644 main/open-isns/PKGBUILD create mode 100644 main/open-isns/README create mode 100644 main/open-isns/version create mode 100644 main/open-vm-tools/.PKGINFO create mode 100644 main/open-vm-tools/PKGBUILD create mode 100644 main/open-vm-tools/README create mode 100644 main/open-vm-tools/version create mode 100644 main/open-vm-tools/vmtoolsd.pam create mode 100644 main/open-vm-tools/vmtoolsd.service create mode 100644 main/open-vm-tools/vmware-vmblock-fuse.service create mode 100644 main/openconnect/PKGBUILD create mode 100644 main/openconnect/README create mode 100644 main/openconnect/version create mode 100644 main/opencore-amr/PKGBUILD create mode 100644 main/opencore-amr/README create mode 100644 main/opencore-amr/version create mode 100644 main/opencv/PKGBUILD create mode 100644 main/opencv/version create mode 100644 main/opencv/vtk9.patch create mode 100644 main/openexr/.nvchecker.toml create mode 100644 main/openexr/PKGBUILD create mode 100644 main/openexr/README create mode 100644 main/openexr/version create mode 100644 main/openjpeg2/.nvchecker.toml create mode 100644 main/openjpeg2/PKGBUILD create mode 100644 main/openjpeg2/README create mode 100644 main/openjpeg2/version create mode 100644 main/openldap/.PKGINFO create mode 100644 main/openldap/PKGBUILD create mode 100644 main/openldap/README create mode 100644 main/openldap/openldap.sysusers create mode 100644 main/openldap/openldap.tmpfiles create mode 100644 main/openldap/version create mode 100644 main/openpgp-card-tools/.PKGINFO create mode 100644 main/openpgp-card-tools/PKGBUILD create mode 100644 main/openpgp-card-tools/README create mode 100644 main/openpgp-card-tools/version create mode 100644 main/openssh/.PKGINFO create mode 100644 main/openssh/.nvchecker.toml create mode 100644 main/openssh/99-archlinux.conf create mode 100644 main/openssh/PKGBUILD create mode 100644 main/openssh/README create mode 100644 main/openssh/openssh.tmpfiles create mode 100644 main/openssh/ssh-agent.service create mode 100644 main/openssh/sshd.pam create mode 100644 main/openssh/sshd.service create mode 100644 main/openssh/sshdgenkeys.service create mode 100644 main/openssh/version create mode 100644 main/openssl/.PKGINFO create mode 100644 main/openssl/PKGBUILD create mode 100644 main/openssl/README create mode 100644 main/openssl/ca-dir.patch create mode 100644 main/openssl/version create mode 100644 main/openvpn/0001-unprivileged.patch create mode 100644 main/openvpn/PKGBUILD create mode 100644 main/openvpn/README create mode 100644 main/openvpn/openvpn.install create mode 100644 main/openvpn/sysusers.conf create mode 100644 main/openvpn/tmpfiles.conf create mode 100644 main/openvpn/version create mode 100644 main/opus/.PKGINFO create mode 100644 main/opus/PKGBUILD create mode 100644 main/opus/README create mode 100644 main/opus/version create mode 100644 main/orc/PKGBUILD create mode 100644 main/orc/version create mode 100644 main/os-prober/PKGBUILD create mode 100644 main/os-prober/README create mode 100644 main/os-prober/version create mode 100644 main/oxygen-sounds/.PKGINFO create mode 100644 main/oxygen-sounds/PKGBUILD create mode 100644 main/oxygen-sounds/README create mode 100644 main/oxygen-sounds/version create mode 100644 main/p11-kit/PKGBUILD create mode 100644 main/p11-kit/README create mode 100644 main/p11-kit/p11-kit.install create mode 100644 main/p11-kit/version create mode 100644 main/pam/.PKGINFO create mode 100644 main/pam/PKGBUILD create mode 100644 main/pam/README create mode 100644 main/pam/pam.tmpfiles create mode 100644 main/pam/version create mode 100644 main/pambase/PKGBUILD create mode 100644 main/pambase/README create mode 100644 main/pambase/other create mode 100644 main/pambase/system-auth create mode 100644 main/pambase/system-local-login create mode 100644 main/pambase/system-login create mode 100644 main/pambase/system-remote-login create mode 100644 main/pambase/system-services create mode 100644 main/pambase/version create mode 100644 main/pango/.PKGINFO create mode 100644 main/pango/PKGBUILD create mode 100644 main/pango/README create mode 100644 main/pango/version create mode 100644 main/partclone/PKGBUILD create mode 100644 main/partclone/README create mode 100644 main/partclone/version create mode 100644 main/parted/PKGBUILD create mode 100644 main/parted/README create mode 100644 main/parted/version create mode 100644 main/partimage/PKGBUILD create mode 100644 main/partimage/README create mode 100644 main/partimage/partimage-0.6.9-zlib-1.2.6.patch create mode 100644 main/partimage/partimage-build-fix.patch create mode 100644 main/partimage/partimage.sysusers create mode 100644 main/partimage/partimaged-gencrt create mode 100644 main/partimage/partimaged.service create mode 100644 main/partimage/use-SSLv3-by-default.patch create mode 100644 main/partimage/version create mode 100644 main/pbzip2/PKGBUILD create mode 100644 main/pbzip2/README create mode 100644 main/pbzip2/version create mode 100644 main/pcaudiolib/.nvchecker.toml create mode 100644 main/pcaudiolib/PKGBUILD create mode 100644 main/pcaudiolib/README create mode 100644 main/pcaudiolib/version create mode 100644 main/pciutils/.PKGINFO create mode 100644 main/pciutils/PKGBUILD create mode 100644 main/pciutils/README create mode 100644 main/pciutils/version create mode 100644 main/pcre/0001-pcre-JIT-compiler-update-for-Intel-CET.patch create mode 100644 main/pcre/0002-pcre-Pass-mshstk-to-the-compiler-when-Intel-CET-is-enable.patch create mode 100644 main/pcre/PKGBUILD create mode 100644 main/pcre/README create mode 100644 main/pcre/version create mode 100644 main/pcre2/.PKGINFO create mode 100644 main/pcre2/.nvchecker.toml create mode 100644 main/pcre2/PKGBUILD create mode 100644 main/pcre2/README create mode 100644 main/pcre2/version create mode 100644 main/pcsclite/.PKGINFO create mode 100644 main/pcsclite/PKGBUILD create mode 100644 main/pcsclite/README create mode 100644 main/pcsclite/version create mode 100644 main/perl-clone/PKGBUILD create mode 100644 main/perl-clone/README create mode 100644 main/perl-clone/version create mode 100644 main/perl-encode-locale/PKGBUILD create mode 100644 main/perl-encode-locale/README create mode 100644 main/perl-encode-locale/version create mode 100644 main/perl-file-listing/PKGBUILD create mode 100644 main/perl-file-listing/README create mode 100644 main/perl-file-listing/version create mode 100644 main/perl-html-parser/.PKGINFO create mode 100644 main/perl-html-parser/PKGBUILD create mode 100644 main/perl-html-parser/README create mode 100644 main/perl-html-parser/version create mode 100644 main/perl-html-tagset/PKGBUILD create mode 100644 main/perl-html-tagset/README create mode 100644 main/perl-html-tagset/version create mode 100644 main/perl-http-cookiejar/PKGBUILD create mode 100644 main/perl-http-cookiejar/README create mode 100644 main/perl-http-cookiejar/version create mode 100644 main/perl-http-cookies/PKGBUILD create mode 100644 main/perl-http-cookies/README create mode 100644 main/perl-http-cookies/version create mode 100644 main/perl-http-daemon/PKGBUILD create mode 100644 main/perl-http-daemon/README create mode 100644 main/perl-http-daemon/version create mode 100644 main/perl-http-date/PKGBUILD create mode 100644 main/perl-http-date/README create mode 100644 main/perl-http-date/version create mode 100644 main/perl-http-message/PKGBUILD create mode 100644 main/perl-http-message/README create mode 100644 main/perl-http-message/version create mode 100644 main/perl-http-negotiate/PKGBUILD create mode 100644 main/perl-http-negotiate/README create mode 100644 main/perl-http-negotiate/version create mode 100644 main/perl-io-html/PKGBUILD create mode 100644 main/perl-io-html/README create mode 100644 main/perl-io-html/version create mode 100644 main/perl-libwww/PKGBUILD create mode 100644 main/perl-libwww/README create mode 100644 main/perl-libwww/version create mode 100644 main/perl-lwp-mediatypes/PKGBUILD create mode 100644 main/perl-lwp-mediatypes/README create mode 100644 main/perl-lwp-mediatypes/version create mode 100644 main/perl-net-http/PKGBUILD create mode 100644 main/perl-net-http/README create mode 100644 main/perl-net-http/version create mode 100644 main/perl-timedate/PKGBUILD create mode 100644 main/perl-timedate/README create mode 100644 main/perl-timedate/version create mode 100644 main/perl-try-tiny/PKGBUILD create mode 100644 main/perl-try-tiny/README create mode 100644 main/perl-try-tiny/version create mode 100644 main/perl-uri/PKGBUILD create mode 100644 main/perl-uri/README create mode 100644 main/perl-uri/version create mode 100644 main/perl-www-robotrules/PKGBUILD create mode 100644 main/perl-www-robotrules/README create mode 100644 main/perl-www-robotrules/version create mode 100644 main/perl-xml-parser/PKGBUILD create mode 100644 main/perl-xml-parser/README create mode 100644 main/perl-xml-parser/version create mode 100644 main/perl-xml-writer/PKGBUILD create mode 100644 main/perl-xml-writer/README create mode 100644 main/perl-xml-writer/version create mode 100644 main/perl-yaml-tiny/PKGBUILD create mode 100644 main/perl-yaml-tiny/README create mode 100644 main/perl-yaml-tiny/version create mode 100644 main/phonon-vlc/PKGBUILD create mode 100644 main/phonon-vlc/README create mode 100644 main/phonon-vlc/version create mode 100644 main/pigz/PKGBUILD create mode 100644 main/pigz/README create mode 100644 main/pigz/version create mode 100644 main/pinentry/PKGBUILD create mode 100644 main/pinentry/README create mode 100755 main/pinentry/pinentry create mode 100755 main/pinentry/preexec create mode 100644 main/pinentry/version create mode 100644 main/pipewire/.PKGINFO create mode 100644 main/pipewire/PKGBUILD create mode 100644 main/pipewire/README create mode 100644 main/pipewire/pipewire-pulse.install create mode 100644 main/pipewire/pipewire.install create mode 100644 main/pipewire/version create mode 100644 main/pixman/.nvchecker.toml create mode 100644 main/pixman/PKGBUILD create mode 100644 main/pixman/README create mode 100644 main/pixman/version create mode 100644 main/pixz/PKGBUILD create mode 100644 main/pixz/README create mode 100644 main/pixz/version create mode 100644 main/pkcs11-helper/0001-nss-use-nss-pkcs11-h.patch create mode 100644 main/pkcs11-helper/PKGBUILD create mode 100644 main/pkcs11-helper/README create mode 100644 main/pkcs11-helper/version create mode 100644 main/plasma-activities-stats/.PKGINFO create mode 100644 main/plasma-activities-stats/PKGBUILD create mode 100644 main/plasma-activities-stats/README create mode 100644 main/plasma-activities-stats/version create mode 100644 main/plasma-browser-integration/.PKGINFO create mode 100644 main/plasma-browser-integration/PKGBUILD create mode 100644 main/plasma-browser-integration/README create mode 100644 main/plasma-browser-integration/version create mode 100644 main/plasma-desktop/PKGBUILD create mode 100644 main/plasma-desktop/README create mode 100644 main/plasma-desktop/main.xml create mode 100644 main/plasma-desktop/version create mode 100644 main/plasma-disks/.PKGINFO create mode 100644 main/plasma-disks/PKGBUILD create mode 100644 main/plasma-disks/README create mode 100644 main/plasma-disks/version create mode 100644 main/plasma-firewall/.PKGINFO create mode 100644 main/plasma-firewall/PKGBUILD create mode 100644 main/plasma-firewall/README create mode 100644 main/plasma-firewall/version create mode 100644 main/plasma-integration/.PKGINFO create mode 100644 main/plasma-integration/PKGBUILD create mode 100644 main/plasma-integration/README create mode 100644 main/plasma-integration/version create mode 100644 main/plasma-meta/PKGBUILD create mode 100644 main/plasma-meta/README create mode 100644 main/plasma-meta/version create mode 100644 main/plasma-nm/.PKGINFO create mode 100644 main/plasma-nm/PKGBUILD create mode 100644 main/plasma-nm/README create mode 100644 main/plasma-nm/version create mode 100644 main/plasma-pa/.PKGINFO create mode 100644 main/plasma-pa/PKGBUILD create mode 100644 main/plasma-pa/README create mode 100644 main/plasma-pa/version create mode 100644 main/plasma-systemmonitor/.PKGINFO create mode 100644 main/plasma-systemmonitor/PKGBUILD create mode 100644 main/plasma-systemmonitor/README create mode 100644 main/plasma-systemmonitor/version create mode 100644 main/plasma-thunderbolt/.PKGINFO create mode 100644 main/plasma-thunderbolt/PKGBUILD create mode 100644 main/plasma-thunderbolt/README create mode 100644 main/plasma-thunderbolt/version create mode 100644 main/plasma-vault/.PKGINFO create mode 100644 main/plasma-vault/PKGBUILD create mode 100644 main/plasma-vault/README create mode 100644 main/plasma-vault/version create mode 100644 main/plasma-welcome/.PKGINFO create mode 100644 main/plasma-welcome/PKGBUILD create mode 100644 main/plasma-welcome/README create mode 100644 main/plasma-welcome/version create mode 100644 main/plasma-workspace-wallpapers/.PKGINFO create mode 100644 main/plasma-workspace-wallpapers/PKGBUILD create mode 100644 main/plasma-workspace-wallpapers/README create mode 100644 main/plasma-workspace-wallpapers/version create mode 100644 main/plasma5support/.PKGINFO create mode 100644 main/plasma5support/PKGBUILD create mode 100644 main/plasma5support/README create mode 100644 main/plasma5support/version create mode 100644 main/polkit-kde-agent/.PKGINFO create mode 100644 main/polkit-kde-agent/PKGBUILD create mode 100644 main/polkit-kde-agent/README create mode 100644 main/polkit-kde-agent/version create mode 100644 main/polkit-qt/.nvchecker.toml create mode 100644 main/polkit-qt/PKGBUILD create mode 100644 main/polkit-qt/README create mode 100644 main/polkit-qt/version create mode 100644 main/poppler/.PKGINFO create mode 100644 main/poppler/.nvchecker.toml create mode 100644 main/poppler/PKGBUILD create mode 100644 main/poppler/README create mode 100644 main/poppler/version create mode 100644 main/popt/PKGBUILD create mode 100644 main/popt/README create mode 100644 main/popt/version create mode 100644 main/portaudio/PKGBUILD create mode 100644 main/portaudio/README create mode 100644 main/portaudio/version create mode 100644 main/powerdevil/.PKGINFO create mode 100644 main/powerdevil/PKGBUILD create mode 100644 main/powerdevil/README create mode 100644 main/powerdevil/version create mode 100644 main/ppp/LICENSE create mode 100644 main/ppp/PKGBUILD create mode 100644 main/ppp/README create mode 100644 main/ppp/ip-down create mode 100644 main/ppp/ip-down.d.dns.sh create mode 100644 main/ppp/ip-up create mode 100644 main/ppp/ip-up.d.dns.sh create mode 100644 main/ppp/ipv6-down create mode 100644 main/ppp/ipv6-up create mode 100644 main/ppp/ipv6-up.d.iface-config.sh create mode 100644 main/ppp/options create mode 100644 main/ppp/ppp.systemd create mode 100644 main/ppp/rebuild-list create mode 100644 main/ppp/version create mode 100644 main/pptpclient/PKGBUILD create mode 100644 main/pptpclient/README create mode 100644 main/pptpclient/version create mode 100644 main/print-manager/.PKGINFO create mode 100644 main/print-manager/PKGBUILD create mode 100644 main/print-manager/README create mode 100644 main/print-manager/version create mode 100644 main/prison/.PKGINFO create mode 100644 main/prison/PKGBUILD create mode 100644 main/prison/README create mode 100644 main/prison/version create mode 100644 main/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch create mode 100644 main/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch create mode 100644 main/procps-ng/PKGBUILD create mode 100644 main/procps-ng/README create mode 100644 main/procps-ng/version create mode 100644 main/protobuf/PKGBUILD create mode 100644 main/protobuf/protobuf-21.12-pep517.patch create mode 100644 main/protobuf/soversion.patch create mode 100644 main/protobuf/version create mode 100644 main/psmisc/PKGBUILD create mode 100644 main/psmisc/README create mode 100644 main/psmisc/version create mode 100644 main/pulseaudio/PKGBUILD create mode 100644 main/pulseaudio/README create mode 100644 main/pulseaudio/pulseaudio.install create mode 100644 main/pulseaudio/version create mode 100644 main/purpose/.PKGINFO create mode 100644 main/purpose/PKGBUILD create mode 100644 main/purpose/README create mode 100644 main/purpose/version create mode 100644 main/pv/.PKGINFO create mode 100644 main/pv/.nvchecker.toml create mode 100644 main/pv/PKGBUILD create mode 100644 main/pv/README create mode 100644 main/pv/version create mode 100644 main/python-attrs/.PKGINFO create mode 100644 main/python-attrs/PKGBUILD create mode 100644 main/python-attrs/README create mode 100644 main/python-attrs/version create mode 100644 main/python-certifi/.PKGINFO create mode 100644 main/python-certifi/PKGBUILD create mode 100644 main/python-certifi/README create mode 100644 main/python-certifi/version create mode 100644 main/python-cffi/.PKGINFO create mode 100644 main/python-cffi/PKGBUILD create mode 100644 main/python-cffi/README create mode 100644 main/python-cffi/python-cffi-remove-py-usage.patch create mode 100644 main/python-cffi/version create mode 100644 main/python-charset-normalizer/.PKGINFO create mode 100644 main/python-charset-normalizer/PKGBUILD create mode 100644 main/python-charset-normalizer/README create mode 100644 main/python-charset-normalizer/version create mode 100644 main/python-configobj/.PKGINFO create mode 100644 main/python-configobj/PKGBUILD create mode 100644 main/python-configobj/README create mode 100644 main/python-configobj/version create mode 100644 main/python-cryptography/.PKGINFO create mode 100644 main/python-cryptography/PKGBUILD create mode 100644 main/python-cryptography/README create mode 100644 main/python-cryptography/version create mode 100644 main/python-idna/.PKGINFO create mode 100644 main/python-idna/PKGBUILD create mode 100644 main/python-idna/README create mode 100644 main/python-idna/version create mode 100644 main/python-jinja/.PKGINFO create mode 100644 main/python-jinja/PKGBUILD create mode 100644 main/python-jinja/README create mode 100644 main/python-jinja/version create mode 100644 main/python-jsonpatch/.PKGINFO create mode 100644 main/python-jsonpatch/PKGBUILD create mode 100644 main/python-jsonpatch/README create mode 100644 main/python-jsonpatch/version create mode 100644 main/python-jsonpointer/.PKGINFO create mode 100644 main/python-jsonpointer/COPYING create mode 100644 main/python-jsonpointer/PKGBUILD create mode 100644 main/python-jsonpointer/README create mode 100644 main/python-jsonpointer/version create mode 100644 main/python-jsonschema-specifications/.PKGINFO create mode 100644 main/python-jsonschema-specifications/PKGBUILD create mode 100644 main/python-jsonschema-specifications/README create mode 100644 main/python-jsonschema-specifications/version create mode 100644 main/python-markupsafe/.PKGINFO create mode 100644 main/python-markupsafe/PKGBUILD create mode 100644 main/python-markupsafe/README create mode 100644 main/python-markupsafe/version create mode 100644 main/python-netifaces/.PKGINFO create mode 100644 main/python-netifaces/PKGBUILD create mode 100644 main/python-netifaces/README create mode 100644 main/python-netifaces/version create mode 100644 main/python-oauthlib/.PKGINFO create mode 100644 main/python-oauthlib/PKGBUILD create mode 100644 main/python-oauthlib/README create mode 100644 main/python-oauthlib/version create mode 100644 main/python-psutil/.PKGINFO create mode 100644 main/python-psutil/PKGBUILD create mode 100644 main/python-psutil/README create mode 100644 main/python-psutil/version create mode 100644 main/python-pycparser/.PKGINFO create mode 100644 main/python-pycparser/PKGBUILD create mode 100644 main/python-pycparser/README create mode 100644 main/python-pycparser/version create mode 100644 main/python-pygdbmi/.PKGINFO create mode 100644 main/python-pygdbmi/.nvchecker.toml create mode 100644 main/python-pygdbmi/PKGBUILD create mode 100644 main/python-pygdbmi/README create mode 100644 main/python-pygdbmi/version create mode 100644 main/python-pyrsistent/.PKGINFO create mode 100644 main/python-pyrsistent/PKGBUILD create mode 100644 main/python-pyrsistent/README create mode 100644 main/python-pyrsistent/version create mode 100644 main/python-pyserial/.PKGINFO create mode 100644 main/python-pyserial/.nvchecker.toml create mode 100644 main/python-pyserial/PKGBUILD create mode 100644 main/python-pyserial/README create mode 100644 main/python-pyserial/version create mode 100644 main/python-referencing/.PKGINFO create mode 100644 main/python-referencing/PKGBUILD create mode 100644 main/python-referencing/README create mode 100644 main/python-referencing/version create mode 100644 main/python-requests/.PKGINFO create mode 100644 main/python-requests/PKGBUILD create mode 100644 main/python-requests/README create mode 100644 main/python-requests/certs.patch create mode 100644 main/python-requests/version create mode 100644 main/python-rpds-py/.PKGINFO create mode 100644 main/python-rpds-py/PKGBUILD create mode 100644 main/python-rpds-py/README create mode 100644 main/python-rpds-py/version create mode 100644 main/python-sentry_sdk/.PKGINFO create mode 100644 main/python-sentry_sdk/.nvchecker.toml create mode 100644 main/python-sentry_sdk/PKGBUILD create mode 100644 main/python-sentry_sdk/README create mode 100644 main/python-sentry_sdk/version create mode 100644 main/python-six/.PKGINFO create mode 100644 main/python-six/PKGBUILD create mode 100644 main/python-six/README create mode 100644 main/python-six/version create mode 100644 main/python-typing_extensions/.PKGINFO create mode 100644 main/python-typing_extensions/PKGBUILD create mode 100644 main/python-typing_extensions/README create mode 100644 main/python-typing_extensions/version create mode 100644 main/python-urllib3/.PKGINFO create mode 100644 main/python-urllib3/LICENSE create mode 100644 main/python-urllib3/PKGBUILD create mode 100644 main/python-urllib3/README create mode 100644 main/python-urllib3/version create mode 100644 main/python-yaml/.PKGINFO create mode 100644 main/python-yaml/PKGBUILD create mode 100644 main/python-yaml/README create mode 100644 main/python-yaml/version create mode 100644 main/qca/.PKGINFO create mode 100644 main/qca/.nvchecker.toml create mode 100644 main/qca/PKGBUILD create mode 100644 main/qca/README create mode 100644 main/qca/version create mode 100644 main/qcoro/.nvchecker.toml create mode 100644 main/qcoro/PKGBUILD create mode 100644 main/qcoro/README create mode 100644 main/qcoro/version create mode 100644 main/qemu/.PKGINFO create mode 100644 main/qemu/.nvchecker.toml create mode 100644 main/qemu/65-kvm.rules create mode 100644 main/qemu/99-qemu-guest-agent.rules create mode 100644 main/qemu/PKGBUILD create mode 100644 main/qemu/README create mode 100644 main/qemu/bridge.conf create mode 100644 main/qemu/build-most-modules-statically-hack.diff create mode 100644 main/qemu/qemu-8.1.1-static_regression.patch create mode 100644 main/qemu/qemu-common.install create mode 100644 main/qemu/qemu-ga.conf create mode 100644 main/qemu/qemu-guest-agent.install create mode 100644 main/qemu/qemu-sysusers.conf create mode 100644 main/qemu/version create mode 100644 main/qqc2-breeze-style/.PKGINFO create mode 100644 main/qqc2-breeze-style/PKGBUILD create mode 100644 main/qqc2-breeze-style/README create mode 100644 main/qqc2-breeze-style/version create mode 100644 main/qqc2-desktop-style/.PKGINFO create mode 100644 main/qqc2-desktop-style/PKGBUILD create mode 100644 main/qqc2-desktop-style/README create mode 100644 main/qqc2-desktop-style/version create mode 100644 main/qrencode/PKGBUILD create mode 100644 main/qrencode/README create mode 100644 main/qrencode/version create mode 100644 main/qt5-base/.PKGINFO create mode 100644 main/qt5-base/.nvchecker.toml create mode 100644 main/qt5-base/PKGBUILD create mode 100644 main/qt5-base/README create mode 100644 main/qt5-base/qmake-cflags.patch create mode 100644 main/qt5-base/qmake-config.patch create mode 100644 main/qt5-base/version create mode 100644 main/qt5-base/work-around-pyside2-brokenness.patch create mode 100644 main/qt5-svg/PKGBUILD create mode 100644 main/qt5-svg/README create mode 100644 main/qt5-svg/version create mode 100644 main/qt5-translations/PKGBUILD create mode 100644 main/qt5-translations/README create mode 100644 main/qt5-translations/version create mode 100644 main/qt5-x11extras/PKGBUILD create mode 100644 main/qt5-x11extras/README create mode 100644 main/qt5-x11extras/version create mode 100644 main/qt6-5compat/.PKGINFO create mode 100644 main/qt6-5compat/PKGBUILD create mode 100644 main/qt6-5compat/README create mode 100644 main/qt6-5compat/version create mode 100644 main/qt6-base/.PKGINFO create mode 100644 main/qt6-base/.nvchecker.toml create mode 100644 main/qt6-base/PKGBUILD create mode 100644 main/qt6-base/README create mode 100644 main/qt6-base/qt6-base-cflags.patch create mode 100644 main/qt6-base/qt6-base-nostrip.patch create mode 100644 main/qt6-base/version create mode 100644 main/qt6-declarative/.PKGINFO create mode 100644 main/qt6-declarative/PKGBUILD create mode 100644 main/qt6-declarative/README create mode 100644 main/qt6-declarative/version create mode 100644 main/qt6-multimedia/.PKGINFO create mode 100644 main/qt6-multimedia/PKGBUILD create mode 100644 main/qt6-multimedia/README create mode 100644 main/qt6-multimedia/version create mode 100644 main/qt6-positioning/.PKGINFO create mode 100644 main/qt6-positioning/PKGBUILD create mode 100644 main/qt6-positioning/README create mode 100644 main/qt6-positioning/version create mode 100644 main/qt6-quick3d/.PKGINFO create mode 100644 main/qt6-quick3d/PKGBUILD create mode 100644 main/qt6-quick3d/README create mode 100644 main/qt6-quick3d/version create mode 100644 main/qt6-quicktimeline/.PKGINFO create mode 100644 main/qt6-quicktimeline/PKGBUILD create mode 100644 main/qt6-quicktimeline/README create mode 100644 main/qt6-quicktimeline/version create mode 100644 main/qt6-sensors/.PKGINFO create mode 100644 main/qt6-sensors/PKGBUILD create mode 100644 main/qt6-sensors/README create mode 100644 main/qt6-sensors/version create mode 100644 main/qt6-shadertools/.PKGINFO create mode 100644 main/qt6-shadertools/PKGBUILD create mode 100644 main/qt6-shadertools/README create mode 100644 main/qt6-shadertools/version create mode 100644 main/qt6-speech/.PKGINFO create mode 100644 main/qt6-speech/PKGBUILD create mode 100644 main/qt6-speech/README create mode 100644 main/qt6-speech/version create mode 100644 main/qt6-svg/.PKGINFO create mode 100644 main/qt6-svg/PKGBUILD create mode 100644 main/qt6-svg/README create mode 100644 main/qt6-svg/version create mode 100644 main/qt6-tools/.PKGINFO create mode 100644 main/qt6-tools/PKGBUILD create mode 100644 main/qt6-tools/README create mode 100644 main/qt6-tools/version create mode 100644 main/qt6-translations/.PKGINFO create mode 100644 main/qt6-translations/PKGBUILD create mode 100644 main/qt6-translations/README create mode 100644 main/qt6-translations/version create mode 100644 main/qt6-virtualkeyboard/.PKGINFO create mode 100644 main/qt6-virtualkeyboard/PKGBUILD create mode 100644 main/qt6-virtualkeyboard/README create mode 100644 main/qt6-virtualkeyboard/version create mode 100644 main/qt6-wayland/.PKGINFO create mode 100644 main/qt6-wayland/PKGBUILD create mode 100644 main/qt6-wayland/README create mode 100644 main/qt6-wayland/version create mode 100644 main/qt6-webchannel/.PKGINFO create mode 100644 main/qt6-webchannel/PKGBUILD create mode 100644 main/qt6-webchannel/README create mode 100644 main/qt6-webchannel/version create mode 100644 main/qt6-webengine/.PKGINFO create mode 100644 main/qt6-webengine/PKGBUILD create mode 100644 main/qt6-webengine/README create mode 100644 main/qt6-webengine/version create mode 100644 main/qt6-websockets/.PKGINFO create mode 100644 main/qt6-websockets/PKGBUILD create mode 100644 main/qt6-websockets/README create mode 100644 main/qt6-websockets/version create mode 100644 main/rav1e/PKGBUILD create mode 100644 main/rav1e/README create mode 100644 main/rav1e/version create mode 100644 main/readline/PKGBUILD create mode 100644 main/readline/README create mode 100644 main/readline/inputrc create mode 100644 main/readline/version create mode 100644 main/refind/.PKGINFO create mode 100644 main/refind/PKGBUILD create mode 100644 main/refind/README create mode 100644 main/refind/version create mode 100644 main/reiserfsprogs/PKGBUILD create mode 100644 main/reiserfsprogs/README create mode 100644 main/reiserfsprogs/reiserfsprogs-3.6.27-loff_t.patch create mode 100644 main/reiserfsprogs/version create mode 100644 main/rp-pppoe/PKGBUILD create mode 100644 main/rp-pppoe/README create mode 100644 main/rp-pppoe/adsl.service create mode 100644 main/rp-pppoe/rp-pppoe.install create mode 100644 main/rp-pppoe/version create mode 100644 main/rpcbind/.nvchecker.toml create mode 100644 main/rpcbind/CVE-2017-8779.diff create mode 100644 main/rpcbind/PKGBUILD create mode 100644 main/rpcbind/README create mode 100644 main/rpcbind/rpcbind-sunrpc.patch create mode 100644 main/rpcbind/rpcbind.conf create mode 100644 main/rpcbind/systemd_service.diff create mode 100644 main/rpcbind/sysusers.d create mode 100644 main/rpcbind/tmpfiles.d create mode 100644 main/rpcbind/version create mode 100644 main/rsync/.PKGINFO create mode 100644 main/rsync/PKGBUILD create mode 100644 main/rsync/README create mode 100644 main/rsync/rsyncd.conf create mode 100644 main/rsync/version create mode 100644 main/rtkit/PKGBUILD create mode 100644 main/rtkit/README create mode 100644 main/rtkit/version create mode 100644 main/rubberband/PKGBUILD create mode 100644 main/rubberband/README create mode 100644 main/rubberband/version create mode 100644 main/run-parts/PKGBUILD create mode 100644 main/run-parts/README create mode 100644 main/run-parts/version create mode 100644 main/rxvt-unicode/PKGBUILD create mode 100644 main/rxvt-unicode/README create mode 100644 main/rxvt-unicode/perl-5.38.patch create mode 100644 main/rxvt-unicode/signing-key.pub create mode 100644 main/rxvt-unicode/urxvt-tabbed.desktop create mode 100644 main/rxvt-unicode/urxvt.desktop create mode 100644 main/rxvt-unicode/urxvtc.desktop create mode 100644 main/rxvt-unicode/version create mode 100644 main/samba/.PKGINFO create mode 100644 main/samba/PKGBUILD create mode 100644 main/samba/README create mode 100644 main/samba/samba-4.17.0-15195.patch create mode 100644 main/samba/samba-glibc-2.36.patch create mode 100644 main/samba/samba.conf create mode 100644 main/samba/samba.install create mode 100644 main/samba/samba.logrotate create mode 100644 main/samba/samba.pam create mode 100644 main/samba/version create mode 100644 main/sbc/PKGBUILD create mode 100644 main/sbc/README create mode 100644 main/sbc/version create mode 100644 main/screen/PKGBUILD create mode 100644 main/screen/README create mode 100644 main/screen/pam.d create mode 100644 main/screen/tmpfiles.d create mode 100644 main/screen/version create mode 100644 main/sddm-kcm/.PKGINFO create mode 100644 main/sddm-kcm/PKGBUILD create mode 100644 main/sddm-kcm/README create mode 100644 main/sddm-kcm/version create mode 100644 main/sdl2/.PKGINFO create mode 100644 main/sdl2/PKGBUILD create mode 100644 main/sdl2/README create mode 100644 main/sdl2/version create mode 100644 main/sdparm/PKGBUILD create mode 100644 main/sdparm/README create mode 100644 main/sdparm/version create mode 100644 main/sed/PKGBUILD create mode 100644 main/sed/README create mode 100644 main/sed/version create mode 100644 main/sequoia-sq/.PKGINFO create mode 100644 main/sequoia-sq/.nvchecker.toml create mode 100644 main/sequoia-sq/PKGBUILD create mode 100644 main/sequoia-sq/README create mode 100644 main/sequoia-sq/version create mode 100644 main/serd/PKGBUILD create mode 100644 main/serd/README create mode 100644 main/serd/version create mode 100644 main/sg3_utils/PKGBUILD create mode 100644 main/sg3_utils/README create mode 100644 main/sg3_utils/version create mode 100644 main/shaderc/.PKGINFO create mode 100644 main/shaderc/PKGBUILD create mode 100644 main/shaderc/README create mode 100644 main/shaderc/version create mode 100644 main/shadow/.nvchecker.toml create mode 100644 main/shadow/0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch create mode 100644 main/shadow/0002-Adapt-login.defs-for-PAM-and-util-linux.patch create mode 100644 main/shadow/0003-Add-Arch-Linux-defaults-for-login.defs.patch create mode 100644 main/shadow/PKGBUILD create mode 100644 main/shadow/README create mode 100644 main/shadow/shadow.service create mode 100644 main/shadow/shadow.sysusers create mode 100644 main/shadow/shadow.timer create mode 100644 main/shadow/shadow.tmpfiles create mode 100644 main/shadow/useradd.defaults create mode 100644 main/shadow/version create mode 100644 main/shared-mime-info/MR_162.patch create mode 100644 main/shared-mime-info/PKGBUILD create mode 100644 main/shared-mime-info/README create mode 100644 main/shared-mime-info/shared-mime-info.install create mode 100644 main/shared-mime-info/update-mime-database.hook create mode 100644 main/shared-mime-info/version create mode 100644 main/signon-kwallet-extension/.PKGINFO create mode 100644 main/signon-kwallet-extension/PKGBUILD create mode 100644 main/signon-kwallet-extension/README create mode 100644 main/signon-kwallet-extension/version create mode 100644 main/signon-plugin-oauth2/.nvchecker.toml create mode 100644 main/signon-plugin-oauth2/PKGBUILD create mode 100644 main/signon-plugin-oauth2/README create mode 100644 main/signon-plugin-oauth2/version create mode 100644 main/signon-ui/PKGBUILD create mode 100644 main/signon-ui/README create mode 100644 main/signon-ui/fake-user-agent.patch create mode 100644 main/signon-ui/version create mode 100644 main/signond/.nvchecker.toml create mode 100644 main/signond/PKGBUILD create mode 100644 main/signond/README create mode 100644 main/signond/version create mode 100644 main/slang/PKGBUILD create mode 100644 main/slang/README create mode 100644 main/slang/version create mode 100644 main/smartmontools/PKGBUILD create mode 100644 main/smartmontools/README create mode 100644 main/smartmontools/smartd.conf create mode 100644 main/smartmontools/version create mode 100644 main/snappy/PKGBUILD create mode 100644 main/snappy/README create mode 100644 main/snappy/cmake_add_pkgconfig.patch create mode 100644 main/snappy/snappy.pc.in create mode 100644 main/snappy/version create mode 100644 main/snowball/PKGBUILD create mode 100644 main/snowball/README create mode 100644 main/snowball/dynamiclib.diff create mode 100644 main/snowball/version create mode 100644 main/socat/.PKGINFO create mode 100644 main/socat/.nvchecker.toml create mode 100644 main/socat/PKGBUILD create mode 100644 main/socat/README create mode 100644 main/socat/version create mode 100644 main/sof-bin/PKGBUILD create mode 100644 main/sof-bin/README create mode 100644 main/sof-bin/version create mode 100644 main/solid/.PKGINFO create mode 100644 main/solid/PKGBUILD create mode 100644 main/solid/README create mode 100644 main/solid/version create mode 100644 main/sonnet/.PKGINFO create mode 100644 main/sonnet/PKGBUILD create mode 100644 main/sonnet/README create mode 100644 main/sonnet/version create mode 100644 main/sord/PKGBUILD create mode 100644 main/sord/README create mode 100644 main/sord/version create mode 100644 main/sound-theme-freedesktop/PKGBUILD create mode 100644 main/sound-theme-freedesktop/README create mode 100644 main/sound-theme-freedesktop/version create mode 100644 main/source-highlight/.PKGINFO create mode 100644 main/source-highlight/PKGBUILD create mode 100644 main/source-highlight/README create mode 100644 main/source-highlight/source-highlight-gcc11.patch create mode 100644 main/source-highlight/version create mode 100644 main/spdlog/PKGBUILD create mode 100644 main/spdlog/spdlog_constexpr.patch create mode 100644 main/spdlog/spdlog_fmt_external.patch create mode 100644 main/spdlog/version create mode 100644 main/spectacle/.PKGINFO create mode 100644 main/spectacle/PKGBUILD create mode 100644 main/spectacle/README create mode 100644 main/spectacle/version create mode 100644 main/speech-dispatcher/.PKGINFO create mode 100644 main/speech-dispatcher/PKGBUILD create mode 100644 main/speech-dispatcher/README create mode 100644 main/speech-dispatcher/version create mode 100644 main/speex/PKGBUILD create mode 100644 main/speex/README create mode 100644 main/speex/version create mode 100644 main/speexdsp/PKGBUILD create mode 100644 main/speexdsp/README create mode 100644 main/speexdsp/version create mode 100644 main/spirv-tools/.PKGINFO create mode 100644 main/spirv-tools/PKGBUILD create mode 100644 main/spirv-tools/README create mode 100644 main/spirv-tools/version create mode 100644 main/sqlite/.PKGINFO create mode 100644 main/sqlite/.nvchecker.toml create mode 100644 main/sqlite/PKGBUILD create mode 100644 main/sqlite/README create mode 100644 main/sqlite/license.txt create mode 100644 main/sqlite/sqlite-lemon-system-template.patch create mode 100644 main/sqlite/version create mode 100644 main/squashfs-tools/PKGBUILD create mode 100644 main/squashfs-tools/README create mode 100644 main/squashfs-tools/version create mode 100644 main/sratom/PKGBUILD create mode 100644 main/sratom/README create mode 100644 main/sratom/version create mode 100644 main/srt/PKGBUILD create mode 100644 main/srt/README create mode 100644 main/srt/version create mode 100644 main/sshfs/PKGBUILD create mode 100644 main/sshfs/README create mode 100644 main/sshfs/version create mode 100644 main/stoken/PKGBUILD create mode 100644 main/stoken/README create mode 100644 main/stoken/version create mode 100644 main/sudo/PKGBUILD create mode 100644 main/sudo/README create mode 100644 main/sudo/sudo.install create mode 100644 main/sudo/sudo.pam create mode 100644 main/sudo/sudo_logsrvd.service create mode 100644 main/sudo/version create mode 100644 main/svt-av1/.PKGINFO create mode 100644 main/svt-av1/PKGBUILD create mode 100644 main/svt-av1/README create mode 100644 main/svt-av1/version create mode 100644 main/syndication/.PKGINFO create mode 100644 main/syndication/PKGBUILD create mode 100644 main/syndication/README create mode 100644 main/syndication/version create mode 100644 main/syntax-highlighting/.PKGINFO create mode 100644 main/syntax-highlighting/PKGBUILD create mode 100644 main/syntax-highlighting/README create mode 100644 main/syntax-highlighting/version create mode 100644 main/sysfsutils/PKGBUILD create mode 100644 main/sysfsutils/README create mode 100644 main/sysfsutils/version create mode 100644 main/syslinux/0002-gfxboot-menu-label.patch create mode 100644 main/syslinux/0004-gnu-efi-from-arch.patch create mode 100644 main/syslinux/0005-Workaround-multiple-definition-of-symbol-errors.patch create mode 100644 main/syslinux/0005-gnu-efi-version-compatibility.patch create mode 100644 main/syslinux/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch create mode 100644 main/syslinux/0016-strip-gnu-property.patch create mode 100644 main/syslinux/0017-single-load-segment.patch create mode 100644 main/syslinux/0018-prevent-pow-optimization.patch create mode 100644 main/syslinux/0025-reproducible-build.patch create mode 100644 main/syslinux/PKGBUILD create mode 100644 main/syslinux/README create mode 100644 main/syslinux/syslinux-install_update create mode 100644 main/syslinux/syslinux.cfg create mode 100644 main/syslinux/syslinux.install create mode 100644 main/syslinux/version create mode 100644 main/sysprof/.PKGINFO create mode 100644 main/sysprof/PKGBUILD create mode 100644 main/sysprof/README create mode 100644 main/sysprof/version create mode 100644 main/systemd/.PKGINFO create mode 100644 main/systemd/0001-Use-Arch-Linux-device-access-groups.patch create mode 100644 main/systemd/20-systemd-sysusers.hook create mode 100644 main/systemd/30-systemd-binfmt.hook create mode 100644 main/systemd/30-systemd-catalog.hook create mode 100644 main/systemd/30-systemd-daemon-reload-system.hook create mode 100644 main/systemd/30-systemd-daemon-reload-user.hook create mode 100644 main/systemd/30-systemd-hwdb.hook create mode 100644 main/systemd/30-systemd-sysctl.hook create mode 100644 main/systemd/30-systemd-tmpfiles.hook create mode 100644 main/systemd/30-systemd-udev-reload.hook create mode 100644 main/systemd/30-systemd-update.hook create mode 100644 main/systemd/PKGBUILD create mode 100644 main/systemd/README create mode 100644 main/systemd/arch.conf create mode 100644 main/systemd/loader.conf create mode 100644 main/systemd/splash-arch.bmp create mode 100644 main/systemd/systemd-hook create mode 100644 main/systemd/systemd-user.pam create mode 100644 main/systemd/systemd.install create mode 100644 main/systemd/version create mode 100644 main/systemsettings/.PKGINFO create mode 100644 main/systemsettings/PKGBUILD create mode 100644 main/systemsettings/README create mode 100644 main/systemsettings/version create mode 100644 main/taglib/.PKGINFO create mode 100644 main/taglib/.nvchecker.toml create mode 100644 main/taglib/PKGBUILD create mode 100644 main/taglib/README create mode 100644 main/taglib/version create mode 100644 main/talloc/.PKGINFO create mode 100644 main/talloc/PKGBUILD create mode 100644 main/talloc/README create mode 100644 main/talloc/version create mode 100644 main/tar/PKGBUILD create mode 100644 main/tar/README create mode 100644 main/tar/version create mode 100644 main/tcl/.PKGINFO create mode 100644 main/tcl/.nvchecker.toml create mode 100644 main/tcl/PKGBUILD create mode 100644 main/tcl/README create mode 100644 main/tcl/version create mode 100644 main/tcpdump/.PKGINFO create mode 100644 main/tcpdump/PKGBUILD create mode 100644 main/tcpdump/README create mode 100644 main/tcpdump/version create mode 100644 main/tdb/.PKGINFO create mode 100644 main/tdb/PKGBUILD create mode 100644 main/tdb/README create mode 100644 main/tdb/version create mode 100644 main/terminus-font/PKGBUILD create mode 100644 main/terminus-font/README create mode 100644 main/terminus-font/fix-75-yes-terminus.patch create mode 100644 main/terminus-font/version create mode 100644 main/testdisk/PKGBUILD create mode 100644 main/testdisk/README create mode 100644 main/testdisk/version create mode 100644 main/tevent/.PKGINFO create mode 100644 main/tevent/PKGBUILD create mode 100644 main/tevent/README create mode 100644 main/tevent/version create mode 100644 main/thin-provisioning-tools/PKGBUILD create mode 100644 main/thin-provisioning-tools/README create mode 100644 main/thin-provisioning-tools/version create mode 100644 main/tmux/.PKGINFO create mode 100644 main/tmux/PKGBUILD create mode 100644 main/tmux/README create mode 100644 main/tmux/version create mode 100644 main/tpkg/PKGBUILD create mode 100644 main/tpkg/README create mode 100644 main/tpkg/makepkg.conf create mode 100644 main/tpkg/tpkg.conf create mode 100644 main/tpkg/version create mode 100644 main/tpm2-tools/.nvchecker.toml create mode 100644 main/tpm2-tools/PKGBUILD create mode 100644 main/tpm2-tools/README create mode 100644 main/tpm2-tools/version create mode 100644 main/tpm2-tss/PKGBUILD create mode 100644 main/tpm2-tss/README create mode 100644 main/tpm2-tss/version create mode 100644 main/tracker3/.PKGINFO create mode 100644 main/tracker3/PKGBUILD create mode 100644 main/tracker3/README create mode 100644 main/tracker3/version create mode 100644 main/tslib/.nvchecker.toml create mode 100644 main/tslib/PKGBUILD create mode 100644 main/tslib/README create mode 100644 main/tslib/version create mode 100644 main/ttf-hack/LICENSE create mode 100644 main/ttf-hack/PKGBUILD create mode 100644 main/ttf-hack/README create mode 100644 main/ttf-hack/version create mode 100644 main/tzdata/.PKGINFO create mode 100644 main/tzdata/.nvchecker.toml create mode 100644 main/tzdata/PKGBUILD create mode 100644 main/tzdata/README create mode 100644 main/tzdata/version create mode 100644 main/udftools/PKGBUILD create mode 100644 main/udftools/README create mode 100644 main/udftools/version create mode 100644 main/udisks2/.nvchecker.toml create mode 100644 main/udisks2/PKGBUILD create mode 100644 main/udisks2/README create mode 100644 main/udisks2/version create mode 100644 main/upower/.PKGINFO create mode 100644 main/upower/PKGBUILD create mode 100644 main/upower/README create mode 100644 main/upower/version create mode 100644 main/uriparser/.PKGINFO create mode 100644 main/uriparser/PKGBUILD create mode 100644 main/uriparser/README create mode 100644 main/uriparser/version create mode 100644 main/usb_modeswitch/PKGBUILD create mode 100644 main/usb_modeswitch/README create mode 100644 main/usb_modeswitch/version create mode 100644 main/usbmuxd/PKGBUILD create mode 100644 main/usbmuxd/README create mode 100644 main/usbmuxd/libplist-2.3.0.diff create mode 100644 main/usbmuxd/usbmuxd.sysusers create mode 100644 main/usbmuxd/version create mode 100644 main/usbutils/PKGBUILD create mode 100644 main/usbutils/README create mode 100644 main/usbutils/version create mode 100644 main/util-linux/.PKGINFO create mode 100644 main/util-linux/60-rfkill.rules create mode 100644 main/util-linux/PKGBUILD create mode 100644 main/util-linux/README create mode 100644 main/util-linux/pam-common create mode 100644 main/util-linux/pam-login create mode 100644 main/util-linux/pam-remote create mode 100644 main/util-linux/pam-runuser create mode 100644 main/util-linux/pam-su create mode 100644 main/util-linux/rfkill-block_.service create mode 100644 main/util-linux/rfkill-unblock_.service create mode 100644 main/util-linux/util-linux.sysusers create mode 100644 main/util-linux/version create mode 100644 main/v4l-utils/PKGBUILD create mode 100644 main/v4l-utils/README create mode 100644 main/v4l-utils/version create mode 100644 main/vapoursynth/.PKGINFO create mode 100644 main/vapoursynth/PKGBUILD create mode 100644 main/vapoursynth/README create mode 100755 main/vapoursynth/vapoursynth.xml create mode 100644 main/vapoursynth/version create mode 100644 main/verdict/PKGBUILD create mode 100644 main/verdict/version create mode 100644 main/vid.stab/PKGBUILD create mode 100644 main/vid.stab/README create mode 100644 main/vid.stab/version create mode 100644 main/vim/.PKGINFO create mode 100644 main/vim/.nvchecker.toml create mode 100644 main/vim/PKGBUILD create mode 100644 main/vim/README create mode 100644 main/vim/archlinux.vim create mode 100644 main/vim/version create mode 100644 main/vim/vimdoc.hook create mode 100644 main/vim/vimrc create mode 100644 main/virtualbox/.PKGINFO create mode 100644 main/virtualbox/001-disable-update.patch create mode 100644 main/virtualbox/004-drop-Wno-format.patch create mode 100644 main/virtualbox/008-no-vboxvideo.patch create mode 100644 main/virtualbox/009-properly-handle-i3wm.patch create mode 100644 main/virtualbox/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch create mode 100644 main/virtualbox/013-support-building-from-dkms.patch create mode 100644 main/virtualbox/018-upate-xclient-script.patch create mode 100644 main/virtualbox/019-libxml-2-12.patch create mode 100644 main/virtualbox/60-vboxdrv.rules create mode 100644 main/virtualbox/60-vboxguest.rules create mode 100644 main/virtualbox/LocalConfig.kmk create mode 100644 main/virtualbox/PKGBUILD create mode 100644 main/virtualbox/README create mode 100755 main/virtualbox/build.sh create mode 100644 main/virtualbox/vboxdrmclient.path create mode 100644 main/virtualbox/vboxdrmclient.service create mode 100755 main/virtualbox/vboxreload create mode 100644 main/virtualbox/vboxservice-nox.service create mode 100644 main/virtualbox/vboxservice.service create mode 100644 main/virtualbox/vboxweb.service create mode 100644 main/virtualbox/version create mode 100644 main/virtualbox/virtualbox-ext-vnc.install create mode 100644 main/virtualbox/virtualbox-guest-utils.sysusers create mode 100644 main/virtualbox/virtualbox-host-dkms.conf create mode 100644 main/virtualbox/virtualbox-host-dkms.install create mode 100644 main/virtualbox/virtualbox.sysusers create mode 100644 main/vlc/.PKGINFO create mode 100644 main/vlc/PKGBUILD create mode 100644 main/vlc/README create mode 100644 main/vlc/taglib-2.patch create mode 100644 main/vlc/update-vlc-plugin-cache.hook create mode 100644 main/vlc/version create mode 100644 main/vmaf/PKGBUILD create mode 100644 main/vmaf/README create mode 100644 main/vmaf/version create mode 100644 main/volume_key/.PKGINFO create mode 100644 main/volume_key/PKGBUILD create mode 100644 main/volume_key/README create mode 100644 main/volume_key/version create mode 100644 main/vpnc/.PKGINFO create mode 100644 main/vpnc/PKGBUILD create mode 100644 main/vpnc/README create mode 100644 main/vpnc/version create mode 100644 main/vpnc/vpnc.conf create mode 100644 main/vpnc/vpnc@.service create mode 100644 main/vulkan-headers/.PKGINFO create mode 100644 main/vulkan-headers/PKGBUILD create mode 100644 main/vulkan-headers/README create mode 100644 main/vulkan-headers/version create mode 100644 main/vulkan-icd-loader/.PKGINFO create mode 100644 main/vulkan-icd-loader/PKGBUILD create mode 100644 main/vulkan-icd-loader/README create mode 100644 main/vulkan-icd-loader/version create mode 100644 main/vulkan-tools/PKGBUILD create mode 100644 main/vulkan-tools/README create mode 100644 main/vulkan-tools/version create mode 100644 main/wayland-utils/.nvchecker.toml create mode 100644 main/wayland-utils/PKGBUILD create mode 100644 main/wayland-utils/README create mode 100644 main/wayland-utils/version create mode 100644 main/webrtc-audio-processing-1/PKGBUILD create mode 100644 main/webrtc-audio-processing-1/README create mode 100644 main/webrtc-audio-processing-1/version create mode 100644 main/which/PKGBUILD create mode 100644 main/which/README create mode 100644 main/which/version create mode 100644 main/wireless-regdb/.PKGINFO create mode 100644 main/wireless-regdb/85-regulatory.rules create mode 100644 main/wireless-regdb/PKGBUILD create mode 100644 main/wireless-regdb/README create mode 100755 main/wireless-regdb/set-wireless-regdom create mode 100644 main/wireless-regdb/version create mode 100644 main/wireless-regdb/wireless-regdom create mode 100644 main/wireless_tools/.PKGINFO create mode 100644 main/wireless_tools/PKGBUILD create mode 100644 main/wireless_tools/README create mode 100644 main/wireless_tools/version create mode 100644 main/wireplumber/.PKGINFO create mode 100644 main/wireplumber/.nvchecker.toml create mode 100644 main/wireplumber/PKGBUILD create mode 100644 main/wireplumber/README create mode 100644 main/wireplumber/version create mode 100644 main/wireplumber/wireplumber.install create mode 100644 main/wpa_supplicant/.nvchecker.toml create mode 100644 main/wpa_supplicant/0001-Enable-TLSv1.0-by-default.patch create mode 100644 main/wpa_supplicant/0002-Tweak-D-Bus-systemd-service-activation-configuration.patch create mode 100644 main/wpa_supplicant/0003-Add-IgnoreOnIsolate-yes-to-keep-wpa-supplicant-runni.patch create mode 100644 main/wpa_supplicant/0004-Allow-legacy-renegotiation-to-fix-PEAP-issues-with-s.patch create mode 100644 main/wpa_supplicant/0005-OpenSSL-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch create mode 100644 main/wpa_supplicant/0006-Disable-Werror-for-eapol_test.patch create mode 100644 main/wpa_supplicant/0007-nl80211-add-extra-ies-only-if-allowed-by-driver.patch create mode 100644 main/wpa_supplicant/0008-AP-guard-FT-SAE-code-with-CONFIG_IEEE80211R_AP.patch create mode 100644 main/wpa_supplicant/0009-OpenSSL-Apply-connection-flags-before-reading-certif.patch create mode 100644 main/wpa_supplicant/0010-Don-t-upgrade-SSL-security-level-to-1-when-setting-c.patch create mode 100644 main/wpa_supplicant/0011-Add-reload-support-to-the-systemd-unit-files.patch create mode 100644 main/wpa_supplicant/0012-WNM-Choose-the-best-available-BSS-not-just-the-first.patch create mode 100644 main/wpa_supplicant/0013-wpa_supplicant-Fix-wpa_supplicant-configuration-pars.patch create mode 100644 main/wpa_supplicant/0014-Abort-ongoing-scan.patch create mode 100644 main/wpa_supplicant/0015-Override-ieee80211w-from-pmf-for-AP-mode-in-wpa_supp.patch create mode 100644 main/wpa_supplicant/PKGBUILD create mode 100644 main/wpa_supplicant/README create mode 100644 main/wpa_supplicant/version create mode 100644 main/wpa_supplicant/wpa_supplicant.install create mode 100644 main/wpa_supplicant/wpa_supplicant_config create mode 100644 main/wvdial/PKGBUILD create mode 100644 main/wvdial/README create mode 100644 main/wvdial/version create mode 100644 main/wvdial/wvdial-1.61-FTBFS-with-gcc-4.5.patch create mode 100644 main/wvdial/wvdial-1.61-destdir.patch create mode 100644 main/wvdial/wvdial-1.61-parallel-make.patch create mode 100644 main/wvstreams/PKGBUILD create mode 100644 main/wvstreams/README create mode 100644 main/wvstreams/version create mode 100644 main/wvstreams/wvstreams-4.6.1-gcc10.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-gcc47.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-gcc6.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-glibc212.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-magic.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-openssl10.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-openssl11.patch create mode 100644 main/wvstreams/wvstreams-4.6.1-parallel-make.patch create mode 100644 main/x264/.PKGINFO create mode 100644 main/x264/PKGBUILD create mode 100644 main/x264/README create mode 100644 main/x264/version create mode 100644 main/x265/PKGBUILD create mode 100644 main/x265/README create mode 100644 main/x265/version create mode 100644 main/xbitmaps/PKGBUILD create mode 100644 main/xbitmaps/README create mode 100644 main/xbitmaps/version create mode 100644 main/xcb-proto/.PKGINFO create mode 100644 main/xcb-proto/PKGBUILD create mode 100644 main/xcb-proto/README create mode 100644 main/xcb-proto/version create mode 100644 main/xcb-util-cursor/PKGBUILD create mode 100644 main/xcb-util-cursor/README create mode 100644 main/xcb-util-cursor/version create mode 100644 main/xcb-util-image/LICENSE create mode 100644 main/xcb-util-image/PKGBUILD create mode 100644 main/xcb-util-image/README create mode 100644 main/xcb-util-image/version create mode 100644 main/xcb-util-keysyms/PKGBUILD create mode 100644 main/xcb-util-keysyms/README create mode 100644 main/xcb-util-keysyms/version create mode 100644 main/xcb-util-renderutil/LICENSE create mode 100644 main/xcb-util-renderutil/PKGBUILD create mode 100644 main/xcb-util-renderutil/README create mode 100644 main/xcb-util-renderutil/version create mode 100644 main/xcb-util-wm/PKGBUILD create mode 100644 main/xcb-util-wm/README create mode 100644 main/xcb-util-wm/version create mode 100644 main/xdg-desktop-portal-kde/.PKGINFO create mode 100644 main/xdg-desktop-portal-kde/PKGBUILD create mode 100644 main/xdg-desktop-portal-kde/README create mode 100644 main/xdg-desktop-portal-kde/version create mode 100644 main/xdg-user-dirs/PKGBUILD create mode 100644 main/xdg-user-dirs/README create mode 100644 main/xdg-user-dirs/version create mode 100644 main/xdg-user-dirs/xdg-user-dirs-update.service create mode 100644 main/xdg-user-dirs/xdg-user-dirs.install create mode 100644 main/xdg-utils/.nvchecker.toml create mode 100644 main/xdg-utils/PKGBUILD create mode 100644 main/xdg-utils/README create mode 100644 main/xdg-utils/version create mode 100644 main/xf86-input-libinput/PKGBUILD create mode 100644 main/xf86-input-libinput/README create mode 100644 main/xf86-input-libinput/version create mode 100644 main/xfsprogs/.PKGINFO create mode 100644 main/xfsprogs/PKGBUILD create mode 100644 main/xfsprogs/README create mode 100644 main/xfsprogs/version create mode 100644 main/xkeyboard-config/.PKGINFO create mode 100644 main/xkeyboard-config/.nvchecker.toml create mode 100644 main/xkeyboard-config/PKGBUILD create mode 100644 main/xkeyboard-config/README create mode 100644 main/xkeyboard-config/version create mode 100644 main/xl2tpd/PKGBUILD create mode 100644 main/xl2tpd/README create mode 100644 main/xl2tpd/options.l2tpd create mode 100644 main/xl2tpd/version create mode 100644 main/xl2tpd/xl2tpd.conf.client-example create mode 100644 main/xl2tpd/xl2tpd.conf.server-example create mode 100644 main/xl2tpd/xl2tpd.service create mode 100644 main/xl2tpd/xl2tpd.tmpfiles create mode 100644 main/xmlsec/.PKGINFO create mode 100644 main/xmlsec/.nvchecker.toml create mode 100644 main/xmlsec/0001-ensure-nss-algorithms-are-initialized.patch create mode 100644 main/xmlsec/0002-Fix-typo-with-xmlSecKeyDataEcGetKlass.patch create mode 100644 main/xmlsec/PKGBUILD create mode 100644 main/xmlsec/README create mode 100644 main/xmlsec/version create mode 100644 main/xorg-bdftopcf/PKGBUILD create mode 100644 main/xorg-bdftopcf/README create mode 100644 main/xorg-bdftopcf/version create mode 100644 main/xorg-fonts-encodings/.nvchecker.toml create mode 100644 main/xorg-fonts-encodings/PKGBUILD create mode 100644 main/xorg-fonts-encodings/README create mode 100644 main/xorg-fonts-encodings/version create mode 100644 main/xorg-iceauth/.nvchecker.toml create mode 100644 main/xorg-iceauth/PKGBUILD create mode 100644 main/xorg-iceauth/README create mode 100644 main/xorg-iceauth/version create mode 100644 main/xorg-mkfontscale/.nvchecker.toml create mode 100644 main/xorg-mkfontscale/PKGBUILD create mode 100644 main/xorg-mkfontscale/README create mode 100644 main/xorg-mkfontscale/version create mode 100644 main/xorg-mkfontscale/xorg-mkfontscale.hook create mode 100644 main/xorg-mkfontscale/xorg-mkfontscale.install create mode 100644 main/xorg-mkfontscale/xorg-mkfontscale.script create mode 100644 main/xorg-server/.PKGINFO create mode 100644 main/xorg-server/.nvchecker.toml create mode 100644 main/xorg-server/PKGBUILD create mode 100644 main/xorg-server/README create mode 100644 main/xorg-server/version create mode 100644 main/xorg-server/xorg-server.install create mode 100644 main/xorg-server/xvfb-run create mode 100644 main/xorg-server/xvfb-run.1 create mode 100644 main/xorg-sessreg/PKGBUILD create mode 100644 main/xorg-sessreg/README create mode 100644 main/xorg-sessreg/version create mode 100644 main/xorg-setxkbmap/PKGBUILD create mode 100644 main/xorg-setxkbmap/README create mode 100644 main/xorg-setxkbmap/version create mode 100644 main/xorg-smproxy/PKGBUILD create mode 100644 main/xorg-smproxy/README create mode 100644 main/xorg-smproxy/version create mode 100644 main/xorg-x11perf/PKGBUILD create mode 100644 main/xorg-x11perf/README create mode 100644 main/xorg-x11perf/version create mode 100644 main/xorg-xauth/.nvchecker.toml create mode 100644 main/xorg-xauth/PKGBUILD create mode 100644 main/xorg-xauth/README create mode 100644 main/xorg-xauth/version create mode 100644 main/xorg-xbacklight/PKGBUILD create mode 100644 main/xorg-xbacklight/README create mode 100644 main/xorg-xbacklight/version create mode 100644 main/xorg-xcmsdb/PKGBUILD create mode 100644 main/xorg-xcmsdb/README create mode 100644 main/xorg-xcmsdb/version create mode 100644 main/xorg-xcursorgen/PKGBUILD create mode 100644 main/xorg-xcursorgen/README create mode 100644 main/xorg-xcursorgen/version create mode 100644 main/xorg-xdpyinfo/PKGBUILD create mode 100644 main/xorg-xdpyinfo/README create mode 100644 main/xorg-xdpyinfo/version create mode 100644 main/xorg-xdriinfo/PKGBUILD create mode 100644 main/xorg-xdriinfo/README create mode 100644 main/xorg-xdriinfo/version create mode 100644 main/xorg-xev/.nvchecker.toml create mode 100644 main/xorg-xev/PKGBUILD create mode 100644 main/xorg-xev/README create mode 100644 main/xorg-xev/version create mode 100644 main/xorg-xgamma/PKGBUILD create mode 100644 main/xorg-xgamma/README create mode 100644 main/xorg-xgamma/version create mode 100644 main/xorg-xhost/PKGBUILD create mode 100644 main/xorg-xhost/README create mode 100644 main/xorg-xhost/version create mode 100644 main/xorg-xinput/PKGBUILD create mode 100644 main/xorg-xinput/README create mode 100644 main/xorg-xinput/version create mode 100644 main/xorg-xkbcomp/PKGBUILD create mode 100644 main/xorg-xkbcomp/README create mode 100644 main/xorg-xkbcomp/version create mode 100644 main/xorg-xkbevd/PKGBUILD create mode 100644 main/xorg-xkbevd/README create mode 100644 main/xorg-xkbevd/version create mode 100644 main/xorg-xkbprint/PKGBUILD create mode 100644 main/xorg-xkbprint/README create mode 100644 main/xorg-xkbprint/version create mode 100644 main/xorg-xkbutils/PKGBUILD create mode 100644 main/xorg-xkbutils/README create mode 100644 main/xorg-xkbutils/version create mode 100644 main/xorg-xkill/PKGBUILD create mode 100644 main/xorg-xkill/README create mode 100644 main/xorg-xkill/version create mode 100644 main/xorg-xlsatoms/PKGBUILD create mode 100644 main/xorg-xlsatoms/README create mode 100644 main/xorg-xlsatoms/version create mode 100644 main/xorg-xlsclients/PKGBUILD create mode 100644 main/xorg-xlsclients/README create mode 100644 main/xorg-xlsclients/version create mode 100644 main/xorg-xmessage/.nvchecker.toml create mode 100644 main/xorg-xmessage/PKGBUILD create mode 100644 main/xorg-xmessage/README create mode 100644 main/xorg-xmessage/version create mode 100644 main/xorg-xmodmap/PKGBUILD create mode 100644 main/xorg-xmodmap/README create mode 100644 main/xorg-xmodmap/version create mode 100644 main/xorg-xpr/.nvchecker.toml create mode 100644 main/xorg-xpr/PKGBUILD create mode 100644 main/xorg-xpr/README create mode 100644 main/xorg-xpr/version create mode 100644 main/xorg-xprop/PKGBUILD create mode 100644 main/xorg-xprop/README create mode 100644 main/xorg-xprop/version create mode 100644 main/xorg-xrandr/PKGBUILD create mode 100644 main/xorg-xrandr/README create mode 100644 main/xorg-xrandr/version create mode 100644 main/xorg-xrdb/PKGBUILD create mode 100644 main/xorg-xrdb/README create mode 100644 main/xorg-xrdb/version create mode 100644 main/xorg-xrefresh/.nvchecker.toml create mode 100644 main/xorg-xrefresh/PKGBUILD create mode 100644 main/xorg-xrefresh/README create mode 100644 main/xorg-xrefresh/version create mode 100644 main/xorg-xset/PKGBUILD create mode 100644 main/xorg-xset/README create mode 100644 main/xorg-xset/version create mode 100644 main/xorg-xsetroot/PKGBUILD create mode 100644 main/xorg-xsetroot/README create mode 100644 main/xorg-xsetroot/version create mode 100644 main/xorg-xvinfo/PKGBUILD create mode 100644 main/xorg-xvinfo/README create mode 100644 main/xorg-xvinfo/version create mode 100644 main/xorg-xwayland/.PKGINFO create mode 100644 main/xorg-xwayland/.nvchecker.toml create mode 100644 main/xorg-xwayland/PKGBUILD create mode 100644 main/xorg-xwayland/README create mode 100644 main/xorg-xwayland/version create mode 100644 main/xorg-xwd/PKGBUILD create mode 100644 main/xorg-xwd/README create mode 100644 main/xorg-xwd/version create mode 100644 main/xorg-xwininfo/PKGBUILD create mode 100644 main/xorg-xwininfo/README create mode 100644 main/xorg-xwininfo/version create mode 100644 main/xorg-xwud/PKGBUILD create mode 100644 main/xorg-xwud/README create mode 100644 main/xorg-xwud/version create mode 100644 main/xorgproto/.nvchecker.toml create mode 100644 main/xorgproto/PKGBUILD create mode 100644 main/xorgproto/README create mode 100644 main/xorgproto/version create mode 100644 main/xsettingsd/PKGBUILD create mode 100644 main/xsettingsd/README create mode 100644 main/xsettingsd/version create mode 100644 main/xterm/.PKGINFO create mode 100644 main/xterm/PKGBUILD create mode 100644 main/xterm/README create mode 100644 main/xterm/version create mode 100644 main/xvidcore/PKGBUILD create mode 100644 main/xvidcore/README create mode 100644 main/xvidcore/version create mode 100644 main/xxhash/PKGBUILD create mode 100644 main/xxhash/README create mode 100644 main/xxhash/version create mode 100644 main/xxhash/xxhash-man-symlinks.patch create mode 100644 main/xz/.PKGINFO create mode 100644 main/xz/PKGBUILD create mode 100644 main/xz/README create mode 100644 main/xz/version create mode 100644 main/yakuake/.PKGINFO create mode 100644 main/yakuake/PKGBUILD create mode 100644 main/yakuake/README create mode 100644 main/yakuake/version create mode 100644 main/yaml-cpp/PKGBUILD create mode 100644 main/yaml-cpp/README create mode 100644 main/yaml-cpp/version create mode 100644 main/yyjson/PKGBUILD create mode 100644 main/yyjson/version create mode 100644 main/zeromq/PKGBUILD create mode 100644 main/zeromq/README create mode 100644 main/zeromq/fix-doc-install.patch create mode 100644 main/zeromq/version create mode 100644 main/zimg/PKGBUILD create mode 100644 main/zimg/README create mode 100644 main/zimg/version create mode 100644 main/zix/PKGBUILD create mode 100644 main/zix/README create mode 100644 main/zix/version create mode 100644 main/zlib/.PKGINFO create mode 100644 main/zlib/PKGBUILD create mode 100644 main/zlib/README create mode 100644 main/zlib/version create mode 100644 main/zsh/0001-50629-do-not-use-egrep-in-tests.patch create mode 100644 main/zsh/0002-fix-autocompletion.patch create mode 100644 main/zsh/0003-51862-support-texinfo-7-0.patch create mode 100644 main/zsh/0004-pcre2.patch create mode 100644 main/zsh/PKGBUILD create mode 100644 main/zsh/README create mode 100644 main/zsh/version create mode 100644 main/zsh/zprofile create mode 100644 main/zsh/zsh.install create mode 100644 main/zstd/PKGBUILD create mode 100644 main/zstd/README create mode 100644 main/zstd/version create mode 100644 main/zxing-cpp/.nvchecker.toml create mode 100644 main/zxing-cpp/PKGBUILD create mode 100644 main/zxing-cpp/README create mode 100644 main/zxing-cpp/version diff --git a/cp.sh b/cp.sh new file mode 100755 index 00000000..aabbff96 --- /dev/null +++ b/cp.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# https://git.tuxcore.org/developer/tpkgs.git + + +# pkg_list=$(cat /home/wilssonmartee/Tuxiso-Iso-Out/tuxcore-2024-06-15-pkglist.txt | awk '{print $1}') + + +while IFS="" read -r p || [ -n "$p" ] +do +# printf '%s\n' "$p" +pkg_name=$(echo $p | awk '{print $1}') +# echo $pkg_name +pkg_base=$(cat /tmp/check-updates/tuxcore_repos/main/$pkg_name-*/desc | grep "%BASE%" -A1 | tail -1) + +cp -r /home/wilssonmartee/GIT/packages/main/$pkg_base /home/wilssonmartee/GIT/tpkgs/main/ +cp -r /home/wilssonmartee/GIT/packages/opt/$pkg_base /home/wilssonmartee/GIT/tpkgs/main/ +done < /home/wilssonmartee/Tuxiso-Iso-Out/tuxcore-2024-06-15-pkglist.txt \ No newline at end of file diff --git a/main/a52dec/PKGBUILD b/main/a52dec/PKGBUILD new file mode 100644 index 00000000..0eb03d6d --- /dev/null +++ b/main/a52dec/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=a52dec +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for decoding ATSC A/52 (AC-3) audio streams' +arch=('x86_64') +url='https://git.adelielinux.org/community/a52dec/' +license=('GPL-2.0-or-later') +depends=('glibc') +source=("https://distfiles.adelielinux.org/source/$pkgname/$pkgname-$pkgver.tar.gz") +sha256sums=('03c181ce9c3fe0d2f5130de18dab9bd8bc63c354071515aa56983c74a9cffcc9') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-shared + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -m644 liba52/a52_internal.h "$pkgdir"/usr/include/a52dec/ +} diff --git a/main/a52dec/README b/main/a52dec/README new file mode 100644 index 00000000..d7821f3e --- /dev/null +++ b/main/a52dec/README @@ -0,0 +1,43 @@ +a52dec +________________________________________________________________________________ + +Library for decoding ATSC A/52 (AC-3) audio streams + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S a52dec | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.adelielinux.org/community/a52dec/ diff --git a/main/a52dec/version b/main/a52dec/version new file mode 100644 index 00000000..f2864409 --- /dev/null +++ b/main/a52dec/version @@ -0,0 +1 @@ +0.8.0 2 diff --git a/main/abseil-cpp/.PKGINFO b/main/abseil-cpp/.PKGINFO new file mode 100644 index 00000000..c0504aa1 --- /dev/null +++ b/main/abseil-cpp/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = abseil-cpp +pkgbase = abseil-cpp +xdata = pkgtype=pkg +pkgver = 20240116.2-1 +pkgdesc = Collection of C++ library code designed to augment the C++ standard library +url = https://abseil.io +builddate = 1715045119 +packager = Developer +size = 6570326 +arch = x86_64 +license = Apache-2.0 +depend = gcc-libs +makedepend = cmake +makedepend = gtest diff --git a/main/abseil-cpp/PKGBUILD b/main/abseil-cpp/PKGBUILD new file mode 100644 index 00000000..36e0ae0e --- /dev/null +++ b/main/abseil-cpp/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=abseil-cpp +pkgver=%version% +pkgrel=%release% +pkgdesc="Collection of C++ library code designed to augment the C++ standard library" +arch=('x86_64') +url='https://abseil.io' +license=('Apache-2.0') +depends=('gcc-libs') +makedepends=('cmake' 'gtest') +source=("https://github.com/abseil/abseil-cpp/archive/$pkgver/$pkgname-$pkgver.tar.gz" + scoped-mock-log.patch) +sha256sums=('3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a' + 'a6cbc612a2b96fcbd52d081e03e8581107ceb4827edb19d96510a31c568e1396') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 -i ../scoped-mock-log.patch # Install target needed by protobuf +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + cmake -Bbuild \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=ON \ + -DABSL_BUILD_TEST_HELPERS=ON \ + -DABSL_USE_EXTERNAL_GOOGLETEST=ON \ + -DABSL_FIND_GOOGLETEST=ON \ + -DABSL_BUILD_TESTING=ON + cd build + cmake --build . --target all +} + +check() { + cd "$srcdir/$pkgname-$pkgver/build" + ctest +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + DESTDIR="$pkgdir" cmake --install . +} diff --git a/main/abseil-cpp/README b/main/abseil-cpp/README new file mode 100644 index 00000000..49ed2899 --- /dev/null +++ b/main/abseil-cpp/README @@ -0,0 +1,43 @@ +abseil-cpp +________________________________________________________________________________ + +Collection of C++ library code designed to augment the C++ standard library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S abseil-cpp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://abseil.io diff --git a/main/abseil-cpp/scoped-mock-log.patch b/main/abseil-cpp/scoped-mock-log.patch new file mode 100644 index 00000000..6eb93cff --- /dev/null +++ b/main/abseil-cpp/scoped-mock-log.patch @@ -0,0 +1,12 @@ +diff --git a/absl/log/CMakeLists.txt b/absl/log/CMakeLists.txt +index 78adbf1d..b64822dd 100644 +--- a/absl/log/CMakeLists.txt ++++ b/absl/log/CMakeLists.txt +@@ -637,7 +637,6 @@ absl_cc_library( + GTest::gmock + GTest::gtest + PUBLIC +- TESTONLY + ) + + absl_cc_library( diff --git a/main/abseil-cpp/version b/main/abseil-cpp/version new file mode 100644 index 00000000..c6942647 --- /dev/null +++ b/main/abseil-cpp/version @@ -0,0 +1 @@ +20240116.2 1 diff --git a/main/accounts-qml-module/.nvchecker.toml b/main/accounts-qml-module/.nvchecker.toml new file mode 100644 index 00000000..c4e93751 --- /dev/null +++ b/main/accounts-qml-module/.nvchecker.toml @@ -0,0 +1,6 @@ +[accounts-qml-module] +source = 'gitlab' +gitlab = 'accounts-sso/accounts-qml-module' +use_max_tag = true +prefix = 'VERSION_' +include_regex = 'VERSION.*' diff --git a/main/accounts-qml-module/PKGBUILD b/main/accounts-qml-module/PKGBUILD new file mode 100644 index 00000000..d4ee9f2f --- /dev/null +++ b/main/accounts-qml-module/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=accounts-qml-module +pkgver=%version% +pkgrel=%release% +pkgdesc='Expose the Online Accounts API to QML applications' +url='https://gitlab.com/accounts-sso/accounts-qml-module' +arch=(x86_64) +license=(LGPL) +depends=(gcc-libs + glibc + libaccounts-qt + qt6-base + qt6-declarative + signond) +makedepends=(git + qt6-tools) +# source=(https://gitlab.com/accounts-sso/$pkgname/-/archive/VERSION_$pkgver/$pkgname-VERSION_$pkgver.tar.gz) +_commit=05e79ebbbf3784a87f72b7be571070125c10dfe3 +source=(git+https://gitlab.com/accounts-sso/accounts-qml-module#commit=$_commit) +sha256sums=('SKIP') + +prepare() { + mkdir -p build +} + +build() { + cd build + qmake6 ../$pkgname/$pkgname.pro \ + PREFIX=/usr + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install_subtargets # skip docs + rm -r "$pkgdir"/usr/bin # Remove test binary +} diff --git a/main/accounts-qml-module/README b/main/accounts-qml-module/README new file mode 100644 index 00000000..f2971b42 --- /dev/null +++ b/main/accounts-qml-module/README @@ -0,0 +1,43 @@ +accounts-qml-module +________________________________________________________________________________ + +Expose the Online Accounts API to QML applications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S accounts-qml-module | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/accounts-sso/accounts-qml-module diff --git a/main/accounts-qml-module/version b/main/accounts-qml-module/version new file mode 100644 index 00000000..b8688356 --- /dev/null +++ b/main/accounts-qml-module/version @@ -0,0 +1 @@ +0.7 6 diff --git a/main/accountsservice/.PKGINFO b/main/accountsservice/.PKGINFO new file mode 100644 index 00000000..a2d8c599 --- /dev/null +++ b/main/accountsservice/.PKGINFO @@ -0,0 +1,37 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = accountsservice +pkgbase = accountsservice +xdata = pkgtype=pkg +pkgver = 23.13.9-2 +pkgdesc = D-Bus interface for user account query and manipulation +url = https://gitlab.freedesktop.org/accountsservice/accountsservice +builddate = 1713662585 +packager = Developer +size = 1011991 +arch = x86_64 +license = GPL-3.0-or-later +provides = libaccountsservice.so=0-64 +depend = gcc-libs +depend = glib2 +depend = glibc +depend = libxcrypt +depend = polkit +depend = shadow +depend = systemd +depend = libcrypt.so=2-64 +depend = libglib-2.0.so=0-64 +depend = libgobject-2.0.so=0-64 +depend = libgio-2.0.so=0-64 +depend = libsystemd.so=0-64 +makedepend = docbook-xsl +makedepend = git +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = meson +makedepend = python-packaging +makedepend = vala +makedepend = xmlto +checkdepend = glibc-locales +checkdepend = python-dbusmock +checkdepend = python-gobject diff --git a/main/accountsservice/PKGBUILD b/main/accountsservice/PKGBUILD new file mode 100644 index 00000000..656c8b06 --- /dev/null +++ b/main/accountsservice/PKGBUILD @@ -0,0 +1,74 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=accountsservice +pkgver=%version% +pkgrel=%release% +pkgdesc="D-Bus interface for user account query and manipulation" +url="https://gitlab.freedesktop.org/accountsservice/accountsservice" +arch=(x86_64) +license=(GPL3) +depends=( + glib2 + libxcrypt + polkit + shadow + systemd +) +makedepends=( + docbook-xsl + git + gobject-introspection + gtk-doc + meson + vala + xmlto +) +checkdepends=( + python-dbusmock + python-gobject +) +_commit=57e491f5e6f3da2d5a949f4f8747c8f4e8ed799d # tags/23.13.9^0 +source=( + "git+https://gitlab.freedesktop.org/accountsservice/accountsservice.git#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + + +prepare() { + cd $pkgname +} + +build() { + local meson_options=( + -D admin_group=wheel + -D docbook=true + -D gtk_doc=true + ) + + arch-meson $pkgname build "${meson_options[@]}" + meson compile -C build +} + +check() { + # Tests fail: build containers lack en_GB.UTF-8 + meson test -C build --print-errorlogs || : +} + +package() { + depends+=( + libcrypt.so + libg{lib,object,io}-2.0.so + libsystemd.so + ) + provides+=(libaccountsservice.so) + + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/accountsservice/README b/main/accountsservice/README new file mode 100644 index 00000000..a77357cf --- /dev/null +++ b/main/accountsservice/README @@ -0,0 +1,43 @@ +accountsservice +________________________________________________________________________________ + +D-Bus interface for user account query and manipulation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S accountsservice | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/accountsservice/accountsservice diff --git a/main/accountsservice/version b/main/accountsservice/version new file mode 100644 index 00000000..69e2562e --- /dev/null +++ b/main/accountsservice/version @@ -0,0 +1 @@ +23.13.9 2 diff --git a/main/acl/PKGBUILD b/main/acl/PKGBUILD new file mode 100644 index 00000000..c554a9f8 --- /dev/null +++ b/main/acl/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=acl +pkgver=%version% +pkgrel=%release% +pkgdesc='Access control list utilities, libraries and headers' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/acl' +license=('LGPL') +depends=('glibc') +makedepends=('attr') +replaces=('xfsacl') +provides=('xfsacl' 'libacl.so') +conflicts=('xfsacl') +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}) +sha256sums=('5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c' + 'SKIP') + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/main/acl/README b/main/acl/README new file mode 100644 index 00000000..9d3119c6 --- /dev/null +++ b/main/acl/README @@ -0,0 +1,43 @@ +acl +________________________________________________________________________________ + +Access control list utilities, libraries and headers + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S acl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://savannah.nongnu.org/projects/acl diff --git a/main/acl/version b/main/acl/version new file mode 100644 index 00000000..56b3f3b0 --- /dev/null +++ b/main/acl/version @@ -0,0 +1 @@ +2.3.2 1 diff --git a/main/adobe-source-code-pro-fonts/PKGBUILD b/main/adobe-source-code-pro-fonts/PKGBUILD new file mode 100644 index 00000000..076c43f1 --- /dev/null +++ b/main/adobe-source-code-pro-fonts/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=adobe-source-code-pro-fonts +pkgver=%version% +pkgrel=%release% +pkgdesc="Monospaced font family for user interface and coding environments" +url="https://adobe-fonts.github.io/source-code-pro/" +arch=(any) +license=(OFL-1.1) +_relver=2.042R-u/1.062R-i/1.026R-vf +_tarname=source-code-pro-${_relver//\//-} +source=( + "$_tarname.tar.gz::https://github.com/adobe-fonts/source-code-pro/archive/refs/tags/$_relver.tar.gz" +) +b2sums=('16d5097bb8adbdbf0c0c61f708ea460e7608ebde7921fed464a2b71ed159416d9920bcbd72ad63d47a89460426a5c5af0c5a19ebac00ee7a1db0d61ae77a9823') + +pkgver() { + <<<"$_relver" sed 's/R-//g;s|/|+|g' +} + +package() { + cd $_tarname + install -Dt "$pkgdir/usr/share/fonts/${pkgname%-fonts}" -m644 OTF/*.otf VF/*.otf + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE.md +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/adobe-source-code-pro-fonts/README b/main/adobe-source-code-pro-fonts/README new file mode 100644 index 00000000..f9f00f6d --- /dev/null +++ b/main/adobe-source-code-pro-fonts/README @@ -0,0 +1,43 @@ +adobe-source-code-pro-fonts +________________________________________________________________________________ + +Monospaced font family for user interface and coding environments + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S adobe-source-code-pro-fonts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://adobe-fonts.github.io/source-code-pro/ diff --git a/main/adobe-source-code-pro-fonts/version b/main/adobe-source-code-pro-fonts/version new file mode 100644 index 00000000..70e18049 --- /dev/null +++ b/main/adobe-source-code-pro-fonts/version @@ -0,0 +1 @@ +2.042u+1.062i+1.026vf 1 diff --git a/main/adwaita-icon-theme-legacy/PKGBUILD b/main/adwaita-icon-theme-legacy/PKGBUILD new file mode 100644 index 00000000..5425c343 --- /dev/null +++ b/main/adwaita-icon-theme-legacy/PKGBUILD @@ -0,0 +1,38 @@ +# Packager = Developer +pkgname=adwaita-icon-theme-legacy +pkgver=46.2 +pkgrel=1 +pkgdesc="GNOME fallback icons for legacy apps" +url="https://gitlab.gnome.org/GNOME/adwaita-icon-theme-legacy" +arch=(any) +license=("CC-BY-SA-3.0 OR LGPL-3.0-only") +depends=(hicolor-icon-theme) +makedepends=( + git + gtk-update-icon-cache + meson +) +source=("git+https://gitlab.gnome.org/GNOME/adwaita-icon-theme-legacy.git#tag=${pkgver/[a-z]/.&}") +b2sums=('0b36191ec591db2cd6d2d1943a0139cc95e7ac7ba2ad1828a8d104544d264d58eaac9acf8c1c6c6cc4a648bd302711d8aba7ea33b3eee9bf3e3d5a0751782b25') + +prepare() { + cd $pkgname +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + + # Covered by common licenses + rm -r "$pkgdir/usr/share/licenses" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/adwaita-icon-theme-legacy/version b/main/adwaita-icon-theme-legacy/version new file mode 100644 index 00000000..b9b48442 --- /dev/null +++ b/main/adwaita-icon-theme-legacy/version @@ -0,0 +1 @@ +46.2 1 diff --git a/main/adwaita-icon-theme/PKGBUILD b/main/adwaita-icon-theme/PKGBUILD new file mode 100644 index 00000000..79e81bb0 --- /dev/null +++ b/main/adwaita-icon-theme/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=adwaita-icon-theme +pkgname=( + adwaita-icon-theme + adwaita-cursors +) +pkgver=%version% +pkgrel=%release% +pkgdesc="GNOME standard icons" +url="https://gitlab.gnome.org/GNOME/adwaita-icon-theme" +arch=(any) +license=( + CC-BY-SA-3.0 + LGPL-3.0-only +) +depends=( + hicolor-icon-theme + gtk-update-icon-cache + librsvg +) +makedepends=( + git + gtk3 + meson +) +_commit=7d2510820199ff7f233511a00895043f3843dbcd # tags/46.0^0 +source=("git+https://gitlab.gnome.org/GNOME/adwaita-icon-theme.git#commit=$_commit") +b2sums=('83aa51edbe09cf021c33411687ddaae421b96f3356960947d29491f52147a94d9a8b3976a9a020e8de0eda536cc40b32d1912a17adbf2949d6abb234299673d3') + +pkgver() { + cd $pkgbase + git describe --tags | sed -r 's/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgbase +} + +build() { + arch-meson $pkgbase build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_adwaita-icon-theme() { + depends+=(adwaita-cursors) + + meson install -C build --destdir "$pkgdir" + + mkdir -p cursors/usr/share/icons/Adwaita + mv {"$pkgdir",cursors}/usr/share/icons/Adwaita/cursors +} + +package_adwaita-cursors() { + pkgdesc="GNOME standard cursors" + depends=() + + mv cursors/* "$pkgdir" + + # deduplicate cursors + hardlink -c "$pkgdir/usr" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/adwaita-icon-theme/README b/main/adwaita-icon-theme/README new file mode 100644 index 00000000..7cb2a988 --- /dev/null +++ b/main/adwaita-icon-theme/README @@ -0,0 +1,43 @@ +adwaita-icon-theme +________________________________________________________________________________ + +GNOME standard icons GNOME standard cursors + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S adwaita-icon-theme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/adwaita-icon-theme diff --git a/main/adwaita-icon-theme/version b/main/adwaita-icon-theme/version new file mode 100644 index 00000000..2947f781 --- /dev/null +++ b/main/adwaita-icon-theme/version @@ -0,0 +1 @@ +46.0 1 diff --git a/main/aha/.nvchecker.toml b/main/aha/.nvchecker.toml new file mode 100644 index 00000000..d87fab19 --- /dev/null +++ b/main/aha/.nvchecker.toml @@ -0,0 +1,4 @@ +[aha] +source = 'github' +github = 'theZiz/aha' +use_max_tag = true diff --git a/main/aha/PKGBUILD b/main/aha/PKGBUILD new file mode 100644 index 00000000..18503fc8 --- /dev/null +++ b/main/aha/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=aha +pkgver=%version% +pkgrel=%release% +pkgdesc='Ansi HTML Adapter: convert ANSI escape sequences to HTML' +arch=(x86_64) +url='https://github.com/theZiz/aha' +license=(MPL LGPL) +depends=(glibc) +source=(https://github.com/theZiz/aha/archive/$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('6aea13487f6b5c3e453a447a67345f8095282f5acd97344466816b05ebd0b3b1') + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + make PREFIX="$pkgdir/usr" install +} diff --git a/main/aha/README b/main/aha/README new file mode 100644 index 00000000..c3411945 --- /dev/null +++ b/main/aha/README @@ -0,0 +1,43 @@ +aha +________________________________________________________________________________ + +Ansi HTML Adapter: convert ANSI escape sequences to HTML + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S aha | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/theZiz/aha diff --git a/main/aha/version b/main/aha/version new file mode 100644 index 00000000..e57ea13b --- /dev/null +++ b/main/aha/version @@ -0,0 +1 @@ +0.5.1 2 diff --git a/main/alsa-lib/.PKGINFO b/main/alsa-lib/.PKGINFO new file mode 100644 index 00000000..86498ef9 --- /dev/null +++ b/main/alsa-lib/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = alsa-lib +pkgbase = alsa-lib +xdata = pkgtype=pkg +pkgver = 1.2.12-1 +pkgdesc = An alternative implementation of Linux sound support +url = https://www.alsa-project.org +builddate = 1718491403 +packager = Developer +size = 1713570 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libasound.so=2-64 +provides = libatopology.so=2-64 +depend = alsa-topology-conf +depend = alsa-ucm-conf +depend = glibc diff --git a/main/alsa-lib/PKGBUILD b/main/alsa-lib/PKGBUILD new file mode 100644 index 00000000..53964739 --- /dev/null +++ b/main/alsa-lib/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=alsa-lib +pkgver=%version% +pkgrel=%release% +pkgdesc="An alternative implementation of Linux sound support" +arch=(x86_64) +url="https://www.alsa-project.org" +license=(LGPL-2.1-or-later) +depends=( + alsa-topology-conf + alsa-ucm-conf + glibc +) +provides=( + libasound.so + libatopology.so +) +install=$pkgname.install +source=( + $url/files/pub/lib/$pkgname-$pkgver.tar.bz2{,.sig} +) +sha512sums=('7bf2c541dff5262c0302a1c716ca10cdb5105f4e0ad48f3341c3c7e975b0c3ea835a298a05974c3e216a85912c368d8025ba3cdda3ff04a7683133ce5b2a286d' + 'SKIP') +b2sums=('7fb245ffbfb841bdd5cb9da08fb2ec0a4ce8d340d4d1461999aca558c67c16e7c596cd0bffab761b7b4549025b0fb25462fb352e6d3900fb42f00b47de58d34c' + 'SKIP') +validpgpkeys=('F04DF50737AC1A884C4B3D718380596DA6E59C91') # ALSA Release Team (Package Signing Key v1) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + # -flto=auto is not supported: https://github.com/alsa-project/alsa-lib/issues/110 + CFLAGS+=" -flto-partition=none" + cd $pkgname-$pkgver + ./configure --prefix=/usr --without-debug + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + export LD_LIBRARY_PATH="$pkgname-$pkgver/src/.libs/:$LD_LIBRARY_PATH" + make -k check -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{MEMORY-LEAK,TODO,NOTES,ChangeLog,doc/asoundrc.txt} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/alsa-lib/README b/main/alsa-lib/README new file mode 100644 index 00000000..3ddafb82 --- /dev/null +++ b/main/alsa-lib/README @@ -0,0 +1,43 @@ +alsa-lib +________________________________________________________________________________ + +An alternative implementation of Linux sound support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S alsa-lib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.alsa-project.org diff --git a/main/alsa-lib/alsa-lib.install b/main/alsa-lib/alsa-lib.install new file mode 100644 index 00000000..251e2655 --- /dev/null +++ b/main/alsa-lib/alsa-lib.install @@ -0,0 +1,7 @@ +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if (( $(vercmp "$2" '1.2.5-1') < 0 )); then + printf "WARNING: Non-backwards compatible changes to ALSA require restarting of audio engines (e.g. pulseaudio or pipewire) using it.\n" + fi +} diff --git a/main/alsa-lib/version b/main/alsa-lib/version new file mode 100644 index 00000000..d9f2a341 --- /dev/null +++ b/main/alsa-lib/version @@ -0,0 +1 @@ +1.2.12 1 diff --git a/main/alsa-topology-conf/PKGBUILD b/main/alsa-topology-conf/PKGBUILD new file mode 100644 index 00000000..0d2c1e1a --- /dev/null +++ b/main/alsa-topology-conf/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=alsa-topology-conf +pkgver=%version% +pkgrel=%release% +pkgdesc="ALSA topology configuration files" +arch=(any) +url="https://alsa-project.org/" +license=(BSD) +source=(https://www.alsa-project.org/files/pub/lib/$pkgname-$pkgver.tar.bz2{,.sig}) +sha512sums=('b34176b213e1afcb61fee19b569d6422a7692b62cf08b0ef651f2fbb1eefe49f25ca6386d0bfcec7152d4b5ed3daa84edb900181d40169e777751ae033125374' + 'SKIP') +b2sums=('1f8bb172510d86bd0530f2ba437dd1132401c0bd436085c07c61e5ef296a6da6a1c24fb8d585572186fc0073172c82d40948c5c39fd293a01762d49c9c393662' + 'SKIP') +validpgpkeys=('F04DF50737AC1A884C4B3D718380596DA6E59C91') # ALSA Release Team (Package Signing Key v1) + +package() { + cd $pkgname-$pkgver + for dir in topology/*; do + install -vDm 644 "$dir"/*.conf -t "$pkgdir/usr/share/alsa/topology/$(basename $dir)" + done + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" + install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/main/alsa-topology-conf/README b/main/alsa-topology-conf/README new file mode 100644 index 00000000..c6a73ae8 --- /dev/null +++ b/main/alsa-topology-conf/README @@ -0,0 +1,43 @@ +alsa-topology-conf +________________________________________________________________________________ + +ALSA topology configuration files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S alsa-topology-conf | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://alsa-project.org/ diff --git a/main/alsa-topology-conf/version b/main/alsa-topology-conf/version new file mode 100644 index 00000000..8b27611a --- /dev/null +++ b/main/alsa-topology-conf/version @@ -0,0 +1 @@ +1.2.5.1 3 diff --git a/main/alsa-ucm-conf/.PKGINFO b/main/alsa-ucm-conf/.PKGINFO new file mode 100644 index 00000000..08569ad3 --- /dev/null +++ b/main/alsa-ucm-conf/.PKGINFO @@ -0,0 +1,13 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = alsa-ucm-conf +pkgbase = alsa-ucm-conf +xdata = pkgtype=pkg +pkgver = 1.2.12-1 +pkgdesc = ALSA Use Case Manager configuration (and topologies) +url = https://alsa-project.org/ +builddate = 1718491405 +packager = Developer +size = 415807 +arch = any +license = BSD-3-Clause diff --git a/main/alsa-ucm-conf/PKGBUILD b/main/alsa-ucm-conf/PKGBUILD new file mode 100644 index 00000000..f62cd08d --- /dev/null +++ b/main/alsa-ucm-conf/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=alsa-ucm-conf +pkgver=%version% +pkgrel=%release% +pkgdesc="ALSA Use Case Manager configuration (and topologies)" +arch=(any) +url="https://alsa-project.org/" +license=(BSD-3-Clause) +source=( + $url/files/pub/lib/$pkgname-$pkgver.tar.bz2{,.sig} +) +sha512sums=('b202e7410a579789be0005564b4868f70bca0fd8664c02add95fc9ff90ab64faebda978fbd3e83a3274c37242dccf8efbebd03f529e35ca3033daf55f425cb8d' + 'SKIP') +b2sums=('8b57ad990eac676ca8f5044a81a57a85951e425bd059679ac3dc7097e3c4a089cb73bbd01869335c4e94161d9f3f86aba7549b6a666e69ba76578d785e53fbb4' + 'SKIP') +validpgpkeys=('F04DF50737AC1A884C4B3D718380596DA6E59C91') # ALSA Release Team (Package Signing Key v1) + +package() { + cd $pkgname-$pkgver + install -vdm 755 "$pkgdir/usr/share/alsa/" + cp -av ucm2 "$pkgdir/usr/share/alsa/" + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" + install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname" + install -vDm 644 ucm2/README.md -t "$pkgdir/usr/share/doc/$pkgname/ucm2" +} diff --git a/main/alsa-ucm-conf/README b/main/alsa-ucm-conf/README new file mode 100644 index 00000000..69910e06 --- /dev/null +++ b/main/alsa-ucm-conf/README @@ -0,0 +1,43 @@ +alsa-ucm-conf +________________________________________________________________________________ + +ALSA Use Case Manager configuration (and topologies) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S alsa-ucm-conf | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://alsa-project.org/ diff --git a/main/alsa-ucm-conf/version b/main/alsa-ucm-conf/version new file mode 100644 index 00000000..d9f2a341 --- /dev/null +++ b/main/alsa-ucm-conf/version @@ -0,0 +1 @@ +1.2.12 1 diff --git a/main/alsa-utils/.PKGINFO b/main/alsa-utils/.PKGINFO new file mode 100644 index 00000000..9a85242b --- /dev/null +++ b/main/alsa-utils/.PKGINFO @@ -0,0 +1,37 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = alsa-utils +pkgbase = alsa-utils +xdata = pkgtype=pkg +pkgver = 1.2.12-1 +pkgdesc = Advanced Linux Sound Architecture - Utilities +url = https://www.alsa-project.org +builddate = 1718491406 +packager = Developer +size = 2481770 +arch = x86_64 +license = GPL-2.0-or-later +depend = gcc-libs +depend = glibc +depend = pciutils +depend = psmisc +depend = alsa-lib +depend = libasound.so=2-64 +depend = libatopology.so=2-64 +depend = ncurses +depend = libformw.so=6-64 +depend = libmenuw.so=6-64 +depend = libncursesw.so=6-64 +depend = libpanelw.so=6-64 +depend = libsamplerate +depend = libsamplerate.so=0-64 +optdepend = bash: for alsa-info.sh and alsabat-test.sh +optdepend = fftw: for alsabat +makedepend = alsa-lib +makedepend = docbook-xsl +makedepend = fftw +makedepend = libsamplerate +makedepend = ncurses +makedepend = python-docutils +makedepend = systemd +makedepend = xmlto diff --git a/main/alsa-utils/PKGBUILD b/main/alsa-utils/PKGBUILD new file mode 100644 index 00000000..054edf1a --- /dev/null +++ b/main/alsa-utils/PKGBUILD @@ -0,0 +1,83 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=alsa-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="Advanced Linux Sound Architecture - Utilities" +arch=(x86_64) +url="https://www.alsa-project.org" +license=(GPL-2.0-or-later) +depends=( + gcc-libs + glibc + pciutils + psmisc +) +makedepends=( + alsa-lib + docbook-xsl + fftw + libsamplerate + ncurses + python-docutils + systemd + xmlto +) +optdepends=( + 'bash: for alsa-info.sh and alsabat-test.sh' + 'fftw: for alsabat' +) +# we require /var/lib/alsa for state file +options=(emptydirs) +source=( + $url/files/pub/utils/$pkgname-$pkgver.tar.bz2{,.sig} + $pkgname.tmpfiles +) +sha512sums=('5ce76807b53357584bfb4ace5acfdac4db9168ffaf5cdd1e499738eec046c36112bf84a99970f66368063a9baf73bad93af2d439630572f3eba5c9321071172d' + 'SKIP' + '17ca2d760f383c02ccd00073d4fe73d6687ee58eb0ab5e458ad9d09845be7891cfe389e365bef00c7885e8afad45ea9ebf2925950f8d3fd8157feb818f986990') +b2sums=('dcf96705f9e3f1b4abaa7e1f107d1154a05500bf1cd07c821e0fe8c4ba7d7f08de0cf126be8c9c8dda3980d85c144318c12ffc8a95d5da4e98c49a6e9c2ee8ef' + 'SKIP' + '24b8e44833c7e8b142162878a837b10e1c2a862568280f2ce16fcb81ecc1383802654dbe88930f2cc13c345635c5003cbc3712e121e589dffc2e25c540749ee3') +validpgpkeys=('F04DF50737AC1A884C4B3D718380596DA6E59C91') # ALSA Release Team (Package Signing Key v1) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --disable-alsaconf + --sbindir=/usr/bin + --with-udev-rules-dir=/usr/lib/udev/rules.d + --with-systemdsystemunitdir=/usr/lib/systemd/system + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + make -k check -C $pkgname-$pkgver +} + +package() { + depends+=( + alsa-lib libasound.so libatopology.so + ncurses libformw.so libmenuw.so libncursesw.so libpanelw.so + libsamplerate libsamplerate.so + ) + + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/README.md -t "$pkgdir/usr/share/doc/$pkgname/" + + # dir for ALSA state + install -vdm 755 "$pkgdir/var/lib/alsa/" + install -vDm 644 $pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" +} diff --git a/main/alsa-utils/README b/main/alsa-utils/README new file mode 100644 index 00000000..bda32e19 --- /dev/null +++ b/main/alsa-utils/README @@ -0,0 +1,43 @@ +alsa-utils +________________________________________________________________________________ + +Advanced Linux Sound Architecture - Utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S alsa-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.alsa-project.org diff --git a/main/alsa-utils/alsa-utils.tmpfiles b/main/alsa-utils/alsa-utils.tmpfiles new file mode 100644 index 00000000..2566870e --- /dev/null +++ b/main/alsa-utils/alsa-utils.tmpfiles @@ -0,0 +1 @@ +d /var/lib/alsa 755 root root - - diff --git a/main/alsa-utils/version b/main/alsa-utils/version new file mode 100644 index 00000000..d9f2a341 --- /dev/null +++ b/main/alsa-utils/version @@ -0,0 +1 @@ +1.2.12 1 diff --git a/main/aom/.PKGINFO b/main/aom/.PKGINFO new file mode 100644 index 00000000..a5a2b618 --- /dev/null +++ b/main/aom/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = aom +pkgbase = aom +xdata = pkgtype=split +pkgver = 3.9.1-1 +pkgdesc = Alliance for Open Media video codec +url = https://aomedia.org/ +builddate = 1718491408 +packager = Developer +size = 9295875 +arch = x86_64 +license = BSD-3-Clause +provides = libaom.so=3-64 +depend = gcc-libs +depend = glibc +makedepend = cmake +makedepend = doxygen +makedepend = ninja +makedepend = yasm diff --git a/main/aom/PKGBUILD b/main/aom/PKGBUILD new file mode 100644 index 00000000..12e9e690 --- /dev/null +++ b/main/aom/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=aom +pkgname=( + aom + aom-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Alliance for Open Media video codec" +url="https://aomedia.org/" +arch=(x86_64) +license=(BSD-3-Clause) +depends=( + gcc-libs +) +makedepends=( + cmake + doxygen + ninja + yasm +) +source=( + https://storage.googleapis.com/aom-releases/libaom-$pkgver.tar.gz{,.asc} +) +b2sums=('ec572567699740e8114c220051f84e85ee9f33fb3003ece3cb738435bc1436c03499a3c35e86fc8c7d0d905e5ca01dbad78180af7c526c0ed932b07745df76c6' + 'SKIP') +validpgpkeys=( + B002F08B74A148DAA01F7123A48E86DB0B830498 # AOMedia release signing key +) + +prepare() { + cd libaom-$pkgver +} + +build() { + local cmake_options=( + # Upstream would like Release, adding -O3 and removing assertions + # https://gitlab.archlinux.org/archlinux/packaging/packages/aom/-/issues/1 + -D CMAKE_BUILD_TYPE=Release + + -D CMAKE_INSTALL_PREFIX=/usr + -D BUILD_SHARED_LIBS=1 + -D ENABLE_TESTS=0 + ) + + cmake -S libaom-$pkgver -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +package_aom() { + provides=(libaom.so) + + DESTDIR="$pkgdir" cmake --install build + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libaom-$pkgver/{LICENSE,PATENTS} +} + +package_aom-docs() { + pkgdesc+=" (documentation)" + depends=() + + mkdir -p "$pkgdir/usr/share/doc" + cp -r build/docs/html "$pkgdir/usr/share/doc/$pkgbase" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libaom-$pkgver/{LICENSE,PATENTS} +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/aom/README b/main/aom/README new file mode 100644 index 00000000..1dcc6bce --- /dev/null +++ b/main/aom/README @@ -0,0 +1,43 @@ +aom +________________________________________________________________________________ + +Alliance for Open Media video codec Alliance for Open Media video codec (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S aom | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://aomedia.org/ diff --git a/main/aom/version b/main/aom/version new file mode 100644 index 00000000..0059660b --- /dev/null +++ b/main/aom/version @@ -0,0 +1 @@ +3.9.1 1 diff --git a/main/appstream/.PKGINFO b/main/appstream/.PKGINFO new file mode 100644 index 00000000..e342a468 --- /dev/null +++ b/main/appstream/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = appstream-qt +pkgbase = appstream +xdata = pkgtype=split +pkgver = 1.0.3-1 +pkgdesc = Qt6 interface for AppStream +url = https://distributions.freedesktop.org/wiki/AppStream +builddate = 1714005405 +packager = Developer +size = 560846 +arch = x86_64 +license = LGPL-2.1-or-later +depend = appstream +depend = gcc-libs +depend = glib2 +depend = glibc +depend = qt6-base +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = gperf +makedepend = itstool +makedepend = meson +makedepend = qt5-tools +makedepend = qt6-tools +makedepend = vala +makedepend = xmlto diff --git a/main/appstream/.nvchecker.toml b/main/appstream/.nvchecker.toml new file mode 100644 index 00000000..f211e98a --- /dev/null +++ b/main/appstream/.nvchecker.toml @@ -0,0 +1,5 @@ +[appstream] +source = 'github' +github = 'ximion/appstream' +use_max_tag = true +prefix = 'v' diff --git a/main/appstream/PKGBUILD b/main/appstream/PKGBUILD new file mode 100644 index 00000000..8abb2a69 --- /dev/null +++ b/main/appstream/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=appstream +pkgname=(appstream + appstream-qt5 + appstream-qt) +pkgver=%version% +pkgrel=%release% +pkgdesc='Provides a standard for creating app stores across distributions' +arch=(x86_64) +url='https://distributions.freedesktop.org/wiki/AppStream' +license=(LGPL-2.1-or-later) +depends=(cairo + curl + fontconfig + freetype2 + gcc-libs + gdk-pixbuf2 + glib2 + glibc + librsvg + libstemmer + libxml2 + libxmlb + libyaml + pango + systemd-libs + zstd) +makedepends=(gi-docgen + gobject-introspection + gperf + itstool + meson + qt5-tools + qt6-tools + vala + xmlto) +source=(https://www.freedesktop.org/software/appstream/releases/AppStream-$pkgver.tar.xz{,.asc} + update-appstream-cache.hook) +sha256sums=('1a5148ca97dcbf5eb6e9c380278bb0d20938569292ea8652df1b3cac8bd2736b' + 'SKIP' + 'edc632e4a76ebe5efc76a56fe5f797e5c981cca6f2f0111c7ce0170d1330c788') +validpgpkeys=(D33A3F0CA16B0ACC51A60738494C8A5FBF4DECEB) # Matthias Klumpp + +build() { + meson build AppStream-$pkgver \ + --prefix=/usr \ + --libexecdir=lib \ + -Dqt=true \ + -Dqt-versions=5,6 \ + -Dvapi=true \ + -Dcompose=true + meson compile -C build +} + +package_appstream() { + meson install --destdir "$pkgdir" -C build + +# provided by -qt subpackage + rm -r "$pkgdir"/usr/{include/AppStreamQt{,5},lib/cmake,lib/libAppStreamQt{,5}.*} + + install -Dm644 update-appstream-cache.hook "$pkgdir"/usr/share/libalpm/hooks/90-update-appstream-cache.hook +} + +package_appstream-qt5() { + pkgdesc='Qt5 interface for AppStream' + depends=(appstream + gcc-libs + glib2 + glibc + qt5-base) + conflicts=('appstream-qt<1') + replaces=('appstream-qt<1') + + meson install --destdir "$pkgdir" -C build + +# provided by appstream + rm -r "$pkgdir"/usr/{bin,include/appstream{,-compose},lib/{appstreamcli-compose,girepository-1.0,libappstream*,pkgconfig},share} +# provided by appstream-qt + rm -r "$pkgdir"/usr/{include/AppStreamQt,lib/{libAppStreamQt.so*,cmake/AppStreamQt}} +} + +package_appstream-qt() { + pkgdesc='Qt6 interface for AppStream' + depends=(appstream + gcc-libs + glib2 + glibc + qt6-base) + + meson install --destdir "$pkgdir" -C build + +# provided by appstream + rm -r "$pkgdir"/usr/{bin,include/appstream{,-compose},lib/{appstreamcli-compose,girepository-1.0,libappstream*,pkgconfig},share} +# provided by appstream-qt5 + rm -r "$pkgdir"/usr/{include/AppStreamQt5,lib/{libAppStreamQt5.so*,cmake/AppStreamQt5}} +} diff --git a/main/appstream/README b/main/appstream/README new file mode 100644 index 00000000..a1b2dd59 --- /dev/null +++ b/main/appstream/README @@ -0,0 +1,43 @@ +appstream +________________________________________________________________________________ + +Provides a standard for creating app stores across distributions Qt5 interface for AppStream Qt6 interface for AppStream + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S appstream | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://distributions.freedesktop.org/wiki/AppStream diff --git a/main/appstream/update-appstream-cache.hook b/main/appstream/update-appstream-cache.hook new file mode 100644 index 00000000..a68002f0 --- /dev/null +++ b/main/appstream/update-appstream-cache.hook @@ -0,0 +1,18 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/app-info/* +Target = usr/share/swcatalog/* + +[Trigger] +Type = Package +Operation = Install +Operation = Upgrade +Target = appstream + +[Action] +Description = Updating the appstream cache... +When = PostTransaction +Exec = /usr/bin/appstreamcli refresh-cache --force diff --git a/main/appstream/version b/main/appstream/version new file mode 100644 index 00000000..4ee872a0 --- /dev/null +++ b/main/appstream/version @@ -0,0 +1 @@ +1.0.3 1 diff --git a/main/argon2/PKGBUILD b/main/argon2/PKGBUILD new file mode 100644 index 00000000..7d2d2fa9 --- /dev/null +++ b/main/argon2/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=argon2 +pkgver=%version% +pkgrel=%release% +pkgdesc='A password-hashing function (reference C implementation)' +arch=('x86_64') +url='https://github.com/P-H-C/phc-winner-argon2' +license=('Apache' 'custom:CC0') +depends=('glibc') +provides=('libargon2.so') +source=("https://github.com/P-H-C/phc-winner-argon2/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c') + +build() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' +} + +check() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' test +} + +package() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' DESTDIR="$pkgdir" install + + install -D -m0644 LICENSE "${pkgdir}/usr/share/licenses/argon2/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/argon2/README b/main/argon2/README new file mode 100644 index 00000000..bf1c9755 --- /dev/null +++ b/main/argon2/README @@ -0,0 +1,43 @@ +argon2 +________________________________________________________________________________ + +A password-hashing function (reference C implementation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S argon2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/P-H-C/phc-winner-argon2 diff --git a/main/argon2/version b/main/argon2/version new file mode 100644 index 00000000..112eecb7 --- /dev/null +++ b/main/argon2/version @@ -0,0 +1 @@ +20190702 5 diff --git a/main/aribb24/PKGBUILD b/main/aribb24/PKGBUILD new file mode 100644 index 00000000..c09b72b3 --- /dev/null +++ b/main/aribb24/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=aribb24 +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for ARIB STD-B24, decoding JIS 8 bit characters and parsing MPEG-TS stream' +url='https://github.com/nkoriyama/aribb24' +arch=('x86_64') +license=('LGPL3') +depends=("libpng") +source=(${pkgname}-${pkgver}.tar.gz::https://github.com/nkoriyama/aribb24/archive/v${pkgver}.tar.gz + ${pkgname}-1.0.3-add-missing-libm.patch::https://github.com/nkoriyama/aribb24/commit/b08931895599e42ce6930a720a3fca74f6f6d9cb.patch) +sha512sums=('622cc0c3928fd6db0b5ab3921f27348c956af20f8c0133ad5d9bf4de3d199077d9f23cc86ae149a9f0d13c7ee5906ec95de3fb8388207160cebd1f0c59078c8f' + 'b7f8f737a96931fec4c983b2acf0e62ed6638d4ef6af8bf9491931235f6aca7589d81c444104fc5a7a5ce363c4aa0f9376b4990d3eae745315d197055f21e310') + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 < ../${pkgname}-1.0.3-add-missing-libm.patch + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/aribb24/README b/main/aribb24/README new file mode 100644 index 00000000..2e5a5b07 --- /dev/null +++ b/main/aribb24/README @@ -0,0 +1,43 @@ +aribb24 +________________________________________________________________________________ + +Library for ARIB STD-B24, decoding JIS 8 bit characters and parsing MPEG-TS stream + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S aribb24 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/nkoriyama/aribb24 diff --git a/main/aribb24/version b/main/aribb24/version new file mode 100644 index 00000000..e39d4aa7 --- /dev/null +++ b/main/aribb24/version @@ -0,0 +1 @@ +1.0.3 3 diff --git a/main/at-spi2-core/PKGBUILD b/main/at-spi2-core/PKGBUILD new file mode 100644 index 00000000..ac88454a --- /dev/null +++ b/main/at-spi2-core/PKGBUILD @@ -0,0 +1,100 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=at-spi2-core +pkgname=( + at-spi2-core + at-spi2-core-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Protocol definitions and daemon for D-Bus at-spi" +url="https://gitlab.gnome.org/GNOME/at-spi2-core" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + bash + dbus + glib2 + glibc + gsettings-desktop-schemas + libei + libx11 + libxi + libxkbcommon + libxml2 + libxtst + systemd + systemd-libs + xorg-xprop +) +makedepends=( + dbus-broker + gi-docgen + git + gobject-introspection + meson + python-sphinx +) +checkdepends=( + at-spi2-core +) +_commit=46c8de80022d28eef2da58f1054b5bff745ed7e0 # tags/AT_SPI2_CORE_2_52_0^0 +source=("git+https://gitlab.gnome.org/GNOME/at-spi2-core.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd at-spi2-core + git describe --tags | sed 's/^AT_SPI2_CORE_//;s/_/./g;s/-/+/g' +} + +prepare() { + cd at-spi2-core +} + +build() { + local meson_options=( + -D default_bus=dbus-broker + -D docs=true + ) + + arch-meson at-spi2-core build "${meson_options[@]}" + meson compile -C build +} + +check() { + dbus-run-session meson test -C build --print-errorlogs +} + +package_at-spi2-core() { + optdepends=('dbus-broker: Alternative bus implementation') + provides=( + "at-spi2-atk=$pkgver-$pkgrel" + "atk=$pkgver-$pkgrel" + libatk-1.0.so + libatk-bridge-2.0.so + libatspi.so + ) + conflicts=( + 'at-spi2-atk<=2.38.0-2' + 'atk<=2.38.0-2' + ) + replaces=( + 'at-spi2-atk<=2.38.0-2' + 'atk<=2.38.0-2' + ) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_at-spi2-core-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/at-spi2-core/README b/main/at-spi2-core/README new file mode 100644 index 00000000..c79ca08c --- /dev/null +++ b/main/at-spi2-core/README @@ -0,0 +1,43 @@ +at-spi2-core +________________________________________________________________________________ + +Protocol definitions and daemon for D-Bus at-spi Protocol definitions and daemon for D-Bus at-spi (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S at-spi2-core | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/at-spi2-core diff --git a/main/at-spi2-core/version b/main/at-spi2-core/version new file mode 100644 index 00000000..47beac3a --- /dev/null +++ b/main/at-spi2-core/version @@ -0,0 +1 @@ +2.52.0 1 diff --git a/main/attica/.PKGINFO b/main/attica/.PKGINFO new file mode 100644 index 00000000..15d5ed42 --- /dev/null +++ b/main/attica/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = attica +pkgbase = attica +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Qt library that implements the Open Collaboration Services API +url = https://community.kde.org/Frameworks +builddate = 1718491413 +packager = Developer +size = 1830407 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/attica/PKGBUILD b/main/attica/PKGBUILD new file mode 100644 index 00000000..adb3a1b0 --- /dev/null +++ b/main/attica/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=attica +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +pkgdesc='Qt library that implements the Open Collaboration Services API' +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('ef21d8e57aeae4757b6b40dfe0d0e9c38302a979164b4e4d493b631b7c023d23' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/attica/README b/main/attica/README new file mode 100644 index 00000000..00fb6f60 --- /dev/null +++ b/main/attica/README @@ -0,0 +1,43 @@ +attica +________________________________________________________________________________ + +Qt library that implements the Open Collaboration Services API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S attica | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/attica/version b/main/attica/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/attica/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/attr/PKGBUILD b/main/attr/PKGBUILD new file mode 100644 index 00000000..f1686fe9 --- /dev/null +++ b/main/attr/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=attr +pkgver=%version% +pkgrel=%release% +pkgdesc='Extended attribute support library for ACL support' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/attr' +license=('LGPL') +depends=('glibc') +makedepends=('gettext') +replaces=('xfsattr') +provides=('xfsattr' 'libattr.so') +conflicts=('xfsattr') +backup=('etc/xattr.conf') +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha256sums=('f2e97b0ab7ce293681ab701915766190d607a1dba7fae8a718138150b700a70b' + 'SKIP') + +prepare() { + # remove the nfs entries from /etc/xattr.conf + # http://lists.gnu.org/archive/html/bug-coreutils/2019-03/msg00008.html + sed -i '/nfs/d' $pkgname-$pkgver/xattr.conf +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/main/attr/README b/main/attr/README new file mode 100644 index 00000000..e1d0acd2 --- /dev/null +++ b/main/attr/README @@ -0,0 +1,43 @@ +attr +________________________________________________________________________________ + +Extended attribute support library for ACL support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S attr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://savannah.nongnu.org/projects/attr diff --git a/main/attr/version b/main/attr/version new file mode 100644 index 00000000..e99804da --- /dev/null +++ b/main/attr/version @@ -0,0 +1 @@ +2.5.2 1 diff --git a/main/audit/.PKGINFO b/main/audit/.PKGINFO new file mode 100644 index 00000000..4ee19130 --- /dev/null +++ b/main/audit/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-audit +pkgbase = audit +xdata = pkgtype=split +pkgver = 4.0.1-3 +pkgdesc = Userspace components of the audit framework - Python bindings +url = https://people.redhat.com/sgrubb/audit +builddate = 1714401534 +packager = Developer +size = 284528 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +depend = audit +depend = libaudit.so=1-64 +depend = libauparse.so=0-64 +depend = glibc +depend = python +makedepend = apparmor +makedepend = glibc +makedepend = krb5 +makedepend = libcap-ng +makedepend = libldap +makedepend = linux-api-headers +makedepend = python +makedepend = swig diff --git a/main/audit/.nvchecker.toml b/main/audit/.nvchecker.toml new file mode 100644 index 00000000..0ee81fcf --- /dev/null +++ b/main/audit/.nvchecker.toml @@ -0,0 +1,4 @@ +[audit] +source = "git" +git = "https://github.com/linux-audit/audit-userspace" +prefix = "v" diff --git a/main/audit/PKGBUILD b/main/audit/PKGBUILD new file mode 100644 index 00000000..261444e5 --- /dev/null +++ b/main/audit/PKGBUILD @@ -0,0 +1,145 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=audit +_name=audit-userspace +pkgname=( + audit + python-audit +) +pkgver=%version% +pkgrel=%release% +pkgdesc='Userspace components of the audit framework' +url='https://people.redhat.com/sgrubb/audit' +arch=(x86_64) +license=( + GPL-2.0-or-later + LGPL-2.0-or-later +) +makedepends=( + apparmor + glibc + krb5 + libcap-ng + libldap + linux-api-headers + python + swig +) +options=(emptydirs) +source=( + https://github.com/linux-audit/$_name/archive/v$pkgver/$_name-v$pkgver.tar.gz + $pkgbase.tmpfiles + $pkgbase-4.0-executable_paths.patch +) +sha512sums=('297664a55ab44b40c9280202c19612cfbfdacc209c4d226461ea5faa638e35617cb516e53d1f0bc3748cdd038d9524f3e5ebe11c8de4a5511ab4f12b7d06478c' + '1750741755f58d0ae19ed2c30e136d05560dc12ec613a502bad12f47c6b70432d30b3a16f3f1574c8433ad2701428d1c1d567a4d3b55be19abac300310c831d9' + '78d0289c5ea37bf28fecf43db7d83f1f754f2ac58a70667c8d720b0e5be51afca35f86861ba1abdea4833a4be8fbcfc05801240a2493904ab8ea4d2be5ca32e7') +b2sums=('3fc22fdfa98cddb9325cc68389d013886b579a75339aa43f812017612c9b0f02d27bab76b92324b6c419ea917a5cd3235e91a1ffcb0925d41cb7268d622d58fa' + '549ebbbc9e43277d44d0dc5bfd8ca2926628322d898479171b2707dd004968d036ef792b442548af90ad56dea868a72c88b5cf3bb93ea70cb8bbed82747ad9b5' + '4cfeb5d47218e77d693d2645de49c9867abe10bf185b1315d526d0410e93a8c5967cdff107eefbefcd4760c6ccbdd010bd47e2ef1cb8b3970f86910f1ba50e3f') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + # use /usr and /bin merge compatible paths in configs and services + patch -Np1 -d $pkgbase-userspace-$pkgver -i ../$pkgbase-4.0-executable_paths.patch + + cd $_name-$pkgver + autoreconf -fiv +} + +build() { + local configure_options=( + --enable-gssapi-krb5=yes + --enable-systemd=yes + --enable-zos-remote + --libexecdir=/usr/lib/audit + --prefix=/usr + --runstatedir=/run + --sbindir=/usr/bin + --sysconfdir=/etc + --with-apparmor=yes + --with-io_uring=yes + --with-libcap-ng=yes + --with-python3=yes + ) + + cd $_name-$pkgver + ./configure "${configure_options[@]}" + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package_audit() { + depends=( + glibc + krb5 libkrb5.so libgssapi_krb5.so + libcap-ng libcap-ng.so + ) + optdepends=( + 'libldap: for audispd-zos-remote' + 'sh: for augenrules' + ) + provides=( + libaudit.so + libauparse.so + ) + backup=( + etc/libaudit.conf + etc/audit/audit-stop.rules + etc/audit/auditd.conf + etc/audit/audisp-remote.conf + etc/audit/zos-remote.conf + etc/audit/plugins.d/af_unix.conf + etc/audit/plugins.d/au-remote.conf + etc/audit/plugins.d/audispd-zos-remote.conf + etc/audit/plugins.d/syslog.conf + ) + + make DESTDIR="$pkgdir" install -C $_name-$pkgver + + install -vDm 644 $_name-$pkgver/{{README,SECURITY}.md,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname/" + + # add rules.d dir to satisfy augenrules + install -vdm 755 "$pkgdir/etc/audit/rules.d/" + # add config dir for audisp + install -vdm 755 "$pkgdir/etc/audisp" + + # add factory files + install -vdm 755 "$pkgdir/usr/share/factory/" + cp -av "$pkgdir/etc" "$pkgdir/usr/share/factory/" + + # add tmpfiles.d integration for factory files and file permissions + install -vDm 644 $pkgbase.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgbase.conf" + + # remove legacy files + rm -frv "$pkgdir/usr/lib/audit" + + ( + cd "$pkgdir" + _pick python-audit usr/lib/python* + ) +} + +package_python-audit() { + pkgdesc+=' - Python bindings' + depends=( + audit libaudit.so libauparse.so + glibc + python + ) + + mv -v $pkgname/* "$pkgdir" +} + +# vim: ts=2 sw=2 et: diff --git a/main/audit/README b/main/audit/README new file mode 100644 index 00000000..58e39710 --- /dev/null +++ b/main/audit/README @@ -0,0 +1,43 @@ +audit +________________________________________________________________________________ + +Userspace components of the audit framework Userspace components of the audit framework - Python bindings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S audit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://people.redhat.com/sgrubb/audit diff --git a/main/audit/audit-4.0-executable_paths.patch b/main/audit/audit-4.0-executable_paths.patch new file mode 100644 index 00000000..0468a51a --- /dev/null +++ b/main/audit/audit-4.0-executable_paths.patch @@ -0,0 +1,79 @@ +diff --git i/audisp/plugins/af_unix/af_unix.conf w/audisp/plugins/af_unix/af_unix.conf +index 081dcb67..df995a65 100644 +--- i/audisp/plugins/af_unix/af_unix.conf ++++ w/audisp/plugins/af_unix/af_unix.conf +@@ -6,7 +6,7 @@ + + active = no + direction = out +-path = /sbin/audisp-af_unix ++path = /usr/bin/audisp-af_unix + type = always +-args = 0640 /var/run/audispd_events ++args = 0640 /run/audispd_events + format = string +diff --git i/audisp/plugins/ids/audisp-ids.conf w/audisp/plugins/ids/audisp-ids.conf +index ce5521c4..2d509025 100644 +--- i/audisp/plugins/ids/audisp-ids.conf ++++ w/audisp/plugins/ids/audisp-ids.conf +@@ -3,7 +3,7 @@ + + active = no + direction = out +-path = /usr/sbin/audisp-ids ++path = /usr/bin/audisp-ids + type = always + args = 1 + format = string +diff --git i/audisp/plugins/remote/au-remote.conf w/audisp/plugins/remote/au-remote.conf +index d75e6b64..73814875 100644 +--- i/audisp/plugins/remote/au-remote.conf ++++ w/audisp/plugins/remote/au-remote.conf +@@ -5,7 +5,7 @@ + + active = no + direction = out +-path = /sbin/audisp-remote ++path = /usr/bin/audisp-remote + type = always + #args = + format = string +diff --git i/audisp/plugins/statsd/au-statsd.conf w/audisp/plugins/statsd/au-statsd.conf +index a1fd4be3..3aa2174d 100644 +--- i/audisp/plugins/statsd/au-statsd.conf ++++ w/audisp/plugins/statsd/au-statsd.conf +@@ -3,7 +3,7 @@ + + active = no + direction = out +-path = /sbin/audisp-statsd ++path = /usr/bin/audisp-statsd + type = always + # args = + format = string +diff --git i/audisp/plugins/syslog/syslog.conf w/audisp/plugins/syslog/syslog.conf +index e8aebdfe..ab12489b 100644 +--- i/audisp/plugins/syslog/syslog.conf ++++ w/audisp/plugins/syslog/syslog.conf +@@ -8,7 +8,7 @@ + + active = no + direction = out +-path = /sbin/audisp-syslog ++path = /usr/bin/audisp-syslog + type = always + args = LOG_INFO + format = string +diff --git i/audisp/plugins/zos-remote/audispd-zos-remote.conf w/audisp/plugins/zos-remote/audispd-zos-remote.conf +index f1c0bbda..c53cd83d 100644 +--- i/audisp/plugins/zos-remote/audispd-zos-remote.conf ++++ w/audisp/plugins/zos-remote/audispd-zos-remote.conf +@@ -8,7 +8,7 @@ + + active = no + direction = out +-path = /sbin/audispd-zos-remote ++path = /usr/bin/audispd-zos-remote + type = always + args = /etc/audit/zos-remote.conf + format = string diff --git a/main/audit/audit.tmpfiles b/main/audit/audit.tmpfiles new file mode 100644 index 00000000..d182f89a --- /dev/null +++ b/main/audit/audit.tmpfiles @@ -0,0 +1,16 @@ +# create configuration files and directories from factory defaults if they do not exist +C /etc/audit/ - - - - /usr/share/factory/etc/audit/ +C /etc/audisp/ - - - - /usr/share/factory/etc/audisp/ +C /etc/libaudit.conf - - - - /usr/share/factory/etc/libaudit.conf + +# ensure permissions for configuration files and directories are set +z /etc/audisp 755 root root - - +z /etc/audit 755 root root - - +z /etc/audit/audisp-remote.conf 640 root root - - +z /etc/audit/plugins.d 750 root root - - +z /etc/audit/plugins.d/*.conf 640 root root - - +z /etc/libaudit.conf 640 root root - - + +# ensure log directory exists +d /var/log/audit 755 root root - - +z /var/log/audit 755 root root - - diff --git a/main/audit/version b/main/audit/version new file mode 100644 index 00000000..f77e6a21 --- /dev/null +++ b/main/audit/version @@ -0,0 +1 @@ +4.0.1 3 diff --git a/main/avahi/.PKGINFO b/main/avahi/.PKGINFO new file mode 100644 index 00000000..138d4c62 --- /dev/null +++ b/main/avahi/.PKGINFO @@ -0,0 +1,51 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = avahi +pkgbase = avahi +xdata = pkgtype=pkg +pkgver = 1:0.8+r194+g3f79789-2 +pkgdesc = Service Discovery for Linux using mDNS/DNS-SD (compatible with Bonjour) +url = https://github.com/avahi/avahi +builddate = 1714400504 +packager = Developer +size = 1973755 +arch = x86_64 +license = LGPL +provides = libavahi-client.so=3-64 +provides = libavahi-common.so=3-64 +provides = libavahi-core.so=7-64 +provides = libavahi-glib.so=1-64 +provides = libavahi-gobject.so=0-64 +provides = libavahi-libevent.so=1-64 +provides = libavahi-qt5.so=1-64 +provides = libavahi-ui-gtk3.so=0-64 +provides = libdns_sd.so=1-64 +backup = etc/avahi/hosts +backup = etc/avahi/avahi-daemon.conf +backup = etc/avahi/avahi-autoipd.action +backup = etc/avahi/avahi-dnsconfd.action +backup = usr/lib/avahi/service-types.db +depend = dbus +depend = expat +depend = gdbm +depend = glib2 +depend = libcap +depend = libdaemon +depend = libdbus-1.so=3-64 +optdepend = gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc +optdepend = libevent: libevent bindings +optdepend = nss-mdns: NSS support for mDNS +optdepend = python-dbus: avahi-bookmarks, avahi-discover +optdepend = python-gobject: avahi-bookmarks, avahi-discover +optdepend = python-twisted: avahi-bookmarks +optdepend = qt5-base: qt5 bindings +makedepend = doxygen +makedepend = git +makedepend = gobject-introspection +makedepend = graphviz +makedepend = gtk3 +makedepend = libevent +makedepend = python-dbus +makedepend = python-gobject +makedepend = qt5-base +makedepend = xmltoman diff --git a/main/avahi/0001-HACK-Install-fixes.patch b/main/avahi/0001-HACK-Install-fixes.patch new file mode 100644 index 00000000..3a2f035e --- /dev/null +++ b/main/avahi/0001-HACK-Install-fixes.patch @@ -0,0 +1,55 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Thu, 8 Jun 2023 21:05:22 +0200 +Subject: [PATCH] HACK: Install fixes + +- Move example services to docs, see + https://bugs.archlinux.org/task/47822 +- Don't mkdir rundir +- Install header symlink for compat with mdnsresponder +--- + avahi-compat-libdns_sd/Makefile.am | 3 +++ + avahi-daemon/Makefile.am | 5 +++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/avahi-compat-libdns_sd/Makefile.am b/avahi-compat-libdns_sd/Makefile.am +index ecca1e97a6e4..a53bc4202cd0 100644 +--- a/avahi-compat-libdns_sd/Makefile.am ++++ b/avahi-compat-libdns_sd/Makefile.am +@@ -27,6 +27,9 @@ avahi_compat_libdns_sddir=$(includedir)/avahi-compat-libdns_sd + + avahi_compat_libdns_sd_HEADERS = dns_sd.h + ++install-data-local: ++ $(LN_S) avahi-compat-libdns_sd/dns_sd.h "$(DESTDIR)$(includedir)/dns_sd.h" ++ + lib_LTLIBRARIES = libdns_sd.la + + if ENABLE_TESTS +diff --git a/avahi-daemon/Makefile.am b/avahi-daemon/Makefile.am +index d352d5e52e5d..1f8b6d80ddb9 100644 +--- a/avahi-daemon/Makefile.am ++++ b/avahi-daemon/Makefile.am +@@ -27,6 +27,7 @@ pkgsysconfdir=$(sysconfdir)/avahi + servicedir=$(pkgsysconfdir)/services + introspectiondir=$(datadir)/dbus-1/interfaces + dbussystemservicesdir=$(datadir)/dbus-1/system-services ++pkgdocdir=$(datadir)/doc/avahi + + AM_CFLAGS+= \ + -DAVAHI_DAEMON_RUNTIME_DIR=\"$(runstatedir)/avahi-daemon/\" \ +@@ -68,7 +69,7 @@ pkgsysconf_DATA = \ + avahi-daemon.conf \ + hosts + +-dist_service_DATA = \ ++dist_pkgdoc_DATA = \ + ssh.service \ + sftp-ssh.service + +@@ -168,4 +169,4 @@ xmllint: + done + + install-data-local: +- test -z "$(runstatedir)" || $(MKDIR_P) "$(DESTDIR)$(runstatedir)" ++ $(MKDIR_P) "$(DESTDIR)$(servicedir)" diff --git a/main/avahi/PKGBUILD b/main/avahi/PKGBUILD new file mode 100644 index 00000000..34f813d1 --- /dev/null +++ b/main/avahi/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=avahi +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="Service Discovery for Linux using mDNS/DNS-SD (compatible with Bonjour)" +url="https://github.com/avahi/avahi" +license=(LGPL) +arch=(x86_64) +depends=( + dbus + expat + gdbm + glib2 + libcap + libdaemon +) +makedepends=( + doxygen + git + gobject-introspection + graphviz + gtk3 + libevent + python-dbus + python-gobject + qt5-base + xmltoman +) +optdepends=( + 'gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc' + 'libevent: libevent bindings' + 'nss-mdns: NSS support for mDNS' + 'python-dbus: avahi-bookmarks, avahi-discover' + 'python-gobject: avahi-bookmarks, avahi-discover' + 'python-twisted: avahi-bookmarks' + 'qt5-base: qt5 bindings' +) +provides=( + libavahi-{client,common,core,glib,gobject,libevent,qt5,ui-gtk3}.so + libdns_sd.so +) +backup=( + etc/avahi/{hosts,avahi-daemon.conf,avahi-{autoip,dnsconf}d.action} + usr/lib/avahi/service-types.db +) +_commit=3f79789c484518f82c36ff59c0f45abe7e6580a2 # master +source=( + "git+https://github.com/avahi/avahi#commit=$_commit" + 0001-HACK-Install-fixes.patch +) +b2sums=('SKIP' + 'a15b00c05cce3b6a1479d88b1393cd955a80c669fed03be5f624a8e8701f22fe327bbd42f7563a532ae8ebc39408f3aedfc982c42a2b6141ccc22af96f16293c') + +pkgver() { + cd avahi + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd avahi + + # https://bugs.archlinux.org/task/47822 + git apply -3 ../0001-HACK-Install-fixes.patch + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --sbindir=/usr/bin + --runstatedir=/run + --disable-mono + --enable-compat-libdns_sd + --with-autoipd-group=avahi + --with-autoipd-user=avahi + --with-avahi-priv-access-group=network + --with-distro=archlinux + --with-systemdsystemunitdir=/usr/lib/systemd/system + with_dbus_sys=/usr/share/dbus-1/system.d + ) + + cd avahi + + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + depends+=(libdbus-1.so) + + cd avahi + make DESTDIR="$pkgdir" install + + echo 'u avahi - "Avahi mDNS/DNS-SD daemon"' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/avahi/README b/main/avahi/README new file mode 100644 index 00000000..f7d84a38 --- /dev/null +++ b/main/avahi/README @@ -0,0 +1,43 @@ +avahi +________________________________________________________________________________ + +Service Discovery for Linux using mDNS/DNS-SD (compatible with Bonjour) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S avahi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/avahi/avahi diff --git a/main/avahi/version b/main/avahi/version new file mode 100644 index 00000000..7ee850c7 --- /dev/null +++ b/main/avahi/version @@ -0,0 +1 @@ +1:0.8+r194+g3f79789 2 diff --git a/main/b43-fwcutter/PKGBUILD b/main/b43-fwcutter/PKGBUILD new file mode 100644 index 00000000..e84a4a83 --- /dev/null +++ b/main/b43-fwcutter/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=b43-fwcutter +pkgver=%version% +pkgrel=%release% +pkgdesc="firmware extractor for the b43 kernel module" +url="https://wireless.wiki.kernel.org/en/users/Drivers/b43" +depends=('glibc') +license=('GPL') +arch=('x86_64') +source=("https://bues.ch/b43/fwcutter/${pkgname}-${pkgver}.tar.bz2"{,.asc}) +sha256sums=('d6ea85310df6ae08e7f7e46d8b975e17fc867145ee249307413cfbe15d7121ce' + 'SKIP') +validpgpkeys=('757FAB7CED1814AE15B4836E5FB027474203454C') # Michael Büsch (Git tag signing key) + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + install -D -m755 b43-fwcutter "$pkgdir"/usr/bin/b43-fwcutter + install -D -m644 b43-fwcutter.1 "$pkgdir"/usr/share/man/man1/b43-fwcutter.1 +} diff --git a/main/b43-fwcutter/README b/main/b43-fwcutter/README new file mode 100644 index 00000000..1f2a6025 --- /dev/null +++ b/main/b43-fwcutter/README @@ -0,0 +1,43 @@ +b43-fwcutter +________________________________________________________________________________ + +firmware extractor for the b43 kernel module + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S b43-fwcutter | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wireless.wiki.kernel.org/en/users/Drivers/b43 diff --git a/main/b43-fwcutter/version b/main/b43-fwcutter/version new file mode 100644 index 00000000..912c0c87 --- /dev/null +++ b/main/b43-fwcutter/version @@ -0,0 +1 @@ +019 4 diff --git a/main/baloo-widgets/.PKGINFO b/main/baloo-widgets/.PKGINFO new file mode 100644 index 00000000..303e32fc --- /dev/null +++ b/main/baloo-widgets/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = baloo-widgets +pkgbase = baloo-widgets +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = Widgets for Baloo +url = https://www.kde.org/ +builddate = 1718491416 +packager = Developer +size = 493955 +arch = x86_64 +license = LGPL-2.0-or-later +depend = gcc-libs +depend = glibc +depend = baloo +depend = kconfig +depend = kcoreaddons +depend = kfilemetadata +depend = ki18n +depend = kio +depend = kservice +depend = kwidgetsaddons +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/baloo-widgets/PKGBUILD b/main/baloo-widgets/PKGBUILD new file mode 100644 index 00000000..85680762 --- /dev/null +++ b/main/baloo-widgets/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=baloo-widgets +pkgver=%version% +pkgrel=%release% +pkgdesc='Widgets for Baloo' +arch=(x86_64) +url='https://www.kde.org/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + baloo + kconfig + kcoreaddons + kfilemetadata + ki18n + kio + kservice + kwidgetsaddons + qt6-base) +makedepends=(extra-cmake-modules + kdoctools) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('b7de28e47d470faba8840cc02873188284c3707572176aa0b821ccf46fb6e3ef' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_WITH_QT6=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + diff --git a/main/baloo-widgets/README b/main/baloo-widgets/README new file mode 100644 index 00000000..5db481b8 --- /dev/null +++ b/main/baloo-widgets/README @@ -0,0 +1,43 @@ +baloo-widgets +________________________________________________________________________________ + +Widgets for Baloo + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S baloo-widgets | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org/ diff --git a/main/baloo-widgets/version b/main/baloo-widgets/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/baloo-widgets/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/base-devel/PKGBUILD b/main/base-devel/PKGBUILD new file mode 100644 index 00000000..8e73b64e --- /dev/null +++ b/main/base-devel/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=base-devel +pkgver=%version% +pkgrel=%release% +pkgdesc='Basic tools to build Arch Linux packages' +url='https://www.archlinux.org' +arch=('any') +license=('GPL') +options=('!debug') +depends=( + autoconf + automake + binutils + bison + debugedit + fakeroot + file + findutils + flex + gawk + gcc + gettext + grep + groff + gzip + libtool + m4 + make + tpkg + patch + pkgconf + sed + sudo + texinfo + which +) + +# vim: ts=2 sw=2 et: diff --git a/main/base-devel/README b/main/base-devel/README new file mode 100644 index 00000000..76b97a1d --- /dev/null +++ b/main/base-devel/README @@ -0,0 +1,43 @@ +base-devel +________________________________________________________________________________ + +Basic tools to build Arch Linux packages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S base-devel | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.archlinux.org diff --git a/main/base-devel/version b/main/base-devel/version new file mode 100644 index 00000000..2fb73a07 --- /dev/null +++ b/main/base-devel/version @@ -0,0 +1 @@ +1 1 diff --git a/main/bash-completion/.PKGINFO b/main/bash-completion/.PKGINFO new file mode 100644 index 00000000..adbd2c00 --- /dev/null +++ b/main/bash-completion/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bash-completion +pkgbase = bash-completion +xdata = pkgtype=pkg +pkgver = 2.14.0-2 +pkgdesc = Programmable completion for the bash shell +url = https://github.com/scop/bash-completion +builddate = 1718491417 +packager = Developer +size = 1022115 +arch = any +license = GPL-2.0-only +backup = etc/bash_completion.d/000_bash_completion_compat.bash +depend = bash diff --git a/main/bash-completion/PKGBUILD b/main/bash-completion/PKGBUILD new file mode 100644 index 00000000..b9c0db67 --- /dev/null +++ b/main/bash-completion/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bash-completion +pkgver=%version% +pkgrel=%release% +pkgdesc='Programmable completion for the bash shell' +arch=(any) +url='https://github.com/scop/bash-completion' +license=(GPL2) +depends=(bash) +options=(!emptydirs !makeflags) +source=($url/releases/download/$pkgver/$pkgname-$pkgver.tar.xz + $pkgname-drill.patch::https://github.com/scop/bash-completion/commit/cbec56cfd543.patch) +validpgpkeys=(A558062B6D5DA1347CD468D52B0AE2C1B09B07CB) +sha256sums=('73a8894bad94dee83ab468fa09f628daffd567e8bef1a24277f1e9a0daf911ac' + '84563efa872e56b293a76abb2e5ec70e845f0fa1a22b8d33d2d4a6fa49b25b5a') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../$pkgname-drill.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # bash-completion is sourced in /etc/bash.bashrc so that non-bash shell don't source it + rm "$pkgdir/etc/profile.d/bash_completion.sh" + + # remove Slackware's makepkg completion + rm "$pkgdir/usr/share/bash-completion/completions/makepkg" +} diff --git a/main/bash-completion/README b/main/bash-completion/README new file mode 100644 index 00000000..55ddb417 --- /dev/null +++ b/main/bash-completion/README @@ -0,0 +1,43 @@ +bash-completion +________________________________________________________________________________ + +Programmable completion for the bash shell + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bash-completion | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/scop/bash-completion diff --git a/main/bash-completion/version b/main/bash-completion/version new file mode 100644 index 00000000..fbeea9ac --- /dev/null +++ b/main/bash-completion/version @@ -0,0 +1 @@ +2.14.0 2 diff --git a/main/bc/PKGBUILD b/main/bc/PKGBUILD new file mode 100644 index 00000000..01568b19 --- /dev/null +++ b/main/bc/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bc +pkgver=%version% +pkgrel=%release% +pkgdesc="An arbitrary precision calculator language" +arch=('x86_64') +url="https://www.gnu.org/software/bc/" +license=('GPL') +depends=('readline') +makedepends=('ed') +replaces=('bc-readline') +conflicts=('bc-readline') +source=(https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) +sha256sums=('62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a' + 'SKIP') +validpgpkeys=('00E426232F384BF6D32D8B1881C24FF12FB7B14B') # Phil Nelson + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --infodir=/usr/share/info --with-readline + make -j1 +} + +check () { + cd "${pkgname}-${pkgver}" + echo "quit" | ./bc/bc -l Test/checklib.b +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/bc/README b/main/bc/README new file mode 100644 index 00000000..b7772246 --- /dev/null +++ b/main/bc/README @@ -0,0 +1,43 @@ +bc +________________________________________________________________________________ + +An arbitrary precision calculator language + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/bc/ diff --git a/main/bc/version b/main/bc/version new file mode 100644 index 00000000..d1c3491d --- /dev/null +++ b/main/bc/version @@ -0,0 +1 @@ +1.07.1 4 diff --git a/main/bcachefs-tools/.PKGINFO b/main/bcachefs-tools/.PKGINFO new file mode 100644 index 00000000..919a41da --- /dev/null +++ b/main/bcachefs-tools/.PKGINFO @@ -0,0 +1,39 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bcachefs-tools +pkgbase = bcachefs-tools +xdata = pkgtype=pkg +pkgver = 3:1.7.0-1 +pkgdesc = BCacheFS filesystem utilities +url = https://bcachefs.org/ +builddate = 1713662586 +packager = Developer +size = 3002151 +arch = x86_64 +license = GPL-2.0-only +depend = bash +depend = fuse3 +depend = gcc-libs +depend = libaio.so=1-64 +depend = libaio +depend = libblkid.so=1-64 +depend = libuuid.so=1-64 +depend = util-linux-libs +depend = libkeyutils.so=1-64 +depend = keyutils +depend = libsodium.so=26-64 +depend = libsodium +depend = liburcu +depend = libz.so=1-64 +depend = zlib +depend = libzstd.so=1-64 +depend = zstd +depend = lz4 +depend = libudev.so=1-64 +depend = systemd-libs +depend = udev +makedepend = cargo +makedepend = clang +makedepend = llvm +makedepend = pkgconf +makedepend = valgrind diff --git a/main/bcachefs-tools/PKGBUILD b/main/bcachefs-tools/PKGBUILD new file mode 100644 index 00000000..935d2a47 --- /dev/null +++ b/main/bcachefs-tools/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bcachefs-tools +epoch=3 +pkgver=%version% +pkgrel=%release% +pkgdesc='BCacheFS filesystem utilities' +arch=('x86_64') +url='https://bcachefs.org/' +license=('GPL-2.0-only') +depends=( + bash + fuse3 + gcc-libs + libaio.so libaio + libblkid.so libuuid.so util-linux-libs + libkeyutils.so keyutils + libsodium.so libsodium + liburcu + libz.so zlib + libzstd.so zstd + lz4 + libudev.so systemd-libs + udev +) +makedepends=( + cargo + clang + llvm + pkgconf + valgrind +) +source=( + "${pkgname}-${pkgver}.tar.gz"::https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${pkgver}.tar.gz +) +b2sums=('656b1545ccf41dd35e3e6f656a9b5280fe0b5fa43a0ea86243c6693033d986b091fdd3d79ab2ff5c1c9402bce6f4ee33f49e070f6aebd5bba355df7a82d8fc21') + +build() { + cd ${pkgname}-${pkgver} + + # this uses malloc_usable_size, which is incompatible with fortification level 3 + export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + BCACHEFS_FUSE=1 make \ + LIBEXECDIR=/usr/lib \ + DESTDIR="${pkgdir}" \ + ROOT_SBINDIR="/usr/bin" \ + INITRAMFS_DIR="/etc/initcpio" +} + +package() { + cd ${pkgname}-${pkgver} + + # this uses malloc_usable_size, which is incompatible with fortification level 3 + export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + BCACHEFS_FUSE=1 make \ + PREFIX="/usr" \ + LIBEXECDIR=/usr/lib \ + DESTDIR="${pkgdir}" \ + ROOT_SBINDIR="/usr/bin" \ + INITRAMFS_DIR="/etc/initcpio" \ + install + # remove initcpio hooks that seems incompatible with mkinitcpio + rm -rf "${pkgdir}"/etc + + # package completions + install -dm755 "${pkgdir}"/usr/share/{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} + "${pkgdir}"/usr/bin/bcachefs completions bash > "${pkgdir}"/usr/share/bash-completion/completions/bcachefs + "${pkgdir}"/usr/bin/bcachefs completions fish > "${pkgdir}"/usr/share/fish/vendor_completions.d/bcachefs.fish + "${pkgdir}"/usr/bin/bcachefs completions zsh > "${pkgdir}"/usr/share/zsh/site-functions/_bcachefs +} diff --git a/main/bcachefs-tools/README b/main/bcachefs-tools/README new file mode 100644 index 00000000..2bc8c2b2 --- /dev/null +++ b/main/bcachefs-tools/README @@ -0,0 +1,43 @@ +bcachefs-tools +________________________________________________________________________________ + +BCacheFS filesystem utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bcachefs-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://bcachefs.org/ diff --git a/main/bcachefs-tools/version b/main/bcachefs-tools/version new file mode 100644 index 00000000..42dd06da --- /dev/null +++ b/main/bcachefs-tools/version @@ -0,0 +1 @@ +3:1.7.0 1 diff --git a/main/bind/.PKGINFO b/main/bind/.PKGINFO new file mode 100644 index 00000000..f6559674 --- /dev/null +++ b/main/bind/.PKGINFO @@ -0,0 +1,46 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bind +pkgbase = bind +xdata = pkgtype=pkg +pkgver = 9.18.27-1 +pkgdesc = A complete, highly portable implementation of the DNS protocol +url = https://www.isc.org/software/bind/ +builddate = 1715991071 +packager = Developer +size = 6951772 +arch = x86_64 +license = MPL2 +replaces = bind-tools +replaces = dnsutils +replaces = host +conflict = bind-tools +conflict = dnsutils +provides = bind-tools +provides = dnsutils +provides = dns-server +backup = etc/named.conf +backup = var/named/127.0.0.zone +backup = var/named/localhost.zone +backup = var/named/localhost.ip6.zone +depend = bash +depend = dnssec-anchors +depend = e2fsprogs +depend = glibc +depend = icu +depend = libedit +depend = json-c +depend = krb5 +depend = libcap +depend = libidn2 +depend = libmaxminddb +depend = libnsl +depend = libuv +depend = libxml2 +depend = lmdb +depend = openssl +depend = readline +depend = xz +depend = zlib +depend = jemalloc +depend = libnghttp2 diff --git a/main/bind/127.0.0.zone b/main/bind/127.0.0.zone new file mode 100644 index 00000000..3c5c9649 --- /dev/null +++ b/main/bind/127.0.0.zone @@ -0,0 +1,10 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +1.0.0.127.in-addr.arpa. 1D IN PTR localhost. diff --git a/main/bind/PKGBUILD b/main/bind/PKGBUILD new file mode 100644 index 00000000..887ee58f --- /dev/null +++ b/main/bind/PKGBUILD @@ -0,0 +1,101 @@ +# Maintainer: Developer +# Maintainer: Developer + +_pkgver=%version% +pkgname=bind +pkgver=${_pkgver//-/.} +pkgrel=%release% +pkgdesc='A complete, highly portable implementation of the DNS protocol' +url='https://www.isc.org/software/bind/' +license=('MPL2') +arch=('x86_64') +options=('!emptydirs') +depends=('bash' 'dnssec-anchors' 'e2fsprogs' 'glibc' 'icu' 'libedit' 'json-c' + 'krb5' 'libcap' 'libidn2' 'libmaxminddb' 'libnsl' 'libuv' 'libxml2' 'lmdb' + 'openssl' 'readline' 'xz' 'zlib' 'jemalloc' 'libnghttp2') +conflicts=('bind-tools' 'dnsutils') +replaces=('bind-tools' 'dnsutils' 'host') +provides=('bind-tools' 'dnsutils' 'dns-server') +backup=('etc/named.conf' + 'var/named/127.0.0.zone' + 'var/named/localhost.zone' + 'var/named/localhost.ip6.zone') +install=bind.install +validpgpkeys=('D99CCEAF879747014F038D63182E23579462EFAA' # Michal Nowak + '706B6C28620E76F91D11F7DF510A642A06C52CEC') # Michał Kępień +source=("https://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.xz"{,.asc} + 'tmpfiles.conf' + 'sysusers.conf' + 'named.conf' + 'named.service' + 'localhost.zone' + 'localhost.ip6.zone' + '127.0.0.zone') +sha256sums=('5a4a70432a33d009f0e6e9dbb328aae7a5e27507e98e28bf3c0c6b250ccb2ab3' + 'SKIP' + 'f0423c4ee8495da487e07e9144bec1d25f46a0cd2dfa7cfd7a761ef15bfefc98' + '7c0acefcfcc3ae093550caed7ec90fe84bec8f7477459ffa7e71dda76bcbdb2c' + 'e08a01d41b18bdb771d534daca99642314939aafdb088e5cfcf0ef2d33f8e7eb' + '3f0f8db0a1deae270dd166b4750be7c1041b4b44891176f35a8df7dd55d24d34' + '0011708e516128647dd25b59b6ebc465f36e85bbe0a8fbdc3eb04b7f28c2197f' + 'c06fc270e32a843c8b6d86335a2ec607d405dfba6875de8d8a9abde39a9e2c17' + 'b88fd2b99e7d42d414b329b814b9ff3304fa0ef9c67df81bde235bbfa0f3a3b8') + +prepare() { + cd bind-$_pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd bind-$_pkgver + export CFLAGS + # support to chase DNSSEC signature chains + CFLAGS+=' -DDIG_SIGCHASE' + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --disable-static \ + --enable-fixed-rrset \ + --enable-full-report \ + --with-maxminddb \ + --with-openssl \ + --with-libidn2 \ + --with-json-c \ + --with-libxml2 \ + --with-lmdb + make +} + +# No test suite because it requires root. +# See: https://gitlab.isc.org/isc-projects/bind9/-/blob/main/README.md#testing. + +package() { + cd "bind-$_pkgver" + install -dm755 "$pkgdir/usr/share/licenses/$pkgname/" + install -Dm644 LICENSE COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/" + make DESTDIR="$pkgdir" install + + cd "$srcdir" + install -D -m644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + install -D -m644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + + install -D -m644 named.service "$pkgdir/usr/lib/systemd/system/named.service" + install -D -m640 -o 0 -g 40 named.conf "$pkgdir/etc/named.conf" + + install -d -m770 -o 0 -g 40 "$pkgdir/var/named" + install -m640 -o 0 -g 40 localhost.zone "$pkgdir/var/named" + install -m640 -o 0 -g 40 localhost.ip6.zone "$pkgdir/var/named" + install -m640 -o 0 -g 40 127.0.0.zone "$pkgdir/var/named" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/bind/README b/main/bind/README new file mode 100644 index 00000000..ed215237 --- /dev/null +++ b/main/bind/README @@ -0,0 +1,43 @@ +bind +________________________________________________________________________________ + +A complete, highly portable implementation of the DNS protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bind | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.isc.org/software/bind/ diff --git a/main/bind/bind.install b/main/bind/bind.install new file mode 100644 index 00000000..8cf5b161 --- /dev/null +++ b/main/bind/bind.install @@ -0,0 +1,10 @@ +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + (( $(vercmp "$2" '9.14.8-2') > 0 )) || cat < Switched to geoip2 databases. +==> Remember to update your configuration if you use geoip features. +EOF +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/bind/localhost.ip6.zone b/main/bind/localhost.ip6.zone new file mode 100644 index 00000000..c021a28c --- /dev/null +++ b/main/bind/localhost.ip6.zone @@ -0,0 +1,10 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. 1D IN PTR localhost. diff --git a/main/bind/localhost.zone b/main/bind/localhost.zone new file mode 100644 index 00000000..e87274da --- /dev/null +++ b/main/bind/localhost.zone @@ -0,0 +1,11 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +localhost. 1D IN A 127.0.0.1 +localhost. 1D IN AAAA ::1 diff --git a/main/bind/named.conf b/main/bind/named.conf new file mode 100644 index 00000000..2ac668d4 --- /dev/null +++ b/main/bind/named.conf @@ -0,0 +1,57 @@ +// vim:set ts=4 sw=4 et: + +options { + directory "/var/named"; + pid-file "/run/named/named.pid"; + + // Uncomment these to enable IPv6 connections support + // IPv4 will still work: + // listen-on-v6 { any; }; + // Add this for no IPv4: + // listen-on { none; }; + + allow-recursion { 127.0.0.1; }; + allow-transfer { none; }; + allow-update { none; }; + + version none; + hostname none; + server-id none; +}; + +zone "localhost" IN { + type master; + file "localhost.zone"; +}; + +zone "0.0.127.in-addr.arpa" IN { + type master; + file "127.0.0.zone"; +}; + +zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" { + type master; + file "localhost.ip6.zone"; +}; + +//zone "example.org" IN { +// type slave; +// file "example.zone"; +// masters { +// 192.168.1.100; +// }; +// allow-query { any; }; +// allow-transfer { any; }; +//}; + +//logging { +// channel xfer-log { +// file "/var/log/named.log"; +// print-category yes; +// print-severity yes; +// severity info; +// }; +// category xfer-in { xfer-log; }; +// category xfer-out { xfer-log; }; +// category notify { xfer-log; }; +//}; diff --git a/main/bind/named.service b/main/bind/named.service new file mode 100644 index 00000000..e8625b14 --- /dev/null +++ b/main/bind/named.service @@ -0,0 +1,10 @@ +[Unit] +Description=Internet domain name server +After=network.target + +[Service] +ExecStart=/usr/bin/named -f -u named +ExecReload=/usr/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/main/bind/sysusers.conf b/main/bind/sysusers.conf new file mode 100644 index 00000000..b02acb17 --- /dev/null +++ b/main/bind/sysusers.conf @@ -0,0 +1 @@ +u named 40 "BIND DNS Server" - diff --git a/main/bind/tmpfiles.conf b/main/bind/tmpfiles.conf new file mode 100644 index 00000000..1cfc82d0 --- /dev/null +++ b/main/bind/tmpfiles.conf @@ -0,0 +1 @@ +d /run/named 0750 named named - diff --git a/main/bind/version b/main/bind/version new file mode 100644 index 00000000..18ce22d7 --- /dev/null +++ b/main/bind/version @@ -0,0 +1 @@ +9.18.27 1 diff --git a/main/binutils/.PKGINFO b/main/binutils/.PKGINFO new file mode 100644 index 00000000..74505f82 --- /dev/null +++ b/main/binutils/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = binutils +pkgbase = binutils +xdata = pkgtype=pkg +pkgver = 2.42+r91+g6224493e457-1 +pkgdesc = A set of programs to assemble and manipulate binary and object files +url = https://www.gnu.org/software/binutils/ +builddate = 1715214361 +packager = Developer +size = 41857884 +arch = x86_64 +license = GPL-2.0-or-later +license = GPL-3.0-or-later +license = LGPL-2.0-or-later +license = LGPL-3.0-or-later +license = GFDL-1.3 +license = FSFAP +replaces = binutils-multilib +conflict = binutils-multilib +provides = libctf.so=0-64 +provides = libgprofng.so=0-64 +provides = libsframe.so=1-64 +backup = etc/gprofng.rc +depend = glibc +depend = jansson +depend = libelf +depend = zlib +depend = zstd +optdepend = debuginfod: for debuginfod server/client functionality +makedepend = git +checkdepend = dejagnu +checkdepend = debuginfod +checkdepend = bc diff --git a/main/binutils/PKGBUILD b/main/binutils/PKGBUILD new file mode 100644 index 00000000..14bad55c --- /dev/null +++ b/main/binutils/PKGBUILD @@ -0,0 +1,129 @@ +# Maintainer: Developer +# Maintainer: Developer + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=binutils +pkgver=%version% +_commit=48942a586ebc056bd059d3f63a5eed3a2fa46ab3 +pkgrel=%release% +pkgdesc='A set of programs to assemble and manipulate binary and object files' +arch=(x86_64) +url='https://www.gnu.org/software/binutils/' +license=(GPL-2.0-or-later GPL-3.0-or-later LGPL-2.0-or-later LGPL-3.0-or-later GFDL-1.3 FSFAP) +depends=(glibc jansson libelf zlib zstd) +makedepends=(git) +checkdepends=(dejagnu debuginfod bc) +optdepends=('debuginfod: for debuginfod server/client functionality') +conflicts=(binutils-multilib) +replaces=(binutils-multilib) +provides=( + libctf.so + libgprofng.so + libsframe.so +) +backup=('etc/gprofng.rc') +options=(staticlibs !distcc !ccache) +source=(git+https://sourceware.org/git/binutils-gdb.git#commit=${_commit} + gold-warn-unsupported.patch) +sha256sums=('SKIP' + '2d430b66f84a19c154725ec535280c493be1d34f1a90f95208dce02fecd0e4e4') +validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) + +prepare() { + [[ ! -d binutils-gdb ]] && ln -s binutils-${pkgver} binutils-gdb + mkdir -p binutils-build + + cd binutils-gdb + + # Turn off development mode (-Werror, gas run-time checks, date in sonames) + sed -i '/^development=/s/true/false/' bfd/development.sh + + # Creds @Fedora + # Change the gold configuration script to only warn about + # unsupported targets. This allows the binutils to be built with + # BPF support enabled. + patch -Np1 -i "${srcdir}"/gold-warn-unsupported.patch +} + +build() { + cd binutils-build + + "${srcdir}"/binutils-gdb/configure \ + --prefix=/usr \ + --sysconfdir="${pkgdir}"/etc \ + --with-lib-path=/usr/lib:/usr/local/lib \ + --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/binutils/-/issues \ + --enable-cet \ + --enable-colored-disassembly \ + --enable-default-execstack=no \ + --enable-deterministic-archives \ + --enable-gold \ + --enable-install-libiberty \ + --enable-jansson \ + --enable-ld=default \ + --enable-new-dtags \ + --enable-pgo-build=lto \ + --enable-plugins \ + --enable-relro \ + --enable-shared \ + --enable-targets=x86_64-pep,bpf-unknown-none \ + --enable-threads \ + --disable-gdb \ + --disable-gdbserver \ + --disable-libdecnumber \ + --disable-readline \ + --disable-sim \ + --disable-werror \ + --with-debuginfod \ + --with-pic \ + --with-system-zlib + + make -O tooldir=/usr + + # Extract the FSF All Permissive License + # + # used for some linker scripts. + tail -n 5 "${srcdir}"/binutils-gdb/ld/scripttempl/README > FSFAP +} + +check() { + cd binutils-build + + # Use minimal flags for testsuite + # ld testsuite uses CFLAGS_FOR_TARGET and requires -g + # gold testsuite requires CXXFLAGS/CFLAGS with default PIE/PIC disabled + make -O CFLAGS_FOR_TARGET="-O2 -g" \ + CXXFLAGS="-O2 -no-pie -fno-PIC" \ + CFLAGS="-O2 -no-pie" \ + LDFLAGS="" \ + check || true +} + +package() { + cd binutils-build + make prefix="${pkgdir}"/usr tooldir="${pkgdir}"/usr install + + # install PIC version of libiberty + install -m644 libiberty/pic/libiberty.a "${pkgdir}"/usr/lib + + # Remove unwanted files + rm -f "${pkgdir}"/usr/share/man/man1/{dlltool,windres,windmc}* + + # No shared linking to these files outside binutils + rm -f "${pkgdir}"/usr/lib/lib{bfd,opcodes}.so + tee "${pkgdir}"/usr/lib/libbfd.so << EOS +/* GNU ld script */ + +INPUT( /usr/lib/libbfd.a -lsframe -liberty -lz -lzstd -ldl ) +EOS + + tee "${pkgdir}"/usr/lib/libopcodes.so << EOS +/* GNU ld script */ + +INPUT( /usr/lib/libopcodes.a -lbfd ) +EOS + + # install FSF All Permissive License + install -Dm644 -t "${pkgdir}"/usr/share/licenses/${pkgname}/ FSFAP +} diff --git a/main/binutils/README b/main/binutils/README new file mode 100644 index 00000000..abb37f07 --- /dev/null +++ b/main/binutils/README @@ -0,0 +1,43 @@ +binutils +________________________________________________________________________________ + +A set of programs to assemble and manipulate binary and object files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S binutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/binutils/ diff --git a/main/binutils/gold-warn-unsupported.patch b/main/binutils/gold-warn-unsupported.patch new file mode 100644 index 00000000..8e00aa3d --- /dev/null +++ b/main/binutils/gold-warn-unsupported.patch @@ -0,0 +1,66 @@ +Only in binutils-2.34/gold: autom4te.cache +diff -rup binutils.orig/gold/configure binutils-2.34/gold/configure +--- binutils.orig/gold/configure 2020-04-20 12:35:13.048297305 +0100 ++++ binutils-2.34/gold/configure 2020-04-20 14:02:06.743725696 +0100 +@@ -5180,7 +5180,8 @@ for targ in $target $canon_targets; do + . ${srcdir}/configure.tgt + + if test "$targ_obj" = "UNKNOWN"; then +- as_fn_error $? "\"unsupported target $targ\"" "$LINENO" 5 ++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"unsupported target $targ\"" >&5 ++$as_echo "$as_me: WARNING: \"unsupported target $targ\"" >&2;} + else + targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" + if test "$targ_extra_obj" != ""; then +diff -rup binutils.orig/gold/configure.ac binutils-2.34/gold/configure.ac +--- binutils.orig/gold/configure.ac 2020-04-20 12:35:13.050297291 +0100 ++++ binutils-2.34/gold/configure.ac 2020-04-20 14:01:46.435868770 +0100 +@@ -181,7 +181,7 @@ for targ in $target $canon_targets; do + . ${srcdir}/configure.tgt + + if test "$targ_obj" = "UNKNOWN"; then +- AC_MSG_ERROR("unsupported target $targ") ++ AC_MSG_WARN("unsupported target $targ") + else + targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" + if test "$targ_extra_obj" != ""; then +--- binutils.orig/ld/configure.tgt 2020-04-20 12:35:12.465301359 +0100 ++++ binutils-2.34/ld/configure.tgt 2020-04-20 14:17:52.123066333 +0100 +@@ -220,7 +220,7 @@ bfin-*-linux-uclibc*) targ_emul=elf32bfi + targ_extra_emuls="elf32bfin" + targ_extra_libpath=$targ_extra_emuls + ;; +-bpf-*-*) targ_emul=elf64bpf ++bpf-* | bpf-*-*) targ_emul=elf64bpf + ;; + cr16-*-elf*) targ_emul=elf32cr16 + ;; +@@ -1026,7 +1026,7 @@ z8k-*-coff) targ_emul=z8002 + targ_extra_ofiles= + ;; + *) +- echo 2>&1 "*** ld does not support target ${targ}" ++ echo 2>&1 "*** ld does not support target '${targ}' NO REALLY" + echo 2>&1 "*** see ld/configure.tgt for supported targets" + exit 1 + +--- binutils.orig/bfd/config.bfd 2020-04-20 12:35:13.038297375 +0100 ++++ binutils-2.34/bfd/config.bfd 2020-04-20 14:25:26.452869193 +0100 +@@ -473,7 +473,7 @@ case "${targ}" in + ;; + + #ifdef BFD64 +- bpf-*-none) ++ bpf-*-none | bpf-*) + targ_defvec=bpf_elf64_le_vec + targ_selvecs=bpf_elf64_be_vec + targ_underscore=yes +@@ -1427,7 +1427,7 @@ case "${targ}" in + ;; + + *) +- echo 1>&2 "*** BFD does not support target ${targ}." ++ echo 1>&2 "*** BFD does not support target '${targ}'. Honest." + echo 1>&2 "*** Look in bfd/config.bfd for supported targets." + exit 1 + ;; diff --git a/main/binutils/version b/main/binutils/version new file mode 100644 index 00000000..0dfa11e3 --- /dev/null +++ b/main/binutils/version @@ -0,0 +1 @@ +2.42+r91+g6224493e457 1 diff --git a/main/bluedevil/.PKGINFO b/main/bluedevil/.PKGINFO new file mode 100644 index 00000000..4efa689d --- /dev/null +++ b/main/bluedevil/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bluedevil +pkgbase = bluedevil +xdata = pkgtype=pkg +pkgver = 1:6.0.4-1 +pkgdesc = Integrate the Bluetooth technology within KDE workspace and applications +url = https://kde.org/plasma-desktop/ +builddate = 1713662593 +packager = Developer +size = 2010272 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +depend = bluez-qt +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kdeclarative +depend = ki18n +depend = kio +depend = kirigami +depend = kjobwidgets +depend = knotifications +depend = kservice +depend = ksvg +depend = kwidgetsaddons +depend = kwindowsystem +depend = libplasma +depend = qt6-base +depend = qt6-declarative +optdepend = bluez-obex: file transfer +optdepend = pulseaudio-bluetooth: to connect to A2DP profile +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/bluedevil/PKGBUILD b/main/bluedevil/PKGBUILD new file mode 100644 index 00000000..07f368a5 --- /dev/null +++ b/main/bluedevil/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bluedevil +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +epoch=1 +pkgdesc='Integrate the Bluetooth technology within KDE workspace and applications' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +depends=(bluez-qt + gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + kdbusaddons + kdeclarative + ki18n + kio + kirigami + kjobwidgets + knotifications + kservice + ksvg + kwidgetsaddons + kwindowsystem + libplasma + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +optdepends=('bluez-obex: file transfer' + 'pulseaudio-bluetooth: to connect to A2DP profile') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('d263be54825a4189d456b01a7ce0bdb4275a1b555e3782b10a8a77d2be93cb24' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/bluedevil/README b/main/bluedevil/README new file mode 100644 index 00000000..28437ec4 --- /dev/null +++ b/main/bluedevil/README @@ -0,0 +1,43 @@ +bluedevil +________________________________________________________________________________ + +Integrate the Bluetooth technology within KDE workspace and applications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bluedevil | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/bluedevil/version b/main/bluedevil/version new file mode 100644 index 00000000..8874fe5d --- /dev/null +++ b/main/bluedevil/version @@ -0,0 +1 @@ +1:6.0.4 1 diff --git a/main/bluez-qt/.PKGINFO b/main/bluez-qt/.PKGINFO new file mode 100644 index 00000000..f75cc7f3 --- /dev/null +++ b/main/bluez-qt/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bluez-qt +pkgbase = bluez-qt +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Qt wrapper for Bluez 5 DBus API +url = https://community.kde.org/Frameworks +builddate = 1718491418 +packager = Developer +size = 2505736 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = bluez +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/bluez-qt/PKGBUILD b/main/bluez-qt/PKGBUILD new file mode 100644 index 00000000..f60c4790 --- /dev/null +++ b/main/bluez-qt/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bluez-qt +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt wrapper for Bluez 5 DBus API' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(bluez + gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('36798f1e7a0a472607435beb2833f6cc77d65cb006decac1ec0b0a3a6f5142eb' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/bluez-qt/README b/main/bluez-qt/README new file mode 100644 index 00000000..7bef8722 --- /dev/null +++ b/main/bluez-qt/README @@ -0,0 +1,43 @@ +bluez-qt +________________________________________________________________________________ + +Qt wrapper for Bluez 5 DBus API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bluez-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/bluez-qt/version b/main/bluez-qt/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/bluez-qt/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/bluez/.PKGINFO b/main/bluez/.PKGINFO new file mode 100644 index 00000000..dbe7a43f --- /dev/null +++ b/main/bluez/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bluez-libs +pkgbase = bluez +xdata = pkgtype=split +pkgver = 5.76-1 +pkgdesc = Deprecated libraries for the bluetooth protocol stack +url = http://www.bluez.org/ +builddate = 1716253036 +packager = Developer +size = 319491 +arch = x86_64 +license = LGPL-2.1-only +provides = libbluetooth.so=3-64 +depend = glibc +makedepend = dbus +makedepend = libical +makedepend = systemd +makedepend = alsa-lib +makedepend = json-c +makedepend = ell +makedepend = python-docutils +makedepend = python-pygments +makedepend = cups diff --git a/main/bluez/.nvchecker.toml b/main/bluez/.nvchecker.toml new file mode 100644 index 00000000..5fca36e2 --- /dev/null +++ b/main/bluez/.nvchecker.toml @@ -0,0 +1,6 @@ +[bluez] +source = "git" +git = "https://git.kernel.org/pub/scm/bluetooth/bluez.git" + +use_max_tag = true +#prefix = "v" diff --git a/main/bluez/0001_use_bt_uhid_functions.patch b/main/bluez/0001_use_bt_uhid_functions.patch new file mode 100644 index 00000000..e5454faf --- /dev/null +++ b/main/bluez/0001_use_bt_uhid_functions.patch @@ -0,0 +1,924 @@ +From 92ed637ab2bc44b812fd8c7bff5b5f41fcc48255 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 8 Mar 2024 17:02:05 -0500 +Subject: [PATCH] shared/uhid: Add dedicated functions for each UHID opcode + +This adds bt_uhid_create which uses UHID_CREATE2 and tracks progress of +when the device is ready to receive events and in the meantime queues +them while waiting for UHID_START and other dedicated functions for each +UHID opcode so users don't need to build each command manually. +--- + src/shared/uhid.c | 212 +++++++++++++++++++++++++++++++++++++++++++++- + src/shared/uhid.h | 13 +++ + 2 files changed, 221 insertions(+), 4 deletions(-) + +diff --git a/src/shared/uhid.c b/src/shared/uhid.c +index 1f15443cd6..46edb3bfa3 100644 +--- a/src/shared/uhid.c ++++ b/src/shared/uhid.c +@@ -26,11 +26,18 @@ + + #define UHID_DEVICE_FILE "/dev/uhid" + ++#ifndef MIN ++#define MIN(x, y) ((x) < (y) ? (x) : (y)) ++#endif ++ + struct bt_uhid { + int ref_count; + struct io *io; + unsigned int notify_id; + struct queue *notify_list; ++ struct queue *input; ++ bool created; ++ bool started; + }; + + struct uhid_notify { +@@ -48,6 +55,9 @@ static void uhid_free(struct bt_uhid *uhid) + if (uhid->notify_list) + queue_destroy(uhid->notify_list, free); + ++ if (uhid->input) ++ queue_destroy(uhid->input, free); ++ + free(uhid); + } + +@@ -215,14 +225,11 @@ bool bt_uhid_unregister_all(struct bt_uhid *uhid) + return true; + } + +-int bt_uhid_send(struct bt_uhid *uhid, const struct uhid_event *ev) ++static int uhid_send(struct bt_uhid *uhid, const struct uhid_event *ev) + { + ssize_t len; + struct iovec iov; + +- if (!uhid->io) +- return -ENOTCONN; +- + iov.iov_base = (void *) ev; + iov.iov_len = sizeof(*ev); + +@@ -233,3 +240,200 @@ int bt_uhid_send(struct bt_uhid *uhid, const struct uhid_event *ev) + /* uHID kernel driver does not handle partial writes */ + return len != sizeof(*ev) ? -EIO : 0; + } ++ ++int bt_uhid_send(struct bt_uhid *uhid, const struct uhid_event *ev) ++{ ++ if (!uhid || !ev) ++ return -EINVAL; ++ ++ if (!uhid->io) ++ return -ENOTCONN; ++ ++ return uhid_send(uhid, ev); ++} ++ ++static bool input_dequeue(const void *data, const void *match_data) ++{ ++ struct uhid_event *ev = (void *)data; ++ struct bt_uhid *uhid = (void *)match_data; ++ ++ return bt_uhid_send(uhid, ev) == 0; ++} ++ ++static void uhid_start(struct uhid_event *ev, void *user_data) ++{ ++ struct bt_uhid *uhid = user_data; ++ ++ uhid->started = true; ++ ++ /* dequeue input events send while UHID_CREATE2 was in progress */ ++ queue_remove_all(uhid->input, input_dequeue, uhid, free); ++} ++ ++int bt_uhid_create(struct bt_uhid *uhid, const char *name, bdaddr_t *src, ++ bdaddr_t *dst, uint32_t vendor, uint32_t product, ++ uint32_t version, uint32_t country, void *rd_data, ++ size_t rd_size) ++{ ++ struct uhid_event ev; ++ int err; ++ ++ if (!uhid || !name || rd_size > sizeof(ev.u.create2.rd_data)) ++ return -EINVAL; ++ ++ if (uhid->created) ++ return 0; ++ ++ memset(&ev, 0, sizeof(ev)); ++ ev.type = UHID_CREATE2; ++ strncpy((char *) ev.u.create2.name, name, ++ sizeof(ev.u.create2.name) - 1); ++ if (src) ++ sprintf((char *)ev.u.create2.phys, ++ "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x", ++ src->b[5], src->b[4], src->b[3], src->b[2], src->b[1], ++ src->b[0]); ++ if (dst) ++ sprintf((char *)ev.u.create2.uniq, ++ "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x", ++ dst->b[5], dst->b[4], dst->b[3], dst->b[2], dst->b[1], ++ dst->b[0]); ++ ev.u.create2.vendor = vendor; ++ ev.u.create2.product = product; ++ ev.u.create2.version = version; ++ ev.u.create2.country = country; ++ ev.u.create2.bus = BUS_BLUETOOTH; ++ if (rd_size) ++ memcpy(ev.u.create2.rd_data, rd_data, rd_size); ++ ev.u.create2.rd_size = rd_size; ++ ++ err = bt_uhid_send(uhid, &ev); ++ if (err) ++ return err; ++ ++ bt_uhid_register(uhid, UHID_START, uhid_start, uhid); ++ ++ uhid->created = true; ++ uhid->started = false; ++ ++ return 0; ++} ++ ++bool bt_uhid_created(struct bt_uhid *uhid) ++{ ++ if (!uhid) ++ return false; ++ ++ return uhid->created; ++} ++ ++bool bt_uhid_started(struct bt_uhid *uhid) ++{ ++ if (!uhid) ++ return false; ++ ++ return uhid->started; ++} ++ ++int bt_uhid_input(struct bt_uhid *uhid, uint8_t number, const void *data, ++ size_t size) ++{ ++ struct uhid_event ev; ++ struct uhid_input2_req *req = &ev.u.input2; ++ size_t len = 0; ++ ++ if (!uhid) ++ return -EINVAL; ++ ++ memset(&ev, 0, sizeof(ev)); ++ ev.type = UHID_INPUT2; ++ ++ if (number) { ++ req->data[len++] = number; ++ req->size = 1 + MIN(size, sizeof(req->data) - 1); ++ } else ++ req->size = MIN(size, sizeof(req->data)); ++ ++ if (data && size) ++ memcpy(&req->data[len], data, req->size - len); ++ ++ /* Queue events if UHID_START has not been received yet */ ++ if (!uhid->started) { ++ if (!uhid->input) ++ uhid->input = queue_new(); ++ ++ queue_push_tail(uhid->input, util_memdup(&ev, sizeof(ev))); ++ return 0; ++ } ++ ++ return bt_uhid_send(uhid, &ev); ++} ++ ++int bt_uhid_set_report_reply(struct bt_uhid *uhid, uint8_t id, uint8_t status) ++{ ++ struct uhid_event ev; ++ struct uhid_set_report_reply_req *rsp = &ev.u.set_report_reply; ++ ++ if (!uhid) ++ return false; ++ ++ memset(&ev, 0, sizeof(ev)); ++ ev.type = UHID_SET_REPORT_REPLY; ++ rsp->id = id; ++ rsp->err = status; ++ ++ return bt_uhid_send(uhid, &ev); ++} ++ ++int bt_uhid_get_report_reply(struct bt_uhid *uhid, uint8_t id, uint8_t number, ++ uint8_t status, const void *data, size_t size) ++{ ++ struct uhid_event ev; ++ struct uhid_get_report_reply_req *rsp = &ev.u.get_report_reply; ++ size_t len = 0; ++ ++ if (!uhid) ++ return false; ++ ++ memset(&ev, 0, sizeof(ev)); ++ ev.type = UHID_GET_REPORT_REPLY; ++ rsp->id = id; ++ rsp->err = status; ++ ++ if (!data || !size) ++ goto done; ++ ++ if (number) { ++ rsp->data[len++] = number; ++ rsp->size += MIN(size, sizeof(rsp->data) - 1); ++ } else ++ rsp->size = MIN(size, sizeof(ev.u.input.data)); ++ ++ memcpy(&rsp->data[len], data, rsp->size - len); ++ ++done: ++ return bt_uhid_send(uhid, &ev); ++} ++ ++int bt_uhid_destroy(struct bt_uhid *uhid) ++{ ++ struct uhid_event ev; ++ int err; ++ ++ if (!uhid) ++ return -EINVAL; ++ ++ if (!uhid->created) ++ return 0; ++ ++ memset(&ev, 0, sizeof(ev)); ++ ev.type = UHID_DESTROY; ++ ++ err = bt_uhid_send(uhid, &ev); ++ if (err < 0) ++ return err; ++ ++ uhid->created = false; ++ ++ return err; ++} +diff --git a/src/shared/uhid.h b/src/shared/uhid.h +index 55ae839f30..d705338827 100644 +--- a/src/shared/uhid.h ++++ b/src/shared/uhid.h +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + struct bt_uhid; + +@@ -29,3 +30,15 @@ bool bt_uhid_unregister(struct bt_uhid *uhid, unsigned int id); + bool bt_uhid_unregister_all(struct bt_uhid *uhid); + + int bt_uhid_send(struct bt_uhid *uhid, const struct uhid_event *ev); ++int bt_uhid_create(struct bt_uhid *uhid, const char *name, bdaddr_t *src, ++ bdaddr_t *dst, uint32_t vendor, uint32_t product, ++ uint32_t version, uint32_t country, void *rd_data, ++ size_t rd_size); ++bool bt_uhid_created(struct bt_uhid *uhid); ++bool bt_uhid_started(struct bt_uhid *uhid); ++int bt_uhid_input(struct bt_uhid *uhid, uint8_t number, const void *data, ++ size_t size); ++int bt_uhid_set_report_reply(struct bt_uhid *uhid, uint8_t id, uint8_t status); ++int bt_uhid_get_report_reply(struct bt_uhid *uhid, uint8_t id, uint8_t number, ++ uint8_t status, const void *data, size_t size); ++int bt_uhid_destroy(struct bt_uhid *uhid); +From 256d0b594d044222975f55e3b2d02990e0f88f87 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 8 Mar 2024 17:04:50 -0500 +Subject: [PATCH] hog-lib: Use bt_uhid functions + +This makes use of bt_uhid function instead of directly submitting +events directly using bt_uhid_send. +--- + profiles/input/hog-lib.c | 168 ++++++--------------------------------- + 1 file changed, 25 insertions(+), 143 deletions(-) + +diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c +index 67492a63e..8071e1364 100644 +--- a/profiles/input/hog-lib.c ++++ b/profiles/input/hog-lib.c +@@ -79,8 +79,6 @@ struct bt_hog { + GSList *reports; + struct bt_uhid *uhid; + int uhid_fd; +- bool uhid_created; +- bool uhid_start; + uint64_t uhid_flags; + uint16_t bcdhid; + uint8_t bcountrycode; +@@ -99,7 +97,6 @@ struct bt_hog { + struct queue *gatt_op; + struct gatt_db *gatt_db; + struct gatt_db_attribute *report_map_attr; +- struct queue *input; + }; + + struct report { +@@ -326,8 +323,6 @@ static void report_value_cb(const guint8 *pdu, guint16 len, gpointer user_data) + { + struct report *report = user_data; + struct bt_hog *hog = report->hog; +- struct uhid_event ev; +- uint8_t *buf; + int err; + + if (len < ATT_NOTIFICATION_HEADER_SIZE) { +@@ -338,40 +333,10 @@ static void report_value_cb(const guint8 *pdu, guint16 len, gpointer user_data) + pdu += ATT_NOTIFICATION_HEADER_SIZE; + len -= ATT_NOTIFICATION_HEADER_SIZE; + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_INPUT; +- buf = ev.u.input.data; +- +- /* BLUETOOTH SPECIFICATION Page 16 of 26 +- * HID Service Specification +- * +- * Report ID shall be nonzero in a Report Reference characteristic +- * descriptor where there is more than one instance of the Report +- * characteristic for any given Report Type. +- */ +- if (report->numbered && report->id) { +- buf[0] = report->id; +- len = MIN(len, sizeof(ev.u.input.data) - 1); +- memcpy(buf + 1, pdu, len); +- ev.u.input.size = ++len; +- } else { +- len = MIN(len, sizeof(ev.u.input.data)); +- memcpy(buf, pdu, len); +- ev.u.input.size = len; +- } +- +- /* If uhid had not sent UHID_START yet queue up the input */ +- if (!hog->uhid_created || !hog->uhid_start) { +- if (!hog->input) +- hog->input = queue_new(); +- +- queue_push_tail(hog->input, util_memdup(&ev, sizeof(ev))); +- return; +- } +- +- err = bt_uhid_send(hog->uhid, &ev); ++ err = bt_uhid_input(hog->uhid, report->numbered ? report->id : 0, pdu, ++ len); + if (err < 0) +- error("bt_uhid_send: %s (%d)", strerror(-err), -err); ++ error("bt_uhid_input: %s (%d)", strerror(-err), -err); + } + + static void report_notify_destroy(void *user_data) +@@ -832,56 +797,32 @@ static void set_numbered(void *data, void *user_data) + } + } + +-static bool input_dequeue(const void *data, const void *match_data) +-{ +- const struct uhid_event *ev = data; +- const struct bt_hog *hog = match_data; +- int err; +- +- err = bt_uhid_send(hog->uhid, ev); +- if (err < 0) { +- error("bt_uhid_send: %s (%d)", strerror(-err), -err); +- return false; +- } +- +- return true; +-} +- + static void start_flags(struct uhid_event *ev, void *user_data) + { + struct bt_hog *hog = user_data; + +- hog->uhid_start = true; + hog->uhid_flags = ev->u.start.dev_flags; + + DBG("uHID device flags: 0x%16" PRIx64, hog->uhid_flags); + + if (hog->uhid_flags) + g_slist_foreach(hog->reports, set_numbered, hog); +- +- queue_remove_all(hog->input, input_dequeue, hog, free); + } + + static void set_report_cb(guint8 status, const guint8 *pdu, + guint16 plen, gpointer user_data) + { + struct bt_hog *hog = user_data; +- struct uhid_event rsp; + int err; + + hog->setrep_att = 0; + +- memset(&rsp, 0, sizeof(rsp)); +- rsp.type = UHID_SET_REPORT_REPLY; +- rsp.u.set_report_reply.id = hog->setrep_id; +- rsp.u.set_report_reply.err = status; +- + if (status != 0) + error("Error setting Report value: %s", att_ecode2str(status)); + +- err = bt_uhid_send(hog->uhid, &rsp); ++ err = bt_uhid_set_report_reply(hog->uhid, hog->setrep_id, status); + if (err < 0) +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_set_report_reply: %s", strerror(-err)); + } + + static void set_report(struct uhid_event *ev, void *user_data) +@@ -937,34 +878,16 @@ static void set_report(struct uhid_event *ev, void *user_data) + } + + static void report_reply(struct bt_hog *hog, uint8_t status, uint8_t id, +- bool numbered, uint16_t len, const uint8_t *data) ++ uint16_t len, const uint8_t *data) + { +- struct uhid_event rsp; + int err; + + hog->getrep_att = 0; + +- memset(&rsp, 0, sizeof(rsp)); +- rsp.type = UHID_GET_REPORT_REPLY; +- rsp.u.get_report_reply.id = hog->getrep_id; +- +- if (status) +- goto done; +- +- if (numbered && len > 0) { +- rsp.u.get_report_reply.size = len + 1; +- rsp.u.get_report_reply.data[0] = id; +- memcpy(&rsp.u.get_report_reply.data[1], data, len); +- } else { +- rsp.u.get_report_reply.size = len; +- memcpy(rsp.u.get_report_reply.data, data, len); +- } +- +-done: +- rsp.u.get_report_reply.err = status; +- err = bt_uhid_send(hog->uhid, &rsp); ++ err = bt_uhid_get_report_reply(hog->uhid, hog->getrep_id, status, id, ++ data, len); + if (err < 0) +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_get_report_reply: %s", strerror(-err)); + } + + static void get_report_cb(guint8 status, const guint8 *pdu, guint16 len, +@@ -994,7 +917,7 @@ static void get_report_cb(guint8 status, const guint8 *pdu, guint16 len, + ++pdu; + + exit: +- report_reply(hog, status, report->id, report->numbered, len, pdu); ++ report_reply(hog, status, report->numbered ? report->id : 0, len, pdu); + } + + static void get_report(struct uhid_event *ev, void *user_data) +@@ -1030,61 +953,33 @@ static void get_report(struct uhid_event *ev, void *user_data) + + fail: + /* reply with an error on failure */ +- report_reply(hog, err, 0, false, 0, NULL); ++ report_reply(hog, err, 0, 0, NULL); + } + + static void uhid_create(struct bt_hog *hog, uint8_t *report_map, + size_t report_map_len) + { + uint8_t *value = report_map; +- struct uhid_event ev; + size_t vlen = report_map_len; +- int i, err; ++ int err; + GError *gerr = NULL; +- +- if (vlen > sizeof(ev.u.create2.rd_data)) { +- error("Report MAP too big: %zu > %zu", vlen, +- sizeof(ev.u.create2.rd_data)); +- return; +- } +- +- /* create uHID device */ +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_CREATE2; ++ bdaddr_t src, dst; + + bt_io_get(g_attrib_get_channel(hog->attrib), &gerr, +- BT_IO_OPT_SOURCE, ev.u.create2.phys, +- BT_IO_OPT_DEST, ev.u.create2.uniq, ++ BT_IO_OPT_SOURCE_BDADDR, &src, ++ BT_IO_OPT_DEST_BDADDR, &dst, + BT_IO_OPT_INVALID); +- + if (gerr) { + error("Failed to connection details: %s", gerr->message); + g_error_free(gerr); + return; + } + +- /* Phys + uniq are the same size (hw address type) */ +- for (i = 0; +- i < (int)sizeof(ev.u.create2.phys) && ev.u.create2.phys[i] != 0; +- ++i) { +- ev.u.create2.phys[i] = tolower(ev.u.create2.phys[i]); +- ev.u.create2.uniq[i] = tolower(ev.u.create2.uniq[i]); +- } +- +- strncpy((char *) ev.u.create2.name, hog->name, +- sizeof(ev.u.create2.name) - 1); +- ev.u.create2.vendor = hog->vendor; +- ev.u.create2.product = hog->product; +- ev.u.create2.version = hog->version; +- ev.u.create2.country = hog->bcountrycode; +- ev.u.create2.bus = BUS_BLUETOOTH; +- ev.u.create2.rd_size = vlen; +- +- memcpy(ev.u.create2.rd_data, value, vlen); +- +- err = bt_uhid_send(hog->uhid, &ev); ++ err = bt_uhid_create(hog->uhid, hog->name, &src, &dst, ++ hog->vendor, hog->product, hog->version, ++ hog->bcountrycode, value, vlen); + if (err < 0) { +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_create: %s", strerror(-err)); + return; + } + +@@ -1093,9 +988,6 @@ static void uhid_create(struct bt_hog *hog, uint8_t *report_map, + bt_uhid_register(hog->uhid, UHID_GET_REPORT, get_report, hog); + bt_uhid_register(hog->uhid, UHID_SET_REPORT, set_report, hog); + +- hog->uhid_created = true; +- hog->uhid_start = false; +- + DBG("HoG created uHID device"); + } + +@@ -1146,7 +1038,8 @@ static void read_report_map(struct bt_hog *hog) + { + uint16_t handle; + +- if (!hog->report_map_attr || hog->uhid_created || hog->report_map_id) ++ if (!hog->report_map_attr || bt_uhid_created(hog->uhid) || ++ hog->report_map_id) + return; + + handle = gatt_db_attribute_get_handle(hog->report_map_attr); +@@ -1312,24 +1205,14 @@ static bool cancel_gatt_req(const void *data, const void *user_data) + static void uhid_destroy(struct bt_hog *hog) + { + int err; +- struct uhid_event ev; +- +- if (!hog->uhid_created) +- return; + + bt_uhid_unregister_all(hog->uhid); + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_DESTROY; +- +- err = bt_uhid_send(hog->uhid, &ev); +- ++ err = bt_uhid_destroy(hog->uhid); + if (err < 0) { +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_destroy: %s", strerror(-err)); + return; + } +- +- hog->uhid_created = false; + } + + static void hog_free(void *data) +@@ -1339,7 +1222,6 @@ static void hog_free(void *data) + bt_hog_detach(hog); + uhid_destroy(hog); + +- queue_destroy(hog->input, free); + queue_destroy(hog->bas, (void *) bt_bas_unref); + g_slist_free_full(hog->instances, hog_free); + +@@ -1810,7 +1692,7 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt) + bt_hog_attach(instance, gatt); + } + +- if (!hog->uhid_created) { ++ if (!bt_uhid_created(hog->uhid)) { + DBG("HoG discovering characteristics"); + if (hog->attr) + gatt_db_service_foreach_char(hog->attr, +@@ -1822,7 +1704,7 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt) + char_discovered_cb, hog); + } + +- if (!hog->uhid_created) ++ if (!bt_uhid_created(hog->uhid)) + return true; + + /* If UHID is already created, set up the report value handlers to +From c0c9e462be465ae3e9458256636f10f4d6acbedb Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 8 Mar 2024 17:06:25 -0500 +Subject: [PATCH] input/device: Use bt_uhid functions + +This makes use of bt_uhid function instead of directly submitting +events directly using bt_uhid_send. + +Fixes: https://github.com/bluez/bluez/issues/771 +--- + profiles/input/device.c | 93 ++++++++++------------------------------- + 1 file changed, 22 insertions(+), 71 deletions(-) + +diff --git a/profiles/input/device.c b/profiles/input/device.c +index 0d32b705b..c4f75c744 100644 +--- a/profiles/input/device.c ++++ b/profiles/input/device.c +@@ -73,7 +73,6 @@ struct input_device { + unsigned int reconnect_timer; + uint32_t reconnect_attempt; + struct bt_uhid *uhid; +- bool uhid_created; + uint8_t report_req_pending; + unsigned int report_req_timer; + uint32_t report_rsp_id; +@@ -215,32 +214,20 @@ static bool uhid_send_get_report_reply(struct input_device *idev, + const uint8_t *data, size_t size, + uint32_t id, uint16_t err) + { +- struct uhid_event ev; + int ret; + + if (data == NULL) + size = 0; + +- if (size > sizeof(ev.u.get_report_reply.data)) +- size = sizeof(ev.u.get_report_reply.data); +- +- if (!idev->uhid_created) { ++ if (!bt_uhid_created(idev->uhid)) { + DBG("HID report (%zu bytes) dropped", size); + return false; + } + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_GET_REPORT_REPLY; +- ev.u.get_report_reply.id = id; +- ev.u.get_report_reply.err = err; +- ev.u.get_report_reply.size = size; +- +- if (size > 0) +- memcpy(ev.u.get_report_reply.data, data, size); +- +- ret = bt_uhid_send(idev->uhid, &ev); ++ ret = bt_uhid_get_report_reply(idev->uhid, id, 0, err, data, size); + if (ret < 0) { +- error("bt_uhid_send: %s (%d)", strerror(-ret), -ret); ++ error("bt_uhid_get_report_reply: %s (%d)", strerror(-ret), ++ -ret); + return false; + } + +@@ -252,20 +239,15 @@ static bool uhid_send_get_report_reply(struct input_device *idev, + static bool uhid_send_set_report_reply(struct input_device *idev, + uint32_t id, uint16_t err) + { +- struct uhid_event ev; + int ret; + +- if (!idev->uhid_created) ++ if (!bt_uhid_created(idev->uhid)) + return false; + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_SET_REPORT_REPLY; +- ev.u.set_report_reply.id = id; +- ev.u.set_report_reply.err = err; +- +- ret = bt_uhid_send(idev->uhid, &ev); ++ ret = bt_uhid_set_report_reply(idev->uhid, id, err); + if (ret < 0) { +- error("bt_uhid_send: %s (%d)", strerror(-ret), -ret); ++ error("bt_uhid_set_report_reply: %s (%d)", strerror(-ret), ++ -ret); + return false; + } + +@@ -275,30 +257,19 @@ static bool uhid_send_set_report_reply(struct input_device *idev, + static bool uhid_send_input_report(struct input_device *idev, + const uint8_t *data, size_t size) + { +- struct uhid_event ev; + int err; + + if (data == NULL) + size = 0; + +- if (size > sizeof(ev.u.input.data)) +- size = sizeof(ev.u.input.data); +- +- if (!idev->uhid_created) { ++ if (!bt_uhid_created(idev->uhid)) { + DBG("HID report (%zu bytes) dropped", size); + return false; + } + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_INPUT; +- ev.u.input.size = size; +- +- if (size > 0) +- memcpy(ev.u.input.data, data, size); +- +- err = bt_uhid_send(idev->uhid, &ev); ++ err = bt_uhid_input(idev->uhid, 0, data, size); + if (err < 0) { +- error("bt_uhid_send: %s (%d)", strerror(-err), -err); ++ error("bt_uhid_input: %s (%d)", strerror(-err), -err); + return false; + } + +@@ -385,7 +356,7 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data + virtual_cable_unplug(idev); + + /* If connection abruptly ended, uhid might be not yet disconnected */ +- if (idev->uhid_created) ++ if (bt_uhid_created(idev->uhid)) + uhid_disconnect(idev); + + return FALSE; +@@ -445,6 +416,7 @@ static void hidp_recv_ctrl_handshake(struct input_device *idev, uint8_t param) + timeout_remove(idev->report_req_timer); + idev->report_req_timer = 0; + } ++ uhid_send_set_report_reply(idev, idev->report_rsp_id, 0); + idev->report_rsp_id = 0; + } + } +@@ -625,7 +597,7 @@ static bool hidp_report_req_timeout(gpointer data) + break; + } + +- DBG("Device %s HIDP %s request timed out", address, req_type_str); ++ error("Device %s HIDP %s request timed out", address, req_type_str); + + idev->report_req_pending = 0; + idev->report_req_timer = 0; +@@ -941,28 +913,15 @@ static int ioctl_disconnect(struct input_device *idev, uint32_t flags) + static int uhid_connadd(struct input_device *idev, struct hidp_connadd_req *req) + { + int err; +- struct uhid_event ev; + +- if (idev->uhid_created) ++ if (bt_uhid_created(idev->uhid)) + return 0; + +- /* create uHID device */ +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_CREATE; +- strncpy((char *) ev.u.create.name, req->name, sizeof(ev.u.create.name)); +- ba2strlc(&idev->src, (char *) ev.u.create.phys); +- ba2strlc(&idev->dst, (char *) ev.u.create.uniq); +- ev.u.create.vendor = req->vendor; +- ev.u.create.product = req->product; +- ev.u.create.version = req->version; +- ev.u.create.country = req->country; +- ev.u.create.bus = BUS_BLUETOOTH; +- ev.u.create.rd_data = req->rd_data; +- ev.u.create.rd_size = req->rd_size; +- +- err = bt_uhid_send(idev->uhid, &ev); ++ err = bt_uhid_create(idev->uhid, req->name, &idev->src, &idev->dst, ++ req->vendor, req->product, req->version, ++ req->country, req->rd_data, req->rd_size); + if (err < 0) { +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_create: %s", strerror(-err)); + return err; + } + +@@ -972,17 +931,14 @@ static int uhid_connadd(struct input_device *idev, struct hidp_connadd_req *req) + bt_uhid_register(idev->uhid, UHID_SET_REPORT, hidp_send_set_report, + idev); + +- idev->uhid_created = true; +- + return err; + } + + static int uhid_disconnect(struct input_device *idev) + { + int err; +- struct uhid_event ev; + +- if (!idev->uhid_created) ++ if (!bt_uhid_created(idev->uhid)) + return 0; + + /* Only destroy the node if virtual cable unplug flag has been set */ +@@ -991,17 +947,12 @@ static int uhid_disconnect(struct input_device *idev) + + bt_uhid_unregister_all(idev->uhid); + +- memset(&ev, 0, sizeof(ev)); +- ev.type = UHID_DESTROY; +- +- err = bt_uhid_send(idev->uhid, &ev); ++ err = bt_uhid_destroy(idev->uhid); + if (err < 0) { +- error("bt_uhid_send: %s", strerror(-err)); ++ error("bt_uhid_destroy: %s", strerror(-err)); + return err; + } + +- idev->uhid_created = false; +- + return err; + } + +From f5fecf037b1ea31612cb0226cc2634994a4671c4 Mon Sep 17 00:00:00 2001 +From: Luiz Augusto von Dentz +Date: Fri, 8 Mar 2024 17:07:27 -0500 +Subject: [PATCH] test-uhid: Test bt_uhid functions + +This tests bt_uhid_create, bt_uhid_input and bt_uhid_destroy instead of +directly submitting UHID_CREATE, UHID_INPUT and UHID_DESTROY. +--- + unit/test-uhid.c | 35 ++++++++++++++++++++++++----------- + 1 file changed, 24 insertions(+), 11 deletions(-) + +diff --git a/unit/test-uhid.c b/unit/test-uhid.c +index 8a8eef855b..516b5441bd 100644 +--- a/unit/test-uhid.c ++++ b/unit/test-uhid.c +@@ -117,8 +117,8 @@ static gboolean send_pdu(gpointer user_data) + + len = write(context->fd, pdu->data, pdu->size); + +- +- util_hexdump('<', pdu->data, len, test_debug, "uHID: "); ++ if (tester_use_debug()) ++ util_hexdump('<', pdu->data, len, test_debug, "uHID: "); + + g_assert_cmpint(len, ==, pdu->size); + +@@ -159,7 +159,8 @@ static gboolean test_handler(GIOChannel *channel, GIOCondition cond, + + g_assert(len > 0); + +- util_hexdump('>', buf, len, test_debug, "uHID: "); ++ if (tester_use_debug()) ++ util_hexdump('>', buf, len, test_debug, "uHID: "); + + g_assert_cmpint(len, ==, pdu->size); + +@@ -228,19 +229,31 @@ static const struct uhid_event ev_feature = { + static void test_client(gconstpointer data) + { + struct context *context = create_context(data); ++ int err; + +- if (g_str_equal(context->data->test_name, "/uhid/command/create")) +- bt_uhid_send(context->uhid, &ev_create); ++ err = bt_uhid_create(context->uhid, "", NULL, NULL, 0, 0, 0, 0, NULL, ++ 0); ++ if (err < 0) ++ tester_test_failed(); + +- if (g_str_equal(context->data->test_name, "/uhid/command/destroy")) +- bt_uhid_send(context->uhid, &ev_destroy); ++ if (g_str_equal(context->data->test_name, "/uhid/command/destroy")) { ++ err = bt_uhid_destroy(context->uhid); ++ if (err < 0) ++ tester_test_failed(); ++ } + + if (g_str_equal(context->data->test_name, +- "/uhid/command/feature_answer")) +- bt_uhid_send(context->uhid, &ev_feature_answer); ++ "/uhid/command/feature_answer")) { ++ err = bt_uhid_send(context->uhid, &ev_feature_answer); ++ if (err < 0) ++ tester_test_failed(); ++ } + +- if (g_str_equal(context->data->test_name, "/uhid/command/input")) +- bt_uhid_send(context->uhid, &ev_input); ++ if (g_str_equal(context->data->test_name, "/uhid/command/input")) { ++ err = bt_uhid_input(context->uhid, 0, NULL, 0); ++ if (err < 0) ++ tester_test_failed(); ++ } + + context_quit(context); + } diff --git a/main/bluez/PKGBUILD b/main/bluez/PKGBUILD new file mode 100644 index 00000000..49f2123d --- /dev/null +++ b/main/bluez/PKGBUILD @@ -0,0 +1,185 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=bluez +pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-deprecated-tools' 'bluez-hid2hci' 'bluez-mesh' 'bluez-obex') +pkgver=%version% +pkgrel=%release% +url="http://www.bluez.org/" +arch=('x86_64') +license=('GPL-2.0-only') +makedepends=('dbus' 'libical' 'systemd' 'alsa-lib' 'json-c' 'ell' 'python-docutils' 'python-pygments' 'cups') +source=(https://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign} + bluetooth.modprobe + 0001_use_bt_uhid_functions.patch) +# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc +sha256sums=('257e9075ce05c70d48c5defd254e78c418416f7584b45f9dddc884ff88e3fc53' + 'SKIP' + '46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4' + '24780fc689dc4041ab0c5713c8f2cb09a7038d4936812310534762592d76e2f8') +validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann + +prepare() { + cd "${pkgname}"-${pkgver} + # fix DualShock 3 connection - #6 + # https://github.com/bluez/bluez/issues/771 + patch -Np1 -i ../0001_use_bt_uhid_functions.patch +} + +build() { + cd "${pkgname}"-${pkgver} + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ + --with-dbusconfdir=/usr/share \ + --enable-btpclient \ + --enable-midi \ + --enable-sixaxis \ + --enable-mesh \ + --enable-hid2hci \ + --enable-experimental \ + --enable-datafiles \ + --enable-library --enable-deprecated # libraries and these tools are deprecated + make + + # fake installation to be seperated into packages + make DESTDIR="${srcdir}/fakeinstall" install + + # add missing tools FS#41132, FS#41687, FS#42716 + for files in `find tools/ -type f -perm -755`; do + filename=$(basename $files) + install -Dm755 "${srcdir}"/"${pkgbase}"-${pkgver}/tools/$filename "${srcdir}/fakeinstall"/usr/bin/$filename + done +} + +_install() { + local src f dir + for src; do + f="${src#fakeinstall/}" + dir="${pkgdir}/${f%/*}" + install -m755 -d "${dir}" + # use copy so a new file is created and fakeroot can track properties such as setuid + cp -av "${src}" "${dir}/" + rm -rf "${src}" + done +} + +check() { + cd "$pkgname"-$pkgver + # fails test-vcp due to lto - https://github.com/bluez/bluez/issues/683 + make check || /bin/true +} + + +package_bluez() { + pkgdesc="Daemons for the bluetooth protocol stack" + depends=('systemd' 'dbus' 'glib2' 'alsa-lib' 'glibc') + backup=(etc/bluetooth/{main,input,network}.conf) + + _install fakeinstall/etc/bluetooth/main.conf + _install fakeinstall/etc/bluetooth/input.conf + _install fakeinstall/etc/bluetooth/network.conf + _install fakeinstall/usr/lib/bluetooth/bluetoothd + _install fakeinstall/usr/lib/systemd/system/bluetooth.service + _install fakeinstall/usr/share/dbus-1/system-services/org.bluez.service + _install fakeinstall/usr/share/dbus-1/system.d/bluetooth.conf + _install fakeinstall/usr/share/man/man8/bluetoothd.8 + + # bluetooth.service wants ConfigurationDirectoryMode=0555 + chmod -v 555 "${pkgdir}"/etc/bluetooth + + # add basic documention + install -dm755 "${pkgdir}"/usr/share/doc/"${pkgbase}"/dbus-apis + cp -a "${pkgbase}"-${pkgver}/doc/*.txt "${pkgdir}"/usr/share/doc/"${pkgbase}"/dbus-apis/ + # fix module loading errors + install -dm755 "${pkgdir}"/usr/lib/modprobe.d + install -Dm644 "${srcdir}"/bluetooth.modprobe "${pkgdir}"/usr/lib/modprobe.d/bluetooth-usb.conf + # load module at system start required by some functions + # https://bugzilla.kernel.org/show_bug.cgi?id=196621 + install -dm755 "$pkgdir"/usr/lib/modules-load.d + echo "crypto_user" > "$pkgdir"/usr/lib/modules-load.d/bluez.conf +} + +package_bluez-utils() { + pkgdesc="Development and debugging utilities for the bluetooth protocol stack" + depends=('dbus' 'systemd-libs' 'glib2' 'glibc' 'readline') + optdepends=('ell: for btpclient') + provides=('bluez-plugins') + replaces=('bluez-plugins') + + _install fakeinstall/usr/bin/{advtest,amptest,avinfo,avtest,bcmfw,bdaddr,bluemoon,bluetoothctl,bluetooth-player,bneptest,btattach,btconfig,btgatt-client,btgatt-server,btinfo,btiotest,btmgmt,btmon,btpclient,btpclientctl,btproxy,btsnoop,check-selftest,cltest,create-image,eddystone,gatt-service,hcieventmask,hcisecfilter,hex2hcd,hid2hci,hwdb,ibeacon,isotest,l2ping,l2test,mcaptest,mpris-proxy,nokfw,oobtest,rctest,rtlfw,scotest,seq2bseq,test-runner} + _install fakeinstall/usr/share/man/man1/bluetoothctl*.1 + _install fakeinstall/usr/share/man/man1/{btattach,btmgmt,btmon,isotest,l2ping,rctest}.1 + _install fakeinstall/usr/share/man/man5/org.bluez.{A,B,D,G,I,L,M,N,P}*.5 + _install fakeinstall/usr/share/zsh/site-functions/_bluetoothctl +} + +package_bluez-deprecated-tools() { + pkgdesc="Deprecated tools that are no longer maintained" + depends=('json-c' 'systemd-libs' 'glib2' 'dbus' 'readline' 'glibc') + + _install fakeinstall/usr/bin/{ciptool,hciattach,hciconfig,hcidump,hcitool,meshctl,rfcomm,sdptool} + _install fakeinstall/usr/share/man/man1/{ciptool,hciattach,hciconfig,hcidump,hcitool,rfcomm,sdptool}.1 +} + +package_bluez-libs() { + pkgdesc="Deprecated libraries for the bluetooth protocol stack" + depends=('glibc') + provides=('libbluetooth.so') + license=('LGPL-2.1-only') + + _install fakeinstall/usr/include/bluetooth/* + _install fakeinstall/usr/lib/libbluetooth.so* + _install fakeinstall/usr/lib/pkgconfig/* +} + +package_bluez-cups() { + pkgdesc="CUPS printer backend for Bluetooth printers" + depends=('cups' 'glib2' 'glibc' 'dbus') + + _install fakeinstall/usr/lib/cups/backend/bluetooth +} + +package_bluez-hid2hci() { + pkgdesc="Put HID proxying bluetooth HCI's into HCI mode" + depends=('systemd-libs' 'glibc') + + _install fakeinstall/usr/lib/udev/* + _install fakeinstall/usr/share/man/man1/hid2hci.1 +} + +package_bluez-mesh() { + pkgdesc="Services for bluetooth mesh" + depends=('systemd' 'json-c' 'readline' 'glibc') + backup=('etc/bluetooth/mesh-main.conf') + + _install fakeinstall/etc/bluetooth/mesh-main.conf + _install fakeinstall/usr/bin/{mesh-cfgclient,mesh-cfgtest} + _install fakeinstall/usr/lib/bluetooth/bluetooth-meshd + _install fakeinstall/usr/lib/systemd/system/bluetooth-mesh.service + _install fakeinstall/usr/share/dbus-1/system-services/org.bluez.mesh.service + _install fakeinstall/usr/share/dbus-1/system.d/bluetooth-mesh.conf + _install fakeinstall/usr/share/man/man8/bluetooth-meshd.8 + + # bluetooth.service wants ConfigurationDirectoryMode=0555 + chmod -v 555 "${pkgdir}"/etc/bluetooth +} + +package_bluez-obex() { + pkgdesc="Object Exchange daemon for sharing content" + depends=('systemd' 'glib2' 'libical' 'dbus' 'readline' 'glibc') + + _install fakeinstall/usr/bin/{obexctl,obex-client-tool,obex-server-tool} + _install fakeinstall/usr/lib/bluetooth/obexd + _install fakeinstall/usr/lib/systemd/user/obex.service + _install fakeinstall/usr/share/dbus-1/services/org.bluez.obex.service + _install fakeinstall/usr/lib/systemd/user/dbus-org.bluez.obex.service + _install fakeinstall/usr/share/man/man5/org.bluez.obex*.5 + + # make sure there are no files left to install + rm fakeinstall/usr/lib/libbluetooth.la + find fakeinstall -depth -print0 | xargs -0 rmdir +} diff --git a/main/bluez/README b/main/bluez/README new file mode 100644 index 00000000..76a6132d --- /dev/null +++ b/main/bluez/README @@ -0,0 +1,43 @@ +bluez +________________________________________________________________________________ + +Daemons for the bluetooth protocol stack Development and debugging utilities for the bluetooth protocol stack Deprecated libraries for the bluetooth protocol stack CUPS printer backend for Bluetooth printers Deprecated tools that are no longer maintained Put HID proxying bluetooth HCI's into HCI mode Services for bluetooth mesh Object Exchange daemon for sharing content + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bluez | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.bluez.org/ diff --git a/main/bluez/bluetooth.modprobe b/main/bluez/bluetooth.modprobe new file mode 100644 index 00000000..3072d788 --- /dev/null +++ b/main/bluez/bluetooth.modprobe @@ -0,0 +1,3 @@ +# use "reset=1" as default, since it should be safe for recent devices and +# solves all kind of problems. +options btusb reset=1 diff --git a/main/bluez/version b/main/bluez/version new file mode 100644 index 00000000..54a090e5 --- /dev/null +++ b/main/bluez/version @@ -0,0 +1 @@ +5.76 1 diff --git a/main/bolt/.PKGINFO b/main/bolt/.PKGINFO new file mode 100644 index 00000000..9e3c7d2f --- /dev/null +++ b/main/bolt/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = bolt +pkgbase = bolt +xdata = pkgtype=pkg +pkgver = 0.9.8-1 +pkgdesc = Thunderbolt 3 device manager +url = https://gitlab.freedesktop.org/bolt/bolt +builddate = 1718491420 +packager = Developer +size = 453258 +arch = x86_64 +license = LGPL-2.1-or-later +depend = polkit +depend = systemd +makedepend = asciidoc +makedepend = meson +makedepend = python-setuptools +makedepend = patch +checkdepend = umockdev diff --git a/main/bolt/.nvchecker.toml b/main/bolt/.nvchecker.toml new file mode 100644 index 00000000..903ae52f --- /dev/null +++ b/main/bolt/.nvchecker.toml @@ -0,0 +1,4 @@ +[bolt] +source = "git" +git = "https://gitlab.freedesktop.org/bolt/bolt.git" +use_max_tag = true diff --git a/main/bolt/PKGBUILD b/main/bolt/PKGBUILD new file mode 100644 index 00000000..b5e9a7d0 --- /dev/null +++ b/main/bolt/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=bolt +pkgver=%version% +pkgrel=%release% +pkgdesc="Thunderbolt 3 device manager" +arch=('x86_64') +url="https://gitlab.freedesktop.org/bolt/bolt" +license=('LGPL-2.1-or-later') +depends=('polkit' 'systemd') +makedepends=('asciidoc' 'meson' 'python-setuptools' 'patch') +checkdepends=('umockdev') +source=(https://gitlab.freedesktop.org/$pkgname/$pkgname/-/archive/$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('593c7e7d0ecebd7b9e2c3efabe33f8fec5501ff02ffd6d8563cfc14a91c31c1c') + +build() { + cd $pkgname-$pkgver + + arch-meson ../build + meson compile -v -C ../build +} + +check() { + cd $pkgname-$pkgver + + meson test -C ../build --print-errorlogs +} + +package() { + cd $pkgname-$pkgver + + meson install -C ../build --destdir "${pkgdir}" +} diff --git a/main/bolt/README b/main/bolt/README new file mode 100644 index 00000000..d0f9383d --- /dev/null +++ b/main/bolt/README @@ -0,0 +1,43 @@ +bolt +________________________________________________________________________________ + +Thunderbolt 3 device manager + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bolt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/bolt/bolt diff --git a/main/bolt/version b/main/bolt/version new file mode 100644 index 00000000..071d54e8 --- /dev/null +++ b/main/bolt/version @@ -0,0 +1 @@ +0.9.8 1 diff --git a/main/boost/.PKGINFO b/main/boost/.PKGINFO new file mode 100644 index 00000000..18190c89 --- /dev/null +++ b/main/boost/.PKGINFO @@ -0,0 +1,68 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = boost-libs +pkgbase = boost +xdata = pkgtype=split +pkgver = 1.83.0-8 +pkgdesc = Free peer-reviewed portable C++ source libraries (runtime libraries) +url = https://www.boost.org/ +builddate = 1716253041 +packager = Developer +size = 8492783 +arch = x86_64 +license = custom +provides = libboost_atomic.so=1.83.0-64 +provides = libboost_chrono.so=1.83.0-64 +provides = libboost_container.so=1.83.0-64 +provides = libboost_context.so=1.83.0-64 +provides = libboost_contract.so=1.83.0-64 +provides = libboost_coroutine.so=1.83.0-64 +provides = libboost_date_time.so=1.83.0-64 +provides = libboost_fiber.so=1.83.0-64 +provides = libboost_filesystem.so=1.83.0-64 +provides = libboost_graph.so=1.83.0-64 +provides = libboost_graph_parallel.so=1.83.0-64 +provides = libboost_iostreams.so=1.83.0-64 +provides = libboost_json.so=1.83.0-64 +provides = libboost_locale.so=1.83.0-64 +provides = libboost_log.so=1.83.0-64 +provides = libboost_log_setup.so=1.83.0-64 +provides = libboost_math_c99.so=1.83.0-64 +provides = libboost_math_c99f.so=1.83.0-64 +provides = libboost_math_c99l.so=1.83.0-64 +provides = libboost_math_tr1.so=1.83.0-64 +provides = libboost_math_tr1f.so=1.83.0-64 +provides = libboost_math_tr1l.so=1.83.0-64 +provides = libboost_mpi.so=1.83.0-64 +provides = libboost_mpi_python312.so=1.83.0-64 +provides = libboost_nowide.so=1.83.0-64 +provides = libboost_numpy312.so=1.83.0-64 +provides = libboost_prg_exec_monitor.so=1.83.0-64 +provides = libboost_program_options.so=1.83.0-64 +provides = libboost_python312.so=1.83.0-64 +provides = libboost_random.so=1.83.0-64 +provides = libboost_regex.so=1.83.0-64 +provides = libboost_serialization.so=1.83.0-64 +provides = libboost_stacktrace_addr2line.so=1.83.0-64 +provides = libboost_stacktrace_basic.so=1.83.0-64 +provides = libboost_stacktrace_noop.so=1.83.0-64 +provides = libboost_system.so=1.83.0-64 +provides = libboost_thread.so=1.83.0-64 +provides = libboost_timer.so=1.83.0-64 +provides = libboost_type_erasure.so=1.83.0-64 +provides = libboost_unit_test_framework.so=1.83.0-64 +provides = libboost_url.so=1.83.0-64 +provides = libboost_wave.so=1.83.0-64 +provides = libboost_wserialization.so=1.83.0-64 +depend = bzip2 +depend = zlib +depend = icu +depend = zstd +optdepend = openmpi: for mpi support +makedepend = icu +makedepend = python +makedepend = python-numpy +makedepend = bzip2 +makedepend = zlib +makedepend = openmpi +makedepend = zstd diff --git a/main/boost/PKGBUILD b/main/boost/PKGBUILD new file mode 100644 index 00000000..1f216fff --- /dev/null +++ b/main/boost/PKGBUILD @@ -0,0 +1,134 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=('boost' 'boost-libs') +pkgver=%version% +pkgrel=%release% +_srcname=boost_${pkgver//./_} +pkgdesc="Free peer-reviewed portable C++ source libraries" +arch=('x86_64') +url="https://www.boost.org/" +license=('custom') +makedepends=('icu' 'python' 'python-numpy' 'bzip2' 'zlib' 'openmpi' 'zstd') +source=(https://boostorg.jfrog.io/artifactory/main/release/$pkgver/source/$_srcname.tar.bz2 + boost-1.81.0-phoenix-multiple-definitions.patch + $pkgname-support-fn.contains-f-where-f-is-a-function.patch::https://github.com/boostorg/function/commit/7ca2310b15e3.patch + $pkgname-ublas-c++20-iterator.patch::https://github.com/boostorg/ublas/commit/a31e5cffa85f.patch) +sha256sums=('6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' + '3ebf428ef6be090a7b56a233330375539ac429333b83708e28fe5db049cfecdb' + '1b5998ee8fb389dd6df55a3684d29ffa37246bc007e8e6712bf2be6c7f745036' + 'aa38addb40d5f44b4a8472029b475e7e6aef1c460509eb7d8edf03491dc1b5ee') + +prepare() { + cd $_srcname + + # https://github.com/boostorg/phoenix/issues/111 + patch -Np1 -i ../boost-1.81.0-phoenix-multiple-definitions.patch + + # https://github.com/boostorg/signals2/issues/68 + # https://github.com/boostorg/function/issues/46 + patch -Np2 -i <(sed 's#test/#asd/libs/function/test/#' \ + ../$pkgname-support-fn.contains-f-where-f-is-a-function.patch) + + # https://github.com/boostorg/ublas/pull/97 + patch -Np2 -i ../$pkgname-ublas-c++20-iterator.patch +} + +build() { + local JOBS="$(sed 's/.*\(-j *[0-9]\+\).*/\1/' <<<$MAKEFLAGS)" + local python_version=$( + python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + + pushd $_srcname/tools/build + ./bootstrap.sh --cxxflags="$CXXFLAGS $LDFLAGS" + ./b2 install --prefix="$srcdir"/fakeinstall + ln -s b2 "$srcdir"/fakeinstall/bin/bjam + popd + + cd $_srcname + ./bootstrap.sh --with-toolset=gcc --with-icu --with-python=python3 + + # support for OpenMPI + echo "using mpi ;" >>project-config.jam + + # boostbook is needed by quickbook + install -dm755 "$srcdir"/fakeinstall/share/boostbook + cp -a tools/boostbook/{xsl,dtd} "$srcdir"/fakeinstall/share/boostbook/ + + # install to $srcdir/fakeinstall in preparation for split packaging + ./b2 install \ + variant=release \ + debug-symbols=off \ + threading=multi \ + runtime-link=shared \ + link=shared,static \ + toolset=gcc \ + python=$python_version \ + cflags="$CPPFLAGS $CFLAGS -fPIC -O3 -ffat-lto-objects" \ + cxxflags="$CPPFLAGS $CXXFLAGS -fPIC -O3 -ffat-lto-objects" \ + linkflags="$LDFLAGS" \ + --layout=system \ + $JOBS \ + \ + --prefix="$srcdir"/fakeinstall +} + +package_boost() { + local python_version=$( + python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + + pkgdesc+=' (development headers)' + depends=("boost-libs=$pkgver") + optdepends=('python: for python bindings') + options=('staticlibs') + + install -d "$pkgdir"/usr/lib + cp -a fakeinstall/lib/*.{a,so} "$pkgdir"/usr/lib/ + cp -a fakeinstall/lib/cmake "$pkgdir"/usr/lib/ + cp -a fakeinstall/{bin,include,share} "$pkgdir"/usr/ + + # https://github.com/boostorg/python/issues/203#issuecomment-391477685 + for _lib in python numpy; do + ln -srL "$pkgdir"/usr/lib/libboost_${_lib}{${python_version/.},${python_version%.*}}.so + done + + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" $_srcname/LICENSE_1_0.txt +} + +package_boost-libs() { + local python_version=$( + python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + + pkgdesc+=' (runtime libraries)' + depends=('bzip2' 'zlib' 'icu' 'zstd') + optdepends=('openmpi: for mpi support') + provides=(libboost_atomic.so libboost_chrono.so libboost_container.so + libboost_context.so libboost_contract.so libboost_coroutine.so + libboost_date_time.so libboost_fiber.so libboost_filesystem.so + libboost_graph.so libboost_graph_parallel.so libboost_iostreams.so + libboost_json.so libboost_locale.so libboost_log.so libboost_log_setup.so + libboost_math_c99.so libboost_math_c99f.so libboost_math_c99l.so + libboost_math_tr1.so libboost_math_tr1f.so libboost_math_tr1l.so + libboost_mpi{,_python${python_version/.}}.so libboost_nowide.so + libboost_numpy${python_version/.}.so libboost_prg_exec_monitor.so + libboost_program_options.so libboost_python${python_version/.}.so + libboost_random.so libboost_regex.so libboost_serialization.so + libboost_stacktrace_addr2line.so libboost_stacktrace_basic.so + libboost_stacktrace_noop.so libboost_system.so libboost_thread.so + libboost_timer.so libboost_type_erasure.so libboost_unit_test_framework.so + libboost_url.so libboost_wave.so libboost_wserialization.so) + + install -dm755 "$pkgdir"/usr/lib + cp -a fakeinstall/lib/*.so.* "$pkgdir"/usr/lib/ + + # https://github.com/boostorg/mpi/issues/112 + local site_packages=$(python -c 'import site; print(site.getsitepackages()[0])') + install -d "$pkgdir"$site_packages/boost + touch "$pkgdir"$site_packages/boost/__init__.py + python -m compileall -o 0 -o 1 -o 2 "$pkgdir"$site_packages/boost + cp fakeinstall/lib/boost-python*/mpi.so "$pkgdir"$site_packages/boost/mpi.so + + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" $_srcname/LICENSE_1_0.txt +} + +# vim:set ts=2 sw=2 et: diff --git a/main/boost/README b/main/boost/README new file mode 100644 index 00000000..649351a8 --- /dev/null +++ b/main/boost/README @@ -0,0 +1,43 @@ +boost +________________________________________________________________________________ + +Free peer-reviewed portable C++ source libraries Free peer-reviewed portable C++ source libraries (development headers) Free peer-reviewed portable C++ source libraries (runtime libraries) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S boost | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.boost.org/ diff --git a/main/boost/boost-1.81.0-phoenix-multiple-definitions.patch b/main/boost/boost-1.81.0-phoenix-multiple-definitions.patch new file mode 100644 index 00000000..0aedde6d --- /dev/null +++ b/main/boost/boost-1.81.0-phoenix-multiple-definitions.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/887041 +https://github.com/boostorg/phoenix/issues/111 +--- a/boost/phoenix/stl.hpp ++++ b/boost/phoenix/stl.hpp +@@ -11,6 +11,5 @@ + + #include + #include +-#include + + #endif diff --git a/main/boost/version b/main/boost/version new file mode 100644 index 00000000..3639f7ad --- /dev/null +++ b/main/boost/version @@ -0,0 +1 @@ +1.83.0 8 diff --git a/main/breeze-gtk/.PKGINFO b/main/breeze-gtk/.PKGINFO new file mode 100644 index 00000000..40034658 --- /dev/null +++ b/main/breeze-gtk/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = breeze-gtk +pkgbase = breeze-gtk +xdata = pkgtype=pkg +pkgver = 6.0.4.1-1 +pkgdesc = Breeze widget theme for GTK 2 and 3 +url = https://kde.org/plasma-desktop/ +builddate = 1713662616 +packager = Developer +size = 1213035 +arch = any +license = LGPL-2.0-or-later +group = plasma +makedepend = breeze +makedepend = extra-cmake-modules +makedepend = python-cairo +makedepend = sassc diff --git a/main/breeze-gtk/PKGBUILD b/main/breeze-gtk/PKGBUILD new file mode 100644 index 00000000..2a83fcf7 --- /dev/null +++ b/main/breeze-gtk/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=breeze-gtk +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Breeze widget theme for GTK 2 and 3' +arch=(any) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=() +makedepends=(breeze + extra-cmake-modules + python-cairo + sassc) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('b7c130dc6b2743aad3908d54b0baf2a7b7fe717d5265f7605041eb37d410ea36' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build(){ + cmake -B build -S $pkgname-$pkgver + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/breeze-gtk/README b/main/breeze-gtk/README new file mode 100644 index 00000000..2272e06c --- /dev/null +++ b/main/breeze-gtk/README @@ -0,0 +1,43 @@ +breeze-gtk +________________________________________________________________________________ + +Breeze widget theme for GTK 2 and 3 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S breeze-gtk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/breeze-gtk/version b/main/breeze-gtk/version new file mode 100644 index 00000000..62f2f9b4 --- /dev/null +++ b/main/breeze-gtk/version @@ -0,0 +1 @@ +6.0.4.1 1 diff --git a/main/breeze-icons/.PKGINFO b/main/breeze-icons/.PKGINFO new file mode 100644 index 00000000..5c6bf5e4 --- /dev/null +++ b/main/breeze-icons/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = breeze-icons +pkgbase = breeze-icons +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Breeze icon theme +url = https://community.kde.org/Frameworks +builddate = 1718491421 +packager = Developer +size = 77288327 +arch = x86_64 +license = GPL-3.0-or-later +license = LGPL-2.1-only +group = kf6 +depend = glibc +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = python-lxml diff --git a/main/breeze-icons/PKGBUILD b/main/breeze-icons/PKGBUILD new file mode 100644 index 00000000..98f862c3 --- /dev/null +++ b/main/breeze-icons/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=breeze-icons +pkgver=%version% +pkgrel=%release% +pkgdesc='Breeze icon theme' +arch=(any) +url='https://community.kde.org/Frameworks' +license=(LGPL) +makedepends=(extra-cmake-modules + python-lxml + qt6-base) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('473e9851e4f84a64f1e808d58fd8760219a1b08feaf4b514a1399c8e5c889dc4' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBINARY_ICONS_RESOURCE=ON \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/breeze-icons/README b/main/breeze-icons/README new file mode 100644 index 00000000..c6dcc34d --- /dev/null +++ b/main/breeze-icons/README @@ -0,0 +1,43 @@ +breeze-icons +________________________________________________________________________________ + +Breeze icon theme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S breeze-icons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/breeze-icons/version b/main/breeze-icons/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/breeze-icons/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/brltty/.PKGINFO b/main/brltty/.PKGINFO new file mode 100644 index 00000000..c7f3b616 --- /dev/null +++ b/main/brltty/.PKGINFO @@ -0,0 +1,86 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = brltty +pkgbase = brltty +xdata = pkgtype=split +pkgver = 6.6-8 +pkgdesc = Braille display driver for Linux/Unix +url = https://brltty.app +builddate = 1716253048 +packager = Developer +size = 9722349 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libbrlapi.so=0.8-64 +backup = etc/brltty.conf +backup = etc/X11/xinit/xinitrc.d/90xbrlapi +depend = alsa-lib +depend = libasound.so=2-64 +depend = bluez-libs +depend = dbus +depend = libdbus-1.so=3-64 +depend = expat +depend = libexpat.so=1-64 +depend = glib2 +depend = libgio-2.0.so=0-64 +depend = libglib-2.0.so=0-64 +depend = libgobject-2.0.so=0-64 +depend = glibc +depend = gpm +depend = libgpm.so=2-64 +depend = icu +depend = libicuuc.so=75-64 +depend = libcap +depend = liblouis +depend = libspeechd +depend = ncurses +depend = libncursesw.so=6-64 +depend = pcre2 +depend = polkit +depend = systemd-libs +depend = libsystemd.so=0-64 +optdepend = at-spi2-core: X11/GNOME Apps accessibility +optdepend = atk: ATK bridge for X11/GNOME accessibility +optdepend = brltty-udev-generic: for initializing brltty with generic USB devices +optdepend = espeak-ng: espeak-ng driver +optdepend = java-runtime: Java support +optdepend = libxaw: X11 support +optdepend = libxt: X11 support +optdepend = libx11: for xbrlapi +optdepend = libxfixes: for xbrlapi +optdepend = libxtst: for xbrlapi +optdepend = ocaml: OCaml support +optdepend = python: Python support +optdepend = speech-dispatcher: speech-dispatcher driver +optdepend = tcl: tcl support +makedepend = alsa-lib +makedepend = at-spi2-atk +makedepend = at-spi2-core +makedepend = atk +makedepend = bluez-libs +makedepend = cython0 +makedepend = dbus +makedepend = dracut +makedepend = espeak-ng +makedepend = expat +makedepend = festival +makedepend = gcc-libs +makedepend = glibc +makedepend = glib2 +makedepend = gpm +makedepend = icu +makedepend = java-environment +makedepend = libcap +makedepend = liblouis +makedepend = libspeechd +makedepend = libxaw +makedepend = ncurses +makedepend = ocaml-ctypes +makedepend = ocaml-findlib +makedepend = pcre2 +makedepend = polkit +makedepend = python-setuptools +makedepend = speech-dispatcher +makedepend = strip-nondeterminism +makedepend = systemd-libs +makedepend = tcl diff --git a/main/brltty/PKGBUILD b/main/brltty/PKGBUILD new file mode 100644 index 00000000..fcf8a8e7 --- /dev/null +++ b/main/brltty/PKGBUILD @@ -0,0 +1,147 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=brltty +pkgname=(brltty brltty-udev-generic) +pkgver=%version% +pkgrel=%release% +pkgdesc="Braille display driver for Linux/Unix" +arch=(x86_64) +url="https://brltty.app" +license=(LGPL-2.1-or-later) +makedepends=( + alsa-lib + at-spi2-atk + at-spi2-core + atk + bluez-libs + cython0 + dbus + dracut + espeak-ng + expat + festival + gcc-libs + glibc + glib2 + gpm + icu + java-environment + libcap + liblouis + libspeechd + libxaw + ncurses + ocaml-ctypes + ocaml-findlib + pcre2 + polkit + python-setuptools + speech-dispatcher + strip-nondeterminism + systemd-libs + tcl +) +options=(!emptydirs) +source=( + https://brltty.app/archive/$pkgname-$pkgver.tar.bz2 + $pkgname-6.2-systemd_sysusers_groups.patch + $pkgname-6.4-x11_autostart.patch +) +sha512sums=('a253efe9b53c97e670bb6dc5041a007944b220d88393a6df825ac95f3e0857ce3ba940b67b9723a03e18cdc962092ce937f38bdbf28816eceda168242c3682fd' + '32ba91271e2247b4a330cd213ed75b591268cb99a79c2efd9ae675804faee027c6b2f782768cb2329a65fc914ca2400b2901f35ce1fc2522c6691b343799eb02' + '4871512affefbc178f4204a1b285fc2b5a05ea2d181163195d695b760e9729b3d2d00b5f052abd71379df609c3859d7cbd64128bdefd16e898bbc4368500a9a0') +b2sums=('28e2593aac014f67f09d4e77c0e63f591c5bc1537ecc292370ac9f51689b722f6f4064cc8e185ba9bf0bbfbd28d3097be15e587ca35ea2018eab9538fdf8da7a' + '036e36d558594bb06af1eb41ff5fc9ae52ccf4bad54556c3f4f81a5e2f31f574039835e5e756455527c327a73d563a3db54a9f32e3478545a2a22c2725aaeee2' + '4ebc07a725ef8362233a83118e93901e78943e8dae08f9358b668ff13ab88a65eb9e87c49d106a8c3d87eb62007b230e199107eacb01f92dc683335076c01309') + +prepare() { + cd $pkgbase-$pkgver + patch -Np1 -i ../$pkgbase-6.2-systemd_sysusers_groups.patch + patch -Np1 -i ../$pkgbase-6.4-x11_autostart.patch + ./autogen +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --libexecdir=/usr/lib + --localstatedir=/var + --mandir=/usr/share/man + --with-scripts-directory=/usr/lib/brltty + --with-tables-directory=/usr/share/brltty + --with-writable-directory=/run/brltty + --enable-gpm + --disable-stripping + ) + # fat-lto-objects is required for non-mangled static libs + CFLAGS+=" -ffat-lto-objects" + + cd $pkgbase-$pkgver + ./configure "${configure_options[@]}" + make -j1 + # make brlapi.jar deterministic + find . -type f -iname "*.jar" -exec strip-nondeterminism {} \; +} + +package_brltty() { + depends=( + alsa-lib libasound.so + bluez-libs + dbus libdbus-1.so + expat libexpat.so + glib2 libgio-2.0.so libglib-2.0.so libgobject-2.0.so + glibc + gpm libgpm.so + icu libicuuc.so + libcap + liblouis + libspeechd + ncurses libncursesw.so + pcre2 + polkit + systemd-libs libsystemd.so + ) + optdepends=( + 'at-spi2-core: X11/GNOME Apps accessibility' + 'atk: ATK bridge for X11/GNOME accessibility' + 'brltty-udev-generic: for initializing brltty with generic USB devices' + 'espeak-ng: espeak-ng driver' + 'java-runtime: Java support' + 'libxaw: X11 support' + 'libxt: X11 support' + 'libx11: for xbrlapi' + 'libxfixes: for xbrlapi' + 'libxtst: for xbrlapi' + 'ocaml: OCaml support' + 'python: Python support' + 'speech-dispatcher: speech-dispatcher driver' + 'tcl: tcl support' + ) + provides=(libbrlapi.so) + backup=( + etc/brltty.conf + etc/X11/xinit/xinitrc.d/90xbrlapi + ) + install=brltty.install + + cd $pkgbase-$pkgver + # installation does not work reliably with many cores, so set jobs to 1 + make -j1 INSTALL_ROOT="$pkgdir" install + make -j1 INSTALL_ROOT="$pkgdir" install-systemd + make -j1 INSTALL_ROOT="$pkgdir" install-udev + make -j1 INSTALL_ROOT="$pkgdir" install-dracut + make -j1 INSTALL_ROOT="$pkgdir" install-polkit + install -vDm 644 Documents/$pkgbase.conf -t "$pkgdir/etc/" + + # move generic udev rule, as it applies too broadly + mv -v "$pkgdir/usr/lib/udev/rules.d/90-brltty-usb-generic.rules" ../ +} + +package_brltty-udev-generic() { + pkgdesc="Generic udev rules for brltty" + depends=(brltty) + + install -vDm 644 90-brltty-usb-generic.rules -t "$pkgdir/usr/lib/udev/rules.d/" +} diff --git a/main/brltty/README b/main/brltty/README new file mode 100644 index 00000000..c3a2f3e2 --- /dev/null +++ b/main/brltty/README @@ -0,0 +1,43 @@ +brltty +________________________________________________________________________________ + +Braille display driver for Linux/Unix Generic udev rules for brltty + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S brltty | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://brltty.app diff --git a/main/brltty/brltty-6.2-systemd_sysusers_groups.patch b/main/brltty/brltty-6.2-systemd_sysusers_groups.patch new file mode 100644 index 00000000..13430fba --- /dev/null +++ b/main/brltty/brltty-6.2-systemd_sysusers_groups.patch @@ -0,0 +1,46 @@ +diff -ruN a/Autostart/Systemd/brltty@.service.in b/Autostart/Systemd/brltty@.service.in +--- a/Autostart/Systemd/brltty@.service.in 2020-12-11 23:51:58.000000000 +0100 ++++ b/Autostart/Systemd/brltty@.service.in 2021-01-20 23:57:46.159394660 +0100 +@@ -83,8 +83,8 @@ + + # for serial I/O (/dev/ttyS) + # probably only one of these should be uncommented +-SupplementaryGroups=dialout +-#SupplementaryGroups=uucp ++# SupplementaryGroups=dialout ++SupplementaryGroups=uucp + + # for USB I/o via USBFS (/dev/bus/usb/*/*) + SupplementaryGroups=root +@@ -93,7 +93,7 @@ + SupplementaryGroups=audio + + # for playing sound via the Pulse Audio daemon +-SupplementaryGroups=pulse-access ++# SupplementaryGroups=pulse-access + + # for monitoring keyboard input (/dev/input/*) + SupplementaryGroups=input +diff -ruN a/Autostart/Systemd/sysusers b/Autostart/Systemd/sysusers +--- a/Autostart/Systemd/sysusers 2020-11-29 13:35:32.000000000 +0100 ++++ b/Autostart/Systemd/sysusers 2021-01-20 23:58:58.186157113 +0100 +@@ -30,8 +30,8 @@ + + # for serial I/O (/dev/ttyS) + # probably only one of these should be uncommented +-m brltty dialout +-#m brltty uucp ++# m brltty dialout ++m brltty uucp + + # for USB I/o (/dev/bus/usb/*/*) + m brltty root +@@ -40,7 +40,7 @@ + m brltty audio + + # for playing sound via the Pulse Audio daemon +-m brltty pulse-access ++# m brltty pulse-access + + # for monitoring keyboard input (/dev/input/*) + m brltty input diff --git a/main/brltty/brltty-6.4-x11_autostart.patch b/main/brltty/brltty-6.4-x11_autostart.patch new file mode 100644 index 00000000..c2f6cf64 --- /dev/null +++ b/main/brltty/brltty-6.4-x11_autostart.patch @@ -0,0 +1,24 @@ +diff -ruN a/Programs/Makefile.in b/Programs/Makefile.in +--- a/Programs/Makefile.in 2021-09-24 17:51:55.000000000 +0200 ++++ b/Programs/Makefile.in 2021-12-28 18:50:08.104123921 +0100 +@@ -1120,7 +1120,7 @@ + install-xbrlapi: xbrlapi$X install-program-directory install-x11-autostart-directory install-gdm-autostart-directory + $(INSTALL_PROGRAM) xbrlapi$X $(INSTALL_PROGRAM_DIRECTORY) + $(INSTALL_DATA) $(BLD_TOP)$(DOC_DIR)/xbrlapi.1 $(INSTALL_MAN1_DIRECTORY) +- $(INSTALL_DATA) $(BLD_TOP)Autostart/X11/$(XBRLAPI_X11_AUTOSTART_FILE) $(INSTALL_X11_AUTOSTART_DIRECTORY) ++ $(INSTALL_PROGRAM) $(BLD_TOP)Autostart/X11/$(XBRLAPI_X11_AUTOSTART_FILE) $(INSTALL_X11_AUTOSTART_DIRECTORY) + $(INSTALL_DATA) $(SRC_TOP)Autostart/gdm/$(XBRLAPI_GDM_AUTOSTART_FILE) $(INSTALL_GDM_AUTOSTART_DIRECTORY) + + install-tables: $(INSTALL_TEXT_TABLES) $(INSTALL_CONTRACTION_TABLES) $(INSTALL_ATTRIBUTES_TABLES) install-keyboard-tables install-input-tables +diff -ruN a/common.mk b/common.mk +--- a/common.mk 2021-09-02 11:07:57.000000000 +0200 ++++ b/common.mk 2021-12-28 18:46:33.618469544 +0100 +@@ -121,7 +121,7 @@ + install-apisoc-directory: + -$(INSTALL_DIRECTORY) -m 1777 $(INSTALL_APISOC_DIRECTORY) + +-INSTALL_X11_AUTOSTART_DIRECTORY = $(INSTALL_ROOT)$(sysconfdir)/X11/Xsession.d ++INSTALL_X11_AUTOSTART_DIRECTORY = $(INSTALL_ROOT)$(sysconfdir)/X11/xinit/xinitrc.d + install-x11-autostart-directory: + -$(INSTALL_DIRECTORY) $(INSTALL_X11_AUTOSTART_DIRECTORY) + diff --git a/main/brltty/brltty.install b/main/brltty/brltty.install new file mode 100644 index 00000000..4dc02332 --- /dev/null +++ b/main/brltty/brltty.install @@ -0,0 +1,12 @@ +post_install () { + [ ! -e /etc/brlapi.key ] && brltty-genkey + echo "Please add your user to the brlapi group." +} + +post_upgrade () { + post_install +} + +post_remove() { + [ -e /etc/brlapi.key ] && rm -v /etc/brlapi.key +} diff --git a/main/brltty/version b/main/brltty/version new file mode 100644 index 00000000..1c5a1b56 --- /dev/null +++ b/main/brltty/version @@ -0,0 +1 @@ +6.6 8 diff --git a/main/broadcom-wl/.PKGINFO b/main/broadcom-wl/.PKGINFO new file mode 100644 index 00000000..3770559b --- /dev/null +++ b/main/broadcom-wl/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = broadcom-wl +pkgbase = broadcom-wl +xdata = pkgtype=pkg +pkgver = 6.30.223.271-553 +pkgdesc = Broadcom 802.11 Linux STA wireless driver +url = https://www.broadcom.com/support/download-search/?pf=Wireless+LAN+Infrastructure +builddate = 1718491426 +packager = Developer +size = 1495508 +arch = x86_64 +license = custom +depend = linux +makedepend = linux-headers +makedepend = broadcom-wl-dkms=6.30.223.271 diff --git a/main/broadcom-wl/PKGBUILD b/main/broadcom-wl/PKGBUILD new file mode 100644 index 00000000..104e145b --- /dev/null +++ b/main/broadcom-wl/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +_module=broadcom-wl +_kernelname= # Build against stock -ARCH kernel +#_kernelname=-custom # Build against kernel with a different name +pkgname=${_module}${_kernelname} +pkgver=%version% +pkgrel=%release% +pkgdesc='Broadcom 802.11 Linux STA wireless driver' +arch=('x86_64') +url='https://www.broadcom.com/support/download-search/?pf=Wireless+LAN+Infrastructure' +license=('custom') +makedepends=("linux${_kernelname}-headers" "${_module}-dkms=${pkgver}") + +build() { + _kernver=$( +size = 841104 +arch = x86_64 +license = MIT +depend = python +makedepend = git +makedepend = cmake +makedepend = python-setuptools +makedepend = python-build +makedepend = python-installer +makedepend = python-wheel diff --git a/main/brotli/PKGBUILD b/main/brotli/PKGBUILD new file mode 100644 index 00000000..093311af --- /dev/null +++ b/main/brotli/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=brotli +pkgname=('brotli' 'python-brotli' 'brotli-testdata') +_gitcommit=ed738e842d2fbdf2d6459e39267a633c4a9b2f5d +pkgver=%version% +pkgrel=%release% +pkgdesc='Generic-purpose lossless compression algorithm' +url='https://github.com/google/brotli' +arch=('x86_64') +license=('MIT') +makedepends=( + git + cmake + python-setuptools + python-build + python-installer + python-wheel +) +source=(${pkgname}::"git+${url}#commit=${_gitcommit}") +sha512sums=('SKIP') + +pkgver() { + cd ${pkgbase} + git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +build() { + cd ${pkgbase} + python -m build --wheel --no-isolation + cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects" + cmake --build build -v +} + +check() { + cd ${pkgbase} + local python_version=$(python -c 'import sys; print("".join(map(str, sys.version_info[:2])))') + PYTHONPATH="$PWD/bin/lib.linux-$CARCH-cpython-${python_version}" python -m unittest discover python "*_test.py" + cd build + ctest --output-on-failure --stop-on-failure -j$(nproc) +} + +package_brotli() { + depends=('glibc') + provides=(libbrotlicommon.so libbrotlidec.so libbrotlienc.so) + + cd ${pkgbase} + DESTDIR="$pkgdir" cmake --install build + local man + for man in docs/*.?; do + install -Dm 644 "$man" "$pkgdir/usr/share/man/man${man##*.}/${man##*/}" + done + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_python-brotli() { + pkgdesc+=' - python library' + depends=('python') + + cd ${pkgbase} + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_brotli-testdata() { + pkgdesc+=' - test data' + depends=() + + cd ${pkgbase} + install -dm755 "$pkgdir"/usr/share/brotli + cp -a tests/testdata "$pkgdir"/usr/share/brotli/ + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/brotli/README b/main/brotli/README new file mode 100644 index 00000000..9bddca70 --- /dev/null +++ b/main/brotli/README @@ -0,0 +1,43 @@ +brotli +________________________________________________________________________________ + +Generic-purpose lossless compression algorithm Generic-purpose lossless compression algorithm - python library Generic-purpose lossless compression algorithm - test data + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S brotli | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/google/brotli diff --git a/main/brotli/version b/main/brotli/version new file mode 100644 index 00000000..cc57f911 --- /dev/null +++ b/main/brotli/version @@ -0,0 +1 @@ +1.1.0 2 diff --git a/main/btrfs-progs/.PKGINFO b/main/btrfs-progs/.PKGINFO new file mode 100644 index 00000000..88324ce1 --- /dev/null +++ b/main/btrfs-progs/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = btrfs-progs +pkgbase = btrfs-progs +xdata = pkgtype=pkg +pkgver = 6.9-1 +pkgdesc = Btrfs filesystem utilities +url = https://btrfs.readthedocs.io +builddate = 1718491428 +packager = Developer +size = 6793673 +arch = x86_64 +license = GPL-2.0-only +replaces = btrfs-progs-unstable +conflict = btrfs-progs-unstable +provides = btrfs-progs-unstable +depend = glibc +depend = util-linux-libs +depend = lzo +depend = zlib +depend = zstd +depend = libgcrypt +depend = systemd-libs +optdepend = python: libbtrfsutil python bindings +optdepend = e2fsprogs: btrfs-convert +optdepend = reiserfsprogs: btrfs-convert +makedepend = git +makedepend = asciidoc +makedepend = xmlto +makedepend = systemd +makedepend = python +makedepend = python-setuptools +makedepend = e2fsprogs +makedepend = reiserfsprogs +makedepend = python-sphinx +makedepend = python-sphinx_rtd_theme diff --git a/main/btrfs-progs/PKGBUILD b/main/btrfs-progs/PKGBUILD new file mode 100644 index 00000000..bb03f323 --- /dev/null +++ b/main/btrfs-progs/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=btrfs-progs +pkgver=%version% +pkgrel=%release% +pkgdesc='Btrfs filesystem utilities' +arch=('x86_64') +makedepends=('git' 'asciidoc' 'xmlto' 'systemd' 'python' 'python-setuptools' 'e2fsprogs' + 'reiserfsprogs' 'python-sphinx' 'python-sphinx_rtd_theme') +depends=('glibc' 'util-linux-libs' 'lzo' 'zlib' 'zstd' 'libgcrypt' 'systemd-libs') +optdepends=('python: libbtrfsutil python bindings' + 'e2fsprogs: btrfs-convert' + 'reiserfsprogs: btrfs-convert') +url='https://btrfs.readthedocs.io' +replaces=('btrfs-progs-unstable') +conflicts=('btrfs-progs-unstable') +provides=('btrfs-progs-unstable') +license=('GPL-2.0-only') +validpgpkeys=('F2B41200C54EFB30380C1756C565D5F9D76D583B') +source=("https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v$pkgver.tar."{sign,xz} + 'initcpio-install-btrfs' + 'initcpio-hook-btrfs' + 'btrfs-scrub@.service' + 'btrfs-scrub@.timer' + ) +install=btrfs-progs.install +options=(!staticlibs) +sha256sums=('SKIP' + '9c21645feac182611e28b47769d5f613cb9e2ecab58ece60b10e6c55a9ead575' + 'bbe60b35d1b1e2efc1308a8f54f1fdc6808240a81c5f5b4d75321b7ee86e41f4' + '35efeee8590d6d60c711ae9cdc918e4841ab61d10cb02359e65e36ebff95ffc5' + 'eaa7af92d28bfa8940bb551560fd7be777f9f175292eaa72b5f6ef00fb240252' + '9a0b6cc23f7bd97b83b6c38dd2b4e4373fead8bd3ccfb82a47c72971e9d6f8ad') + +prepare() { + cd $pkgname-v$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-v$pkgver + ./configure --prefix=/usr --with-crypto=libgcrypt + make +} + +check() { + cd $pkgname-v$pkgver + ./btrfs filesystem show +} + +package() { + cd $pkgname-v$pkgver + make DESTDIR="$pkgdir" install install_python + + # install bash completion (FS#44618) + install -Dm644 btrfs-completion "$pkgdir/usr/share/bash-completion/completions/btrfs" + + # install mkinitcpio hooks + cd "$srcdir" + install -Dm644 initcpio-install-btrfs "$pkgdir/usr/lib/initcpio/install/btrfs" + install -Dm644 initcpio-hook-btrfs "$pkgdir/usr/lib/initcpio/hooks/btrfs" + + # install scrub service/timer + install -Dm644 btrfs-scrub@.service "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.service" + install -Dm644 btrfs-scrub@.timer "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.timer" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/btrfs-progs/README b/main/btrfs-progs/README new file mode 100644 index 00000000..21d15471 --- /dev/null +++ b/main/btrfs-progs/README @@ -0,0 +1,43 @@ +btrfs-progs +________________________________________________________________________________ + +Btrfs filesystem utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S btrfs-progs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://btrfs.readthedocs.io diff --git a/main/btrfs-progs/btrfs-progs.install b/main/btrfs-progs/btrfs-progs.install new file mode 100644 index 00000000..1e75f025 --- /dev/null +++ b/main/btrfs-progs/btrfs-progs.install @@ -0,0 +1,15 @@ +#!/bin/sh + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + if (( "$(vercmp "$2" 0.19.20121005)" < 0 )); then + echo 'btrfs multi-device support now relies on linux 3.6 or later' + elif (( "$(vercmp "$2" 4.3.1-2)" < 0 )); then + echo 'btrfs-scrub@.timer instance names must not be prefix by dash anymore' + echo 'use btrfs-scrub@-.timer to scrub / monthly' + echo ' btrfs-scrub@home.timer to scrub /home monthly.' + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/main/btrfs-progs/btrfs-scrub@.service b/main/btrfs-progs/btrfs-scrub@.service new file mode 100644 index 00000000..ac2e16d3 --- /dev/null +++ b/main/btrfs-progs/btrfs-scrub@.service @@ -0,0 +1,10 @@ +[Unit] +Description=Btrfs scrub on %f +ConditionPathIsMountPoint=%f +RequiresMountsFor=%f + +[Service] +Nice=19 +IOSchedulingClass=idle +KillSignal=SIGINT +ExecStart=/usr/bin/btrfs scrub start -B %f diff --git a/main/btrfs-progs/btrfs-scrub@.timer b/main/btrfs-progs/btrfs-scrub@.timer new file mode 100644 index 00000000..7ee54a5f --- /dev/null +++ b/main/btrfs-progs/btrfs-scrub@.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Monthly Btrfs scrub on %f + +[Timer] +OnCalendar=monthly +AccuracySec=1d +RandomizedDelaySec=1w +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/main/btrfs-progs/initcpio-hook-btrfs b/main/btrfs-progs/initcpio-hook-btrfs new file mode 100644 index 00000000..7965d0a8 --- /dev/null +++ b/main/btrfs-progs/initcpio-hook-btrfs @@ -0,0 +1,7 @@ +#!/usr/bin/ash + +run_hook() { + btrfs device scan +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/main/btrfs-progs/initcpio-install-btrfs b/main/btrfs-progs/initcpio-install-btrfs new file mode 100644 index 00000000..f7b0285b --- /dev/null +++ b/main/btrfs-progs/initcpio-install-btrfs @@ -0,0 +1,17 @@ +#!/bin/bash + +build() { + add_module btrfs + add_binary btrfs + add_binary btrfsck + add_runscript +} + +help() { + cat < +# Maintainer: Developer + +pkgname=bzip2 +pkgver=%version% +pkgrel=%release% +pkgdesc="A high-quality data compression program" +arch=('x86_64') +license=('BSD') +url="https://sourceware.org/bzip2/" +depends=('glibc' 'sh') +provides=('libbz2.so') +source=(https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz{,.sig} + bzip2.pc) +sha256sums=('ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269' + 'SKIP' + 'eca9d8cd6376df1fb5442667c603032023fb21d8d183684550da0b96ade39654') +validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A') # Mark Wielaard + +prepare() { + cd $pkgname-$pkgver + cp ../bzip2.pc bzip2.pc + sed "s|@VERSION@|$pkgver|" -i bzip2.pc +} + +build() { + cd $pkgname-$pkgver + + make -f Makefile-libbz2_so CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" + make bzip2 bzip2recover CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" +} + +check() { + cd $pkgname-$pkgver + make test +} + +package() { + cd $pkgname-$pkgver + + install -dm755 "$pkgdir"/usr/{bin,lib,include,share/man/man1} + + install -m755 bzip2-shared "$pkgdir"/usr/bin/bzip2 + install -m755 bzip2recover bzdiff bzgrep bzmore "$pkgdir"/usr/bin + ln -sf bzip2 "$pkgdir"/usr/bin/bunzip2 + ln -sf bzip2 "$pkgdir"/usr/bin/bzcat + + cp -a libbz2.so* "$pkgdir"/usr/lib + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so.1 # For compatibility with some other distros + + install -m644 bzlib.h "$pkgdir"/usr/include/ + + install -m644 bzip2.1 "$pkgdir"/usr/share/man/man1/ + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bunzip2.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzcat.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzip2recover.1 + + install -Dm644 bzip2.pc -t "$pkgdir"/usr/lib/pkgconfig + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/bzip2/README b/main/bzip2/README new file mode 100644 index 00000000..4eaf69d1 --- /dev/null +++ b/main/bzip2/README @@ -0,0 +1,43 @@ +bzip2 +________________________________________________________________________________ + +A high-quality data compression program + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S bzip2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceware.org/bzip2/ diff --git a/main/bzip2/bzip2.pc b/main/bzip2/bzip2.pc new file mode 100644 index 00000000..a4dd6825 --- /dev/null +++ b/main/bzip2/bzip2.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=/usr +bindir=${exec_prefix}/bin +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: bzip2 +Description: A file compression library +Version: @VERSION@ +Libs: -L${libdir} -lbz2 +Cflags: -I${includedir} diff --git a/main/bzip2/version b/main/bzip2/version new file mode 100644 index 00000000..6719c491 --- /dev/null +++ b/main/bzip2/version @@ -0,0 +1 @@ +1.0.8 6 diff --git a/main/ca-certificates/40-update-ca-trust.hook b/main/ca-certificates/40-update-ca-trust.hook new file mode 100644 index 00000000..a83d5182 --- /dev/null +++ b/main/ca-certificates/40-update-ca-trust.hook @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Operation = Remove +Type = Path +Target = usr/share/ca-certificates/trust-source/* + +[Action] +Description = Rebuilding certificate stores... +When = PostTransaction +Exec = /usr/bin/update-ca-trust diff --git a/main/ca-certificates/PKGBUILD b/main/ca-certificates/PKGBUILD new file mode 100644 index 00000000..1b7861d1 --- /dev/null +++ b/main/ca-certificates/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=ca-certificates +pkgname=( + ca-certificates-utils + ca-certificates +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Common CA certificates" +url="https://src.fedoraproject.org/rpms/ca-certificates" +arch=(any) +license=(GPL) +makedepends=( + asciidoc + p11-kit +) +source=( + 40-update-ca-trust.hook + README.{etc,etcssl,extr,java,src,usr} + update-ca-trust + update-ca-trust.8.txt +) +b2sums=('82e3d728267d931dd8613f5e4944995fb1909dffdd61bce17c5c8aa0e8d14201d249cb25899ac631e6a44a6d2acc02e62bd17692fd7fd27e3c8fb9a7648c6004' + '0de3d4ce83f00f95ea7b94f497403b4dc7ff5d0de33bdc76abe3bdd02280d6dc494c7ca4334cfdc5b91ab3fb0022c69f6809eca67d12e77048aa7f70252d479c' + 'a43766c7e451b3053abee99f8c9c526d984e20c1e60f1ef6e685805bbca46afa2725c7768a16ac5464778132fb13b43e59b2145ea89e4d2058f68cd2bf0abb1a' + '21a528aa19b378c6cd7fc2a7281f997236b117e37d087c95640a7ee27511ecaf33e282e0a03b75382c20aefbec9fb24b60a2c5282fdaa4cffe074cebd6e3eaf8' + '9fdd34c3f99a01a0d12bb48595114def7685841f81871f5dbf56c433e19bb3acb733e108e6463b48425cd4b74a41ee961c927b24c2dce65f26a37baae5ed9eb9' + '1fbefe367f9e59e7bc5886d07b7da8bd918c8b77ab0d2026813dad965294d2bb3fd4698d6b22e728d890044b98c0015e7328c050c5d96d0e7d2a3a1ae3f16362' + '57e5f6485cde17139e3d1649bd05e1f1b7e260ec58137d41e91ac938bc728bed8ee72eacd0d03f1ccb8cd9e2a23df0df1b2f5fd46694530e1cb49325b05d68fd' + '7504993b03229da357e4c238baa5426195252a7ffa24f757f266ab5e1e530f1deabb55be6501f0fd9ef99fdbea4dbb189410358e17c7ab77186ab6032f7c16a1' + '3e684293c9ea704054be631ef531e1aa8a542eaa77559cb2bf3cb47bdab285f2eae3206028911b85248150e4cc4096b098a32663e0ddbe9ed5b11bd2d121a63a') + +build() { + a2x -v -f manpage update-ca-trust.8.txt +} + +package_ca-certificates-utils() { + pkgdesc+=" (utilities)" + depends=( + bash + coreutils + findutils + 'p11-kit>=0.24.0' + ) + provides=( + ca-certificates + ca-certificates-java + ) + conflicts=(ca-certificates-java) + replaces=(ca-certificates-java) + install=ca-certificates-utils.install + + install -Dt "$pkgdir/usr/bin" update-ca-trust + install -Dt "$pkgdir/usr/share/man/man8" -m644 update-ca-trust.8 + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # Trust source directories + install -Dm644 README.etc "$pkgdir/etc/$pkgbase/README" + install -Dm644 README.src "$pkgdir/etc/$pkgbase/trust-source/README" + install -Dm644 README.usr "$pkgdir/usr/share/$pkgbase/trust-source/README" + install -d "$pkgdir"/{etc,usr/share}/$pkgbase/trust-source/{anchors,blocklist} + + # Directories used by update-ca-trust (aka "trust extract-compat") + install -Dm644 README.etcssl "$pkgdir/etc/ssl/README" + install -Dm644 README.java "$pkgdir/etc/ssl/certs/java/README" + install -Dm644 README.extr "$pkgdir/etc/$pkgbase/extracted/README" + + # Compatibility link for OpenSSL using /etc/ssl as CAdir + # Used in preference to the individual links in /etc/ssl/certs + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/cert.pem" + + # Compatibility link for legacy bundle (Debian) + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/certs/ca-certificates.crt" + + # Compatibility link for legacy bundle (RHEL/Fedora) + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/certs/ca-bundle.crt" +} + +package_ca-certificates() { + pkgdesc+=" (default providers)" + depends=(ca-certificates-mozilla) + conflicts=('ca-certificates-cacert<=20140824-4') + replaces=("${conflicts[@]}") +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/ca-certificates/README b/main/ca-certificates/README new file mode 100644 index 00000000..2de65c5e --- /dev/null +++ b/main/ca-certificates/README @@ -0,0 +1,43 @@ +ca-certificates +________________________________________________________________________________ + +Common CA certificates Common CA certificates (utilities) Common CA certificates (default providers) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ca-certificates | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://src.fedoraproject.org/rpms/ca-certificates diff --git a/main/ca-certificates/ca-certificates-utils.install b/main/ca-certificates/ca-certificates-utils.install new file mode 100644 index 00000000..c58edfb5 --- /dev/null +++ b/main/ca-certificates/ca-certificates-utils.install @@ -0,0 +1,23 @@ +pre_upgrade() { + if (( $(vercmp $2 20210603) < 0 )); then + local olddir=/etc/ca-certificates/trust-source/blacklist + local newdir=/etc/ca-certificates/trust-source/blocklist + cat < $olddir has been renamed to + $newdir +MSG + + if [[ ! -e $olddir ]]; then + : # Do nothing + elif [[ -e $newdir ]]; then + cat < WARNING: $newdir already exists. + You must migrate your blocked certificates manually. +MSG + else + mv -Tn $olddir $newdir + fi + fi +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/ca-certificates/update-ca-trust b/main/ca-certificates/update-ca-trust new file mode 100644 index 00000000..53441b36 --- /dev/null +++ b/main/ca-certificates/update-ca-trust @@ -0,0 +1,42 @@ +#!/bin/bash + +# At this time, while this script is trivial, we ignore any parameters given. +# However, for backwards compatibility reasons, future versions of this script must +# support the syntax "update-ca-trust extract" trigger the generation of output +# files in $DEST. + +DEST=/etc/ca-certificates/extracted + +# Prevent p11-kit from reading user configuration files. +export P11_KIT_NO_USER_CONFIG=1 + +extract() { + trust extract --overwrite "$@" +} + +## Simple PEM bundles +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=server-auth $DEST/tls-ca-bundle.pem +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=email $DEST/email-ca-bundle.pem +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=code-signing $DEST/objsign-ca-bundle.pem + +## OpenSSL PEM bundle that includes trust flags +extract --comment --format=openssl-bundle --filter=certificates $DEST/ca-bundle.trust.crt + +## TianoCore EDK II bundle +extract --format=edk2-cacerts --filter=ca-anchors --purpose=server-auth $DEST/edk2-cacerts.bin + +## Java bundle +extract --format=java-cacerts --filter=ca-anchors --purpose=server-auth /etc/ssl/certs/java/cacerts + +## OpenSSL-style directory with individual PEM files and hash links +# The directory-format extractors remove all files in the target directory, but not directories or files therein +extract --format=pem-directory-hash --filter=ca-anchors --purpose=server-auth $DEST/cadir + +# We don't want to have to remove everything from the certs directory but neither +# do we want to leave stale certs around, so only place symlinks in the real cadir +for f in $DEST/cadir/*; do + ln -fsr -t /etc/ssl/certs "$f" +done + +# Now find and remove all broken symlinks +find -L /etc/ssl/certs -maxdepth 1 -type l -delete diff --git a/main/ca-certificates/update-ca-trust.8.txt b/main/ca-certificates/update-ca-trust.8.txt new file mode 100644 index 00000000..1237d04b --- /dev/null +++ b/main/ca-certificates/update-ca-trust.8.txt @@ -0,0 +1,286 @@ +//// +Copyright (C) 2013 Red Hat, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +//// + + +update-ca-trust(8) +================== +:doctype: manpage +:man source: update-ca-trust + + +NAME +---- +update-ca-trust - manage consolidated and dynamic configuration of CA +certificates and associated trust + + +SYNOPSIS +-------- +*update-ca-trust* ['COMMAND'] + + +DESCRIPTION +----------- +update-ca-trust(8) is used to manage a consolidated and dynamic configuration +feature of Certificate Authority (CA) certificates and associated trust. + +The feature is available for new applications that read the +consolidated configuration files found in the /etc/ssl/certs or /etc/ca-certificates/extracted directories +or that load the PKCS#11 module p11-kit-trust.so + +Parts of the new feature are also provided in a way to make it useful +for legacy applications. + +Many legacy applications expect CA certificates and trust configuration +in a fixed location, contained in files with particular path and name, +or by referring to a classic PKCS#11 trust module provided by the +NSS cryptographic library. + +The dynamic configuration feature provides functionally compatible replacements +for classic configuration files and for the classic NSS trust module named libnssckbi. + +In order to enable legacy applications, that read the classic files or +access the classic module, to make use of the new consolidated and dynamic configuration +feature, some classic filenames have been changed to symbolic links. +The symbolic links refer to dynamically created and consolidated +output stored below the /etc/ca-certificates/extracted directory hierarchy. + +The output is produced using the 'update-ca-trust' command (without parameters), +or using the 'update-ca-trust extract' command. +In order to produce the output, a flexible set of source configuration +is read, as described in section <>. + +In addition, the classic PKCS#11 module +is replaced with a new PKCS#11 module (p11-kit-trust.so) that dynamically +reads the same source configuration. + + +[[sourceconf]] +SOURCE CONFIGURATION +-------------------- +The dynamic configuration feature uses several source directories that +will be scanned for any number of source files. *It is important to select +the correct subdirectory for adding files, as the subdirectory defines how +contained certificates will be trusted or distrusted, and which file formats are read.* + +Files in *subdirectories below the directory hierarchy /usr/share/ca-certificates/trust-source/* contain CA certificates and +trust settings in the PEM file format. The trust settings found here will be +interpreted with a *low priority*. + +Files in *subdirectories below the directory hierarchy /etc/ca-certificates/trust-source/* contain CA certificates and +trust settings in the PEM file format. The trust settings found here will be +interpreted with a *high priority*. + +.You may use the following rules of thumb to decide, whether your configuration files should be added to the /etc or rather to the /usr directory hierarchy: +* If you are manually adding a configuration file to a system, you probably +want it to override any other default configuration, and you most likely should +add it to the respective subdirectory in the /etc hierarchy. +* If you are creating a package that provides additional root CA certificates, +that is intended for distribution to several computer systems, but you still +want to allow the administrator to override your list, then your package should +add your files to the respective subdirectory in the /usr hierarchy. +* If you are creating a package that is supposed to override the default system +trust settings, that is intended for distribution to several computer systems, then your package should install the files to the respective +subdirectory in the /etc hierarchy. + +.*QUICK HELP 1*: To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system: +* add it as a new file to directory /etc/ca-certificates/trust-source/anchors/ +* run 'update-ca-trust extract' + +.*QUICK HELP 2*: If your certificate is in the extended BEGIN TRUSTED file format (which may contain distrust/blocklist trust flags, or trust flags for usages other than TLS) then: +* add it as a new file to directory /etc/ca-certificates/trust-source/ +* run 'update-ca-trust extract' + +.In order to offer simplicity and flexibility, the way certificate files are treated depends on the subdirectory they are installed to. +* simple trust anchors subdirectory: /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/ +* simple blocklist (distrust) subdirectory: /usr/share/ca-certificates/trust-source/blocklist/ or /etc/ca-certificates/trust-source/blocklist/ +* extended format directory: /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ + +.In the main directories /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ you may install one or multiple files in the following file formats: +* certificate files that include trust flags, + in the BEGIN/END TRUSTED CERTIFICATE file format + (any file name), which have been created using the openssl x509 tool + and the -addreject -addtrust options. + Bundle files with multiple certificates are supported. +* files in the p11-kit file format using the .p11-kit file name + extension, which can (e.g.) be used to distrust certificates + based on serial number and issuer name, without having the + full certificate available. + (This is currently an undocumented format, to be extended later. + For examples of the supported formats, see the files + shipped with the ca-certificates-mozilla package.) +* certificate files without trust flags in either the DER file format or in + the PEM (BEGIN/END CERTIFICATE) file format (any file name). Such files + will be added with neutral trust, neither trusted nor distrusted. + They will simply be known to the system, which might be helpful to + assist cryptographic software in constructing chains of certificates. + (If you want a CA certificate in these file formats to be trusted, you + should remove it from this directory and move it to the + ./anchors subdirectory instead.) + +In the anchors subdirectories /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/ +you may install one or multiple certificates in either the DER file +format or in the PEM (BEGIN/END CERTIFICATE) file format. +Each certificate will be treated as *trusted* for all purposes. + +In the blocklist subdirectories /usr/share/ca-certificates/trust-source/blocklist/ or /etc/ca-certificates/trust-source/blocklist/ +you may install one or multiple certificates in either the DER file +format or in the PEM (BEGIN/END CERTIFICATE) file format. +Each certificate will be treated as *distrusted* for all purposes. + +Please refer to the x509(1) manual page for the documentation of the +BEGIN/END CERTIFICATE and BEGIN/END TRUSTED CERTIFICATE file formats. + +Applications that rely on a static file for a list of trusted CAs +may load one of the files found in the /etc/ssl/certs or /etc/ca-certificates/extracted +directories. After modifying any file in the +/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ +directories or in any of their subdirectories, or after adding a file, +it is necessary to run the 'update-ca-trust extract' command, +in order to update the consolidated files in /etc/ssl/certs or /etc/ca-certificates/extracted/ . + +Applications that load the classic PKCS#11 module using filename libnssckbi.so +(which has been converted into a symbolic link pointing to the new module) +and any application capable of +loading PKCS#11 modules and loading p11-kit-trust.so, will benefit from +the dynamically merged set of certificates and trust information stored in the +/usr/share/ca-certificates/trust-source/ and /etc/ca-certificates/trust-source/ directories. + + +[[extractconf]] +EXTRACTED CONFIGURATION +----------------------- +The directories /etc/ssl/certs and /etc/ca-certificates/extracted/ contain generated CA certificate +bundle files which are created and updated, based on the <> +by running the 'update-ca-trust extract' command. + +If your application isn't able to load the PKCS#11 module p11-kit-trust.so, +then you can use these files in your application to load a list of global +root CA certificates. + +Please never manually edit the files stored in these directories, +because your changes will be lost and the files automatically overwritten, +each time the 'update-ca-trust extract' command gets executed. + +In order to install new trusted or distrusted certificates, +please rather install them in the respective subdirectory below the +/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ +directories, as described in the <> section. + +The directory /etc/ssl/certs contains a OpenSSL-cadir-style hash farm. +Distrust information cannot be represented in this format, +and distrusted certificates are missing from these files. + +The directory /etc/ssl/certs/java contains +a CA certificate bundle in the java keystore file format. +Distrust information cannot be represented in this file format, +and distrusted certificates are missing from these files. +File cacerts contains CA certificates trusted for TLS server authentication. + +The directory /etc/ca-certificates/extracted contains +a CA certificate bundle file in the extended BEGIN/END TRUSTED CERTIFICATE file format, +as described in the x509(1) manual page. +File ca-bundle.trust.crt contains the full set of all trusted +or distrusted certificates, including the associated trust flags. +It also contains +CA certificate bundle files in the simple BEGIN/END CERTIFICATE file format, +as described in the x509(1) manual page. +Distrust information cannot be represented in this file format, +and distrusted certificates are missing from these files. +File tls-ca-bundle.pem contains CA certificates +trusted for TLS server authentication. +File email-ca-bundle.pem contains CA certificates +trusted for E-Mail protection. +File objsign-ca-bundle.pem contains CA certificates +trusted for code signing. +It also contains a CA +certificate bundle ("edk2-cacerts.bin") in the "sequence of +EFI_SIGNATURE_LISTs" format, defined in the UEFI-2.7 specification, +sections "31.4.1 Signature Database" and +"EFI_CERT_X509_GUID". Distrust information cannot be represented in +this file format, and distrusted certificates are missing from these +files. File "edk2-cacerts.bin" contains CA certificates trusted for TLS +server authentication. + + +COMMANDS +-------- +(absent/empty command):: + Same as the *extract* command described below. (However, the command may + print fewer warnings, as this command is being run during package + installation, where non-fatal status output is undesired.) + +*extract*:: + Instruct update-ca-trust to scan the <> and produce + updated versions of the consolidated configuration files stored below + the /etc/ssl/certs and /etc/ca-certificates/extracted directory hierarchies. + +FILES +----- +/etc/ssl/certs:: + Classic directory, files contain individual CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + Also includes the necessary hash symlinks expected by OpenSSL. + These files are symbolic links that are maintained by the update-ca-trust command. + +/etc/ssl/certs/ca-certificates.crt:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is a symbolic link that refers to the consolidated output created by the update-ca-trust command. + +/etc/ssl/cert.pem:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is a symbolic link that refers to the consolidated output created by the update-ca-trust command. + +/etc/ssl/java/cacerts:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the Java keystore file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/usr/share/ca-certificates/trust-source:: + Contains multiple, low priority source configuration files as explained in section <>. Please pay attention to the specific meanings of the respective subdirectories. + +/etc/ca-certificates/trust-source:: + Contains multiple, high priority source configuration files as explained in section <>. Please pay attention to the specific meanings of the respective subdirectories. + +/etc/ca-certificates/extracted:: + Contains consolidated and automatically generated configuration files for consumption by applications, + which are created using the 'update-ca-trust extract' command. Don't edit files in this directory, because they will be overwritten. + See section <> for additional details. + +/etc/ca-certificates/extracted/tls-ca-bundle.pem:: + File contains a list of CA certificates trusted for TLS server authentication, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/email-ca-bundle.pem:: + File contains a list of CA certificates trusted for E-Mail protection, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/objsign-ca-bundle.pem:: + File contains a list of CA certificates trusted for code signing, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/ca-bundle.trust.crt:: + File contains a list of CA certificates in the extended BEGIN/END TRUSTED CERTIFICATE file format, which includes trust (and/or distrust) flags specific to certificate usage. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/cadir:: + Contains individual CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + Also includes the necessary hash symlinks expected by OpenSSL. + These files are maintained by the update-ca-trust command. + +/etc/ca-certificates/extracted/edk2-cacerts.bin:: + File contains a list of CA certificates trusted for TLS server authentication usage, in the UEFI signature database format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +AUTHOR +------ +Written by Kai Engert and Stef Walter. diff --git a/main/ca-certificates/version b/main/ca-certificates/version new file mode 100644 index 00000000..8d75d515 --- /dev/null +++ b/main/ca-certificates/version @@ -0,0 +1 @@ +20220905 1 diff --git a/main/cairo/PKGBUILD b/main/cairo/PKGBUILD new file mode 100644 index 00000000..d4500b47 --- /dev/null +++ b/main/cairo/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=cairo +pkgname=( + cairo + cairo-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="2D graphics library with support for multiple output devices" +url="https://cairographics.org/" +arch=(x86_64) +license=('LGPL-2.1-only OR MPL-1.1') +depends=( + fontconfig + freetype2 + glib2 + libpng + libx11 + libxcb + libxext + libxrender + lzo + pixman + zlib +) +makedepends=( + git + gtk-doc + meson + valgrind +) +_commit=3909090108bb2db55330e3eb148aebe664735363 # tags/1.18.0^0 +source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd cairo + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd cairo +} + +build() { + local meson_options=( + -D dwrite=disabled + -D gtk_doc=true + -D spectre=disabled + -D symbol-lookup=disabled + -D tests=disabled + ) + + arch-meson cairo build "${meson_options[@]}" + meson compile -C build +} + +package_cairo() { + provides=( + libcairo-gobject.so + libcairo-script-interpreter.so + libcairo.so + ) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/gtk-doc +} + +package_cairo-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/cairo/README b/main/cairo/README new file mode 100644 index 00000000..2ee4ecc7 --- /dev/null +++ b/main/cairo/README @@ -0,0 +1,43 @@ +cairo +________________________________________________________________________________ + +2D graphics library with support for multiple output devices 2D graphics library with support for multiple output devices (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cairo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://cairographics.org/ diff --git a/main/cairo/version b/main/cairo/version new file mode 100644 index 00000000..2f85afff --- /dev/null +++ b/main/cairo/version @@ -0,0 +1 @@ +1.18.0 2 diff --git a/main/calamares/PKGBUILD b/main/calamares/PKGBUILD new file mode 100644 index 00000000..fe454f2a --- /dev/null +++ b/main/calamares/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer + +pkgname=calamares +pkgver=%version% +pkgrel=%release% +pkgdesc='Distribution-independent installer framework' +arch=('i686' 'x86_64') +license=(GPL) +url="https://github.com/calamares/calamares/" +license=('LGPL') +makedepends=('git') +depends=('rsync' 'kwidgetsaddons' 'kconfig' 'kcoreaddons' 'kiconthemes' 'ki18n' 'kio' 'solid' 'yaml-cpp' 'kpmcore' 'mkinitcpio-openswap' + 'boost-libs' 'ckbcomp' 'hwinfo' 'qt5-svg' 'polkit-qt6' 'gtk-update-icon-cache' 'qt6-declarative' 'squashfs-tools' 'libpwquality' 'efibootmgr' 'icu' 'cryptsetup' 'doxygen' 'gptfdisk' 'kcrash' 'kparts' 'kservice') +backup=('usr/share/calamares/modules/bootloader.conf' + 'usr/share/calamares/modules/displaymanager.conf' + 'usr/share/calamares/modules/initcpio.conf' + 'usr/share/calamares/modules/unpackfs.conf') + +source=($pkgname::git+https://git.tuxcore.org/developer/calamares) + +sha256sums=('SKIP') + +package() { + + mkdir -p "$pkgdir"/usr + mkdir -p "$pkgdir"/etc + # Install + cp -R $srcdir/calamares/*/ "$pkgdir"/ +} diff --git a/main/calamares/README b/main/calamares/README new file mode 100644 index 00000000..713ece4d --- /dev/null +++ b/main/calamares/README @@ -0,0 +1,43 @@ +calamares +________________________________________________________________________________ + +Distribution-independent installer framework + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S calamares | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/calamares/calamares/ diff --git a/main/calamares/version b/main/calamares/version new file mode 100644 index 00000000..356be331 --- /dev/null +++ b/main/calamares/version @@ -0,0 +1 @@ +3.3.7 6 diff --git a/main/cantarell-fonts/PKGBUILD b/main/cantarell-fonts/PKGBUILD new file mode 100644 index 00000000..8240cb18 --- /dev/null +++ b/main/cantarell-fonts/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=cantarell-fonts +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="Humanist sans serif font" +url="https://gitlab.gnome.org/GNOME/cantarell-fonts" +arch=(any) +license=(custom:SIL) +makedepends=(meson appstream-glib git) +source=("https://download.gnome.org/sources/$pkgname/${pkgver:0:5}/$pkgname-$pkgver.tar.xz") +sha256sums=('f9463a0659c63e57e381fdd753cf1929225395c5b49135989424761830530411') + +build() { + arch-meson $pkgname-$pkgver build -D useprebuilt=true + meson compile -C build +} + +package() { + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname-$pkgver/COPYING +} + +# vim:set sw=2 et: diff --git a/main/cantarell-fonts/README b/main/cantarell-fonts/README new file mode 100644 index 00000000..732e8218 --- /dev/null +++ b/main/cantarell-fonts/README @@ -0,0 +1,43 @@ +cantarell-fonts +________________________________________________________________________________ + +Humanist sans serif font + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cantarell-fonts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/cantarell-fonts diff --git a/main/cantarell-fonts/version b/main/cantarell-fonts/version new file mode 100644 index 00000000..748e79fd --- /dev/null +++ b/main/cantarell-fonts/version @@ -0,0 +1 @@ +0.303.1 1 diff --git a/main/ccid/PKGBUILD b/main/ccid/PKGBUILD new file mode 100644 index 00000000..3fa9e3a1 --- /dev/null +++ b/main/ccid/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ccid +pkgver=%version% +pkgrel=%release% +pkgdesc='A generic USB Chip/Smart Card Interface Devices driver' +arch=('x86_64') +url='https://ccid.apdu.fr/' +license=('LGPL' 'GPL') +depends=('pcsclite' 'libusb' 'flex') +backup=('etc/reader.conf.d/libccidtwin') +validpgpkeys=('F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E') # Ludovic Rousseau +source=("https://ccid.apdu.fr/files/${pkgname}-${pkgver}.tar.bz2"{,.asc}) +sha256sums=('194708f75fe369d45dd7c15e8b3e8a7db8b49cfc5557574ca2a2e76ef12ca0ca' + 'SKIP') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure \ + LEXLIB='' \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-twinserial \ + --enable-serialconfdir=/etc/reader.conf.d + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + # move the configuration file in /etc and create a symbolic link + mv "${pkgdir}/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" "${pkgdir}/etc/libccid_Info.plist" + ln -s /etc/libccid_Info.plist "${pkgdir}/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" + + install -Dm644 src/92_pcscd_ccid.rules "${pkgdir}/usr/lib/udev/rules.d/92_pcscd_ccid.rules" +} diff --git a/main/ccid/README b/main/ccid/README new file mode 100644 index 00000000..15a1bb25 --- /dev/null +++ b/main/ccid/README @@ -0,0 +1,43 @@ +ccid +________________________________________________________________________________ + +A generic USB Chip/Smart Card Interface Devices driver + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ccid | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://ccid.apdu.fr/ diff --git a/main/ccid/version b/main/ccid/version new file mode 100644 index 00000000..013c2474 --- /dev/null +++ b/main/ccid/version @@ -0,0 +1 @@ +1.5.5 1 diff --git a/main/cdparanoia/PKGBUILD b/main/cdparanoia/PKGBUILD new file mode 100644 index 00000000..50b98270 --- /dev/null +++ b/main/cdparanoia/PKGBUILD @@ -0,0 +1,39 @@ +# Packager = Developer +pkgname=cdparanoia +pkgver=10.2 +pkgrel=9 +pkgdesc="Compact Disc Digital Audio extraction tool" +arch=('x86_64') +url="https://www.xiph.org/paranoia/" +license=('GPL') +depends=('glibc') +options=('!makeflags' '!staticlibs') +source=("https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-$pkgver.src.tgz" + cdparanoia-r15388.patch # svn diff -c 15338 https://svn.xiph.org/trunk/cdparanoia/ + cdparanoia-10.2-format-security.patch # Patch from Fedora + cdparanoia-10.2-ldflags.patch) # Patch from Fedora +sha512sums=('4ab0a0f5ef44d56c1af72d1fc1035566a1a89c4eeddb9e8baea675fe51c06138d913342afc8bed167d9fa55672fa25a2763ce21f7e24c1232e4739aff20733a7' + 'bcae1e3850f1780d3e731d6f662f62c82a5e698612d3ef84cacdd8e7179ef84c1571d45799336f019694b727bf526af9889422e608ea695593d0b9083fb651be' + '56532fc71b357e91a767f94a30ebdc528fdd44661bd982e5a2930bb5f48a7b0fa68b03ae89fbf726c0c310d3af40ac294e68dd0e6417d034923e64193ad1bfa1' + '1df9724b72efd1be330a8991b7a56e3eef39fea48d648402ad9b613d6456a13e479be455e477bdfd3f4ff3fc6d7f6cbbe83db9af9bbb07fa462e290e2d010b85') + +prepare() { + cd cdparanoia-III-$pkgver + # Fix for 'private' becoming a reserved keyword as of GCC 4.3+ + patch -p0 -i "$srcdir"/cdparanoia-r15388.patch + # Add missing printf format strings for `-Wformat -Werror=format-security` + patch -p1 -i "$srcdir"/cdparanoia-10.2-format-security.patch + # Use LDFLAGS + patch -p1 -i "$srcdir"/cdparanoia-10.2-ldflags.patch +} + +build() { + cd cdparanoia-III-$pkgver + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +package() { + cd cdparanoia-III-$pkgver + make prefix="$pkgdir"/usr MANDIR="$pkgdir"/usr/share/man install +} diff --git a/main/cdparanoia/cdparanoia-10.2-format-security.patch b/main/cdparanoia/cdparanoia-10.2-format-security.patch new file mode 100644 index 00000000..20b5bc46 --- /dev/null +++ b/main/cdparanoia/cdparanoia-10.2-format-security.patch @@ -0,0 +1,16 @@ +diff -Naur cdparanoia-III-10.2.orig/main.c cdparanoia-III-10.2/main.c +--- cdparanoia-III-10.2.orig/main.c 2008-09-11 23:11:02.000000000 +0200 ++++ cdparanoia-III-10.2/main.c 2014-04-14 21:24:10.023000000 +0200 +@@ -588,10 +588,10 @@ + buffer[aheadposition+19]='>'; + } + +- fprintf(stderr,buffer); ++ fprintf(stderr, "%s", buffer); + + if (logfile != NULL && function==-1) { +- fprintf(logfile,buffer+1); ++ fprintf(logfile, "%s", buffer+1); + fprintf(logfile,"\n\n"); + fflush(logfile); + } diff --git a/main/cdparanoia/cdparanoia-10.2-ldflags.patch b/main/cdparanoia/cdparanoia-10.2-ldflags.patch new file mode 100644 index 00000000..91e14d04 --- /dev/null +++ b/main/cdparanoia/cdparanoia-10.2-ldflags.patch @@ -0,0 +1,24 @@ +diff -up cdparanoia-III-10.2/interface/Makefile.in.jx cdparanoia-III-10.2/interface/Makefile.in +--- cdparanoia-III-10.2/interface/Makefile.in.jx 2008-08-21 12:08:54.000000000 -0400 ++++ cdparanoia-III-10.2/interface/Makefile.in 2018-03-07 13:12:53.999947802 -0500 +@@ -46,7 +46,7 @@ libcdda_interface.a: $(OFILES) + $(RANLIB) libcdda_interface.a + + libcdda_interface.so: $(OFILES) +- $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS) ++ $(CC) $(LDFLAGS) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS) + [ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0 + [ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so + +diff -up cdparanoia-III-10.2/paranoia/Makefile.in.jx cdparanoia-III-10.2/paranoia/Makefile.in +--- cdparanoia-III-10.2/paranoia/Makefile.in.jx 2008-09-04 15:02:47.000000000 -0400 ++++ cdparanoia-III-10.2/paranoia/Makefile.in 2018-03-07 13:12:39.352765050 -0500 +@@ -44,7 +44,7 @@ libcdda_paranoia.a: $(OFILES) + $(RANLIB) libcdda_paranoia.a + + libcdda_paranoia.so: $(OFILES) +- $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface ++ $(CC) $(LDFLAGS) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface + [ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0 + [ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so + diff --git a/main/cdparanoia/cdparanoia-r15388.patch b/main/cdparanoia/cdparanoia-r15388.patch new file mode 100644 index 00000000..f82663e2 --- /dev/null +++ b/main/cdparanoia/cdparanoia-r15388.patch @@ -0,0 +1,582 @@ +Index: interface/test_interface.c +=================================================================== +--- interface/test_interface.c (revision 15337) ++++ interface/test_interface.c (revision 15338) +@@ -66,9 +66,9 @@ + if(!fd)fd=fdopen(d->cdda_fd,"r"); + + if(beginprivate->last_milliseconds=20; ++ d->private_data->last_milliseconds=20; + else +- d->private->last_milliseconds=sectors; ++ d->private_data->last_milliseconds=sectors; + + #ifdef CDDA_TEST_UNDERRUN + sectors-=1; +Index: interface/cdda_interface.h +=================================================================== +--- interface/cdda_interface.h (revision 15337) ++++ interface/cdda_interface.h (revision 15338) +@@ -84,7 +84,7 @@ + int is_atapi; + int is_mmc; + +- cdda_private_data_t *private; ++ cdda_private_data_t *private_data; + void *reserved; + unsigned char inqbytes[4]; + +Index: interface/interface.c +=================================================================== +--- interface/interface.c (revision 15337) ++++ interface/interface.c (revision 15338) +@@ -39,9 +39,9 @@ + if(d->drive_model)free(d->drive_model); + if(d->cdda_fd!=-1)close(d->cdda_fd); + if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd); +- if(d->private){ +- if(d->private->sg_hd)free(d->private->sg_hd); +- free(d->private); ++ if(d->private_data){ ++ if(d->private_data->sg_hd)free(d->private_data->sg_hd); ++ free(d->private_data); + } + + free(d); +@@ -127,7 +127,7 @@ + } + } + } +- if(ms)*ms=d->private->last_milliseconds; ++ if(ms)*ms=d->private_data->last_milliseconds; + return(sectors); + } + +Index: interface/scsi_interface.c +=================================================================== +--- interface/scsi_interface.c (revision 15337) ++++ interface/scsi_interface.c (revision 15338) +@@ -15,13 +15,13 @@ + static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){ + struct timespec tv1; + struct timespec tv2; +- int ret1=clock_gettime(d->private->clock,&tv1); ++ int ret1=clock_gettime(d->private_data->clock,&tv1); + int ret2=ioctl(fd, command,arg); +- int ret3=clock_gettime(d->private->clock,&tv2); ++ int ret3=clock_gettime(d->private_data->clock,&tv2); + if(ret1<0 || ret3<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; + } + return ret2; + } +@@ -96,7 +96,7 @@ + static void clear_garbage(cdrom_drive *d){ + fd_set fdset; + struct timeval tv; +- struct sg_header *sg_hd=d->private->sg_hd; ++ struct sg_header *sg_hd=d->private_data->sg_hd; + int flag=0; + + /* clear out any possibly preexisting garbage */ +@@ -185,7 +185,7 @@ + struct timespec tv2; + int tret1,tret2; + int status = 0; +- struct sg_header *sg_hd=d->private->sg_hd; ++ struct sg_header *sg_hd=d->private_data->sg_hd; + long writebytes=SG_OFF+cmd_len+in_size; + + /* generic scsi device services */ +@@ -195,7 +195,7 @@ + + memset(sg_hd,0,sizeof(sg_hd)); + memset(sense_buffer,0,SG_MAX_SENSE); +- memcpy(d->private->sg_buffer,cmd,cmd_len+in_size); ++ memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size); + sg_hd->twelve_byte = cmd_len == 12; + sg_hd->result = 0; + sg_hd->reply_len = SG_OFF + out_size; +@@ -209,7 +209,7 @@ + tell if the command failed. Scared yet? */ + + if(bytecheck && out_size>in_size){ +- memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); ++ memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); + /* the size does not remove cmd_len due to the way the kernel + driver copies buffers */ + writebytes+=(out_size-in_size); +@@ -243,7 +243,7 @@ + } + + sigprocmask (SIG_BLOCK, &(d->sigset), NULL ); +- tret1=clock_gettime(d->private->clock,&tv1); ++ tret1=clock_gettime(d->private_data->clock,&tv1); + errno=0; + status = write(d->cdda_fd, sg_hd, writebytes ); + +@@ -289,7 +289,7 @@ + } + } + +- tret2=clock_gettime(d->private->clock,&tv2); ++ tret2=clock_gettime(d->private_data->clock,&tv2); + errno=0; + status = read(d->cdda_fd, sg_hd, SG_OFF + out_size); + sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL ); +@@ -313,7 +313,7 @@ + if(bytecheck && in_size+cmd_lenprivate->sg_buffer[i]!=bytefill){ ++ if(d->private_data->sg_buffer[i]!=bytefill){ + flag=1; + break; + } +@@ -326,9 +326,9 @@ + + errno=0; + if(tret1<0 || tret2<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000; + } + return(0); + } +@@ -347,7 +347,7 @@ + + memset(&hdr,0,sizeof(hdr)); + memset(sense,0,sizeof(sense)); +- memcpy(d->private->sg_buffer,cmd+cmd_len,in_size); ++ memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size); + + hdr.cmdp = cmd; + hdr.cmd_len = cmd_len; +@@ -355,7 +355,7 @@ + hdr.mx_sb_len = SG_MAX_SENSE; + hdr.timeout = 50000; + hdr.interface_id = 'S'; +- hdr.dxferp = d->private->sg_buffer; ++ hdr.dxferp = d->private_data->sg_buffer; + hdr.flags = SG_FLAG_DIRECT_IO; /* direct IO if we can get it */ + + /* scary buffer fill hack */ +@@ -400,7 +400,7 @@ + if(bytecheck && in_sizeprivate->sg_buffer[i]!=bytefill){ ++ if(d->private_data->sg_buffer[i]!=bytefill){ + flag=1; + break; + } +@@ -412,7 +412,7 @@ + } + + /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */ +- /* d->private->last_milliseconds = hdr.duration; */ ++ /* d->private_data->last_milliseconds = hdr.duration; */ + + errno = 0; + return 0; +@@ -445,9 +445,9 @@ + + handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense); + +- key = d->private->sg_buffer[2] & 0xf; +- ASC = d->private->sg_buffer[12]; +- ASCQ = d->private->sg_buffer[13]; ++ key = d->private_data->sg_buffer[2] & 0xf; ++ ASC = d->private_data->sg_buffer[12]; ++ ASCQ = d->private_data->sg_buffer[13]; + + if(key == 2 && ASC == 4 && ASCQ == 1) return 0; + return 1; +@@ -492,7 +492,7 @@ + if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1); + + { +- unsigned char *b=d->private->sg_buffer; ++ unsigned char *b=d->private_data->sg_buffer; + if(b[0])return(1); /* Handles only up to 256 bytes */ + if(b[6])return(1); /* Handles only up to 256 bytes */ + +@@ -604,8 +604,8 @@ + static unsigned int get_orig_sectorsize(cdrom_drive *d){ + if(mode_sense(d,12,0x01))return(-1); + +- d->orgdens = d->private->sg_buffer[4]; +- return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]); ++ d->orgdens = d->private_data->sg_buffer[4]; ++ return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]); + } + + /* switch CDROM scsi drives to given sector size */ +@@ -664,8 +664,8 @@ + return(-4); + } + +- first=d->private->sg_buffer[2]; +- last=d->private->sg_buffer[3]; ++ first=d->private_data->sg_buffer[2]; ++ last=d->private_data->sg_buffer[3]; + tracks=last-first+1; + + if (last > MAXTRK || first > MAXTRK || last<0 || first<0) { +@@ -683,7 +683,7 @@ + return(-5); + } + { +- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4); ++ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4); + + d->disc_toc[i-first].bFlags=toc->bFlags; + d->disc_toc[i-first].bTrack=i; +@@ -704,7 +704,7 @@ + return(-2); + } + { +- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4); ++ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4); + + d->disc_toc[i-first].bFlags=toc->bFlags; + d->disc_toc[i-first].bTrack=0xAA; +@@ -738,7 +738,7 @@ + } + + /* copy to our structure and convert start sector */ +- tracks = d->private->sg_buffer[1]; ++ tracks = d->private_data->sg_buffer[1]; + if (tracks > MAXTRK) { + cderror(d,"003: CDROM reporting illegal number of tracks\n"); + return(-3); +@@ -754,33 +754,33 @@ + return(-5); + } + +- d->disc_toc[i].bFlags = d->private->sg_buffer[10]; ++ d->disc_toc[i].bFlags = d->private_data->sg_buffer[10]; + d->disc_toc[i].bTrack = i + 1; + + d->disc_toc[i].dwStartSector= d->adjust_ssize * +- (((signed char)(d->private->sg_buffer[2])<<24) | +- (d->private->sg_buffer[3]<<16)| +- (d->private->sg_buffer[4]<<8)| +- (d->private->sg_buffer[5])); ++ (((signed char)(d->private_data->sg_buffer[2])<<24) | ++ (d->private_data->sg_buffer[3]<<16)| ++ (d->private_data->sg_buffer[4]<<8)| ++ (d->private_data->sg_buffer[5])); + } + + d->disc_toc[i].bFlags = 0; + d->disc_toc[i].bTrack = i + 1; +- memcpy (&foo, d->private->sg_buffer+2, 4); +- memcpy (&bar, d->private->sg_buffer+6, 4); ++ memcpy (&foo, d->private_data->sg_buffer+2, 4); ++ memcpy (&bar, d->private_data->sg_buffer+6, 4); + d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) + + be32_to_cpu(bar)); + + d->disc_toc[i].dwStartSector= d->adjust_ssize * +- ((((signed char)(d->private->sg_buffer[2])<<24) | +- (d->private->sg_buffer[3]<<16)| +- (d->private->sg_buffer[4]<<8)| +- (d->private->sg_buffer[5]))+ ++ ((((signed char)(d->private_data->sg_buffer[2])<<24) | ++ (d->private_data->sg_buffer[3]<<16)| ++ (d->private_data->sg_buffer[4]<<8)| ++ (d->private_data->sg_buffer[5]))+ + +- ((((signed char)(d->private->sg_buffer[6])<<24) | +- (d->private->sg_buffer[7]<<16)| +- (d->private->sg_buffer[8]<<8)| +- (d->private->sg_buffer[9])))); ++ ((((signed char)(d->private_data->sg_buffer[6])<<24) | ++ (d->private_data->sg_buffer[7]<<16)| ++ (d->private_data->sg_buffer[8]<<8)| ++ (d->private_data->sg_buffer[9])))); + + + d->cd_extra = FixupTOC(d,tracks+1); +@@ -817,7 +817,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -836,7 +836,7 @@ + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -854,7 +854,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -872,7 +872,7 @@ + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -890,7 +890,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -908,7 +908,7 @@ + cmd[9] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -922,7 +922,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -936,7 +936,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -950,7 +950,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -964,7 +964,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -978,7 +978,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -992,7 +992,7 @@ + cmd[8] = sectors; + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1026,7 +1026,7 @@ + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1039,7 +1039,7 @@ + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1052,7 +1052,7 @@ + + if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense))) + return(ret); +- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW); ++ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW); + return(0); + } + +@@ -1275,7 +1275,7 @@ + static int count_2352_bytes(cdrom_drive *d){ + long i; + for(i=2351;i>=0;i--) +- if(d->private->sg_buffer[i]!=(unsigned char)'\177') ++ if(d->private_data->sg_buffer[i]!=(unsigned char)'\177') + return(((i+3)>>2)<<2); + + return(0); +@@ -1284,7 +1284,7 @@ + static int verify_nonzero(cdrom_drive *d){ + long i,flag=0; + for(i=0;i<2352;i++) +- if(d->private->sg_buffer[i]!=0){ ++ if(d->private_data->sg_buffer[i]!=0){ + flag=1; + break; + } +@@ -1621,7 +1621,7 @@ + d->is_mmc=0; + if(mode_sense(d,22,0x2A)==0){ + +- b=d->private->sg_buffer; ++ b=d->private_data->sg_buffer; + b+=b[3]+4; + + if((b[0]&0x3F)==0x2A){ +@@ -1669,7 +1669,7 @@ + cderror(d,"008: Unable to identify CDROM model\n"); + return(NULL); + } +- return (d->private->sg_buffer); ++ return (d->private_data->sg_buffer); + } + + int scsi_init_drive(cdrom_drive *d){ +@@ -1725,8 +1725,8 @@ + check_cache(d); + + d->error_retry=1; +- d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128); +- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF; ++ d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128); ++ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF; + d->report_all=1; + return(0); + } +Index: interface/cooked_interface.c +=================================================================== +--- interface/cooked_interface.c (revision 15337) ++++ interface/cooked_interface.c (revision 15338) +@@ -13,13 +13,13 @@ + static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){ + struct timespec tv1; + struct timespec tv2; +- int ret1=clock_gettime(d->private->clock,&tv1); ++ int ret1=clock_gettime(d->private_data->clock,&tv1); + int ret2=ioctl(fd, command,arg); +- int ret3=clock_gettime(d->private->clock,&tv2); ++ int ret3=clock_gettime(d->private_data->clock,&tv2); + if(ret1<0 || ret3<0){ +- d->private->last_milliseconds=-1; ++ d->private_data->last_milliseconds=-1; + }else{ +- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; ++ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.; + } + return ret2; + } +Index: interface/scan_devices.c +=================================================================== +--- interface/scan_devices.c (revision 15337) ++++ interface/scan_devices.c (revision 15338) +@@ -264,11 +264,11 @@ + d->interface=COOKED_IOCTL; + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + { + /* goddamnit */ + struct timespec tv; +- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); ++ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); + } + idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description); + return(d); +@@ -674,15 +674,15 @@ + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; + d->messagedest = messagedest; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + { + /* goddamnit */ + struct timespec tv; +- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); ++ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC); + } + if(use_sgio){ + d->interface=SGIO_SCSI; +- d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE)); ++ d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE)); + g_fd=d->cdda_fd=dup(d->ioctl_fd); + }else{ + version=verify_SG_version(d,messagedest,messages); +@@ -696,8 +696,8 @@ + } + + /* malloc our big buffer for scsi commands */ +- d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE); +- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF; ++ d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE); ++ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF; + } + + { +@@ -772,9 +772,9 @@ + if(i_fd!=-1)close(i_fd); + if(g_fd!=-1)close(g_fd); + if(d){ +- if(d->private){ +- if(d->private->sg_hd)free(d->private->sg_hd); +- free(d->private); ++ if(d->private_data){ ++ if(d->private_data->sg_hd)free(d->private_data->sg_hd); ++ free(d->private_data); + } + free(d); + } +@@ -821,7 +821,7 @@ + d->interface=TEST_INTERFACE; + d->bigendianp=-1; /* We don't know yet... */ + d->nsectors=-1; +- d->private=calloc(1,sizeof(*d->private)); ++ d->private_data=calloc(1,sizeof(*d->private_data)); + d->drive_model=copystring("File based test interface"); + idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model); + diff --git a/main/cdparanoia/version b/main/cdparanoia/version new file mode 100644 index 00000000..864e6fc3 --- /dev/null +++ b/main/cdparanoia/version @@ -0,0 +1 @@ +10.2 9 diff --git a/main/cifs-utils/PKGBUILD b/main/cifs-utils/PKGBUILD new file mode 100644 index 00000000..f3b211fa --- /dev/null +++ b/main/cifs-utils/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=cifs-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="CIFS filesystem user-space tools" +arch=(x86_64) +url="https://wiki.samba.org/index.php/LinuxCIFS_utils" +license=('GPL') +depends=('libcap-ng' 'keyutils' 'krb5' 'talloc' 'pam' 'libwbclient') +makedepends=('python-docutils') +optdepends=('python: for smb2-quota and smbinfo script') +source=("https://download.samba.org/pub/linux-cifs/$pkgname/$pkgname-$pkgver.tar.bz2"{,.asc}) + +validpgpkeys=('C699981A31F338706C817650DF5BA9D30642D5A0') #cifs-utils Distribution Verification Key +sha256sums=('0defaab85bd3ea46ffc45ab41fb0d0ad54d05ae2cfaa7e503de86d4f12bc8161' + 'SKIP') + +prepare() { + # Fix install to honor DESTDIR + sed -e 's|cd \$(ROOTSBINDIR)|cd $(DESTDIR)$(ROOTSBINDIR)|g' -i $pkgname-$pkgver/Makefile.am +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + # systemd support is broken in mount.cifs + # https://bugs.archlinux.org/task/30958 + autoreconf -i + # https://www.spinics.net/lists/linux-cifs/msg21550.html + # change back to libcap-ng depend when upstream is fixed + ./configure --prefix=/usr --sbindir=/usr/bin --disable-systemd + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" ROOTSBINDIR=/usr/bin install + mkdir -p "$pkgdir"/etc/request-key.d + install -m 644 contrib/request-key.d/cifs.idmap.conf "$pkgdir"/etc/request-key.d + install -m 644 contrib/request-key.d/cifs.spnego.conf "$pkgdir"/etc/request-key.d + # set mount.cifs uid, to enable none root mounting form fstab + chmod +s "$pkgdir"/usr/bin/mount.cifs + # fix idmap-plugin #42052 + mkdir -p "$pkgdir"/etc/cifs-utils + ln -s /usr/lib/cifs-utils/idmapwb.so "${pkgdir}"/etc/cifs-utils/idmap-plugin +} diff --git a/main/cifs-utils/README b/main/cifs-utils/README new file mode 100644 index 00000000..d0fcf785 --- /dev/null +++ b/main/cifs-utils/README @@ -0,0 +1,43 @@ +cifs-utils +________________________________________________________________________________ + +CIFS filesystem user-space tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cifs-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.samba.org/index.php/LinuxCIFS_utils diff --git a/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1.patch b/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1.patch new file mode 100644 index 00000000..ed319182 --- /dev/null +++ b/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1.patch @@ -0,0 +1,101 @@ +From f4e7c84467152624a288351321c8664dbf3364af Mon Sep 17 00:00:00 2001 +From: Jonas Witschel +Date: Sat, 21 Nov 2020 11:41:26 +0100 +Subject: [PATCH 1/2] mount.cifs: update the cap bounding set only when + CAP_SETPCAP is given + +libcap-ng 0.8.1 tightened the error checking on capng_apply, returning an error +of -4 when trying to update the capability bounding set without having the +CAP_SETPCAP capability to be able to do so. Previous versions of libcap-ng +silently skipped updating the bounding set and only updated the normal +CAPNG_SELECT_CAPS capabilities instead. + +Check beforehand whether we have CAP_SETPCAP, in which case we can use +CAPNG_SELECT_BOTH to update both the normal capabilities and the bounding set. +Otherwise, we can at least update the normal capabilities, but refrain from +trying to update the bounding set to avoid getting an error. + +Signed-off-by: Jonas Witschel +--- + mount.cifs.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/mount.cifs.c b/mount.cifs.c +index 4feb397..88b8b69 100644 +--- a/mount.cifs.c ++++ b/mount.cifs.c +@@ -338,6 +338,8 @@ static int set_password(struct parsed_mount_info *parsed_info, const char *src) + static int + drop_capabilities(int parent) + { ++ capng_select_t set = CAPNG_SELECT_CAPS; ++ + capng_setpid(getpid()); + capng_clear(CAPNG_SELECT_BOTH); + if (parent) { +@@ -355,7 +357,10 @@ drop_capabilities(int parent) + return EX_SYSERR; + } + } +- if (capng_apply(CAPNG_SELECT_BOTH)) { ++ if (capng_have_capability(CAPNG_EFFECTIVE, CAP_SETPCAP)) { ++ set = CAPNG_SELECT_BOTH; ++ } ++ if (capng_apply(set)) { + fprintf(stderr, "Unable to apply new capability set.\n"); + return EX_SYSERR; + } +-- +2.29.2 + + +From 64dfbafe7a0639a96d67f0b840b6e6498e1f68a9 Mon Sep 17 00:00:00 2001 +From: Jonas Witschel +Date: Sat, 21 Nov 2020 11:48:33 +0100 +Subject: [PATCH 2/2] cifs.upall: update the cap bounding set only when + CAP_SETPCAP is given + +libcap-ng 0.8.1 tightened the error checking on capng_apply, returning an error +of -4 when trying to update the capability bounding set without having the +CAP_SETPCAP capability to be able to do so. Previous versions of libcap-ng +silently skipped updating the bounding set and only updated the normal +CAPNG_SELECT_CAPS capabilities instead. + +Check beforehand whether we have CAP_SETPCAP, in which case we can use +CAPNG_SELECT_BOTH to update both the normal capabilities and the bounding set. +Otherwise, we can at least update the normal capabilities, but refrain from +trying to update the bounding set to avoid getting an error. + +Signed-off-by: Jonas Witschel +--- + cifs.upcall.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/cifs.upcall.c b/cifs.upcall.c +index 1559434..af1a0b0 100644 +--- a/cifs.upcall.c ++++ b/cifs.upcall.c +@@ -88,6 +88,8 @@ typedef enum _sectype { + static int + trim_capabilities(bool need_environ) + { ++ capng_select_t set = CAPNG_SELECT_CAPS; ++ + capng_clear(CAPNG_SELECT_BOTH); + + /* SETUID and SETGID to change uid, gid, and grouplist */ +@@ -105,7 +107,10 @@ trim_capabilities(bool need_environ) + return 1; + } + +- if (capng_apply(CAPNG_SELECT_BOTH)) { ++ if (capng_have_capability(CAPNG_EFFECTIVE, CAP_SETPCAP)) { ++ set = CAPNG_SELECT_BOTH; ++ } ++ if (capng_apply(set)) { + syslog(LOG_ERR, "%s: Unable to apply capability set: %m\n", __func__); + return 1; + } +-- +2.29.2 + diff --git a/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1_part-2.patch b/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1_part-2.patch new file mode 100644 index 00000000..6db18a37 --- /dev/null +++ b/main/cifs-utils/cifs-utils-6.11_fix_capng_apply_for_libcap-ng-0.8.1_part-2.patch @@ -0,0 +1,58 @@ +From 0fddcee4b1b9c9f16b3cfe1b2daec87d2b8b19dd Mon Sep 17 00:00:00 2001 +From: Alexander Koch +Date: Wed, 16 Dec 2020 18:02:31 +0100 +Subject: [PATCH] cifs.upcall: drop bounding capabilities only if CAP_SETPCAP + is given + +Make drop_call_capabilities() in cifs.upcall update the bounding capabilities +only if CAP_SETCAP is present. + +This is an addendum to the patch recently provided in [1]. Without this +additional change, cifs.upcall can still fail while trying to mount a CIFS +network share with krb5: + + kernel: CIFS: Attempting to mount //server.domain.lan/myshare + cifs.upcall[39484]: key description: cifs.spnego;0;0;39010000;ver=0x2;host=server.domain.lan> + cifs.upcall[39484]: ver=2 + cifs.upcall[39484]: host=server.domain.lan + cifs.upcall[39484]: ip=172.22.3.14 + cifs.upcall[39484]: sec=1 + cifs.upcall[39484]: uid=1000 + cifs.upcall[39484]: creduid=1000 + cifs.upcall[39484]: user=username + cifs.upcall[39484]: pid=39481 + cifs.upcall[39484]: get_cachename_from_process_env: pathname=/proc/39481/environ + cifs.upcall[39484]: get_cachename_from_process_env: cachename = FILE:/tmp/.krb5cc_1000 + cifs.upcall[39484]: drop_all_capabilities: Unable to apply capability set: Success + cifs.upcall[39484]: Exit status 1 + +[1] https://marc.info/?l=linux-cifs&m=160595758021261 + +Signed-off-by: Alexander Koch +Signed-off-by: Jonas Witschel +--- + cifs.upcall.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/cifs.upcall.c b/cifs.upcall.c +index 1559434..b62ab50 100644 +--- a/cifs.upcall.c ++++ b/cifs.upcall.c +@@ -115,8 +115,13 @@ trim_capabilities(bool need_environ) + static int + drop_all_capabilities(void) + { ++ capng_select_t set = CAPNG_SELECT_CAPS; ++ + capng_clear(CAPNG_SELECT_BOTH); +- if (capng_apply(CAPNG_SELECT_BOTH)) { ++ if (capng_have_capability(CAPNG_EFFECTIVE, CAP_SETPCAP)) { ++ set = CAPNG_SELECT_BOTH; ++ } ++ if (capng_apply(set)) { + syslog(LOG_ERR, "%s: Unable to apply capability set: %m\n", __func__); + return 1; + } +-- +2.29.2 + diff --git a/main/cifs-utils/cifs-utils-6.13_fix-regression-in-kerberos-mount.patch b/main/cifs-utils/cifs-utils-6.13_fix-regression-in-kerberos-mount.patch new file mode 100644 index 00000000..7e370649 --- /dev/null +++ b/main/cifs-utils/cifs-utils-6.13_fix-regression-in-kerberos-mount.patch @@ -0,0 +1,493 @@ +From 7f9711dd902a239c499682015d708f73ec884af2 Mon Sep 17 00:00:00 2001 +From: Aurelien Aptel +Date: Wed, 21 Apr 2021 16:22:15 +0200 +Subject: [PATCH] cifs.upcall: fix regression in kerberos mount + +The fix for CVE-2021-20208 in commit e461afd ("cifs.upcall: try to use +container ipc/uts/net/pid/mnt/user namespaces") introduced a +regression for kerberos mounts when cifs-utils is built with +libcap-ng. It makes mount fail with ENOKEY "Required key not +available". + +Current state: + +mount.cifs + '---> mount() ---> kernel + negprot, session setup (need security blob for krb) + request_key("cifs.spnego", payload="pid=%d;username=...") + upcall + /sbin/request-key <--------------' + reads /etc/request-keys.conf + dispatch cifs.spnego request + calls /usr/sbin/cifs.upcall + - drop privileges (capabilities) + - fetch keyid + - parse payload + - switch to mount.cifs namespaces + - call krb5_xxx() funcs + - generate security blob + - set key value to security blob + '-----------------------------------> kernel + put blob in session setup packet + continue auth + open tcon + get share root + setup superblock +mount.cifs mount() returns <-----------' + +By the time cifs.upcall tries to switch to namespaces, enough +capabilities have dropped in trim_capabilities() that it makes setns() +fail with EPERM. + +setns() requires CAP_SYS_ADMIN. + +With libcap trim_capabilities() is a no-op. + +This fix: + +- moves the namespace switch earlier so that operations like + setgroups(), setgid(), scanning of pid environment, ... happens in the + contained namespaces. +- moves trim_capabilities() after the namespace switch +- moves the string processing to decode the key request payload in a + child process with minimum capabilities. the decoded data is shared + with the parent process via shared memory obtained with mmap(). + +Fixes: e461afd ("cifs.upcall: try to use container ipc/uts/net/pid/mnt/user namespaces") +Signed-off-by: Aurelien Aptel +--- + cifs.upcall.c | 214 ++++++++++++++++++++++++++++++++------------------ + 1 file changed, 139 insertions(+), 75 deletions(-) + +diff --git a/cifs.upcall.c b/cifs.upcall.c +index e413934..ad04301 100644 +--- a/cifs.upcall.c ++++ b/cifs.upcall.c +@@ -52,6 +52,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include "data_blob.h" + #include "spnego.h" +@@ -787,6 +790,25 @@ handle_krb5_mech(const char *oid, const char *host, DATA_BLOB * secblob, + return retval; + } + ++ ++ ++struct decoded_args { ++ int ver; ++ char hostname[NI_MAXHOST + 1]; ++ char ip[NI_MAXHOST + 1]; ++ ++/* Max user name length. */ ++#define MAX_USERNAME_SIZE 256 ++ char username[MAX_USERNAME_SIZE + 1]; ++ ++ uid_t uid; ++ uid_t creduid; ++ pid_t pid; ++ sectype_t sec; ++ ++/* ++ * Flags to keep track of what was provided ++ */ + #define DKD_HAVE_HOSTNAME 0x1 + #define DKD_HAVE_VERSION 0x2 + #define DKD_HAVE_SEC 0x4 +@@ -796,23 +818,13 @@ handle_krb5_mech(const char *oid, const char *host, DATA_BLOB * secblob, + #define DKD_HAVE_CREDUID 0x40 + #define DKD_HAVE_USERNAME 0x80 + #define DKD_MUSTHAVE_SET (DKD_HAVE_HOSTNAME|DKD_HAVE_VERSION|DKD_HAVE_SEC) +- +-struct decoded_args { +- int ver; +- char *hostname; +- char *ip; +- char *username; +- uid_t uid; +- uid_t creduid; +- pid_t pid; +- sectype_t sec; ++ int have; + }; + + static unsigned int +-decode_key_description(const char *desc, struct decoded_args *arg) ++__decode_key_description(const char *desc, struct decoded_args *arg) + { +- int len; +- int retval = 0; ++ size_t len; + char *pos; + const char *tkn = desc; + +@@ -826,13 +838,13 @@ decode_key_description(const char *desc, struct decoded_args *arg) + len = pos - tkn; + + len -= 5; +- free(arg->hostname); +- arg->hostname = strndup(tkn + 5, len); +- if (arg->hostname == NULL) { +- syslog(LOG_ERR, "Unable to allocate memory"); ++ if (len > sizeof(arg->hostname)-1) { ++ syslog(LOG_ERR, "host= value too long for buffer"); + return 1; + } +- retval |= DKD_HAVE_HOSTNAME; ++ memset(arg->hostname, 0, sizeof(arg->hostname)); ++ strncpy(arg->hostname, tkn + 5, len); ++ arg->have |= DKD_HAVE_HOSTNAME; + syslog(LOG_DEBUG, "host=%s", arg->hostname); + } else if (!strncmp(tkn, "ip4=", 4) || !strncmp(tkn, "ip6=", 4)) { + if (pos == NULL) +@@ -841,13 +853,13 @@ decode_key_description(const char *desc, struct decoded_args *arg) + len = pos - tkn; + + len -= 4; +- free(arg->ip); +- arg->ip = strndup(tkn + 4, len); +- if (arg->ip == NULL) { +- syslog(LOG_ERR, "Unable to allocate memory"); ++ if (len > sizeof(arg->ip)-1) { ++ syslog(LOG_ERR, "ip[46]= value too long for buffer"); + return 1; + } +- retval |= DKD_HAVE_IP; ++ memset(arg->ip, 0, sizeof(arg->ip)); ++ strncpy(arg->ip, tkn + 4, len); ++ arg->have |= DKD_HAVE_IP; + syslog(LOG_DEBUG, "ip=%s", arg->ip); + } else if (strncmp(tkn, "user=", 5) == 0) { + if (pos == NULL) +@@ -856,13 +868,13 @@ decode_key_description(const char *desc, struct decoded_args *arg) + len = pos - tkn; + + len -= 5; +- free(arg->username); +- arg->username = strndup(tkn + 5, len); +- if (arg->username == NULL) { +- syslog(LOG_ERR, "Unable to allocate memory"); ++ if (len > sizeof(arg->username)-1) { ++ syslog(LOG_ERR, "user= value too long for buffer"); + return 1; + } +- retval |= DKD_HAVE_USERNAME; ++ memset(arg->username, 0, sizeof(arg->username)); ++ strncpy(arg->username, tkn + 5, len); ++ arg->have |= DKD_HAVE_USERNAME; + syslog(LOG_DEBUG, "user=%s", arg->username); + } else if (strncmp(tkn, "pid=", 4) == 0) { + errno = 0; +@@ -873,13 +885,13 @@ decode_key_description(const char *desc, struct decoded_args *arg) + return 1; + } + syslog(LOG_DEBUG, "pid=%u", arg->pid); +- retval |= DKD_HAVE_PID; ++ arg->have |= DKD_HAVE_PID; + } else if (strncmp(tkn, "sec=", 4) == 0) { + if (strncmp(tkn + 4, "krb5", 4) == 0) { +- retval |= DKD_HAVE_SEC; ++ arg->have |= DKD_HAVE_SEC; + arg->sec = KRB5; + } else if (strncmp(tkn + 4, "mskrb5", 6) == 0) { +- retval |= DKD_HAVE_SEC; ++ arg->have |= DKD_HAVE_SEC; + arg->sec = MS_KRB5; + } + syslog(LOG_DEBUG, "sec=%d", arg->sec); +@@ -891,7 +903,7 @@ decode_key_description(const char *desc, struct decoded_args *arg) + strerror(errno)); + return 1; + } +- retval |= DKD_HAVE_UID; ++ arg->have |= DKD_HAVE_UID; + syslog(LOG_DEBUG, "uid=%u", arg->uid); + } else if (strncmp(tkn, "creduid=", 8) == 0) { + errno = 0; +@@ -901,7 +913,7 @@ decode_key_description(const char *desc, struct decoded_args *arg) + strerror(errno)); + return 1; + } +- retval |= DKD_HAVE_CREDUID; ++ arg->have |= DKD_HAVE_CREDUID; + syslog(LOG_DEBUG, "creduid=%u", arg->creduid); + } else if (strncmp(tkn, "ver=", 4) == 0) { /* if version */ + errno = 0; +@@ -911,14 +923,56 @@ decode_key_description(const char *desc, struct decoded_args *arg) + strerror(errno)); + return 1; + } +- retval |= DKD_HAVE_VERSION; ++ arg->have |= DKD_HAVE_VERSION; + syslog(LOG_DEBUG, "ver=%d", arg->ver); + } + if (pos == NULL) + break; + tkn = pos + 1; + } while (tkn); +- return retval; ++ return 0; ++} ++ ++static unsigned int ++decode_key_description(const char *desc, struct decoded_args **arg) ++{ ++ pid_t pid; ++ pid_t rc; ++ int status; ++ ++ /* ++ * Do all the decoding/string processing in a child process ++ * with low privileges. ++ */ ++ ++ *arg = mmap(NULL, sizeof(struct decoded_args), PROT_READ | PROT_WRITE, ++ MAP_ANONYMOUS | MAP_SHARED, -1, 0); ++ if (*arg == MAP_FAILED) { ++ syslog(LOG_ERR, "%s: mmap failed: %s", __func__, strerror(errno)); ++ return -1; ++ } ++ ++ pid = fork(); ++ if (pid < 0) { ++ syslog(LOG_ERR, "%s: fork failed: %s", __func__, strerror(errno)); ++ munmap(*arg, sizeof(struct decoded_args)); ++ *arg = NULL; ++ return -1; ++ } ++ if (pid == 0) { ++ /* do the parsing in child */ ++ drop_all_capabilities(); ++ exit(__decode_key_description(desc, *arg)); ++ } ++ ++ rc = waitpid(pid, &status, 0); ++ if (rc < 0 || !WIFEXITED(status) || WEXITSTATUS(status) != 0) { ++ munmap(*arg, sizeof(struct decoded_args)); ++ *arg = NULL; ++ return 1; ++ } ++ ++ return 0; + } + + static int setup_key(const key_serial_t key, const void *data, size_t datalen) +@@ -1098,7 +1152,7 @@ int main(const int argc, char *const argv[]) + bool try_dns = false, legacy_uid = false , env_probe = true; + char *buf; + char hostbuf[NI_MAXHOST], *host; +- struct decoded_args arg; ++ struct decoded_args *arg = NULL; + const char *oid; + uid_t uid; + char *keytab_name = NULL; +@@ -1109,7 +1163,6 @@ int main(const int argc, char *const argv[]) + const char *key_descr = NULL; + + hostbuf[0] = '\0'; +- memset(&arg, 0, sizeof(arg)); + + openlog(prog, 0, LOG_DAEMON); + +@@ -1150,9 +1203,6 @@ int main(const int argc, char *const argv[]) + } + } + +- if (trim_capabilities(env_probe)) +- goto out; +- + /* is there a key? */ + if (argc <= optind) { + usage(); +@@ -1178,6 +1228,10 @@ int main(const int argc, char *const argv[]) + + syslog(LOG_DEBUG, "key description: %s", buf); + ++ /* ++ * If we are requested a simple DNS query, do it and exit ++ */ ++ + if (strncmp(buf, "cifs.resolver", sizeof("cifs.resolver") - 1) == 0) + key_descr = ".cifs.resolver"; + else if (strncmp(buf, "dns_resolver", sizeof("dns_resolver") - 1) == 0) +@@ -1187,33 +1241,42 @@ int main(const int argc, char *const argv[]) + goto out; + } + +- have = decode_key_description(buf, &arg); ++ /* ++ * Otherwise, it's a spnego key request ++ */ ++ ++ rc = decode_key_description(buf, &arg); + free(buf); +- if ((have & DKD_MUSTHAVE_SET) != DKD_MUSTHAVE_SET) { ++ if (rc) { ++ syslog(LOG_ERR, "failed to decode key description"); ++ goto out; ++ } ++ ++ if ((arg->have & DKD_MUSTHAVE_SET) != DKD_MUSTHAVE_SET) { + syslog(LOG_ERR, "unable to get necessary params from key " + "description (0x%x)", have); + rc = 1; + goto out; + } + +- if (arg.ver > CIFS_SPNEGO_UPCALL_VERSION) { ++ if (arg->ver > CIFS_SPNEGO_UPCALL_VERSION) { + syslog(LOG_ERR, "incompatible kernel upcall version: 0x%x", +- arg.ver); ++ arg->ver); + rc = 1; + goto out; + } + +- if (strlen(arg.hostname) >= NI_MAXHOST) { ++ if (strlen(arg->hostname) >= NI_MAXHOST) { + syslog(LOG_ERR, "hostname provided by kernel is too long"); + rc = 1; + goto out; + + } + +- if (!legacy_uid && (have & DKD_HAVE_CREDUID)) +- uid = arg.creduid; +- else if (have & DKD_HAVE_UID) +- uid = arg.uid; ++ if (!legacy_uid && (arg->have & DKD_HAVE_CREDUID)) ++ uid = arg->creduid; ++ else if (arg->have & DKD_HAVE_UID) ++ uid = arg->uid; + else { + /* no uid= or creduid= parm -- something is wrong */ + syslog(LOG_ERR, "No uid= or creduid= parm specified"); +@@ -1221,6 +1284,21 @@ int main(const int argc, char *const argv[]) + goto out; + } + ++ /* ++ * Change to the process's namespace. This means that things will work ++ * acceptably in containers, because we'll be looking at the correct ++ * filesystem and have the correct network configuration. ++ */ ++ rc = switch_to_process_ns(arg->pid); ++ if (rc == -1) { ++ syslog(LOG_ERR, "unable to switch to process namespace: %s", strerror(errno)); ++ rc = 1; ++ goto out; ++ } ++ ++ if (trim_capabilities(env_probe)) ++ goto out; ++ + /* + * The kernel doesn't pass down the gid, so we resort here to scraping + * one out of the passwd nss db. Note that this might not reflect the +@@ -1266,20 +1344,7 @@ int main(const int argc, char *const argv[]) + * look at the environ file. + */ + env_cachename = +- get_cachename_from_process_env(env_probe ? arg.pid : 0); +- +- /* +- * Change to the process's namespace. This means that things will work +- * acceptably in containers, because we'll be looking at the correct +- * filesystem and have the correct network configuration. +- */ +- rc = switch_to_process_ns(arg.pid); +- if (rc == -1) { +- syslog(LOG_ERR, "unable to switch to process namespace: %s", +- strerror(errno)); +- rc = 1; +- goto out; +- } ++ get_cachename_from_process_env(env_probe ? arg->pid : 0); + + rc = setuid(uid); + if (rc == -1) { +@@ -1301,18 +1366,18 @@ int main(const int argc, char *const argv[]) + + ccache = get_existing_cc(env_cachename); + /* Couldn't find credcache? Try to use keytab */ +- if (ccache == NULL && arg.username != NULL) +- ccache = init_cc_from_keytab(keytab_name, arg.username); ++ if (ccache == NULL && arg->username[0] != '\0') ++ ccache = init_cc_from_keytab(keytab_name, arg->username); + + if (ccache == NULL) { + rc = 1; + goto out; + } + +- host = arg.hostname; ++ host = arg->hostname; + + // do mech specific authorization +- switch (arg.sec) { ++ switch (arg->sec) { + case MS_KRB5: + case KRB5: + /* +@@ -1328,7 +1393,7 @@ int main(const int argc, char *const argv[]) + * TRY only: + * cifs/bar.example.com@REALM + */ +- if (arg.sec == MS_KRB5) ++ if (arg->sec == MS_KRB5) + oid = OID_KERBEROS5_OLD; + else + oid = OID_KERBEROS5; +@@ -1385,10 +1450,10 @@ retry_new_hostname: + break; + } + +- if (!try_dns || !(have & DKD_HAVE_IP)) ++ if (!try_dns || !(arg->have & DKD_HAVE_IP)) + break; + +- rc = ip_to_fqdn(arg.ip, hostbuf, sizeof(hostbuf)); ++ rc = ip_to_fqdn(arg->ip, hostbuf, sizeof(hostbuf)); + if (rc) + break; + +@@ -1396,7 +1461,7 @@ retry_new_hostname: + host = hostbuf; + goto retry_new_hostname; + default: +- syslog(LOG_ERR, "sectype: %d is not implemented", arg.sec); ++ syslog(LOG_ERR, "sectype: %d is not implemented", arg->sec); + rc = 1; + break; + } +@@ -1414,7 +1479,7 @@ retry_new_hostname: + rc = 1; + goto out; + } +- keydata->version = arg.ver; ++ keydata->version = arg->ver; + keydata->flags = 0; + keydata->sesskey_len = sess_key.length; + keydata->secblob_len = secblob.length; +@@ -1440,11 +1505,10 @@ out: + krb5_cc_close(context, ccache); + if (context) + krb5_free_context(context); +- free(arg.hostname); +- free(arg.ip); +- free(arg.username); + free(keydata); + free(env_cachename); ++ if (arg) ++ munmap(arg, sizeof(*arg)); + syslog(LOG_DEBUG, "Exit status %ld", rc); + return rc; + } +-- +2.33.0 + diff --git a/main/cifs-utils/version b/main/cifs-utils/version new file mode 100644 index 00000000..d61cc6fb --- /dev/null +++ b/main/cifs-utils/version @@ -0,0 +1 @@ +7.0 3 diff --git a/main/clang/.PKGINFO b/main/clang/.PKGINFO new file mode 100644 index 00000000..f9f98cf1 --- /dev/null +++ b/main/clang/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = clang +pkgbase = clang +xdata = pkgtype=pkg +pkgver = 17.0.6-2 +pkgdesc = C language family frontend for LLVM +url = https://clang.llvm.org/ +builddate = 1714401881 +packager = Developer +size = 207618610 +arch = x86_64 +license = custom:Apache 2.0 with LLVM Exception +replaces = clang-analyzer +replaces = clang-tools-extra +conflict = clang-analyzer +conflict = clang-tools-extra +provides = clang-analyzer=17.0.6 +provides = clang-tools-extra=17.0.6 +depend = llvm-libs +depend = gcc +depend = compiler-rt +optdepend = openmp: OpenMP support in clang with -fopenmp +optdepend = python: for scan-view and git-clang-format +optdepend = llvm: referenced by some clang headers +makedepend = llvm +makedepend = cmake +makedepend = ninja +makedepend = python-sphinx +makedepend = python-recommonmark diff --git a/main/clang/PKGBUILD b/main/clang/PKGBUILD new file mode 100644 index 00000000..7f2d82d8 --- /dev/null +++ b/main/clang/PKGBUILD @@ -0,0 +1,155 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=clang +pkgver=%version% +pkgrel=%release% +pkgdesc="C language family frontend for LLVM" +arch=('x86_64') +url="https://clang.llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +depends=('llvm-libs' 'gcc' 'compiler-rt') +makedepends=('llvm' 'cmake' 'ninja' 'python-sphinx' 'python-recommonmark') +optdepends=('openmp: OpenMP support in clang with -fopenmp' + 'python: for scan-view and git-clang-format' + 'llvm: referenced by some clang headers') +provides=("clang-analyzer=$pkgver" "clang-tools-extra=$pkgver") +conflicts=('clang-analyzer' 'clang-tools-extra') +replaces=('clang-analyzer' 'clang-tools-extra') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +source=($_source_base/clang-$pkgver.src.tar.xz{,.sig} + $_source_base/clang-tools-extra-$pkgver.src.tar.xz{,.sig} + $_source_base/llvm-$pkgver.src.tar.xz{,.sig} + $_source_base/cmake-$pkgver.src.tar.xz{,.sig} + $_source_base/third-party-$pkgver.src.tar.xz{,.sig} + clangd-handle-missing-ending-brace.patch::https://github.com/llvm/llvm-project/commit/9d1dada57741.patch + enable-fstack-protector-strong-by-default.patch) +sha256sums=('a78f668a726ae1d3d9a7179996d97b12b90fb76ab9442a43110b972ff7ad9029' + 'SKIP' + 'aa774642415d338d7b77a66fcbad6fd1f77f382dabcb67422a6230614eff1ab9' + 'SKIP' + 'b638167da139126ca11917b6880207cc6e8f9d1cbb1a48d87d017f697ef78188' + 'SKIP' + '807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4' + 'SKIP' + '3054d0a9c9375dab1a4539cc2cc45ab340341c5d71475f9599ba7752e222947b' + 'SKIP' + 'c102e8a6a2adb0e8729865ffb8799b22bb8a9bdf0f421991880fa4393378370a' + '45da5783f4e89e4507a351ed0ffbbe6ec240e21ff7070797a89c5ccf434ac612') +validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta + +# 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-tidy-headers) + continue + ;; + clang|clangd|clang-*) + ;; + clang*|findAllSymbols) + continue + ;; + esac + echo $target + done +} + +prepare() { + rename -v -- "-$pkgver.src" '' {cmake,third-party}-$pkgver.src + cd clang-$pkgver.src + mkdir build + mv "$srcdir/clang-tools-extra-$pkgver.src" tools/extra + patch -Np2 -i ../enable-fstack-protector-strong-by-default.patch + + # https://github.com/clangd/clangd/issues/1559 + sed 's|clang-tools-extra|clang/tools/extra|' \ + clangd-handle-missing-ending-brace.patch | patch -Np2 + + # Attempt to convert script to Python 3 + 2to3 -wn --no-diffs \ + tools/extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +} + +build() { + cd 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_DOCS=ON + -DLLVM_BUILD_TESTS=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_SPHINX=ON + -DLLVM_EXTERNAL_LIT=/usr/bin/lit + -DLLVM_INCLUDE_DOCS=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + + 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 +} + +check() { + cd clang-$pkgver.src/build + LD_LIBRARY_PATH=$PWD/lib ninja check-clang{,-tools} +} + +_python_optimize() { + python -m compileall "$@" + python -O -m compileall "$@" + python -OO -m compileall "$@" +} + +package() { + cd clang-$pkgver.src/build + + DESTDIR="$pkgdir" ninja install-distribution + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # Remove documentation sources + rm -r "$pkgdir"/usr/share/doc/clang{,-tools}/html/{_sources,.buildinfo} + + # 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" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/clang/README b/main/clang/README new file mode 100644 index 00000000..a749a005 --- /dev/null +++ b/main/clang/README @@ -0,0 +1,43 @@ +clang +________________________________________________________________________________ + +C language family frontend for LLVM + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S clang | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://clang.llvm.org/ diff --git a/main/clang/enable-fstack-protector-strong-by-default.patch b/main/clang/enable-fstack-protector-strong-by-default.patch new file mode 100644 index 00000000..ba2a298f --- /dev/null +++ b/main/clang/enable-fstack-protector-strong-by-default.patch @@ -0,0 +1,72 @@ +From 5346dc41bee9546db1fc649f39f1c44629495cc5 Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras +Date: Fri, 18 Aug 2023 13:31:57 +0000 +Subject: [PATCH] Enable -fstack-protector-strong by default + +--- + clang/lib/Driver/ToolChains/Linux.h | 5 +++++ + clang/test/Driver/fsanitize.c | 6 +++--- + clang/test/Driver/stack-protector.c | 4 ++-- + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h +index 524391743090..0d4e1944118b 100644 +--- a/clang/lib/Driver/ToolChains/Linux.h ++++ b/clang/lib/Driver/ToolChains/Linux.h +@@ -10,6 +10,7 @@ + #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_LINUX_H + + #include "Gnu.h" ++#include "clang/Basic/LangOptions.h" + #include "clang/Driver/ToolChain.h" + + namespace clang { +@@ -48,6 +49,10 @@ public: + IsAArch64OutlineAtomicsDefault(const llvm::opt::ArgList &Args) const override; + bool isPIEDefault(const llvm::opt::ArgList &Args) const override; + bool IsMathErrnoDefault() const override; ++ LangOptions::StackProtectorMode ++ GetDefaultStackProtectorLevel(bool KernelOrKext) const override { ++ return LangOptions::SSPStrong; ++ } + SanitizerMask getSupportedSanitizers() const override; + void addProfileRTLibs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; +diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c +index 8ad6dc25b4d1..1619b59a40f0 100644 +--- a/clang/test/Driver/fsanitize.c ++++ b/clang/test/Driver/fsanitize.c +@@ -695,12 +695,12 @@ + // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP + // NOSP-NOT: "-fsanitize=safe-stack" + +-// RUN: %clang --target=x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP ++// RUN: %clang --target=x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP + // RUN: %clang --target=x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN + // RUN: %clang --target=x86_64-linux-gnu -fstack-protector -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP + // RUN: %clang --target=x86_64-linux-gnu -fsanitize=safe-stack -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SP +-// RUN: %clang --target=arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP +-// RUN: %clang --target=aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP ++// RUN: %clang --target=arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP ++// RUN: %clang --target=aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP + // RUN: %clang --target=i386-contiki-unknown -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP + // NO-SP-NOT: stack-protector + // NO-SP: "-fsanitize=safe-stack" +diff --git a/clang/test/Driver/stack-protector.c b/clang/test/Driver/stack-protector.c +index 169376919a71..2470b7f7e39e 100644 +--- a/clang/test/Driver/stack-protector.c ++++ b/clang/test/Driver/stack-protector.c +@@ -3,11 +3,11 @@ + // NOSSP-NOT: "-stack-protector-buffer-size" + + // RUN: %clang -target i386-unknown-linux -fstack-protector -### %s 2>&1 | FileCheck %s -check-prefix=SSP +-// SSP: "-stack-protector" "1" ++// SSP: "-stack-protector" "2" + // SSP-NOT: "-stack-protector-buffer-size" + + // RUN: %clang -target i386-unknown-linux -fstack-protector --param ssp-buffer-size=16 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-BUF +-// SSP-BUF: "-stack-protector" "1" ++// SSP-BUF: "-stack-protector" "2" + // SSP-BUF: "-stack-protector-buffer-size" "16" + + // RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD diff --git a/main/clang/version b/main/clang/version new file mode 100644 index 00000000..b1c40e17 --- /dev/null +++ b/main/clang/version @@ -0,0 +1 @@ +17.0.6 2 diff --git a/main/clinfo/PKGBUILD b/main/clinfo/PKGBUILD new file mode 100644 index 00000000..46980659 --- /dev/null +++ b/main/clinfo/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=clinfo +pkgver=%version% +pkgrel=%release% +pkgdesc="Simple OpenCL application that enumerates all available platform and device properties" +arch=(x86_64) +url="https://github.com/Oblomov/clinfo" +license=('custom:Public Domain') +depends=(opencl-icd-loader) +makedepends=(opencl-headers) +source=(${url}/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha256sums=('6dcdada6c115873db78c7ffc62b9fc1ee7a2d08854a3bccea396df312e7331e3') + +build() { + cd ${pkgname}-${pkgver} + make +} + +package() { + cd ${pkgname}-${pkgver} + install -Dm755 clinfo -t "${pkgdir}"/usr/bin/ + install -Dm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname} + install -Dm644 man1/clinfo.1 -t "${pkgdir}"/usr/share/man/man1/ +} diff --git a/main/clinfo/README b/main/clinfo/README new file mode 100644 index 00000000..304fadac --- /dev/null +++ b/main/clinfo/README @@ -0,0 +1,43 @@ +clinfo +________________________________________________________________________________ + +Simple OpenCL application that enumerates all available platform and device properties + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S clinfo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/Oblomov/clinfo diff --git a/main/clinfo/version b/main/clinfo/version new file mode 100644 index 00000000..48ec1c7f --- /dev/null +++ b/main/clinfo/version @@ -0,0 +1 @@ +3.0.23.01.25 1 diff --git a/main/clonezilla/PKGBUILD b/main/clonezilla/PKGBUILD new file mode 100644 index 00000000..4624e98c --- /dev/null +++ b/main/clonezilla/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=clonezilla +pkgver=%version% +pkgrel=%release% +pkgdesc="ncurses partition and disk imaging/cloning program" +arch=('any') +url="https://clonezilla.org" +license=('GPL2') +depends=('drbl' 'partclone' 'ntfs-3g' 'partimage' 'pigz' 'sshfs' 'parted' + 'gptfdisk' 'dosfstools' 'gzip' 'bzip2' 'pbzip2' 'lbzip2' 'lrzip' + 'xz' 'pixz' 'lzop' 'ecryptfs-utils' 'screen' 'perl' 'cifs-utils') +backup=('etc/drbl/drbl-ocs.conf') +source=(https://free.nchc.org.tw/drbl-core/src/stable/$pkgname-$pkgver.tar.xz + usrbin.patch) +md5sums=('aaf2f2c009b26cbaf0a2edcdab4f9cfc' + 'a976c9209f7bbccd352a9d0a5c8b41ae') +sha256sums=('fa9d83d74f22a1993590c85c773ec7c374b9b0d2b1a8658e365171f80bee982e' + '9340f18b27a1b3b41c4935c5831f6503e4cadf333f03433769906da40a6e38e6') + +prepare() { + cd $pkgname-$pkgver + + patch -Np0 -i "$srcdir"/usrbin.patch +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/main/clonezilla/README b/main/clonezilla/README new file mode 100644 index 00000000..715c12b1 --- /dev/null +++ b/main/clonezilla/README @@ -0,0 +1,43 @@ +clonezilla +________________________________________________________________________________ + +ncurses partition and disk imaging/cloning program + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S clonezilla | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://clonezilla.org diff --git a/main/clonezilla/usrbin.patch b/main/clonezilla/usrbin.patch new file mode 100644 index 00000000..1970aeb7 --- /dev/null +++ b/main/clonezilla/usrbin.patch @@ -0,0 +1,13 @@ +--- Makefile.orig 2013-05-30 17:42:49.851418658 +0100 ++++ Makefile 2013-05-30 17:44:41.157482402 +0100 +@@ -18,8 +18,8 @@ + + install: + # install exec files +- install -d ${DESTDIR}/usr/ +- cp -a sbin bin ${DESTDIR}/usr/ ++ install -d ${DESTDIR}/usr/bin ++ cp -a sbin/* bin/* ${DESTDIR}/usr/bin/ + + # install setup dir + install -d $(DESTDIR)/$(SHAREDIR)/ diff --git a/main/clonezilla/version b/main/clonezilla/version new file mode 100644 index 00000000..4fd448fd --- /dev/null +++ b/main/clonezilla/version @@ -0,0 +1 @@ +3.35.2 5 diff --git a/main/cloud-init/.PKGINFO b/main/cloud-init/.PKGINFO new file mode 100644 index 00000000..72fca292 --- /dev/null +++ b/main/cloud-init/.PKGINFO @@ -0,0 +1,45 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = cloud-init +pkgbase = cloud-init +xdata = pkgtype=pkg +pkgver = 24.1-2 +pkgdesc = Cloud instance initialization +url = https://cloud-init.io +builddate = 1714400631 +packager = Developer +size = 7923514 +arch = any +license = GPL-3.0-only OR Apache-2.0 +backup = etc/cloud/cloud.cfg +backup = etc/cloud/cloud.cfg.d/05_logging.cfg +depend = bash +depend = dhclient +depend = python +depend = python-configobj +depend = python-jinja +depend = python-jsonpatch +depend = python-jsonschema +depend = python-netifaces +depend = python-oauthlib +depend = python-pyserial +depend = python-pyyaml +depend = python-requests +depend = python-typing_extensions +depend = sudo +depend = systemd +optdepend = cloud-guest-utils: for growpart +optdepend = netplan: for configuring network using netplan +optdepend = python-passlib: for Azure and BSD support +optdepend = python-urllib3: for LXD and Scaleway data sources +makedepend = netplan +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = procps-ng +checkdepend = python-httpretty +checkdepend = python-passlib +checkdepend = python-pytest +checkdepend = python-pytest-mock +checkdepend = python-responses diff --git a/main/cloud-init/.nvchecker.toml b/main/cloud-init/.nvchecker.toml new file mode 100644 index 00000000..de723350 --- /dev/null +++ b/main/cloud-init/.nvchecker.toml @@ -0,0 +1,3 @@ +[cloud-init] +source = "git" +git = "https://github.com/canonical/cloud-init" diff --git a/main/cloud-init/PKGBUILD b/main/cloud-init/PKGBUILD new file mode 100644 index 00000000..bf59450e --- /dev/null +++ b/main/cloud-init/PKGBUILD @@ -0,0 +1,114 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=cloud-init +pkgver=%version% +pkgrel=%release% +pkgdesc="Cloud instance initialization" +arch=(any) +url="https://cloud-init.io" +license=('GPL-3.0-only OR Apache-2.0') +depends=( + bash + dhclient + python + python-configobj + python-jinja + python-jsonpatch + python-jsonschema + python-netifaces + python-oauthlib + python-pyserial + python-pyyaml + python-requests + python-typing_extensions + sudo + systemd +) +makedepends=( + netplan + python-build + python-installer + python-setuptools + python-wheel +) +checkdepends=( + procps-ng + python-httpretty + python-passlib + python-pytest + python-pytest-mock + python-responses +) +optdepends=( + 'cloud-guest-utils: for growpart' + 'netplan: for configuring network using netplan' + 'python-passlib: for Azure and BSD support' + 'python-urllib3: for LXD and Scaleway data sources' +) +backup=( + etc/cloud/cloud.cfg + etc/cloud/cloud.cfg.d/05_logging.cfg +) +source=( + https://github.com/canonical/cloud-init/archive/$pkgver/$pkgname-$pkgver.tar.gz +) +sha512sums=('216a824b341947189dbb252e549525bf7001c55778d9a51dde328ae4fd17da041e11813963ffedbb765245202a1e7a05ddc39350cdd8dc8e3bfb70b432b3ea5e') +b2sums=('cdc55e9fa7c79e686aa6ac62c59bce8d243093eef90e4ef58f1cfaeae28939518c828ed688c41598216ea3614c77abea2568621240a64a4a7f1a3886ab361e8a') + +build() { + cd $pkgname-$pkgver + python -m build --wheel --no-isolation -C--distro=arch -C--prefix=/usr +} + +check() { + local pytest_options=( + -vv + # we don't ship /etc/ca-certificates.conf + --deselect tests/unittests/config/test_cc_ca_certs.py::TestRemoveDefaultCaCerts::test_commands + --deselect tests/unittests/test_ds_identify.py::TestWSL::test_empty_cloudinitdir + --deselect tests/unittests/test_ds_identify.py::TestWSL::test_found_via_userdata + --deselect 'tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation_false_when_skipped[config0-]' + --deselect 'tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation_false_when_skipped[config1-]' + --deselect 'tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation_false_when_skipped[config2-Skipping netplan schema validation. No netplan available]' + --deselect 'tests/unittests/config/test_schema.py::TestNetplanValidateNetworkSchema::test_network_config_schema_validation_false_when_skipped[config3-Skipping netplan schema validation. No netplan available]' + --deselect 'tests/unittests/config/test_schema.py::TestNetworkSchema::test_network_schema[net_v2_skipped]' + ) + cd $pkgname-$pkgver + pytest "${pytest_options[@]}" +} + +package() { + local _file + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + + cd $pkgname-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + # NOTE: due to limitations with PEP517, files are installed to site-packages, + # not to the correct global locations (e.g. /etc and /usr), so we remove them + # and install them manually below. + rm -frv "$pkgdir/$site_packages/"{usr,etc} + + # configuration and hooks + install -vDm 644 config/cloud.cfg.d/* -t "$pkgdir/etc/cloud/cloud.cfg.d/" + ./tools/render-template --variant arch ./config/cloud.cfg.tmpl "$pkgdir/etc/cloud/cloud.cfg" + install -vDm 644 templates/*.tmpl -t "$pkgdir/etc/cloud/templates/" + install -vDm 755 tools/{ds-identify,hook-hotplug,uncloud-init,write-ssh-key-fingerprints} -t "$pkgdir/usr/lib/$pkgname/" + # documentation, man pages and shell completion + install -vDm 644 doc/*.txt -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 doc/examples/*.txt -t "$pkgdir/usr/share/doc/$pkgname/examples/" + install -vDm 644 doc/examples/seed/* -t "$pkgdir/usr/share/doc/$pkgname/examples/seed/" + install -vDm 644 doc/man/*.1 -t "$pkgdir/usr/share/man/man1/" + install -vDm 655 bash_completion/$pkgname -t "$pkgdir/usr/share/bash-completion/completions/" + # udev rules + install -vDm 644 udev/*.rules -t "$pkgdir/usr/lib/udev/rules.d/" + # systemd integration + install -vdm 755 "$pkgdir/usr/lib/systemd/system"{,-generators} + for _file in cloud-{config,final,init-local,init}.service; do + ./tools/render-template --variant arch ./systemd/$_file.tmpl "$pkgdir/usr/lib/systemd/system/$_file" + done + install -vDm 644 systemd/*.{service,socket,target} "$pkgdir/usr/lib/systemd/system/" + ./tools/render-template --variant arch ./systemd/cloud-init-generator.tmpl "$pkgdir/usr/lib/systemd/system-generators/cloud-init-generator" + chmod 755 "$pkgdir/usr/lib/systemd/system-generators/cloud-init-generator" + install -vDm 644 systemd/disable-sshd-keygen-if-cloud-init-active.conf -t "$pkgdir/usr/lib/systemd/system/sshd-keygen@.service.d/" +} diff --git a/main/cloud-init/README b/main/cloud-init/README new file mode 100644 index 00000000..529d09dc --- /dev/null +++ b/main/cloud-init/README @@ -0,0 +1,43 @@ +cloud-init +________________________________________________________________________________ + +Cloud instance initialization + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cloud-init | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://cloud-init.io diff --git a/main/cloud-init/version b/main/cloud-init/version new file mode 100644 index 00000000..b567afdc --- /dev/null +++ b/main/cloud-init/version @@ -0,0 +1 @@ +24.1 2 diff --git a/main/colord/PKGBUILD b/main/colord/PKGBUILD new file mode 100644 index 00000000..06d54eb1 --- /dev/null +++ b/main/colord/PKGBUILD @@ -0,0 +1,135 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=colord +pkgname=( + colord + colord-sane + libcolord +) +pkgver=%version% +pkgrel=%release% +pkgdesc="System daemon for managing color devices" +url="https://www.freedesktop.org/software/colord" +arch=(x86_64) +license=(GPL-2.0-or-later) +depends=( + dbus + dconf + lcms2 + libgudev + libgusb + polkit + shared-mime-info + sqlite + systemd +) +makedepends=( + argyllcms + bash-completion + docbook-xsl + git + gobject-introspection + gtk-doc + meson + sane + vala +) +options=(!emptydirs) +_commit=1f55f64bbcdbf2283fbf2b3eed3966893870285a # tags/1.4.7^0 +source=("git+https://github.com/hughsie/colord#commit=$_commit") +b2sums=('SKIP') +validpgpkeys=( + 163EB50119225DB3DF8F49EA17ACBA8DFA970E17 # Richard Hughes +) + +pkgver() { + cd colord + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd colord + + # Fix writing to database + git cherry-pick -n 08a32b2379fb5582f4312e59bf51a2823df56276 + + # Fix colord-sane with hplip + # https://gitlab.archlinux.org/archlinux/packaging/packages/colord/-/issues/3 + git cherry-pick -n 9283abd9c00468edb94d2a06d6fa3681cae2700d +} + +build() { + local meson_options=( + -D daemon_user=colord + -D libcolordcompat=true + -D print_profiles=true + -D sane=true + -D vapi=true + ) + + arch-meson colord build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_colord() { + depends+=("libcolord=$pkgver-$pkgrel") + optdepends=( + 'argyllcms: color profiling' + 'colord-sane: SANE support' + ) + provides=(libcolorhug.so) + replaces=(shared-color-profiles) + + meson install -C build --destdir "$pkgdir" + + echo 'u colord - "Color management daemon" /var/lib/colord' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/colord.conf" + + cd "$pkgdir" + + _pick sane usr/lib/colord-sane + _pick sane usr/lib/colord-plugins/libcolord_sensor_sane.so + + _pick lib usr/include/colord-1/colord{,.h} + _pick lib usr/lib/libcolord{,compat}.so* + _pick lib usr/lib/girepository-1.0/Colord-1.0.typelib + _pick lib usr/lib/pkgconfig/colord.pc + _pick lib usr/share/gir-1.0/Colord-1.0.gir +} + +package_colord-sane() { + pkgdesc+=" (SANE support)" + depends=( + "colord=$pkgver-$pkgrel" + sane + ) + mv sane/* "$pkgdir" +} + +package_libcolord() { + pkgdesc+=" (client library)" + depends=( + glib2 + lcms2 + systemd + ) + provides=(libcolord.so) + mv lib/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/colord/README b/main/colord/README new file mode 100644 index 00000000..14b58a7c --- /dev/null +++ b/main/colord/README @@ -0,0 +1,43 @@ +colord +________________________________________________________________________________ + +System daemon for managing color devices System daemon for managing color devices (SANE support) System daemon for managing color devices (client library) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S colord | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/software/colord diff --git a/main/colord/version b/main/colord/version new file mode 100644 index 00000000..a567a778 --- /dev/null +++ b/main/colord/version @@ -0,0 +1 @@ +1.4.7 2 diff --git a/main/compiler-rt/.PKGINFO b/main/compiler-rt/.PKGINFO new file mode 100644 index 00000000..422c25cf --- /dev/null +++ b/main/compiler-rt/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = compiler-rt +pkgbase = compiler-rt +xdata = pkgtype=pkg +pkgver = 17.0.6-2 +pkgdesc = Compiler runtime libraries for clang +url = https://compiler-rt.llvm.org/ +builddate = 1714618472 +packager = Developer +size = 41640900 +arch = x86_64 +license = custom:Apache 2.0 with LLVM Exception +depend = gcc-libs +makedepend = llvm +makedepend = cmake +makedepend = ninja +makedepend = python +makedepend = lib32-gcc-libs diff --git a/main/compiler-rt/PKGBUILD b/main/compiler-rt/PKGBUILD new file mode 100644 index 00000000..f975b65a --- /dev/null +++ b/main/compiler-rt/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=compiler-rt +pkgver=%version% +pkgrel=%release% +pkgdesc="Compiler runtime libraries for clang" +arch=('x86_64') +url="https://compiler-rt.llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +depends=('gcc-libs') +makedepends=('llvm' 'cmake' 'ninja' 'python') +# Build 32-bit compiler-rt libraries on x86_64 (FS#41911) +makedepends_x86_64=('lib32-gcc-libs') +options=('staticlibs') +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +source=($_source_base/compiler-rt-$pkgver.src.tar.xz{,.sig} + $_source_base/cmake-$pkgver.src.tar.xz{,.sig}) +sha256sums=('11b8d09dcf92a0f91c5c82defb5ad9ff4acf5cf073a80c317204baa922d136b4' + 'SKIP' + '807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4' + 'SKIP') +validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta + +prepare() { + mv cmake{-$pkgver.src,} + cd compiler-rt-$pkgver.src + mkdir build +} + +build() { + cd compiler-rt-$pkgver.src/build + + local cmake_args=( + -G Ninja + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_SKIP_RPATH=ON + -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/${pkgver%%.*} + ) + cmake .. "${cmake_args[@]}" + ninja +} + +package() { + cd compiler-rt-$pkgver.src/build + + DESTDIR="$pkgdir" ninja install + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/compiler-rt/README b/main/compiler-rt/README new file mode 100644 index 00000000..dc4a9029 --- /dev/null +++ b/main/compiler-rt/README @@ -0,0 +1,43 @@ +compiler-rt +________________________________________________________________________________ + +Compiler runtime libraries for clang + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S compiler-rt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://compiler-rt.llvm.org/ diff --git a/main/compiler-rt/version b/main/compiler-rt/version new file mode 100644 index 00000000..b1c40e17 --- /dev/null +++ b/main/compiler-rt/version @@ -0,0 +1 @@ +17.0.6 2 diff --git a/main/convertlit/.nvchecker.toml b/main/convertlit/.nvchecker.toml new file mode 100644 index 00000000..744d507a --- /dev/null +++ b/main/convertlit/.nvchecker.toml @@ -0,0 +1,4 @@ +[convertlit] +source = 'regex' +url = 'http://www.convertlit.com/download.php' +regex = 'Convert LIT (\d+.\d+)' diff --git a/main/convertlit/PKGBUILD b/main/convertlit/PKGBUILD new file mode 100644 index 00000000..ee625a4b --- /dev/null +++ b/main/convertlit/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=convertlit +pkgver=%version% +pkgrel=%release% +pkgdesc='An extractor/converter for .LIT eBooks' +arch=(x86_64) +url='http://www.convertlit.com/' +license=(GPL) +depends=(libtommath) +source=(http://www.convertlit.com/clit18src.zip) +sha256sums=('d70a85f5b945104340d56f48ec17bcf544e3bb3c35b1b3d58d230be699e557ba') + +prepare() { +# Link to shared libtommath and use system LDFLAGS + sed -i 's|../libtommath-0.30/libtommath.a|/usr/lib/libtommath.so ${LDFLAGS}|' clit18/Makefile +} + +build() { + cd lib + make + + cd ../clit18 + make +} + +package() { + cd clit18 + + install -Dm755 clit "$pkgdir/usr/bin/clit" +} diff --git a/main/convertlit/README b/main/convertlit/README new file mode 100644 index 00000000..ce0d416f --- /dev/null +++ b/main/convertlit/README @@ -0,0 +1,43 @@ +convertlit +________________________________________________________________________________ + +An extractor/converter for .LIT eBooks + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S convertlit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.convertlit.com/ diff --git a/main/convertlit/version b/main/convertlit/version new file mode 100644 index 00000000..c51809d0 --- /dev/null +++ b/main/convertlit/version @@ -0,0 +1 @@ +1.8 11 diff --git a/main/coreutils/PKGBUILD b/main/coreutils/PKGBUILD new file mode 100644 index 00000000..62b73b6b --- /dev/null +++ b/main/coreutils/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=coreutils +pkgver=%version% +pkgrel=%release% +pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' +arch=('x86_64') +license=('GPL-3.0-or-later' 'GFDL-1.3-or-later') +url='https://www.gnu.org/software/coreutils/' +depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl') +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady +sha256sums=('cd328edeac92f6a665de9f323c93b712af1858bc2e0d88f3f7100469470a1b8a' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-openssl \ + --enable-no-install-program=groups,hostname,kill,uptime + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/coreutils/README b/main/coreutils/README new file mode 100644 index 00000000..7d54e18c --- /dev/null +++ b/main/coreutils/README @@ -0,0 +1,43 @@ +coreutils +________________________________________________________________________________ + +The basic file, shell and text manipulation utilities of the GNU operating system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S coreutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/coreutils/ diff --git a/main/coreutils/version b/main/coreutils/version new file mode 100644 index 00000000..4965dbd3 --- /dev/null +++ b/main/coreutils/version @@ -0,0 +1 @@ +9.5 1 diff --git a/main/cracklib/PKGBUILD b/main/cracklib/PKGBUILD new file mode 100644 index 00000000..0bf24b1f --- /dev/null +++ b/main/cracklib/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=cracklib +pkgver=%version% +pkgrel=%release% +pkgdesc="Password Checking Library" +arch=('x86_64') +license=('GPL') +url="https://github.com/cracklib/cracklib" +depends=('glibc' 'zlib') +source=(https://github.com/cracklib/cracklib/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('6213b986a5209fc0d4ca93734e349b8f66b36bfe9a3fae6eead14a15d82a68dc') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin --without-python + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + # symlink cracklib-small #34778 + mkdir -p "$pkgdir"/usr/share/dict + ln -sf /usr/share/cracklib/cracklib-small "$pkgdir"/usr/share/dict/cracklib-small + sh ./util/cracklib-format dicts/cracklib-small \ + | sh ./util/cracklib-packer "$pkgdir"/usr/share/cracklib/pw_dict +} diff --git a/main/cracklib/README b/main/cracklib/README new file mode 100644 index 00000000..b3280fe3 --- /dev/null +++ b/main/cracklib/README @@ -0,0 +1,43 @@ +cracklib +________________________________________________________________________________ + +Password Checking Library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cracklib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/cracklib/cracklib diff --git a/main/cracklib/version b/main/cracklib/version new file mode 100644 index 00000000..14367b3e --- /dev/null +++ b/main/cracklib/version @@ -0,0 +1 @@ +2.9.11 1 diff --git a/main/cryptsetup/.PKGINFO b/main/cryptsetup/.PKGINFO new file mode 100644 index 00000000..312a14d9 --- /dev/null +++ b/main/cryptsetup/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = cryptsetup +pkgbase = cryptsetup +xdata = pkgtype=pkg +pkgver = 2.7.2-1 +pkgdesc = Userspace setup tool for transparent encryption of block devices using dm-crypt +url = https://gitlab.com/cryptsetup/cryptsetup/ +builddate = 1712886523 +packager = Developer +size = 2946900 +arch = x86_64 +license = GPL +conflict = mkinitcpio<38-1 +provides = libcryptsetup.so=12-64 +depend = device-mapper +depend = libdevmapper.so=1.02-64 +depend = openssl +depend = popt +depend = util-linux-libs +depend = libuuid.so=1-64 +depend = json-c +depend = libjson-c.so=5-64 +depend = argon2 +depend = libargon2.so +makedepend = util-linux +makedepend = asciidoctor diff --git a/main/cryptsetup/PKGBUILD b/main/cryptsetup/PKGBUILD new file mode 100644 index 00000000..72cbd7a6 --- /dev/null +++ b/main/cryptsetup/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=cryptsetup +pkgver=%version% +pkgrel=%release% +pkgdesc='Userspace setup tool for transparent encryption of block devices using dm-crypt' +arch=(x86_64) +license=('GPL') +url='https://gitlab.com/cryptsetup/cryptsetup/' +depends=('device-mapper' 'libdevmapper.so' 'openssl' 'popt' 'util-linux-libs' + 'libuuid.so' 'json-c' 'libjson-c.so' 'argon2' 'libargon2.so') +makedepends=('util-linux' 'asciidoctor') +conflicts=('mkinitcpio<38-1') +provides=('libcryptsetup.so') +options=('!emptydirs') +validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz +source=("https://www.kernel.org/pub/linux/utils/cryptsetup/v${pkgver%.*}/${pkgname}-${pkgver}.tar."{xz,sign}) +sha256sums=('da5d1419e2a86e01aa32fd79582cd54d208857cb541bca2fd426a5ff1aaabbc3' + 'SKIP') + +build() { + cd "${srcdir}"/$pkgname-${pkgver} + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-libargon2 \ + --disable-ssh-token \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd "${srcdir}"/$pkgname-${pkgver} + + make DESTDIR="${pkgdir}" install + + # install docs + install -D -m0644 -t "${pkgdir}"/usr/share/doc/cryptsetup/ FAQ.md docs/{Keyring,LUKS2-locking}.txt +} diff --git a/main/cryptsetup/README b/main/cryptsetup/README new file mode 100644 index 00000000..f4ae17c2 --- /dev/null +++ b/main/cryptsetup/README @@ -0,0 +1,43 @@ +cryptsetup +________________________________________________________________________________ + +Userspace setup tool for transparent encryption of block devices using dm-crypt + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cryptsetup | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/cryptsetup/cryptsetup/ diff --git a/main/cryptsetup/version b/main/cryptsetup/version new file mode 100644 index 00000000..cceb5c82 --- /dev/null +++ b/main/cryptsetup/version @@ -0,0 +1 @@ +2.7.2 1 diff --git a/main/cups/.PKGINFO b/main/cups/.PKGINFO new file mode 100644 index 00000000..aaeaeef1 --- /dev/null +++ b/main/cups/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libcups +pkgbase = cups +xdata = pkgtype=split +pkgver = 2:2.4.9-1 +pkgdesc = OpenPrinting CUPS - client libraries and headers +url = https://openprinting.github.io/cups/ +builddate = 1718491610 +packager = Developer +size = 799633 +arch = x86_64 +license = Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND BSD-2-Clause +depend = gnutls +depend = avahi +depend = glibc +depend = zlib +depend = sh +makedepend = acl +makedepend = pam +makedepend = gnutls +makedepend = cups-filters +makedepend = colord +makedepend = libusb +makedepend = avahi +makedepend = systemd +makedepend = libpaper diff --git a/main/cups/.nvchecker.toml b/main/cups/.nvchecker.toml new file mode 100644 index 00000000..7ad43186 --- /dev/null +++ b/main/cups/.nvchecker.toml @@ -0,0 +1,5 @@ +[cups] +source = "github" +github = "OpenPrinting/cups" +use_max_tag = true +prefix = "v" diff --git a/main/cups/PKGBUILD b/main/cups/PKGBUILD new file mode 100644 index 00000000..ba680a2e --- /dev/null +++ b/main/cups/PKGBUILD @@ -0,0 +1,179 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase="cups" +pkgname=('libcups' 'cups') +pkgver=%version% +pkgrel=%release% +epoch=1 +arch=('x86_64') +license=('Apache' 'custom') +url="https://openprinting.github.io/cups/" +makedepends=('acl' 'pam' 'gnutls' 'cups-filters' 'colord' + 'libusb' 'avahi' 'systemd' 'libpaper') +#checkdepends=('valgrind') +source=(https://github.com/OpenPrinting/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig} + cups.logrotate + cups.pam + cups.sysusers + cups-2.4.0-statedir.patch + # bugfixes + cups-freebind.patch + guid.patch +) +sha256sums=('dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c' + 'SKIP' + 'd87fa0f0b5ec677aae34668f260333db17ce303aa1a752cba5f8e72623d9acf9' + '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' + '06173dfaea37bdd9b39b3e09aba98c34ae7112a2f521db45a688907d8848caa2' + 'f0b15192952c151b1843742c87850ff3a7d0f3ba5dd236ed16623ef908472ad7' + '3385047b9ac8a7b13aeb8f0ca55d15f793ce7283516db0155fe28a67923c592d' + '0bf6a75ba1b051771f155d9a5d36b307a6d40c6857d645b250fe93f3fb713474') +#validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) +#validpgpkeys+=('45D083946E3035282B3CCA9AF434104235DA97EB') # "CUPS.org " +#validpgpkeys+=('845464660B686AAB36540B6F999559A027815955') # "Michael R Sweet " +#validpgpkeys=('7ADB58203CA5F046F28025B215AA6A7F4D4227D7') # "Zdenek Dohnal (Associate Software Engineer) " +validpgpkeys=('7082A0A50A2E92640F3880E0E4522DCC9B246FF7') # Zdenek Dohnal (The old 4D4227D7 key revoked) +#options=(!makeflags) + +prepare() { + cd "${pkgbase}"-${pkgver} + + # move /var/run -> /run for pid file + patch -Np1 -i "${srcdir}"/cups-2.4.0-statedir.patch + + # bug fixes + + # https://github.com/OpenPrinting/cups/issues/53 + # use IP_FREEBIND, because cupsd cannot bind to not yet existing IP address + patch -Np1 -i "${srcdir}"/cups-freebind.patch + + # FS#56818 - https://github.com/apple/cups/issues/5236 + patch -Np1 -i "${srcdir}"/guid.patch + + # Rebuild configure script + aclocal -I config-scripts + autoconf -I config-scripts +} + +build() { + cd "${pkgbase}"-${pkgver} + + # The build system uses only DSOFLAGS but not LDFLAGS to build some libraries. + export DSOFLAGS=${LDFLAGS} + + # use fixed cups user (id 209) since systemd adds "lp" group without a fixed id + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --with-logdir=/var/log/cups \ + --with-docdir=/usr/share/cups/doc \ + --with-exe-file-perm=0755 \ + --with-cups-user=209 \ + --with-cups-group=209 \ + --with-max-log-size=0 \ + --enable-pam=yes \ + --enable-raw-printing \ + --enable-dbus=yes \ + --with-tls=gnutls \ + --with-dbusdir=/usr/share/dbus-1 \ + --enable-relro \ + --enable-libpaper \ + --with-optim="$CFLAGS" #--help + make +} + +# don't run tests - they take ages +#check() { +# cd "${pkgbase}"-${pkgver} +## make -k check || /bin/true +# make check +#} + +package_libcups() { +pkgdesc="OpenPrinting CUPS - client libraries and headers" +depends=('gnutls' 'avahi' 'glibc' 'zlib') + + cd ${pkgbase}-${pkgver} + make BUILDROOT="${pkgdir}" install-headers install-libs + # put this into the libs pkg to make other software find the libs(no pkg-config file included) + mkdir -p "${pkgdir}"/usr/bin + install -m755 "${srcdir}"/"${pkgbase}"-${pkgver}/cups-config "${pkgdir}"/usr/bin/cups-config + + # add license + exception + install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" {LICENSE,NOTICE} +} + +package_cups() { +pkgdesc="OpenPrinting CUPS - daemon package" +install=cups.install +backup=(etc/cups/cupsd.conf + etc/cups/snmp.conf + etc/cups/printers.conf + etc/cups/classes.conf + etc/cups/cups-files.conf + etc/cups/subscriptions.conf + etc/logrotate.d/cups + etc/pam.d/cups) +depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' + 'dbus' 'systemd' 'systemd-libs' 'libpaper' 'hicolor-icon-theme' + 'glibc' 'gcc-libs' 'avahi' 'gnutls') +optdepends=('cups-browsed: to browse the network for remote CUPS queues and IPP network printers' + 'libusb: for usb printer backend' + 'ipp-usb: allows to send HTTP requests via a USB connection on devices without Ethernet or WiFi connections' + 'xdg-utils: xdg .desktop file support' + 'colord: for ICC color profile support' + 'logrotate: for logfile rotation support') + + cd "${pkgbase}"-${pkgver} + make BUILDROOT="${pkgdir}" install-data install-exec + + # this one we ship in the libcups pkg + rm -f "${pkgdir}"/usr/bin/cups-config + + # kill the sysv stuff + rm -rf "${pkgdir}"/etc/rc*.d + rm -rf "${pkgdir}"/etc/init.d + install -D -m644 ../cups.logrotate "${pkgdir}"/etc/logrotate.d/cups + install -D -m644 ../cups.pam "${pkgdir}"/etc/pam.d/cups + + # fix perms on /var/spool and /etc + chmod 755 "${pkgdir}"/var/spool + chmod 755 "${pkgdir}"/etc + + # use cups group FS#36769 + install -Dm644 "$srcdir"/cups.sysusers "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf" + sed -i "s:#User 209:User 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default} + sed -i "s:#Group 209:Group 209:" "${pkgdir}"/etc/cups/cups-files.conf{,.default} + + # install ssl directory where to store the certs, solves some samba issues + install -dm700 -g 209 "${pkgdir}"/etc/cups/ssl + # remove directory from package, it will be recreated at each server start + rm -rf "${pkgdir}"/run + + # install some more configuration files that will get filled by cupsd + touch "${pkgdir}"/etc/cups/printers.conf + touch "${pkgdir}"/etc/cups/classes.conf + touch "${pkgdir}"/etc/cups/subscriptions.conf + chgrp -R 209 "${pkgdir}"/etc/cups + + # fix .desktop file + sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' "${pkgdir}"/usr/share/applications/cups.desktop + + # compress some driver files, adopted from Fedora + find "${pkgdir}"/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f + + # remove client.conf man page + rm -f "${pkgdir}"/usr/share/man/man5/client.conf.5 + + # comment out removed filters that are now part of cups-filters + perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' "$pkgdir"/usr/share/cups/mime/mime.convs + + # comment out unnecessary PageLogFormat entry + sed -i -e 's:PageLogFormat:#PageLogFormat:' "$pkgdir"/etc/cups/cupsd.conf* + + # no more xinetd support + rm -rf "${pkgdir}"/etc/xinetd.d +} diff --git a/main/cups/README b/main/cups/README new file mode 100644 index 00000000..acc44ebb --- /dev/null +++ b/main/cups/README @@ -0,0 +1,43 @@ +cups +________________________________________________________________________________ + +OpenPrinting CUPS - client libraries and headers OpenPrinting CUPS - daemon package + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S cups | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://openprinting.github.io/cups/ diff --git a/main/cups/cups-2.4.0-statedir.patch b/main/cups/cups-2.4.0-statedir.patch new file mode 100644 index 00000000..c6d03034 --- /dev/null +++ b/main/cups/cups-2.4.0-statedir.patch @@ -0,0 +1,11 @@ +--- cups-2.4.0/config-scripts/cups-directories.m4 2021-11-29 16:12:17.094244942 +0100 ++++ cups-2.4.0/config-scripts/cups-directories.m4.new 2021-11-29 16:15:16.958747398 +0100 +@@ -268,7 +268,7 @@ + CUPS_STATEDIR="$CUPS_SERVERROOT" + ], [*], [ + # All others +- CUPS_STATEDIR="$localstatedir/run/cups" ++ CUPS_STATEDIR="/run/cups" + ]) + ]) + AC_DEFINE_UNQUOTED([CUPS_STATEDIR], ["$CUPS_STATEDIR"], [Location of transient state files.]) diff --git a/main/cups/cups-freebind.patch b/main/cups/cups-freebind.patch new file mode 100644 index 00000000..6d9ba430 --- /dev/null +++ b/main/cups/cups-freebind.patch @@ -0,0 +1,15 @@ +diff -up cups-2.0.2/cups/http-addr.c.freebind cups-2.0.2/cups/http-addr.c +--- cups-2.0.2/cups/http-addr.c.freebind 2015-02-10 14:46:33.000000000 +0100 ++++ cups-2.0.2/cups/http-addr.c 2015-02-10 14:50:35.074759141 +0100 +@@ -186,6 +186,10 @@ httpAddrListen(http_addr_t *addr, /* I - + val = 1; + setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, CUPS_SOCAST &val, sizeof(val)); + ++#ifdef __linux ++ setsockopt(fd, IPPROTO_IP, IP_FREEBIND, CUPS_SOCAST &val, sizeof(val)); ++#endif /* __linux */ ++ + #ifdef IPV6_V6ONLY + if (addr->addr.sa_family == AF_INET6) + setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, CUPS_SOCAST &val, sizeof(val)); +diff -up cups-2.0.2/scheduler/listen.c.freebind cups-2.0.2/scheduler/listen.c diff --git a/main/cups/cups.install b/main/cups/cups.install new file mode 100644 index 00000000..017cc4dc --- /dev/null +++ b/main/cups/cups.install @@ -0,0 +1,28 @@ +post_install() { + echo ">> If you use an HTTPS connection to CUPS, the first time you access" + echo ">> the interface it may take a very long time before the site comes up." + echo ">> This is because the first request triggers the generation of the CUPS" + echo ">> SSL certificates which can be a very time-consuming job." +} + +post_upgrade() { + # FS#56818 - make sure we change the ownership to the new cups group + if [[ $(vercmp 2.2.6-3 $2) = 1 ]]; then + chgrp -R 209 /etc/cups + echo "Cups daemon is now running under \"cups\" user+group." + echo "Please make sure to enable the new user+group change in" + echo "/etc/cups/cups-files.conf or merge changes from" + echo "/etc/cups/cups-files.conf.default. After a service restart" + echo "make sure /etc/cups and all files within are owned by" + echo "cups group - run \"chgrp -R cups /etc/cups\"." + fi + + # upstream reverted back to common old naming scheme + if [[ $(vercmp 2.3.3+105+g59137acc1-1 $2) = 1 ]]; then + echo ">>> Cups systemd socket and service files have been" + echo ">>> renamed by upstream decision. Please make sure" + echo ">>> to disable/reenable the services to your need." + echo ">>> hint: \"pacman -Ql cups | grep systemd\" and" + echo ">>> \"ls -lR /etc/systemd/ | grep cups\" " + fi +} diff --git a/main/cups/cups.logrotate b/main/cups/cups.logrotate new file mode 100644 index 00000000..19e12101 --- /dev/null +++ b/main/cups/cups.logrotate @@ -0,0 +1,5 @@ +/var/log/cups/*_log { + missingok + notifempty + sharedscripts +} diff --git a/main/cups/cups.pam b/main/cups/cups.pam new file mode 100644 index 00000000..53724d1f --- /dev/null +++ b/main/cups/cups.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/main/cups/cups.sysusers b/main/cups/cups.sysusers new file mode 100644 index 00000000..4ab9d590 --- /dev/null +++ b/main/cups/cups.sysusers @@ -0,0 +1,2 @@ +u cups 209 "cups helper user" +m cups lp diff --git a/main/cups/guid.patch b/main/cups/guid.patch new file mode 100644 index 00000000..b1bd1923 --- /dev/null +++ b/main/cups/guid.patch @@ -0,0 +1,39 @@ +--- cups-2.4.0/scheduler/cups-exec.c 2021-11-29 16:19:34.235186064 +0100 ++++ cups-2.4.0/scheduler/cups-exec.c.new 2021-11-29 16:25:30.764049649 +0100 +@@ -134,9 +134,14 @@ main(int argc, /* I - Number of command-line args */ + # if CUPS_SNAP + if (setgroups(0, NULL)) + # else +- if (setgroups(1, &gid)) +-# endif /* CUPS_SNAP */ ++#include ++ struct passwd * pwd = getpwuid(uid); ++ if(initgroups(pwd->pw_name,pwd->pw_gid)) ++ { ++ fprintf(stderr, "DEBUG: initgroups failed\n"); + exit(errno + 100); ++ } ++# endif /* CUPS_SNAP */ + + if (uid && setuid(uid)) + exit(errno + 100); +--- cups-2.4.0/scheduler/util.c 2021-11-29 15:27:31.000000000 +0100 ++++ cups-2.4.0/scheduler/util.c.new 2021-11-29 16:29:58.810719066 +0100 +@@ -296,7 +296,16 @@ + */ + + if (!getuid() && user) +- setuid(user); /* Run as restricted user */ ++ { ++#include ++ struct passwd * pwd = getpwuid(user); ++ if(initgroups(pwd->pw_name,pwd->pw_gid)) ++ { ++ fprintf(stderr, "DEBUG: initgroups failed\n"); ++ exit(errno + 100); ++ } ++ setuid(user); /* Run as restricted user */ ++ } + + if ((fd = open("/dev/null", O_RDONLY)) > 0) + { diff --git a/main/cups/version b/main/cups/version new file mode 100644 index 00000000..3b37ab8b --- /dev/null +++ b/main/cups/version @@ -0,0 +1 @@ +2:2.4.9 1 diff --git a/main/curl/.PKGINFO b/main/curl/.PKGINFO new file mode 100644 index 00000000..734d3b86 --- /dev/null +++ b/main/curl/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libcurl-gnutls +pkgbase = curl +xdata = pkgtype=split +pkgver = 8.7.1-6 +pkgdesc = command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls) +url = https://curl.se/ +builddate = 1714401222 +packager = Developer +size = 753384 +arch = x86_64 +license = MIT +provides = libcurl-gnutls.so=4-64 +depend = curl +depend = gnutls +makedepend = git +makedepend = patchelf +checkdepend = valgrind diff --git a/main/curl/.nvchecker.toml b/main/curl/.nvchecker.toml new file mode 100644 index 00000000..1ed452f3 --- /dev/null +++ b/main/curl/.nvchecker.toml @@ -0,0 +1,6 @@ +[curl] +source = "github" +github = "curl/curl" +use_latest_tag = true +from_pattern = 'curl-(\d+)_(\d+)_(\d+)' +to_pattern = '\1.\2.\3' \ No newline at end of file diff --git a/main/curl/0001-bump-version-to-match-last-tag.patch b/main/curl/0001-bump-version-to-match-last-tag.patch new file mode 100644 index 00000000..8ecdf5a2 --- /dev/null +++ b/main/curl/0001-bump-version-to-match-last-tag.patch @@ -0,0 +1,41 @@ +From 023ff2cd6953021b98864a718f48868ee475b113 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 27 Mar 2024 10:25:36 +0100 +Subject: [PATCH 1/1] bump version to match last tag + +--- + include/curl/curlver.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/curl/curlver.h b/include/curl/curlver.h +index 52009e548..b44519919 100644 +--- a/include/curl/curlver.h ++++ b/include/curl/curlver.h +@@ -32,13 +32,13 @@ + + /* This is the version number of the libcurl package from which this header + file origins: */ +-#define LIBCURL_VERSION "8.7.0-DEV" ++#define LIBCURL_VERSION "8.7.1-DEV" + + /* The numeric version number is also available "in parts" by using these + defines: */ + #define LIBCURL_VERSION_MAJOR 8 + #define LIBCURL_VERSION_MINOR 7 +-#define LIBCURL_VERSION_PATCH 0 ++#define LIBCURL_VERSION_PATCH 1 + + /* This is the numeric version of the libcurl version number, meant for easier + parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will +@@ -59,7 +59,7 @@ + CURL_VERSION_BITS() macro since curl's own configure script greps for it + and needs it to contain the full number. + */ +-#define LIBCURL_VERSION_NUM 0x080700 ++#define LIBCURL_VERSION_NUM 0x080701 + + /* + * This is the date and time when the full source package was created. The +-- +2.44.0 + diff --git a/main/curl/PKGBUILD b/main/curl/PKGBUILD new file mode 100644 index 00000000..ae5241f6 --- /dev/null +++ b/main/curl/PKGBUILD @@ -0,0 +1,188 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=curl +pkgname=(curl libcurl-compat libcurl-gnutls) +pkgver=%version% +pkgrel=%release% +pkgdesc='command line tool and library for transferring data with URLs' +arch=('x86_64') +url='https://curl.se/' +license=('MIT') +depends=('ca-certificates' + 'brotli' 'libbrotlidec.so' + 'krb5' 'libgssapi_krb5.so' + 'libidn2' 'libidn2.so' + 'libnghttp2' 'libnghttp2.so' + 'libnghttp3' 'libnghttp3.so' + 'libpsl' 'libpsl.so' + 'libssh2' 'libssh2.so' + 'zlib' 'libz.so' + 'zstd' 'libzstd.so') +makedepends=('git' 'patchelf') +checkdepends=('valgrind') +source=("git+https://github.com/curl/curl.git#tag=curl-${pkgver//./_}?signed" + '0001-bump-version-to-match-last-tag.patch') +sha512sums=('SKIP' + '51df4903eff9f1a15b1317ea4a8ee2b8537f347984f2524f42213b09344cd6109c621a4b81b37d2fcf2027387bb81cf0a744a48e96b86c4e268c43261ff86845') + +_backports=( + # content_encoding: brotli and others, pass through 0-length writes + 'b30d694a027eb771c02a3db0dee0ca03ccab7377' + + # http: with chunked POST forced, disable length check on read callback + '721941aadf4adf4f6aeb3f4c0ab489bb89610c36' +) + +_reverts=( +) + +prepare() { + cd "$pkgbase" + + local _c + for _c in "${_backports[@]}"; do + if [[ $_c == *..* ]]; then + git log --oneline --reverse "${_c}" + else + git log --oneline -1 "${_c}" + fi + git cherry-pick -n -m1 "${_c}" + done + for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" + git revert -n "${_c}" + done + + patch -Np1 < ../0001-bump-version-to-match-last-tag.patch + + # no '-DEV' in version, release date from tagged commit... + sed -i \ + -e "/\WLIBCURL_VERSION\W/c #define LIBCURL_VERSION \"${pkgver}\"" \ + -e "/\WLIBCURL_TIMESTAMP\W/c #define LIBCURL_TIMESTAMP \"$(git log -1 --format=%cs "curl-${pkgver//./_}")\"" \ + include/curl/curlver.h + + autoreconf -fi +} + +build() { + local _configure_options=( + --prefix='/usr' + --mandir='/usr/share/man' + --disable-ldap + --disable-ldaps + --disable-manual + --enable-ipv6 + --enable-threaded-resolver + --with-gssapi + --with-libssh2 + --with-random='/dev/urandom' + --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' + ) + + mkdir build-curl{,-compat,-gnutls} + + # build curl + cd "${srcdir}"/build-curl + + "${srcdir}/${pkgbase}"/configure \ + "${_configure_options[@]}" \ + --enable-versioned-symbols \ + --with-fish-functions-dir=/usr/share/fish/vendor_completions.d/ \ + --with-openssl \ + --with-openssl-quic \ + --with-zsh-functions-dir=/usr/share/zsh/site-functions/ + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + + # build libcurl-compat + cd "${srcdir}"/build-curl-compat + + "${srcdir}/${pkgbase}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols \ + --with-openssl \ + --with-openssl-quic + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib + patchelf --set-soname 'libcurl-compat.so.4' ./lib/.libs/libcurl.so + + # build libcurl-gnutls + cd "${srcdir}"/build-curl-gnutls + + "${srcdir}/${pkgbase}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols \ + --with-gnutls \ + --without-openssl + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib + patchelf --set-soname 'libcurl-gnutls.so.4' ./lib/.libs/libcurl.so +} + +check() { + cd build-curl + # -v: verbose + # -a: keep going on failure (so we see everything which breaks, not just the first failing test) + # -k: keep test files after completion + # -am: automake style TAP output + # -p: print logs if test fails + # -j: parallelization + # disable test 433, since it requires the glibc debug info + make TFLAGS="-v -a -k -p -j$(nproc) !433" test-nonflaky +} + +package_curl() { + depends+=('openssl' 'libcrypto.so' 'libssl.so') + provides=('libcurl.so') + + cd build-curl + + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install -C scripts + + cd "${srcdir}/${pkgname}" + + # license + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m0644 COPYING +} + +package_libcurl-compat() { + pkgdesc='command line tool and library for transferring data with URLs (no versioned symbols)' + depends=('curl') + provides=('libcurl-compat.so') + + cd "${srcdir}"/build-curl-compat + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-compat}.so.4.8.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + for version in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do + ln -s libcurl-compat.so.4.8.0 "${pkgdir}"/usr/lib/libcurl.so.${version} + ln -s libcurl-compat.so.4.8.0 "${pkgdir}"/usr/lib/libcurl-compat.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-compat +} + +package_libcurl-gnutls() { + pkgdesc='command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls)' + depends=('curl' 'gnutls') + provides=('libcurl-gnutls.so') + + cd "${srcdir}"/build-curl-gnutls + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.8.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + ln -s libcurl-gnutls.so.4 "${pkgdir}"/usr/lib/libcurl-gnutls.so + for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do + ln -s libcurl-gnutls.so.4.8.0 "${pkgdir}"/usr/lib/libcurl-gnutls.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-gnutls +} diff --git a/main/curl/README b/main/curl/README new file mode 100644 index 00000000..5645d39d --- /dev/null +++ b/main/curl/README @@ -0,0 +1,43 @@ +curl +________________________________________________________________________________ + +command line tool and library for transferring data with URLs command line tool and library for transferring data with URLs (no versioned symbols) command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S curl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://curl.se/ diff --git a/main/curl/version b/main/curl/version new file mode 100644 index 00000000..19a6628f --- /dev/null +++ b/main/curl/version @@ -0,0 +1 @@ +8.7.1 6 diff --git a/main/darkhttpd/PKGBUILD b/main/darkhttpd/PKGBUILD new file mode 100644 index 00000000..bcd9b224 --- /dev/null +++ b/main/darkhttpd/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=darkhttpd +pkgver=%version% +pkgrel=%release% +pkgdesc="A small and secure static webserver" +arch=('x86_64') +url="https://unix4lyfe.org/darkhttpd/" +license=('BSD') +backup=('etc/conf.d/mimetypes') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/emikulic/darkhttpd/archive/v${pkgver}.tar.gz" + 'darkhttpd.service' + 'darkhttpd@.service') +sha256sums=('ab97ea3404654af765f78282aa09cfe4226cb007d2fcc59fe1a475ba0fef1981' + 'e53ae82993f6c996c0c54ccbbd9307811501cf01404c441b48b2c79f9384fa27' + '0bfbe13c93ba87d8ea08ab85745c92cebcbc6b627616e7c58d6099a234a59841') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + # install darkhttpd + install -Dm755 "$srcdir/$pkgname-$pkgver/darkhttpd" "$pkgdir/usr/bin/darkhttpd" + + # install systemd files + install -Dm644 "$srcdir/darkhttpd.service" "$pkgdir/usr/lib/systemd/system/darkhttpd.service" + install -Dm644 "$srcdir/darkhttpd@.service" "$pkgdir/usr/lib/systemd/system/darkhttpd@.service" + install -dm0755 "$pkgdir"/etc/conf.d/ + touch "$pkgdir"/etc/conf.d/mimetypes + + # install license + install -d "$pkgdir/usr/share/licenses/$pkgname" + sed -n '1,/^$/p' darkhttpd.c > "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/darkhttpd/README b/main/darkhttpd/README new file mode 100644 index 00000000..3c92672c --- /dev/null +++ b/main/darkhttpd/README @@ -0,0 +1,43 @@ +darkhttpd +________________________________________________________________________________ + +A small and secure static webserver + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S darkhttpd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://unix4lyfe.org/darkhttpd/ diff --git a/main/darkhttpd/darkhttpd.service b/main/darkhttpd/darkhttpd.service new file mode 100644 index 00000000..65f9bf36 --- /dev/null +++ b/main/darkhttpd/darkhttpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Darkhttpd Webserver +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/darkhttpd /srv/http --uid http --gid http --chroot --no-listing --mimetypes /etc/conf.d/mimetypes +ProtectSystem=full +ProtectHome=on +PrivateDevices=on +NoNewPrivileges=on + +[Install] +WantedBy=multi-user.target diff --git a/main/darkhttpd/darkhttpd@.service b/main/darkhttpd/darkhttpd@.service new file mode 100644 index 00000000..c05fe913 --- /dev/null +++ b/main/darkhttpd/darkhttpd@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Darkhttpd Webserver +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/darkhttpd /srv/http --uid http --gid http --chroot --no-listing --mimetypes /etc/conf.d/mimetypes --addr %i +ProtectSystem=full +ProtectHome=on +PrivateDevices=on +NoNewPrivileges=on + +[Install] +WantedBy=multi-user.target diff --git a/main/darkhttpd/version b/main/darkhttpd/version new file mode 100644 index 00000000..d1d913ed --- /dev/null +++ b/main/darkhttpd/version @@ -0,0 +1 @@ +1.16 1 diff --git a/main/dav1d/PKGBUILD b/main/dav1d/PKGBUILD new file mode 100644 index 00000000..656fdc7d --- /dev/null +++ b/main/dav1d/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=dav1d +pkgname=(dav1d dav1d-doc) +pkgver=%version% +pkgrel=%release% +pkgdesc='AV1 cross-platform decoder focused on speed and correctness' +url='https://code.videolan.org/videolan/dav1d/' +arch=('x86_64') +license=('BSD') +makedepends=('meson' 'ninja' 'nasm' 'doxygen' 'graphviz' 'xxhash') +source=(https://downloads.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz{,.asc} + https://code.videolan.org/videolan/dav1d-test-data/-/archive/${pkgver}/dav1d-test-data-${pkgver}.tar.gz) +sha512sums=('51d893d5128eb3bd5c563bee82a1a450296e596763f64c10cea631aeaf655572b72dcab78be2f1e0d998010d7d22eb376b64603e5f568efe16d75eb5efaeac35' + 'SKIP' + '61d60a5004e12ac104de0ce24f6ae823180c16fbf1ff90576075f9c853055e4d48db46fd7370182487b27c9e85d194a45734a3200848ac85b181778e0fc12a65') +b2sums=('6d8ddd4ef25055b8de33aa7608085e6569cb9e47ed312c9f57119c8961fd532d786e12722aa550b5f4584a9cca95022ac138b714e2a22b05547713465e43ed56' + 'SKIP' + '0ae3e99b19d5819c82000c3c045db0ba55fc27f4e4807aef87564c2ce0894bed5aae8ce896a941a7e9629c1ae1fc42408a5807b1862912a3f9cb7dd402197339') +validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key + +prepare() { + cd ${pkgbase}-${pkgver} + ln -s "${srcdir}/dav1d-test-data-${pkgver}" tests/dav1d-test-data +} + +build() { + cd ${pkgbase}-${pkgver} + arch-meson \ + -Dtestdata_tests=true \ + -Denable_docs=true \ + build + ninja -C build all doc/html +} + +check() { + cd ${pkgbase}-${pkgver}/build + meson test +} + +package_dav1d() { + depends=('glibc') + provides=('libdav1d.so') + optdepends=('dav1d-doc: HTML documentation') + + cd ${pkgbase}-${pkgver} + DESTDIR="${pkgdir}" ninja -C build install + install -Dm 644 README.md CONTRIBUTING.md NEWS -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_dav1d-doc() { + pkgdesc+=" (documentation)" + + cd ${pkgbase}-${pkgver} + install -d "${pkgdir}/usr/share/doc/${pkgbase}" + cp -r build/doc/html -t "${pkgdir}/usr/share/doc/${pkgbase}" + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/dav1d/README b/main/dav1d/README new file mode 100644 index 00000000..575077d8 --- /dev/null +++ b/main/dav1d/README @@ -0,0 +1,43 @@ +dav1d +________________________________________________________________________________ + +AV1 cross-platform decoder focused on speed and correctness AV1 cross-platform decoder focused on speed and correctness (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dav1d | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://code.videolan.org/videolan/dav1d/ diff --git a/main/dav1d/version b/main/dav1d/version new file mode 100644 index 00000000..e187c17e --- /dev/null +++ b/main/dav1d/version @@ -0,0 +1 @@ +1.4.1 1 diff --git a/main/db5.3/.PKGINFO b/main/db5.3/.PKGINFO new file mode 100644 index 00000000..f697ef8d --- /dev/null +++ b/main/db5.3/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = db5.3 +pkgbase = db5.3 +xdata = pkgtype=pkg +pkgver = 5.3.28-5 +pkgdesc = The Berkeley DB embedded database system v5.3 +url = https://www.oracle.com/technology/software/products/berkeley-db/index.html +builddate = 1714618280 +packager = Developer +size = 6768512 +arch = x86_64 +license = custom:sleepycat +depend = gcc-libs +depend = sh diff --git a/main/db5.3/PKGBUILD b/main/db5.3/PKGBUILD new file mode 100644 index 00000000..a05c98a2 --- /dev/null +++ b/main/db5.3/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=db5.3 +pkgver=%version% +pkgrel=%release% +pkgdesc="The Berkeley DB embedded database system v5.3" +arch=(x86_64) +url='https://www.oracle.com/technology/software/products/berkeley-db/index.html' +license=(custom:sleepycat) +depends=(gcc-libs sh) +source=( + https://download.oracle.com/berkeley-db/db-${pkgver}.tar.gz + db-5.3.21-memp_stat-upstream-fix.patch + db-5.3.21-mutex_leak.patch + db-5.3.28-lemon_hash.patch + db-5.3.28_cve-2019-2708.patch + db-5.3.28-mmap-high-cpu-usage.patch + db-5.3.28-atomic_compare_exchange.patch +) +b2sums=('5b77a4ec0945fa96ce6c2b452fb4b029295e037fa64d5ff8dcb3b5e01ee3501fd75d9a73b8f5fa54d8907717d93546fbb5348ee70119e877fa2f17d301ecf50d' + 'cfbb212c60c0e75c0d8c1cdbee9bcf0be9aec718ab462f779d5b880a4f976de1423279adde20159eef067be95d0d725eaa0cb950d0a8aaae720de78b94299e72' + 'ba917cf9b69de39337b7141bf145153ae89849921c79b4d2f40734feefe2c0007abcc8c85ed776227875c5102354d8f61069fcee12c7db3b45c4ccabc6993760' + '682539a382f4423ad4404ad2aa446356d97485a7883a26d31cc2061611b138f20e39d941c575b8997538c4dd609e3e0343505759bba3b89c669ad1830cac1fbf' + 'bc72ba9703cdbabbece3480fd36c22fca26f270cc4b8c66f8f19799b5120010dfdf53772a94374e45d38b25bb8a271d29ea84318aa8bc847a88940d52ee22a8f' + 'bc50b556653a4e33073ed4cbaf716035f0840af2659bb4d6ef900621f92515d9490a698cec70546bd3aededa02b264fcd6e6cba3c4e6412125d2d587094f872d' + 'c32c5236d5f1c9c112e5c6d7aee8d1d67e4f80c3826020ba71d864649bd12f2402a6d68334cfbf1bc17c920878bf64296d884436608a5b3fb9a27ba1fd4d9c75') + +# All Patches retrieved from Fedora +prepare() { + cd db-${pkgver} + # memp_stat fix provided by upstream + patch -Np1 -i ../db-5.3.21-memp_stat-upstream-fix.patch + # fix for mutexes not being released provided by upstream + patch -Np1 -i ../db-5.3.21-mutex_leak.patch + # fix for overflowing hash variable inside bundled lemon + patch -Np1 -i ../db-5.3.28-lemon_hash.patch + # cve-2019-2708 fixed by mmuzila + patch -Np1 -i ../db-5.3.28_cve-2019-2708.patch + # Prevents high CPU usage + patch -Np1 -i ../db-5.3.28-mmap-high-cpu-usage.patch + # gcc fix + patch -Np1 -i ../db-5.3.28-atomic_compare_exchange.patch +} + + +build() { + cd db-${pkgver}/build_unix + ../dist/configure \ + --prefix=/usr \ + --bindir=/usr/bin/db5.3 \ + --includedir=/usr/include/db5.3 \ + --enable-compat185 \ + --enable-shared \ + --disable-static \ + --enable-cxx \ + --enable-dbm \ + --enable-stl + make LIBSO_LIBS=-lpthread +} + +package() { + make -C db-${pkgver}/build_unix DESTDIR="${pkgdir}" install + install -Dm644 db-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + install -d "${pkgdir}"/usr/lib/db5.3 + rm "${pkgdir}"/usr/lib/libdb.so + rm "${pkgdir}"/usr/lib/libdb_cxx.so + rm "${pkgdir}"/usr/lib/libdb_stl.so + ln -s ../libdb-5.3.so "${pkgdir}"/usr/lib/db5.3/libdb.so + ln -s ../libdb_cxx-5.3.so "${pkgdir}"/usr/lib/db5.3/libdb_cxx.so + ln -s ../libdb_stl-5.3.so "${pkgdir}"/usr/lib/db5.3/libdb_stl.so + rm -r "${pkgdir}"/usr/docs +} diff --git a/main/db5.3/README b/main/db5.3/README new file mode 100644 index 00000000..6f84b3d5 --- /dev/null +++ b/main/db5.3/README @@ -0,0 +1,43 @@ +db5.3 +________________________________________________________________________________ + +The Berkeley DB embedded database system v5.3 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S db5.3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.oracle.com/technology/software/products/berkeley-db/index.html diff --git a/main/db5.3/db-5.3.21-memp_stat-upstream-fix.patch b/main/db5.3/db-5.3.21-memp_stat-upstream-fix.patch new file mode 100644 index 00000000..9e3d52b6 --- /dev/null +++ b/main/db5.3/db-5.3.21-memp_stat-upstream-fix.patch @@ -0,0 +1,183 @@ +diff -r -u db-5.3.21_orig/src/mp/mp_stat.c db-5.3.21/src/mp/mp_stat.c +--- db-5.3.21_orig/src/mp/mp_stat.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_stat.c 2015-05-19 15:07:09.000000000 +0800 +@@ -87,6 +87,13 @@ + u_int32_t i; + uintmax_t tmp_wait, tmp_nowait; + ++ /* ++ * The array holding the lengths related to the buffer allocated for *fspp. ++ * The first element of the array holds the number of entries allocated. ++ * The second element of the array holds the total number of bytes allocated. ++ */ ++ u_int32_t fsp_len[2]; ++ + dbmp = env->mp_handle; + mp = dbmp->reginfo[0].primary; + +@@ -193,32 +200,53 @@ + if (fspp != NULL) { + *fspp = NULL; + +- /* Count the MPOOLFILE structures. */ +- i = 0; +- len = 0; +- if ((ret = __memp_walk_files(env, +- mp, __memp_count_files, &len, &i, flags)) != 0) +- return (ret); ++ while (*fspp == NULL) { ++ /* Count the MPOOLFILE structures. */ ++ i = 0; ++ /* ++ * Allow space for the first __memp_get_files() to align the ++ * structure array to uintmax_t, DB_MPOOL_STAT's most ++ * restrictive field. [#23150] ++ */ ++ len = sizeof(uintmax_t); ++ if ((ret = __memp_walk_files(env, ++ mp, __memp_count_files, &len, &i, flags)) != 0) ++ return (ret); ++ ++ if (i == 0) ++ return (0); ++ ++ /* ++ * Copy the number of DB_MPOOL_FSTAT entries and the number of ++ * bytes allocated for them into fsp_len. Do not count the space ++ * reserved for allignment. ++ */ ++ fsp_len[0] = i; ++ fsp_len[1] = len - sizeof(uintmax_t); + +- if (i == 0) +- return (0); +- len += sizeof(DB_MPOOL_FSTAT *); /* Trailing NULL */ ++ len += sizeof(DB_MPOOL_FSTAT *); /* Trailing NULL */ + +- /* Allocate space */ +- if ((ret = __os_umalloc(env, len, fspp)) != 0) +- return (ret); ++ /* Allocate space */ ++ if ((ret = __os_umalloc(env, len, fspp)) != 0) ++ return (ret); + +- tfsp = *fspp; +- *tfsp = NULL; +- +- /* +- * Files may have been opened since we counted, don't walk +- * off the end of the allocated space. +- */ +- if ((ret = __memp_walk_files(env, +- mp, __memp_get_files, &tfsp, &i, flags)) != 0) +- return (ret); ++ tfsp = *fspp; ++ *tfsp = NULL; + ++ /* ++ * Files may have been opened since we counted, if we walk off ++ * the end of the allocated space specified in fsp_len, retry. ++ */ ++ if ((ret = __memp_walk_files(env, ++ mp, __memp_get_files, &tfsp, fsp_len, flags)) != 0) { ++ if (ret == DB_BUFFER_SMALL) { ++ __os_ufree(env, *fspp); ++ *fspp = NULL; ++ tfsp = NULL; ++ } else ++ return (ret); ++ } ++ } + *++tfsp = NULL; + } + +@@ -286,28 +314,35 @@ + * for the text file names. + */ + static int +-__memp_get_files(env, mfp, argp, countp, flags) ++__memp_get_files(env, mfp, argp, fsp_len, flags) + ENV *env; + MPOOLFILE *mfp; + void *argp; +- u_int32_t *countp; ++ u_int32_t fsp_len[]; + u_int32_t flags; + { + DB_MPOOL *dbmp; + DB_MPOOL_FSTAT **tfsp, *tstruct; + char *name, *tname; +- size_t nlen; ++ size_t nlen, tlen; + +- if (*countp == 0) +- return (0); ++ /* We walked through more files than argp was allocated for. */ ++ if (fsp_len[0] == 0) ++ return DB_BUFFER_SMALL; + + dbmp = env->mp_handle; + tfsp = *(DB_MPOOL_FSTAT ***)argp; + + if (*tfsp == NULL) { +- /* Add 1 to count because we need to skip over the NULL. */ +- tstruct = (DB_MPOOL_FSTAT *)(tfsp + *countp + 1); +- tname = (char *)(tstruct + *countp); ++ /* ++ * Add 1 to count because to skip over the NULL end marker. ++ * Align it further for DB_MPOOL_STAT's most restrictive field ++ * because uintmax_t might require stricter alignment than ++ * pointers; e.g., IP32 LL64 SPARC. [#23150] ++ */ ++ tstruct = (DB_MPOOL_FSTAT *)&tfsp[fsp_len[0] + 1]; ++ tstruct = ALIGNP_INC(tstruct, sizeof(uintmax_t)); ++ tname = (char *)&tstruct[fsp_len[0]]; + *tfsp = tstruct; + } else { + tstruct = *tfsp + 1; +@@ -317,6 +352,15 @@ + + name = __memp_fns(dbmp, mfp); + nlen = strlen(name) + 1; ++ ++ /* The space required for file names is larger than argp was allocated for. */ ++ tlen = sizeof(DB_MPOOL_FSTAT *) + sizeof(DB_MPOOL_FSTAT) + nlen; ++ if (fsp_len[1] < tlen) ++ return DB_BUFFER_SMALL; ++ else ++ /* Count down the number of bytes left in argp. */ ++ fsp_len[1] -= tlen; ++ + memcpy(tname, name, nlen); + memcpy(tstruct, &mfp->stat, sizeof(mfp->stat)); + tstruct->file_name = tname; +@@ -325,7 +369,9 @@ + tstruct->st_pagesize = mfp->pagesize; + + *(DB_MPOOL_FSTAT ***)argp = tfsp; +- (*countp)--; ++ ++ /* Count down the number of entries left in argp. */ ++ fsp_len[0]--; + + if (LF_ISSET(DB_STAT_CLEAR)) + memset(&mfp->stat, 0, sizeof(mfp->stat)); +diff -r -u db-5.3.21_orig/src/mp/mp_sync.c db-5.3.21/src/mp/mp_sync.c +--- db-5.3.21_orig/src/mp/mp_sync.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_sync.c 2015-05-19 15:08:05.000000000 +0800 +@@ -57,11 +57,13 @@ + if ((t_ret = func(env, + mfp, arg, countp, flags)) != 0 && ret == 0) + ret = t_ret; +- if (ret != 0 && !LF_ISSET(DB_STAT_MEMP_NOERROR)) ++ if (ret != 0 && ++ (!LF_ISSET(DB_STAT_MEMP_NOERROR) || ret == DB_BUFFER_SMALL)) + break; + } + MUTEX_UNLOCK(env, hp->mtx_hash); +- if (ret != 0 && !LF_ISSET(DB_STAT_MEMP_NOERROR)) ++ if (ret != 0 && ++ (!LF_ISSET(DB_STAT_MEMP_NOERROR) || ret == DB_BUFFER_SMALL)) + break; + } + return (ret); diff --git a/main/db5.3/db-5.3.21-mutex_leak.patch b/main/db5.3/db-5.3.21-mutex_leak.patch new file mode 100644 index 00000000..0738dab7 --- /dev/null +++ b/main/db5.3/db-5.3.21-mutex_leak.patch @@ -0,0 +1,718 @@ +diff -U 5 -r db-5.3.21.old/src/dbinc_auto/int_def.in db-5.3.21/src/dbinc_auto/int_def.in +--- db-5.3.21.old/src/dbinc_auto/int_def.in 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/dbinc_auto/int_def.in 2016-10-25 22:40:58.000000000 +0800 +@@ -1371,10 +1371,11 @@ + #define __memp_failchk __memp_failchk@DB_VERSION_UNIQUE_NAME@ + #define __memp_bhwrite __memp_bhwrite@DB_VERSION_UNIQUE_NAME@ + #define __memp_pgread __memp_pgread@DB_VERSION_UNIQUE_NAME@ + #define __memp_pg __memp_pg@DB_VERSION_UNIQUE_NAME@ + #define __memp_bhfree __memp_bhfree@DB_VERSION_UNIQUE_NAME@ ++#define __memp_bh_clear_dirty __memp_bh_clear_dirty@DB_VERSION_UNIQUE_NAME@ + #define __memp_fget_pp __memp_fget_pp@DB_VERSION_UNIQUE_NAME@ + #define __memp_fget __memp_fget@DB_VERSION_UNIQUE_NAME@ + #define __memp_fcreate_pp __memp_fcreate_pp@DB_VERSION_UNIQUE_NAME@ + #define __memp_fcreate __memp_fcreate@DB_VERSION_UNIQUE_NAME@ + #define __memp_set_clear_len __memp_set_clear_len@DB_VERSION_UNIQUE_NAME@ +@@ -1395,10 +1396,11 @@ + #define __memp_fopen __memp_fopen@DB_VERSION_UNIQUE_NAME@ + #define __memp_fclose_pp __memp_fclose_pp@DB_VERSION_UNIQUE_NAME@ + #define __memp_fclose __memp_fclose@DB_VERSION_UNIQUE_NAME@ + #define __memp_mf_discard __memp_mf_discard@DB_VERSION_UNIQUE_NAME@ + #define __memp_inmemlist __memp_inmemlist@DB_VERSION_UNIQUE_NAME@ ++#define __memp_mf_mark_dead __memp_mf_mark_dead@DB_VERSION_UNIQUE_NAME@ + #define __memp_fput_pp __memp_fput_pp@DB_VERSION_UNIQUE_NAME@ + #define __memp_fput __memp_fput@DB_VERSION_UNIQUE_NAME@ + #define __memp_unpin_buffers __memp_unpin_buffers@DB_VERSION_UNIQUE_NAME@ + #define __memp_dirty __memp_dirty@DB_VERSION_UNIQUE_NAME@ + #define __memp_shared __memp_shared@DB_VERSION_UNIQUE_NAME@ +@@ -1453,10 +1455,11 @@ + #define __memp_fsync_pp __memp_fsync_pp@DB_VERSION_UNIQUE_NAME@ + #define __memp_fsync __memp_fsync@DB_VERSION_UNIQUE_NAME@ + #define __mp_xxx_fh __mp_xxx_fh@DB_VERSION_UNIQUE_NAME@ + #define __memp_sync_int __memp_sync_int@DB_VERSION_UNIQUE_NAME@ + #define __memp_mf_sync __memp_mf_sync@DB_VERSION_UNIQUE_NAME@ ++#define __memp_purge_dead_files __memp_purge_dead_files@DB_VERSION_UNIQUE_NAME@ + #define __memp_trickle_pp __memp_trickle_pp@DB_VERSION_UNIQUE_NAME@ + #define __mutex_alloc __mutex_alloc@DB_VERSION_UNIQUE_NAME@ + #define __mutex_alloc_int __mutex_alloc_int@DB_VERSION_UNIQUE_NAME@ + #define __mutex_free __mutex_free@DB_VERSION_UNIQUE_NAME@ + #define __mutex_free_int __mutex_free_int@DB_VERSION_UNIQUE_NAME@ +diff -U 5 -r db-5.3.21.old/src/dbinc_auto/mp_ext.h db-5.3.21/src/dbinc_auto/mp_ext.h +--- db-5.3.21.old/src/dbinc_auto/mp_ext.h 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/dbinc_auto/mp_ext.h 2016-10-25 22:40:58.000000000 +0800 +@@ -14,10 +14,11 @@ + int __memp_failchk __P((ENV *)); + int __memp_bhwrite __P((DB_MPOOL *, DB_MPOOL_HASH *, MPOOLFILE *, BH *, int)); + int __memp_pgread __P((DB_MPOOLFILE *, BH *, int)); + int __memp_pg __P((DB_MPOOLFILE *, db_pgno_t, void *, int)); + int __memp_bhfree __P((DB_MPOOL *, REGINFO *, MPOOLFILE *, DB_MPOOL_HASH *, BH *, u_int32_t)); ++void __memp_bh_clear_dirty __P((ENV*, DB_MPOOL_HASH *, BH *)); + int __memp_fget_pp __P((DB_MPOOLFILE *, db_pgno_t *, DB_TXN *, u_int32_t, void *)); + int __memp_fget __P((DB_MPOOLFILE *, db_pgno_t *, DB_THREAD_INFO *, DB_TXN *, u_int32_t, void *)); + int __memp_fcreate_pp __P((DB_ENV *, DB_MPOOLFILE **, u_int32_t)); + int __memp_fcreate __P((ENV *, DB_MPOOLFILE **)); + int __memp_set_clear_len __P((DB_MPOOLFILE *, u_int32_t)); +@@ -38,10 +39,11 @@ + int __memp_fopen __P((DB_MPOOLFILE *, MPOOLFILE *, const char *, const char **, u_int32_t, int, size_t)); + int __memp_fclose_pp __P((DB_MPOOLFILE *, u_int32_t)); + int __memp_fclose __P((DB_MPOOLFILE *, u_int32_t)); + int __memp_mf_discard __P((DB_MPOOL *, MPOOLFILE *, int)); + int __memp_inmemlist __P((ENV *, char ***, int *)); ++void __memp_mf_mark_dead __P((DB_MPOOL *, MPOOLFILE *, int*)); + int __memp_fput_pp __P((DB_MPOOLFILE *, void *, DB_CACHE_PRIORITY, u_int32_t)); + int __memp_fput __P((DB_MPOOLFILE *, DB_THREAD_INFO *, void *, DB_CACHE_PRIORITY)); + int __memp_unpin_buffers __P((ENV *, DB_THREAD_INFO *)); + int __memp_dirty __P((DB_MPOOLFILE *, void *, DB_THREAD_INFO *, DB_TXN *, DB_CACHE_PRIORITY, u_int32_t)); + int __memp_shared __P((DB_MPOOLFILE *, void *)); +@@ -96,10 +98,11 @@ + int __memp_fsync_pp __P((DB_MPOOLFILE *)); + int __memp_fsync __P((DB_MPOOLFILE *)); + int __mp_xxx_fh __P((DB_MPOOLFILE *, DB_FH **)); + int __memp_sync_int __P((ENV *, DB_MPOOLFILE *, u_int32_t, u_int32_t, u_int32_t *, int *)); + int __memp_mf_sync __P((DB_MPOOL *, MPOOLFILE *, int)); ++int __memp_purge_dead_files __P((ENV *)); + int __memp_trickle_pp __P((DB_ENV *, int, int *)); + + #if defined(__cplusplus) + } + #endif +diff -U 5 -r db-5.3.21.old/src/mp/mp_bh.c db-5.3.21/src/mp/mp_bh.c +--- db-5.3.21.old/src/mp/mp_bh.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_bh.c 2016-10-25 17:09:35.000000000 +0800 +@@ -472,15 +472,12 @@ + * a shared latch. + */ + if (F_ISSET(bhp, BH_DIRTY | BH_TRASH)) { + MUTEX_LOCK(env, hp->mtx_hash); + DB_ASSERT(env, !SH_CHAIN_HASNEXT(bhp, vc)); +- if (ret == 0 && F_ISSET(bhp, BH_DIRTY)) { +- F_CLR(bhp, BH_DIRTY | BH_DIRTY_CREATE); +- DB_ASSERT(env, atomic_read(&hp->hash_page_dirty) > 0); +- atomic_dec(env, &hp->hash_page_dirty); +- } ++ if (ret == 0) ++ __memp_bh_clear_dirty(env, hp, bhp); + + /* put the page back if necessary. */ + if ((ret != 0 || BH_REFCOUNT(bhp) > 1) && + F_ISSET(bhp, BH_TRASH)) { + ret = __memp_pg(dbmfp, bhp->pgno, bhp->buf, 1); +@@ -686,5 +683,31 @@ + } else + MUTEX_UNLOCK(env, mfp->mutex); + + return (ret); + } ++ ++/* ++ * __memp_bh_clear_dirty -- ++ * Clear the dirty flag of of a buffer. Calls on the same buffer must be ++ * serialized to get the accounting correct. This can be achieved by ++ * acquiring an exclusive lock on the buffer, a shared lock on the ++ * buffer plus an exclusive lock on the hash bucket, or some other ++ * mechanism that guarantees single-thread access to the entire region ++ * (e.g. during __memp_region_bhfree()). ++ * ++ * PUBLIC: void __memp_bh_clear_dirty __P((ENV*, DB_MPOOL_HASH *, BH *)); ++ */ ++void ++__memp_bh_clear_dirty(env, hp, bhp) ++ ENV *env; ++ DB_MPOOL_HASH *hp; ++ BH *bhp; ++{ ++ COMPQUIET(env, env); ++ if (F_ISSET(bhp, BH_DIRTY)) { ++ F_CLR(bhp, BH_DIRTY | BH_DIRTY_CREATE); ++ DB_ASSERT(env, atomic_read(&hp->hash_page_dirty) > 0); ++ (void)atomic_dec(env, &hp->hash_page_dirty); ++ } ++} ++ +diff -U 5 -r db-5.3.21.old/src/mp/mp_fget.c db-5.3.21/src/mp/mp_fget.c +--- db-5.3.21.old/src/mp/mp_fget.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_fget.c 2016-10-25 17:11:08.000000000 +0800 +@@ -437,16 +437,11 @@ + * complain and get out. + */ + if (flags == DB_MPOOL_FREE) { + freebuf: MUTEX_LOCK(env, hp->mtx_hash); + h_locked = 1; +- if (F_ISSET(bhp, BH_DIRTY)) { +- F_CLR(bhp, BH_DIRTY | BH_DIRTY_CREATE); +- DB_ASSERT(env, +- atomic_read(&hp->hash_page_dirty) > 0); +- atomic_dec(env, &hp->hash_page_dirty); +- } ++ __memp_bh_clear_dirty(env, hp, bhp); + + /* + * If the buffer we found is already freed, we're done. + * If the ref count is not 1 then someone may be + * peeking at the buffer. We cannot free it until they +diff -U 5 -r db-5.3.21.old/src/mp/mp_fopen.c db-5.3.21/src/mp/mp_fopen.c +--- db-5.3.21.old/src/mp/mp_fopen.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_fopen.c 2016-10-25 22:31:05.000000000 +0800 +@@ -12,10 +12,11 @@ + #include "dbinc/log.h" + #include "dbinc/mp.h" + #include "dbinc/db_page.h" + #include "dbinc/hash.h" + ++static int __memp_count_dead_mutex __P((DB_MPOOL *, u_int32_t *)); + static int __memp_mpf_alloc __P((DB_MPOOL *, + DB_MPOOLFILE *, const char *, u_int32_t, u_int32_t, MPOOLFILE **)); + static int __memp_mpf_find __P((ENV *, + DB_MPOOLFILE *, DB_MPOOL_HASH *, const char *, u_int32_t, MPOOLFILE **)); + +@@ -709,11 +710,15 @@ + * We should be able to set mfp to NULL and break out of the + * loop, but I like the idea of checking all the entries. + */ + if (LF_ISSET(DB_TRUNCATE)) { + MUTEX_LOCK(env, mfp->mutex); +- mfp->deadfile = 1; ++ /* ++ * We cannot purge dead files here, because the caller ++ * is holding the mutex of the hash bucket of mfp. ++ */ ++ __memp_mf_mark_dead(dbmp, mfp, NULL); + MUTEX_UNLOCK(env, mfp->mutex); + continue; + } + + /* +@@ -907,14 +912,15 @@ + DB_MPOOL *dbmp; + ENV *env; + MPOOLFILE *mfp; + char *rpath; + u_int32_t ref; +- int deleted, ret, t_ret; ++ int deleted, purge_dead, ret, t_ret; + + env = dbmfp->env; + dbmp = env->mp_handle; ++ purge_dead = 0; + ret = 0; + + /* + * Remove the DB_MPOOLFILE from the process' list. + * +@@ -1004,11 +1010,11 @@ + } + DB_ASSERT(env, mfp->neutral_cnt < mfp->mpf_cnt); + if (--mfp->mpf_cnt == 0 || LF_ISSET(DB_MPOOL_DISCARD)) { + if (LF_ISSET(DB_MPOOL_DISCARD) || + F_ISSET(mfp, MP_TEMP) || mfp->unlink_on_close) { +- mfp->deadfile = 1; ++ __memp_mf_mark_dead(dbmp, mfp, &purge_dead); + } + if (mfp->unlink_on_close) { + if ((t_ret = __db_appname(dbmp->env, DB_APP_DATA, + R_ADDR(dbmp->reginfo, mfp->path_off), NULL, + &rpath)) != 0 && ret == 0) +@@ -1037,10 +1043,12 @@ + deleted = 1; + } + } + if (!deleted && !LF_ISSET(DB_MPOOL_NOLOCK)) + MUTEX_UNLOCK(env, mfp->mutex); ++ if (purge_dead) ++ (void)__memp_purge_dead_files(env); + + done: /* Discard the DB_MPOOLFILE structure. */ + if (dbmfp->pgcookie != NULL) { + __os_free(env, dbmfp->pgcookie->data); + __os_free(env, dbmfp->pgcookie); +@@ -1091,11 +1099,11 @@ + /* + * We have to release the MPOOLFILE mutex before acquiring the region + * mutex so we don't deadlock. Make sure nobody ever looks at this + * structure again. + */ +- mfp->deadfile = 1; ++ __memp_mf_mark_dead(dbmp, mfp, NULL); + + /* Discard the mutex we're holding and return it too the pool. */ + MUTEX_UNLOCK(env, mfp->mutex); + if ((t_ret = __mutex_free(env, &mfp->mutex)) != 0 && ret == 0) + ret = t_ret; +@@ -1216,5 +1224,106 @@ + /* Make sure we don't return any garbage. */ + *cntp = 0; + *namesp = NULL; + return (ret); + } ++ ++/* ++ * __memp_mf_mark_dead -- ++ * Mark an MPOOLFILE as dead because its contents are no longer necessary. ++ * This happens when removing, truncation, or closing an unnamed in-memory ++ * database. Return, in the purgep parameter, whether the caller should ++ * call __memp_purge_dead_files() after the lock on mfp is released. The ++ * caller must hold an exclusive lock on the mfp handle. ++ * ++ * PUBLIC: void __memp_mf_mark_dead __P((DB_MPOOL *, MPOOLFILE *, int*)); ++ */ ++void ++__memp_mf_mark_dead(dbmp, mfp, purgep) ++ DB_MPOOL *dbmp; ++ MPOOLFILE *mfp; ++ int *purgep; ++{ ++ ENV *env; ++#ifdef HAVE_MUTEX_SUPPORT ++ REGINFO *infop; ++ DB_MUTEXREGION *mtxregion; ++ u_int32_t mutex_max, mutex_inuse, dead_mutex; ++#endif ++ ++ if (purgep != NULL) ++ *purgep = 0; ++ ++ env = dbmp->env; ++ ++#ifdef HAVE_MUTEX_SUPPORT ++ MUTEX_REQUIRED(env, mfp->mutex); ++ ++ if (MUTEX_ON(env) && mfp->deadfile == 0) { ++ infop = &env->mutex_handle->reginfo; ++ mtxregion = infop->primary; ++ ++ mutex_inuse = mtxregion->stat.st_mutex_inuse; ++ if ((mutex_max = env->dbenv->mutex_max) == 0) ++ mutex_max = infop->rp->max / mtxregion->mutex_size; ++ ++ /* ++ * Purging dead pages requires a full scan of the entire cache ++ * buffer, so it is a slow operation. We only want to do it ++ * when it is necessary and provides enough benefits. Below is ++ * a simple heuristic that determines when to purge all dead ++ * pages. ++ */ ++ if (purgep != NULL && mutex_inuse > mutex_max - 200) { ++ /* ++ * If the mutex region is almost full and there are ++ * many mutexes held by dead files, purge dead files. ++ */ ++ (void)__memp_count_dead_mutex(dbmp, &dead_mutex); ++ dead_mutex += mfp->block_cnt + 1; ++ ++ if (dead_mutex > mutex_inuse / 20) ++ *purgep = 1; ++ } ++ } ++#endif ++ ++ mfp->deadfile = 1; ++} ++ ++/* ++ * __memp_count_dead_mutex -- ++ * Estimate the number of mutexes held by dead files. ++ */ ++static int ++__memp_count_dead_mutex(dbmp, dead_mutex) ++ DB_MPOOL *dbmp; ++ u_int32_t *dead_mutex; ++{ ++ ENV *env; ++ DB_MPOOL_HASH *hp; ++ MPOOL *mp; ++ MPOOLFILE *mfp; ++ u_int32_t mutex_per_file; ++ int busy, i; ++ ++ env = dbmp->env; ++ *dead_mutex = 0; ++ mutex_per_file = 1; ++#ifndef HAVE_ATOMICFILEREAD ++ mutex_per_file = 2; ++#endif ++ mp = dbmp->reginfo[0].primary; ++ hp = R_ADDR(dbmp->reginfo, mp->ftab); ++ for (i = 0; i < MPOOL_FILE_BUCKETS; i++, hp++) { ++ busy = MUTEX_TRYLOCK(env, hp->mtx_hash); ++ if (busy) ++ continue; ++ SH_TAILQ_FOREACH(mfp, &hp->hash_bucket, q, __mpoolfile) { ++ if (mfp->deadfile) ++ *dead_mutex += mfp->block_cnt + mutex_per_file; ++ } ++ MUTEX_UNLOCK(env, hp->mtx_hash); ++ } ++ ++ return (0); ++} +diff -U 5 -r db-5.3.21.old/src/mp/mp_method.c db-5.3.21/src/mp/mp_method.c +--- db-5.3.21.old/src/mp/mp_method.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_method.c 2016-10-25 17:22:23.000000000 +0800 +@@ -638,11 +638,11 @@ + DB_MPOOL_HASH *hp, *nhp; + MPOOL *mp; + MPOOLFILE *mfp; + roff_t newname_off; + u_int32_t bucket; +- int locked, ret; ++ int locked, purge_dead, ret; + size_t nlen; + void *p; + + #undef op_is_remove + #define op_is_remove (newname == NULL) +@@ -655,10 +655,11 @@ + dbmp = NULL; + mfp = NULL; + nhp = NULL; + p = NULL; + locked = ret = 0; ++ purge_dead = 0; + + if (!MPOOL_ON(env)) + goto fsop; + + dbmp = env->mp_handle; +@@ -747,11 +748,11 @@ + * they do not get reclaimed as long as they exist. Since we + * are now deleting the database, we need to dec that count. + */ + if (mfp->no_backing_file) + mfp->mpf_cnt--; +- mfp->deadfile = 1; ++ __memp_mf_mark_dead(dbmp, mfp, &purge_dead); + MUTEX_UNLOCK(env, mfp->mutex); + } else { + /* + * Else, it's a rename. We've allocated memory for the new + * name. Swap it with the old one. If it's in memory we +@@ -806,10 +807,16 @@ + if (locked == 1) { + MUTEX_UNLOCK(env, hp->mtx_hash); + if (nhp != NULL && nhp != hp) + MUTEX_UNLOCK(env, nhp->mtx_hash); + } ++ /* ++ * __memp_purge_dead_files() must be called when the hash bucket is ++ * unlocked. ++ */ ++ if (purge_dead) ++ (void)__memp_purge_dead_files(env); + return (ret); + } + + /* + * __memp_ftruncate __ +diff -U 5 -r db-5.3.21.old/src/mp/mp_sync.c db-5.3.21/src/mp/mp_sync.c +--- db-5.3.21.old/src/mp/mp_sync.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_sync.c 2016-10-25 17:26:58.000000000 +0800 +@@ -24,10 +24,11 @@ + static int __bhcmp __P((const void *, const void *)); + static int __memp_close_flush_files __P((ENV *, int)); + static int __memp_sync_files __P((ENV *)); + static int __memp_sync_file __P((ENV *, + MPOOLFILE *, void *, u_int32_t *, u_int32_t)); ++static inline void __update_err_ret(int, int*); + + /* + * __memp_walk_files -- + * PUBLIC: int __memp_walk_files __P((ENV *, MPOOL *, + * PUBLIC: int (*) __P((ENV *, MPOOLFILE *, void *, +@@ -961,5 +962,125 @@ + return (-1); + if (bhp1->track_pgno > bhp2->track_pgno) + return (1); + return (0); + } ++ ++/* ++ * __memp_purge_dead_files -- ++ * Remove all dead files and their buffers from the mpool. The caller ++ * cannot hold any lock on the dead MPOOLFILE handles, their buffers ++ * or their hash buckets. ++ * ++ * PUBLIC: int __memp_purge_dead_files __P((ENV *)); ++ */ ++int ++__memp_purge_dead_files(env) ++ ENV *env; ++{ ++ BH *bhp; ++ DB_MPOOL *dbmp; ++ DB_MPOOL_HASH *hp, *hp_end; ++ REGINFO *infop; ++ MPOOL *c_mp, *mp; ++ MPOOLFILE *mfp; ++ u_int32_t i_cache; ++ int ret, t_ret, h_lock; ++ ++ if (!MPOOL_ON(env)) ++ return (0); ++ ++ dbmp = env->mp_handle; ++ mp = dbmp->reginfo[0].primary; ++ ret = t_ret = h_lock = 0; ++ ++ /* ++ * Walk each cache's list of buffers and free all buffers whose ++ * MPOOLFILE is marked as dead. ++ */ ++ for (i_cache = 0; i_cache < mp->nreg; i_cache++) { ++ infop = &dbmp->reginfo[i_cache]; ++ c_mp = infop->primary; ++ ++ hp = R_ADDR(infop, c_mp->htab); ++ hp_end = &hp[c_mp->htab_buckets]; ++ for (; hp < hp_end; hp++) { ++ /* Skip empty buckets. */ ++ if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) == NULL) ++ continue; ++ ++ /* ++ * Search for a dead buffer. Other places that call ++ * __memp_bhfree() acquire the buffer lock before the ++ * hash bucket lock. Even though we acquire the two ++ * locks in reverse order, we cannot deadlock here ++ * because we don't block waiting for the locks. ++ */ ++ t_ret = MUTEX_TRYLOCK(env, hp->mtx_hash); ++ if (t_ret != 0) { ++ __update_err_ret(t_ret, &ret); ++ continue; ++ } ++ h_lock = 1; ++ SH_TAILQ_FOREACH(bhp, &hp->hash_bucket, hq, __bh) { ++ /* Skip buffers that are being used. */ ++ if (BH_REFCOUNT(bhp) > 0) ++ continue; ++ ++ mfp = R_ADDR(dbmp->reginfo, bhp->mf_offset); ++ if (!mfp->deadfile) ++ continue; ++ ++ /* Found a dead buffer. Prepare to free it. */ ++ t_ret = MUTEX_TRYLOCK(env, bhp->mtx_buf); ++ if (t_ret != 0) { ++ __update_err_ret(t_ret, &ret); ++ continue; ++ } ++ ++ DB_ASSERT(env, (!F_ISSET(bhp, BH_EXCLUSIVE) && ++ BH_REFCOUNT(bhp) == 0)); ++ F_SET(bhp, BH_EXCLUSIVE); ++ (void)atomic_inc(env, &bhp->ref); ++ ++ __memp_bh_clear_dirty(env, hp, bhp); ++ ++ /* ++ * Free the buffer. The buffer and hash bucket ++ * are unlocked by __memp_bhfree. ++ */ ++ if ((t_ret = __memp_bhfree(dbmp, infop, mfp, ++ hp, bhp, BH_FREE_FREEMEM)) == 0) ++ /* ++ * Decrement hp, so the next turn will ++ * search the same bucket again. ++ */ ++ hp--; ++ else ++ __update_err_ret(t_ret, &ret); ++ ++ /* ++ * The hash bucket is unlocked, we need to ++ * start over again. ++ */ ++ h_lock = 0; ++ break; ++ } ++ ++ if (h_lock) { ++ MUTEX_UNLOCK(env, hp->mtx_hash); ++ h_lock = 0; ++ } ++ } ++ } ++ ++ return (ret); ++} ++ ++static inline void ++__update_err_ret(t_ret, retp) ++ int t_ret; ++ int *retp; ++{ ++ if (t_ret != 0 && t_ret != DB_LOCK_NOTGRANTED && *retp == 0) ++ *retp = t_ret; ++} +diff -U 5 -r db-5.3.21.old/src/mp/mp_trickle.c db-5.3.21/src/mp/mp_trickle.c +--- db-5.3.21.old/src/mp/mp_trickle.c 2012-05-12 01:57:53.000000000 +0800 ++++ db-5.3.21/src/mp/mp_trickle.c 2016-10-25 17:27:57.000000000 +0800 +@@ -65,10 +65,14 @@ + "DB_ENV->memp_trickle: %d: percent must be between 1 and 100", + "%d"), pct); + return (EINVAL); + } + ++ /* First we purge all dead files and their buffers. */ ++ if ((ret = __memp_purge_dead_files(env)) != 0) ++ return (ret); ++ + /* + * Loop through the caches counting total/dirty buffers. + * + * XXX + * Using hash_page_dirty is our only choice at the moment, but it's not +diff -U 5 -r db-5.3.21.old/src/mutex/mut_region.c db-5.3.21/src/mutex/mut_region.c +--- db-5.3.21.old/src/mutex/mut_region.c 2012-05-12 01:57:54.000000000 +0800 ++++ db-5.3.21/src/mutex/mut_region.c 2016-10-25 17:34:22.000000000 +0800 +@@ -15,11 +15,11 @@ + #include "dbinc/txn.h" + + static db_size_t __mutex_align_size __P((ENV *)); + static int __mutex_region_init __P((ENV *, DB_MUTEXMGR *)); + static size_t __mutex_region_size __P((ENV *)); +-static size_t __mutex_region_max __P((ENV *)); ++static size_t __mutex_region_max __P((ENV *, u_int32_t)); + + /* + * __mutex_open -- + * Open a mutex region. + * +@@ -32,11 +32,11 @@ + { + DB_ENV *dbenv; + DB_MUTEXMGR *mtxmgr; + DB_MUTEXREGION *mtxregion; + size_t size; +- u_int32_t cpu_count; ++ u_int32_t cpu_count, mutex_needed; + int ret; + #ifndef HAVE_ATOMIC_SUPPORT + u_int i; + #endif + +@@ -59,23 +59,24 @@ + cpu_count : cpu_count * MUTEX_SPINS_PER_PROCESSOR)) != 0) + return (ret); + } + + /* +- * If the user didn't set an absolute value on the number of mutexes +- * we'll need, figure it out. We're conservative in our allocation, +- * we need mutexes for DB handles, group-commit queues and other things +- * applications allocate at run-time. The application may have kicked +- * up our count to allocate its own mutexes, add that in. ++ * Figure out the number of mutexes we'll need. We're conservative in ++ * our allocation, we need mutexes for DB handles, group-commit queues ++ * and other things applications allocate at run-time. The application ++ * may have kicked up our count to allocate its own mutexes, add that ++ * in. + */ ++ mutex_needed = ++ __lock_region_mutex_count(env) + ++ __log_region_mutex_count(env) + ++ __memp_region_mutex_count(env) + ++ __txn_region_mutex_count(env); + if (dbenv->mutex_cnt == 0 && + F_ISSET(env, ENV_PRIVATE | ENV_THREAD) != ENV_PRIVATE) +- dbenv->mutex_cnt = +- __lock_region_mutex_count(env) + +- __log_region_mutex_count(env) + +- __memp_region_mutex_count(env) + +- __txn_region_mutex_count(env); ++ dbenv->mutex_cnt = mutex_needed; + + if (dbenv->mutex_max != 0 && dbenv->mutex_cnt > dbenv->mutex_max) + dbenv->mutex_cnt = dbenv->mutex_max; + + /* Create/initialize the mutex manager structure. */ +@@ -88,12 +89,12 @@ + mtxmgr->reginfo.id = INVALID_REGION_ID; + mtxmgr->reginfo.flags = REGION_JOIN_OK; + size = __mutex_region_size(env); + if (create_ok) + F_SET(&mtxmgr->reginfo, REGION_CREATE_OK); +- if ((ret = __env_region_attach(env, +- &mtxmgr->reginfo, size, size + __mutex_region_max(env))) != 0) ++ if ((ret = __env_region_attach(env, &mtxmgr->reginfo, ++ size, size + __mutex_region_max(env, mutex_needed))) != 0) + goto err; + + /* If we created the region, initialize it. */ + if (F_ISSET(&mtxmgr->reginfo, REGION_CREATE)) + if ((ret = __mutex_region_init(env, mtxmgr)) != 0) +@@ -350,44 +351,62 @@ + + dbenv = env->dbenv; + + s = sizeof(DB_MUTEXMGR) + 1024; + +- /* We discard one mutex for the OOB slot. */ ++ /* ++ * We discard one mutex for the OOB slot. Make sure mutex_cnt doesn't ++ * overflow. ++ */ + s += __env_alloc_size( +- (dbenv->mutex_cnt + 1) *__mutex_align_size(env)); ++ (dbenv->mutex_cnt + (dbenv->mutex_cnt == UINT32_MAX ? 0 : 1)) * ++ __mutex_align_size(env)); + + return (s); + } + + /* + * __mutex_region_max -- + * Return the amount of space needed to reach the maximum size. + */ + static size_t +-__mutex_region_max(env) ++__mutex_region_max(env, mutex_needed) + ENV *env; ++ u_int32_t mutex_needed; + { + DB_ENV *dbenv; +- u_int32_t max; ++ u_int32_t max, mutex_cnt; + + dbenv = env->dbenv; ++ mutex_cnt = dbenv->mutex_cnt; + +- if ((max = dbenv->mutex_max) == 0) { ++ /* ++ * We want to limit the region size to accommodate at most UINT32_MAX ++ * mutexes. If mutex_cnt is UINT32_MAX, no more space is allowed. ++ */ ++ if ((max = dbenv->mutex_max) == 0 && mutex_cnt != UINT32_MAX) + if (F_ISSET(env, ENV_PRIVATE | ENV_THREAD) == ENV_PRIVATE) +- max = dbenv->mutex_inc + 1; +- else ++ if (dbenv->mutex_inc + 1 < UINT32_MAX - mutex_cnt) ++ max = dbenv->mutex_inc + 1 + mutex_cnt; ++ else ++ max = UINT32_MAX; ++ else { + max = __lock_region_mutex_max(env) + + __txn_region_mutex_max(env) + + __log_region_mutex_max(env) + + dbenv->mutex_inc + 100; +- } else if (max <= dbenv->mutex_cnt) ++ if (max < UINT32_MAX - mutex_needed) ++ max += mutex_needed; ++ else ++ max = UINT32_MAX; ++ } ++ ++ if (max <= mutex_cnt) + return (0); + else +- max -= dbenv->mutex_cnt; +- +- return ( __env_alloc_size(max * __mutex_align_size(env))); ++ return (__env_alloc_size( ++ (max - mutex_cnt) * __mutex_align_size(env))); + } + + #ifdef HAVE_MUTEX_SYSTEM_RESOURCES + /* + * __mutex_resource_return + diff --git a/main/db5.3/db-5.3.28-atomic_compare_exchange.patch b/main/db5.3/db-5.3.28-atomic_compare_exchange.patch new file mode 100644 index 00000000..4eab02cb --- /dev/null +++ b/main/db5.3/db-5.3.28-atomic_compare_exchange.patch @@ -0,0 +1,20 @@ +--- db-5.3.28/src/dbinc/atomic.h.old 2018-05-23 09:20:04.216914922 +0200 ++++ db-5.3.28/src/dbinc/atomic.h 2018-05-23 09:20:49.510057897 +0200 +@@ -144,7 +144,7 @@ + #define atomic_inc(env, p) __atomic_inc(p) + #define atomic_dec(env, p) __atomic_dec(p) + #define atomic_compare_exchange(env, p, o, n) \ +- __atomic_compare_exchange((p), (o), (n)) ++ __db_atomic_compare_exchange((p), (o), (n)) + static inline int __atomic_inc(db_atomic_t *p) + { + int temp; +@@ -176,7 +176,7 @@ + * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html + * which configure could be changed to use. + */ +-static inline int __atomic_compare_exchange( ++static inline int __db_atomic_compare_exchange( + db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval) + { + atomic_value_t was; diff --git a/main/db5.3/db-5.3.28-lemon_hash.patch b/main/db5.3/db-5.3.28-lemon_hash.patch new file mode 100644 index 00000000..1556d5dd --- /dev/null +++ b/main/db5.3/db-5.3.28-lemon_hash.patch @@ -0,0 +1,20 @@ +--- db-5.3.28/lang/sql/sqlite/tool/lemon.c.lemon_hash 2013-09-09 17:35:07.000000000 +0200 ++++ db-5.3.28/lang/sql/sqlite/tool/lemon.c 2017-02-22 13:12:08.564106051 +0100 +@@ -3428,7 +3428,7 @@ + int maxdtlength; /* Maximum length of any ".datatype" field. */ + char *stddt; /* Standardized name for a datatype */ + int i,j; /* Loop counters */ +- int hash; /* For hashing the name of a type */ ++ unsigned hash; /* For hashing the name of a type */ + const char *name; /* Name of the parser */ + + /* Allocate and initialize types[] and allocate stddt[] */ +@@ -3491,7 +3491,7 @@ + break; + } + hash++; +- if( hash>=arraysize ) hash = 0; ++ if( hash>=(unsigned)arraysize ) hash = 0; + } + if( types[hash]==0 ){ + sp->dtnum = hash + 1; diff --git a/main/db5.3/db-5.3.28-mmap-high-cpu-usage.patch b/main/db5.3/db-5.3.28-mmap-high-cpu-usage.patch new file mode 100644 index 00000000..b11ce082 --- /dev/null +++ b/main/db5.3/db-5.3.28-mmap-high-cpu-usage.patch @@ -0,0 +1,19 @@ +Author: Filip Januš +Date: 6 Sep 2021 +Related: https://bugzilla.redhat.com/show_bug.cgi?id=1992402 +Patch was created based on the discussion in the previous link +diff -ur db-5.3.28/src/os/os_map.c db_patch/src/os/os_map.c +--- db-5.3.28/src/os/os_map.c 2013-09-09 17:35:09.000000000 +0200 ++++ db_patch/src/os/os_map.c 2021-09-09 07:33:12.027328265 +0200 +@@ -213,7 +213,10 @@ + if (rp->max < rp->size) + rp->max = rp->size; + if (ret == 0 && F_ISSET(infop, REGION_CREATE)) { +- if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) ++ ++ rp->size = rp->max; ++ ++ if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) + ret = __db_file_write(env, infop->fhp, + rp->size / MEGABYTE, rp->size % MEGABYTE, 0x00); + else diff --git a/main/db5.3/db-5.3.28_cve-2019-2708.patch b/main/db5.3/db-5.3.28_cve-2019-2708.patch new file mode 100644 index 00000000..341cb4b6 --- /dev/null +++ b/main/db5.3/db-5.3.28_cve-2019-2708.patch @@ -0,0 +1,694 @@ +--- db-18.1.32/src/btree/bt_cursor.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/btree/bt_cursor.c 2020-05-29 23:28:22.000000000 +0530 +@@ -282,6 +282,8 @@ + * + * Recno uses the btree bt_ovflsize value -- it's close enough. + */ ++ if (t->bt_minkey == 0) ++ return (DB_RECOVER); + cp->ovflsize = B_MINKEY_TO_OVFLSIZE( + dbp, F_ISSET(dbc, DBC_OPD) ? 2 : t->bt_minkey, dbp->pgsize); + +--- db-18.1.32/src/btree/bt_verify.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/btree/bt_verify.c 2020-05-29 23:28:22.000000000 +0530 +@@ -700,7 +700,11 @@ + isbad = 1; + goto err; + default: ++ if (ret == 0) { ++ isbad = 1; ++ ret = DB_VERIFY_FATAL; ++ goto err; ++ } +- DB_ASSERT(env, ret != 0); + break; + } + +@@ -1074,7 +1078,7 @@ + DBT dbta, dbtb, dup_1, dup_2, *p1, *p2, *tmp; + ENV *env; + PAGE *child; ++ db_pgno_t cpgno, grandparent; +- db_pgno_t cpgno; + VRFY_PAGEINFO *pip; + db_indx_t i, *inp; + int adj, cmp, freedup_1, freedup_2, isbad, ret, t_ret; +@@ -1106,7 +1110,8 @@ + + buf1 = buf2 = NULL; + ++ if (LF_ISSET(DB_NOORDERCHK)) ++ return (EINVAL); +- DB_ASSERT(env, !LF_ISSET(DB_NOORDERCHK)); + + dupfunc = (dbp->dup_compare == NULL) ? __bam_defcmp : dbp->dup_compare; + if (TYPE(h) == P_LDUP) +@@ -1115,6 +1120,7 @@ + func = __bam_defcmp; + if (dbp->bt_internal != NULL) { + bt = (BTREE *)dbp->bt_internal; ++ grandparent = bt->bt_root; + if (TYPE(h) == P_IBTREE && (bt->bt_compare != NULL || + dupfunc != __bam_defcmp)) { + /* +@@ -974,8 +980,24 @@ + */ + mpf = dbp->mpf; + child = h; ++ cpgno = pgno; + while (TYPE(child) == P_IBTREE) { ++ if (NUM_ENT(child) == 0) { ++ EPRINT((env, DB_STR_A("1088", ++ "Page %lu: internal page is empty and should not be", ++ "%lu"), (u_long)cpgno)); ++ ret = DB_VERIFY_BAD; ++ goto err; ++ } + bi = GET_BINTERNAL(dbp, child, 0); ++ if (grandparent == bi->pgno) { ++ EPRINT((env, DB_STR_A("5552", ++ "Page %lu: found twice in the btree", ++ "%lu"), (u_long)grandparent)); ++ ret = DB_VERIFY_FATAL; ++ goto err; ++ } else ++ grandparent = cpgno; + cpgno = bi->pgno; + if (child != h && + (ret = __memp_fput(mpf, +@@ -1402,7 +1416,10 @@ + */ + if (dup_1.data == NULL || + dup_2.data == NULL) { ++ if (ovflok) { ++ isbad = 1; ++ goto err; ++ } +- DB_ASSERT(env, !ovflok); + if (pip != NULL) + F_SET(pip, + VRFY_INCOMPLETE); +@@ -1747,9 +1764,10 @@ + (ret = __db_vrfy_ovfl_structure(dbp, vdp, + child->pgno, child->tlen, + flags | DB_ST_OVFL_LEAF)) != 0) { ++ if (ret == DB_VERIFY_BAD) { +- if (ret == DB_VERIFY_BAD) + isbad = 1; ++ break; ++ } else +- else + goto done; + } + +@@ -1823,9 +1841,10 @@ + stflags | DB_ST_TOPLEVEL, + NULL, NULL, NULL)) != 0) { + if (ret == ++ DB_VERIFY_BAD) { +- DB_VERIFY_BAD) + isbad = 1; ++ break; ++ } else +- else + goto err; + } + } +@@ -1969,7 +1988,10 @@ + */ + + /* Otherwise, __db_vrfy_childput would be broken. */ ++ if (child->refcnt < 1) { ++ isbad = 1; ++ goto err; ++ } +- DB_ASSERT(env, child->refcnt >= 1); + + /* + * An overflow referenced more than twice here +@@ -1986,9 +2008,10 @@ + if ((ret = __db_vrfy_ovfl_structure(dbp, + vdp, child->pgno, child->tlen, + flags)) != 0) { ++ if (ret == DB_VERIFY_BAD) { +- if (ret == DB_VERIFY_BAD) + isbad = 1; ++ break; ++ } else +- else + goto done; + } + } +@@ -2026,9 +2049,10 @@ + if ((ret = __bam_vrfy_subtree(dbp, vdp, li->pgno, + i == 0 ? NULL : li, ri, flags, &child_level, + &child_nrecs, NULL)) != 0) { ++ if (ret == DB_VERIFY_BAD) { +- if (ret == DB_VERIFY_BAD) + isbad = 1; ++ break; ++ } else +- else + goto done; + } + +@@ -2929,7 +2953,11 @@ + db_pgno_t current, p; + int err_ret, ret; + ++ if (pgset == NULL) { ++ EPRINT((dbp->env, DB_STR("5542", ++ "Error, database contains no visible pages."))); ++ return (DB_RUNRECOVERY); ++ } +- DB_ASSERT(dbp->env, pgset != NULL); + + mpf = dbp->mpf; + h = NULL; +--- db-18.1.32/src/db/db_conv.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/db/db_conv.c 2020-05-29 23:28:22.000000000 +0530 +@@ -493,8 +493,11 @@ + db_indx_t i, *inp, len, tmp; + u_int8_t *end, *p, *pgend; + +- if (pagesize == 0) +- return (0); ++ /* This function is also used to byteswap logs, so ++ * the pagesize might not be an actual page size. ++ */ ++ if (!(pagesize >= 24 && pagesize <= DB_MAX_PGSIZE)) ++ return (EINVAL); + + if (pgin) { + M_32_SWAP(h->lsn.file); +@@ -513,26 +516,41 @@ + pgend = (u_int8_t *)h + pagesize; + + inp = P_INP(dbp, h); +- if ((u_int8_t *)inp >= pgend) +- goto out; ++ if ((u_int8_t *)inp > pgend) ++ return (__db_pgfmt(env, pg)); + + switch (TYPE(h)) { + case P_HASH_UNSORTED: + case P_HASH: + for (i = 0; i < NUM_ENT(h); i++) { ++ if ((u_int8_t*)(inp + i) >= pgend) ++ return (__db_pgfmt(env, pg)); ++ if (inp[i] == 0) ++ continue; + if (pgin) + M_16_SWAP(inp[i]); ++ if (inp[i] >= pagesize) ++ return (__db_pgfmt(env, pg)); + +- if (P_ENTRY(dbp, h, i) >= pgend) +- continue; ++ if (P_ENTRY(dbp, h, i) >= pgend) ++ return (__db_pgfmt(env, pg)); + + switch (HPAGE_TYPE(dbp, h, i)) { + case H_KEYDATA: + break; + case H_DUPLICATE: ++ if (LEN_HITEM(dbp, h, pagesize, i) < ++ HKEYDATA_SIZE(0)) ++ return (__db_pgfmt(env, pg)); ++ + len = LEN_HKEYDATA(dbp, h, pagesize, i); + p = HKEYDATA_DATA(P_ENTRY(dbp, h, i)); +- for (end = p + len; p < end;) { ++ ++ end = p + len; ++ if (end > pgend) ++ return (__db_pgfmt(env, pg)); ++ ++ while (p < end) { + if (pgin) { + P_16_SWAP(p); + memcpy(&tmp, +@@ -544,14 +562,20 @@ + SWAP16(p); + } + p += tmp; ++ if (p >= end) ++ return (__db_pgfmt(env, pg)); + SWAP16(p); + } + break; + case H_OFFDUP: ++ if ((inp[i] + HOFFDUP_SIZE) > pagesize) ++ return (__db_pgfmt(env, pg)); + p = HOFFPAGE_PGNO(P_ENTRY(dbp, h, i)); + SWAP32(p); /* pgno */ + break; + case H_OFFPAGE: ++ if ((inp[i] + HOFFPAGE_SIZE) > pagesize) ++ return (__db_pgfmt(env, pg)); + p = HOFFPAGE_PGNO(P_ENTRY(dbp, h, i)); + SWAP32(p); /* pgno */ + SWAP32(p); /* tlen */ +@@ -559,7 +583,6 @@ + default: + return (__db_pgfmt(env, pg)); + } +- + } + + /* +@@ -576,8 +599,12 @@ + case P_LDUP: + case P_LRECNO: + for (i = 0; i < NUM_ENT(h); i++) { ++ if ((u_int8_t *)(inp + i) >= pgend) ++ return (__db_pgfmt(env, pg)); + if (pgin) + M_16_SWAP(inp[i]); ++ if (inp[i] >= pagesize) ++ return (__db_pgfmt(env, pg)); + + /* + * In the case of on-page duplicates, key information +@@ -597,7 +624,7 @@ + + bk = GET_BKEYDATA(dbp, h, i); + if ((u_int8_t *)bk >= pgend) +- continue; ++ return (__db_pgfmt(env, pg)); + switch (B_TYPE(bk->type)) { + case B_KEYDATA: + M_16_SWAP(bk->len); +@@ -605,6 +632,8 @@ + case B_DUPLICATE: + case B_OVERFLOW: + bo = (BOVERFLOW *)bk; ++ if (((u_int8_t *)bo + BOVERFLOW_SIZE) > pgend) ++ return (__db_pgfmt(env, pg)); + M_32_SWAP(bo->pgno); + M_32_SWAP(bo->tlen); + break; +@@ -618,12 +647,17 @@ + break; + case P_IBTREE: + for (i = 0; i < NUM_ENT(h); i++) { ++ if ((u_int8_t *)(inp + i) > pgend) ++ return (__db_pgfmt(env, pg)); + if (pgin) + M_16_SWAP(inp[i]); ++ if ((u_int16_t)(inp[i] + ++ BINTERNAL_SIZE(0) - 1) > pagesize) ++ break; + + bi = GET_BINTERNAL(dbp, h, i); +- if ((u_int8_t *)bi >= pgend) +- continue; ++ if (((u_int8_t *)bi + BINTERNAL_SIZE(0)) > pgend) ++ return (__db_pgfmt(env, pg)); + + M_16_SWAP(bi->len); + M_32_SWAP(bi->pgno); +@@ -634,6 +668,10 @@ + break; + case B_DUPLICATE: + case B_OVERFLOW: ++ if ((u_int16_t)(inp[i] + ++ BINTERNAL_SIZE(BOVERFLOW_SIZE) - 1) > ++ pagesize) ++ goto out; + bo = (BOVERFLOW *)bi->data; + M_32_SWAP(bo->pgno); + M_32_SWAP(bo->tlen); +@@ -648,12 +686,16 @@ + break; + case P_IRECNO: + for (i = 0; i < NUM_ENT(h); i++) { ++ if ((u_int8_t *)(inp + i) >= pgend) ++ return (__db_pgfmt(env, pg)); + if (pgin) + M_16_SWAP(inp[i]); ++ if (inp[i] >= pagesize) ++ return (__db_pgfmt(env, pg)); + + ri = GET_RINTERNAL(dbp, h, i); +- if ((u_int8_t *)ri >= pgend) +- continue; ++ if ((((u_int8_t *)ri) + RINTERNAL_SIZE) > pgend) ++ return (__db_pgfmt(env, pg)); + + M_32_SWAP(ri->pgno); + M_32_SWAP(ri->nrecs); +--- db-18.1.32/src/db/db_vrfy.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/db/db_vrfy.c 2020-05-29 23:28:22.000000000 +0530 +@@ -381,8 +381,10 @@ + vdp, name, 0, lp, rp, flags)) != 0) { + if (t_ret == DB_VERIFY_BAD) + isbad = 1; ++ else { ++ ret = t_ret; ++ goto err; ++ } +- else +- goto err; + } + + /* +@@ -771,9 +773,10 @@ + */ + if ((t_ret = __memp_fget(mpf, &i, + vdp->thread_info, NULL, 0, &h)) != 0) { ++ if ((dbp->type == DB_HASH || +- if (dbp->type == DB_HASH || + (dbp->type == DB_QUEUE && ++ F_ISSET(dbp, DB_AM_INMEM))) && ++ t_ret != DB_RUNRECOVERY) { +- F_ISSET(dbp, DB_AM_INMEM))) { + if ((t_ret = + __db_vrfy_getpageinfo(vdp, i, &pip)) != 0) + goto err1; +@@ -945,6 +948,8 @@ + return (ret == 0 ? t_ret : ret); + } + ++ if (ret == DB_PAGE_NOTFOUND && isbad == 1) ++ ret = 0; + return ((isbad == 1 && ret == 0) ? DB_VERIFY_BAD : ret); + } + +@@ -1581,7 +1586,7 @@ + if (pgno == PGNO_BASE_MD && + dbtype != DB_QUEUE && meta->last_pgno != vdp->last_pgno) { + #ifdef HAVE_FTRUNCATE ++ ret = DB_VERIFY_FATAL; +- isbad = 1; + EPRINT((env, DB_STR_A("0552", + "Page %lu: last_pgno is not correct: %lu != %lu", + "%lu %lu %lu"), (u_long)pgno, +@@ -1622,7 +1627,11 @@ + + env = dbp->env; + pgset = vdp->pgset; ++ if (pgset == NULL) { ++ EPRINT((env, DB_STR("5543", ++ "Error, database contains no visible pages."))); ++ return (DB_RUNRECOVERY); ++ } +- DB_ASSERT(env, pgset != NULL); + + if ((ret = __db_vrfy_getpageinfo(vdp, meta, &pip)) != 0) + return (ret); +@@ -2014,7 +2023,8 @@ + int keyflag, ret, t_ret; + + env = dbp->env; ++ if (!LF_ISSET(DB_SALVAGE)) ++ return (EINVAL); +- DB_ASSERT(env, LF_ISSET(DB_SALVAGE)); + + /* + * !!! +@@ -2126,10 +2136,8 @@ + int (*callback) __P((void *, const void *)); + u_int32_t flags; + { +- ENV *env; +- +- env = dbp->env; +- DB_ASSERT(env, LF_ISSET(DB_SALVAGE)); ++ if (!LF_ISSET(DB_SALVAGE)) ++ return (EINVAL); + + /* If we got this page in the subdb pass, we can safely skip it. */ + if (__db_salvage_isdone(vdp, pgno)) +@@ -2242,8 +2253,8 @@ + ret = t_ret; + break; + case SALVAGE_OVERFLOW: ++ EPRINT((env, DB_STR("5544", "Invalid page type to salvage."))); ++ return (EINVAL); +- DB_ASSERT(env, 0); /* Shouldn't ever happen. */ +- break; + case SALVAGE_HASH: + if ((t_ret = __ham_salvage(dbp, vdp, + pgno, h, handle, callback, flags)) != 0 && ret == 0) +@@ -2256,8 +2267,8 @@ + * Shouldn't happen, but if it does, just do what the + * nice man says. + */ ++ EPRINT((env, DB_STR("5545", "Invalid page type to salvage."))); ++ return (EINVAL); +- DB_ASSERT(env, 0); +- break; + } + if ((t_ret = __memp_fput(mpf, + vdp->thread_info, h, dbp->priority)) != 0 && ret == 0) +@@ -2303,8 +2314,8 @@ + ret = t_ret; + break; + default: ++ EPRINT((env, DB_STR("5546", "Invalid page type to salvage."))); ++ return (EINVAL); +- DB_ASSERT(env, 0); /* Shouldn't ever happen. */ +- break; + } + if ((t_ret = __memp_fput(mpf, + vdp->thread_info, h, dbp->priority)) != 0 && ret == 0) +@@ -2361,7 +2372,10 @@ + + env = dbp->env; + ++ if (himarkp == NULL) { ++ __db_msg(env, "Page %lu index has no end.", (u_long)pgno); ++ return (DB_VERIFY_FATAL); ++ } +- DB_ASSERT(env, himarkp != NULL); + inp = P_INP(dbp, h); + + /* +@@ -2783,7 +2797,11 @@ + goto err; + ovfl_bufsz = bkkey->len + 1; + } ++ if (subdbname == NULL) { ++ EPRINT((env, DB_STR("5547", "Subdatabase cannot be null."))); ++ ret = EINVAL; ++ goto err; ++ } +- DB_ASSERT(env, subdbname != NULL); + memcpy(subdbname, bkkey->data, bkkey->len); + subdbname[bkkey->len] = '\0'; + } +--- db-18.1.32/src/db/db_vrfyutil.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/db/db_vrfyutil.c 2020-05-29 23:28:22.000000000 +0530 +@@ -214,7 +214,8 @@ + if ((ret = __db_get(pgdbp, + vdp->thread_info, vdp->txn, &key, &data, 0)) == 0) { + /* Found it. */ ++ if (data.size != sizeof(VRFY_PAGEINFO)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(env, data.size == sizeof(VRFY_PAGEINFO)); + pip = data.data; + LIST_INSERT_HEAD(&vdp->activepips, pip, links); + goto found; +@@ -342,7 +343,8 @@ + F_SET(&data, DB_DBT_USERMEM); + + if ((ret = __db_get(dbp, ip, txn, &key, &data, 0)) == 0) { ++ if (data.size != sizeof(int)) ++ return (EINVAL); +- DB_ASSERT(dbp->env, data.size == sizeof(int)); + } else if (ret == DB_NOTFOUND) + val = 0; + else +@@ -382,7 +384,8 @@ + F_SET(&data, DB_DBT_USERMEM); + + if ((ret = __db_get(dbp, ip, txn, &key, &data, 0)) == 0) { ++ if (data.size != sizeof(int)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbp->env, data.size == sizeof(int)); + } else if (ret != DB_NOTFOUND) + return (ret); + +@@ -419,7 +422,8 @@ + if ((ret = __dbc_get(dbc, &key, &data, DB_NEXT)) != 0) + return (ret); + ++ if (key.size != sizeof(db_pgno_t)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbc->env, key.size == sizeof(db_pgno_t)); + *pgnop = pgno; + + return (0); +@@ -566,7 +570,8 @@ + if ((ret = __dbc_get(dbc, &key, &data, DB_SET)) != 0) + return (ret); + ++ if (data.size != sizeof(VRFY_CHILDINFO)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbc->env, data.size == sizeof(VRFY_CHILDINFO)); + *cipp = (VRFY_CHILDINFO *)data.data; + + return (0); +@@ -594,7 +599,8 @@ + if ((ret = __dbc_get(dbc, &key, &data, DB_NEXT_DUP)) != 0) + return (ret); + ++ if (data.size != sizeof(VRFY_CHILDINFO)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbc->env, data.size == sizeof(VRFY_CHILDINFO)); + *cipp = (VRFY_CHILDINFO *)data.data; + + return (0); +@@ -721,7 +727,8 @@ + return (ret); + + while ((ret = __dbc_get(*dbcp, &key, &data, DB_NEXT)) == 0) { ++ if (data.size != sizeof(u_int32_t)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbp->env, data.size == sizeof(u_int32_t)); + memcpy(&pgtype, data.data, sizeof(pgtype)); + + if (skip_overflow && pgtype == SALVAGE_OVERFLOW) +@@ -730,8 +737,9 @@ + if ((ret = __dbc_del(*dbcp, 0)) != 0) + return (ret); + if (pgtype != SALVAGE_IGNORE) { ++ if (key.size != sizeof(db_pgno_t) ++ || data.size != sizeof(u_int32_t)) ++ return (DB_VERIFY_FATAL); +- DB_ASSERT(dbp->env, key.size == sizeof(db_pgno_t)); +- DB_ASSERT(dbp->env, data.size == sizeof(u_int32_t)); + + *pgnop = *(db_pgno_t *)key.data; + *pgtypep = *(u_int32_t *)data.data; +--- db-18.1.32/src/db/partition.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/db/partition.c 2020-05-29 23:28:22.000000000 +0530 +@@ -461,9 +461,19 @@ + } else + part->nparts = meta->nparts; + } else if (meta->nparts != 0 && part->nparts != meta->nparts) { ++ ret = EINVAL; + __db_errx(env, DB_STR("0656", + "Number of partitions does not match.")); +- ret = EINVAL; ++ goto err; ++ } ++ /* ++ * There is no limit on the number of partitions, but I cannot imagine a real ++ * database having more than 10000. ++ */ ++ if (meta->nparts > 10000) { ++ ret = EINVAL; ++ __db_errx(env, DB_STR_A("5553", ++ "Too many partitions %lu", "%lu"), (u_long)(meta->nparts)); + goto err; + } + +@@ -2106,10 +2116,13 @@ + memcpy(rp->data, key->data, key->size); + B_TSET(rp->type, B_KEYDATA); + } ++vrfy: if ((t_ret = __db_verify(*pdbp, ip, (*pdbp)->fname, ++ NULL, handle, callback, ++ lp, rp, flags | DB_VERIFY_PARTITION)) != 0 && ret == 0) { ++ ret = t_ret; ++ if (ret == ENOENT) ++ break; ++ } +-vrfy: if ((t_ret = __db_verify(*pdbp, ip, (*pdbp)->fname, +- NULL, handle, callback, +- lp, rp, flags | DB_VERIFY_PARTITION)) != 0 && ret == 0) +- ret = t_ret; + } + + err: if (lp != NULL) +--- db-18.1.32/src/hash/hash_page.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/hash/hash_page.c 2020-05-29 23:28:22.000000000 +0530 +@@ -869,7 +869,11 @@ + /* Validate that next, prev pointers are OK */ + n = NUM_ENT(p); + dbp = dbc->dbp; ++ if (n % 2 != 0) { ++ __db_errx(dbp->env, DB_STR_A("5549", ++ "Odd number of entries on page: %lu", "%lu"), (u_long)(p->pgno)); ++ return (DB_VERIFY_FATAL); ++ } +- DB_ASSERT(dbp->env, n%2 == 0 ); + + env = dbp->env; + t = dbp->h_internal; +@@ -940,7 +944,12 @@ + if ((ret = __db_prpage(dbp, p, DB_PR_PAGE)) != 0) + return (ret); + #endif ++ if (res >= 0) { ++ __db_errx(env, DB_STR_A("5550", ++ "Odd number of entries on page: %lu", "%lu"), ++ (u_long)p->pgno); ++ return (DB_VERIFY_FATAL); ++ } +- DB_ASSERT(dbp->env, res < 0); + } + + prev = curr; +--- db-18.1.32/src/hash/hash_verify.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/hash/hash_verify.c 2020-05-29 23:28:22.000000000 +0530 +@@ -615,7 +615,7 @@ + isbad = 1; + else + goto err; ++ } +- } + + /* + * There may be unused hash pages corresponding to buckets +@@ -746,7 +746,7 @@ + "Page %lu: impossible first page in bucket %lu", "%lu %lu"), + (u_long)pgno, (u_long)bucket)); + /* Unsafe to continue. */ ++ ret = DB_VERIFY_FATAL; +- isbad = 1; + goto err; + } + +@@ -776,7 +776,7 @@ + EPRINT((env, DB_STR_A("1116", + "Page %lu: hash page referenced twice", "%lu"), + (u_long)pgno)); ++ ret = DB_VERIFY_FATAL; +- isbad = 1; + /* Unsafe to continue. */ + goto err; + } else if ((ret = __db_vrfy_pgset_inc(vdp->pgset, +@@ -1307,7 +1307,11 @@ + COMPQUIET(flags, 0); + ip = vdp->thread_info; + ++ if (pgset == NULL) { ++ EPRINT((dbp->env, DB_STR("5548", ++ "Error, database contains no visible pages."))); ++ return (DB_VERIFY_FATAL); ++ } +- DB_ASSERT(dbp->env, pgset != NULL); + + mpf = dbp->mpf; + totpgs = 0; +--- db-18.1.32/src/qam/qam_verify.c 2019-02-20 03:21:20.000000000 +0530 ++++ db-18.1.40/src/qam/qam_verify.c 2020-05-29 23:28:22.000000000 +0530 +@@ -465,7 +465,14 @@ + /* Verify/salvage each page. */ + if ((ret = __db_cursor(dbp, vdp->thread_info, NULL, &dbc, 0)) != 0) + return (ret); +-begin: for (; i <= stop; i++) { ++begin: if ((stop - i) > 100000) { ++ EPRINT((env, DB_STR_A("5551", ++"Warning, many possible extends files (%lu), will take a long time to verify", ++ "%lu"), (u_long)(stop - i))); ++ } ++ for (; i <= stop; i++) { ++ if (i == UINT32_MAX) ++ break; + /* + * If DB_SALVAGE is set, we inspect our database of completed + * pages, and skip any we've already printed in the subdb pass. diff --git a/main/db5.3/version b/main/db5.3/version new file mode 100644 index 00000000..3b549384 --- /dev/null +++ b/main/db5.3/version @@ -0,0 +1 @@ +5.3.28 5 diff --git a/main/dbus-broker/.PKGINFO b/main/dbus-broker/.PKGINFO new file mode 100644 index 00000000..1e646c2c --- /dev/null +++ b/main/dbus-broker/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = dbus-broker-units +pkgbase = dbus-broker +xdata = pkgtype=split +pkgver = 36-2 +pkgdesc = Linux D-Bus Message Broker - Service units +url = https://github.com/bus1/dbus-broker/wiki +builddate = 1713662620 +packager = Developer +size = 0 +arch = x86_64 +license = Apache-2.0 +conflict = dbus-daemon-units +provides = dbus-units +depend = dbus +depend = dbus-broker +makedepend = meson +makedepend = python-docutils +makedepend = systemd diff --git a/main/dbus-broker/0001-units-Enable-statically.patch b/main/dbus-broker/0001-units-Enable-statically.patch new file mode 100644 index 00000000..1ccaf0ac --- /dev/null +++ b/main/dbus-broker/0001-units-Enable-statically.patch @@ -0,0 +1,60 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Fri, 8 Dec 2023 21:28:52 +0100 +Subject: [PATCH] units: Enable statically + +--- + src/units/system/dbus-broker.service.in | 3 --- + src/units/system/meson.build | 5 +++++ + src/units/user/dbus-broker.service.in | 3 --- + src/units/user/meson.build | 5 +++++ + 4 files changed, 10 insertions(+), 6 deletions(-) + +diff --git a/src/units/system/dbus-broker.service.in b/src/units/system/dbus-broker.service.in +index cc5ae3617ea5..2f07a1e7ce77 100644 +--- a/src/units/system/dbus-broker.service.in ++++ b/src/units/system/dbus-broker.service.in +@@ -17,6 +17,3 @@ PrivateTmp=true + PrivateDevices=true + ExecStart=@bindir@/dbus-broker-launch --scope system --audit + ExecReload=@bindir@/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig +- +-[Install] +-Alias=dbus.service +diff --git a/src/units/system/meson.build b/src/units/system/meson.build +index a946b4673130..97f1d46fc5e2 100644 +--- a/src/units/system/meson.build ++++ b/src/units/system/meson.build +@@ -8,3 +8,8 @@ configure_file( + configuration: conf, + install_dir: conf.get('systemunitdir'), + ) ++ ++install_symlink('dbus.service', ++ pointing_to: 'dbus-broker.service', ++ install_dir: conf.get('systemunitdir'), ++) +diff --git a/src/units/user/dbus-broker.service.in b/src/units/user/dbus-broker.service.in +index 15de0d5b611d..ffcf632e9bbd 100644 +--- a/src/units/user/dbus-broker.service.in ++++ b/src/units/user/dbus-broker.service.in +@@ -13,6 +13,3 @@ Sockets=dbus.socket + ExecStart=@bindir@/dbus-broker-launch --scope user + ExecReload=@bindir@/busctl --user call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig + Slice=session.slice +- +-[Install] +-Alias=dbus.service +diff --git a/src/units/user/meson.build b/src/units/user/meson.build +index 876ff9817bae..b45aee31f205 100644 +--- a/src/units/user/meson.build ++++ b/src/units/user/meson.build +@@ -8,3 +8,8 @@ configure_file( + configuration: conf, + install_dir: conf.get('userunitdir'), + ) ++ ++install_symlink('dbus.service', ++ pointing_to: 'dbus-broker.service', ++ install_dir: conf.get('userunitdir'), ++) diff --git a/main/dbus-broker/PKGBUILD b/main/dbus-broker/PKGBUILD new file mode 100644 index 00000000..7bc6834f --- /dev/null +++ b/main/dbus-broker/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=dbus-broker +pkgname=( + dbus-broker + dbus-broker-units +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Linux D-Bus Message Broker" +url="https://github.com/bus1/dbus-broker/wiki" +arch=(x86_64) +license=("Apache-2.0") +depends=( + audit + libcap-ng + expat + systemd-libs +) +makedepends=( + meson + python-docutils + systemd +) +source=( + https://github.com/bus1/dbus-broker/releases/download/v$pkgver/$pkgbase-$pkgver.tar.xz{,.asc} + 0001-units-Enable-statically.patch +) +b2sums=('2c270197d76ec157bf2fd8eb561b49cea2739d656fac8129c4ecdd0bbd5804f8e4e427414cb5f209eef4c22cf9559fc409170476d8df0e1d252c0b5aa2288e01' + 'SKIP' + 'c6ad58146a76dbb62548029cf84403ccba355a9ce74b8e081a27a6e3bf4535809741f0621b8a1396cbcb5be55434a90c169829c9b443952477e838c1036b84af') +validpgpkeys=( + BE5FBC8C9C1C9F60A4F0AEAE7A4F3A09EBDEFF26 # David Herrmann +) + +# https://github.com/bus1/dbus-broker/releases +sha256sums=('d50daa31ff33f48693194596ea2aeb1a925183b59cdc82a550774e5c43982252' + 'SKIP' + 'a37cedf7fef8f513f4a79c9893c677ff68dd5184b3918a57c3ec0b0383ea6cb5') + +prepare() { + cd $pkgbase-$pkgver + patch -Np1 -i ../0001-units-Enable-statically.patch +} + +build() { + local meson_options=( + -D audit=true + -D docs=true + -D linux-4-17=true + -D system-console-users=gdm,sddm,lightdm,lxdm + ) + + arch-meson $pkgbase-$pkgver build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_dbus-broker() { + depends+=( + libaudit.so + libcap-ng.so + libexpat.so + libsystemd.so + ) + + meson install -C build --destdir "$pkgdir" + + _pick unit "$pkgdir"/usr/lib/systemd/{system,user}/dbus.service +} + +package_dbus-broker-units() { + pkgdesc+=" - Service units" + depends=( + dbus + dbus-broker + ) + provides=(dbus-units) + conflicts=(dbus-daemon-units) + + mv unit/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/dbus-broker/README b/main/dbus-broker/README new file mode 100644 index 00000000..70aff8a4 --- /dev/null +++ b/main/dbus-broker/README @@ -0,0 +1,43 @@ +dbus-broker +________________________________________________________________________________ + +Linux D-Bus Message Broker Linux D-Bus Message Broker - Service units + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dbus-broker | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/bus1/dbus-broker/wiki diff --git a/main/dbus-broker/version b/main/dbus-broker/version new file mode 100644 index 00000000..37ccd128 --- /dev/null +++ b/main/dbus-broker/version @@ -0,0 +1 @@ +36 2 diff --git a/main/dbus/PKGBUILD b/main/dbus/PKGBUILD new file mode 100644 index 00000000..05ad86cc --- /dev/null +++ b/main/dbus/PKGBUILD @@ -0,0 +1,134 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=dbus +pkgname=( + dbus + dbus-daemon-units + dbus-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Freedesktop.org message bus system" +url="https://wiki.freedesktop.org/www/Software/dbus/" +arch=(x86_64) +license=("AFL-2.1 OR GPL-2.0-or-later") +depends=( + audit + libcap-ng + expat + systemd-libs +) +makedepends=( + docbook-xsl + doxygen + python + systemd + xmlto + yelp-tools +) +source=( + https://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.xz{,.asc} + dbus-reload.hook +) +b2sums=('f605b0810dcde6a0753384927131e7f4675be737ad7506a51261717c2622e74b99ac33cc2c199b98e5aa6b9d7c68ef692b8ee9f684f6fdab8d06c6fa861a6f6b' + 'SKIP' + '05ab81bf72e7cf45ad943f5b84eaecef4f06bed94979c579a3e23134cbabd7ea6f65fa9ac252f8b43ceb4a3295e0d2325f06560a044fe7ddf125fc30dfc2b7e2') +validpgpkeys=( + DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90 # Simon McVittie +) + +prepare() { + cd dbus-$pkgver +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --libexecdir=/usr/lib/dbus-1.0 + --runstatedir=/run + --with-console-auth-dir=/run/console/ + --with-dbus-user=dbus + --with-system-pid-file=/run/dbus/pid + --with-system-socket=/run/dbus/system_bus_socket + --with-systemdsystemunitdir=/usr/lib/systemd/system + --enable-inotify + --enable-libaudit + --enable-systemd + --enable-user-session + --enable-xml-docs + --enable-doxygen-docs + --enable-ducktype-docs + --disable-static + --without-x + ) + + cd dbus-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make -C dbus-$pkgver -j1 check +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_dbus() { + depends+=( + libaudit.so + libcap-ng.so + libexpat.so + libsystemd.so + ) + provides=( + libdbus + libdbus-1.so + ) + conflicts=(libdbus) + replaces=(libdbus) + + cd dbus-$pkgver + DESTDIR="$pkgdir" make install + + rm -r "$pkgdir"/{etc,var} + + _pick unit "$pkgdir"/usr/lib/systemd/{system,user}/dbus.service + _pick docs "$pkgdir"/usr/share/doc + + # We have a pre-assigned uid (81) + echo 'u dbus 81 "System Message Bus"' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/dbus.conf" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} + +package_dbus-daemon-units() { + pkgdesc+=" - Service units" + depends=(dbus) + provides=(dbus-units) + conflicts=(dbus-broker-units) + + mv unit/* "$pkgdir" +} + +package_dbus-docs() { + pkgdesc+=" - Documentation" + depends=() + + mv docs/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/dbus/README b/main/dbus/README new file mode 100644 index 00000000..a90b3f49 --- /dev/null +++ b/main/dbus/README @@ -0,0 +1,43 @@ +dbus +________________________________________________________________________________ + +Freedesktop.org message bus system Freedesktop.org message bus system - Service units Freedesktop.org message bus system - Documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dbus | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.freedesktop.org/www/Software/dbus/ diff --git a/main/dbus/dbus-reload.hook b/main/dbus/dbus-reload.hook new file mode 100644 index 00000000..9f878290 --- /dev/null +++ b/main/dbus/dbus-reload.hook @@ -0,0 +1,13 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = etc/dbus-1/system.d/*.conf +Target = usr/share/dbus-1/system.d/*.conf +Target = usr/share/dbus-1/system-services/*.service + +[Action] +Description = Reloading system bus configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook reload dbus diff --git a/main/dbus/version b/main/dbus/version new file mode 100644 index 00000000..e873429f --- /dev/null +++ b/main/dbus/version @@ -0,0 +1 @@ +1.14.10 2 diff --git a/main/dconf/PKGBUILD b/main/dconf/PKGBUILD new file mode 100644 index 00000000..1d994668 --- /dev/null +++ b/main/dconf/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dconf +pkgver=%version% +pkgrel=%release% +pkgdesc="Configuration database system" +url="https://wiki.gnome.org/Projects/dconf" +arch=(x86_64) +license=(LGPL) +depends=(glib2) +makedepends=(vala dbus git gtk-doc python meson bash-completion) +provides=(libdconf.so) +install=dconf.install +_commit=4c0a26052efafae923eba42d14c5cb88da745de2 # tags/0.40.0^0 +source=("git+https://gitlab.gnome.org/GNOME/dconf.git#commit=$_commit" + dconf-update dconf-update.hook) +sha256sums=('SKIP' + '330142605370f82f4229e8a94b245f911407eb629b50f1497f415c70164a90ec' + '8d02176ff001a13d15a7ac087edd2502725494668933fa2c6e6f9cb21ae24e6b') + +pkgver() { + cd dconf + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd dconf +} + +build() { + arch-meson dconf build -D gtk_doc=true + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + install -Dt "$pkgdir/usr/share/libalpm/scripts" dconf-update + + # Prevent this directory from getting removed when other + # packages which install files there get uninstalled + install -Dm644 /dev/null "$pkgdir/etc/dconf/db/.placeholder" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/dconf/README b/main/dconf/README new file mode 100644 index 00000000..58fc59a1 --- /dev/null +++ b/main/dconf/README @@ -0,0 +1,43 @@ +dconf +________________________________________________________________________________ + +Configuration database system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dconf | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/dconf diff --git a/main/dconf/dconf-update b/main/dconf/dconf-update new file mode 100755 index 00000000..61d48a50 --- /dev/null +++ b/main/dconf/dconf-update @@ -0,0 +1,9 @@ +#!/bin/bash + +while read -r d; do + if [[ ! -d $d ]]; then + rm -f "${d%.d/}" + fi +done + +dconf update diff --git a/main/dconf/dconf-update.hook b/main/dconf/dconf-update.hook new file mode 100644 index 00000000..b3353c9f --- /dev/null +++ b/main/dconf/dconf-update.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = etc/dconf/db/*.d/ + +[Action] +Description = Updating system dconf databases... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/dconf-update +NeedsTargets diff --git a/main/dconf/dconf.install b/main/dconf/dconf.install new file mode 100644 index 00000000..30258ff7 --- /dev/null +++ b/main/dconf/dconf.install @@ -0,0 +1,11 @@ +post_install() { + post_upgrade $1 0 +} + +post_upgrade() { + if (( $(vercmp $2 0.32.0-2) < 0 )); then + dconf update + fi +} + +# vim:set sw=2 et: diff --git a/main/dconf/version b/main/dconf/version new file mode 100644 index 00000000..cdfe56bd --- /dev/null +++ b/main/dconf/version @@ -0,0 +1 @@ +0.40.0 2 diff --git a/main/ddcutil/PKGBUILD b/main/ddcutil/PKGBUILD new file mode 100644 index 00000000..fd4ee2a1 --- /dev/null +++ b/main/ddcutil/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ddcutil +pkgver=%version% +pkgrel=%release% +pkgdesc='Query and change Linux monitor settings using DDC/CI and USB.' +url='http://ddcutil.com/' +arch=('x86_64') +license=('GPL2') +depends=('glib2' 'i2c-tools' 'libusb' 'libdrm' 'jansson') +makedepends=('systemd') +source=(https://github.com/rockowitz/ddcutil/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha512sums=('8c352bfacc2a5cdd22b8d84f2facd58de6d425d0d3f98de543cf36a3e6b15aa10fc86e87780c82f872f0bf0db984e1cc800aaff914bafe4dbf17602e2a7caeb0') + +prepare() { + cd $pkgname-$pkgver + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim: ft=sh ts=2 sw=2 et diff --git a/main/ddcutil/README b/main/ddcutil/README new file mode 100644 index 00000000..66022007 --- /dev/null +++ b/main/ddcutil/README @@ -0,0 +1,43 @@ +ddcutil +________________________________________________________________________________ + +Query and change Linux monitor settings using DDC/CI and USB. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ddcutil | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://ddcutil.com/ diff --git a/main/ddcutil/version b/main/ddcutil/version new file mode 100644 index 00000000..0c298421 --- /dev/null +++ b/main/ddcutil/version @@ -0,0 +1 @@ +2.1.4 1 diff --git a/main/ddrescue/PKGBUILD b/main/ddrescue/PKGBUILD new file mode 100644 index 00000000..589f64ef --- /dev/null +++ b/main/ddrescue/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ddrescue +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU data recovery tool" +arch=(x86_64) +url="https://www.gnu.org/software/ddrescue/ddrescue.html" +license=(GPL-2.0-or-later) +depends=( + gcc-libs + glibc +) +source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.lz{,.sig}) +sha512sums=('ad3df2361b3b0228e2875792e0f6b301dc4d9cefd3f4fcdbce180a53c32924ee026bd27397b8efc94f40ee10f5f9d453fa72bd19203b6cb90208881e287e2c46' + 'SKIP') +b2sums=('8c212f0d495e0df8e0398b97730c812ea9ccb77bd42e730198222e9918e3652fc52d932449b1e0dc9bdd453a123e2450c962e33e98d9845ce81b9a934a5bbdaa' + 'SKIP') +validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz + +build() { + # fake configure script reinvents autotools and requires custom parameters to + # set CPPFLAGS, CXXFLAGS and LDFLAGS + local configure_options=( + --prefix=/usr + CPPFLAGS="$CPPFLAGS" + CXXFLAGS="$CXXFLAGS" + LDFLAGS="$LDFLAGS" + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +package() { + make DESTDIR="$pkgdir" install install-man -C "$pkgname-$pkgver" + install -vDm 644 $pkgname-$pkgver/{AUTHORS,ChangeLog,NEWS,README} -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/main/ddrescue/README b/main/ddrescue/README new file mode 100644 index 00000000..81da457c --- /dev/null +++ b/main/ddrescue/README @@ -0,0 +1,43 @@ +ddrescue +________________________________________________________________________________ + +GNU data recovery tool + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ddrescue | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/ddrescue/ddrescue.html diff --git a/main/ddrescue/version b/main/ddrescue/version new file mode 100644 index 00000000..ebb2df53 --- /dev/null +++ b/main/ddrescue/version @@ -0,0 +1 @@ +1.28 1 diff --git a/main/default-cursors/PKGBUILD b/main/default-cursors/PKGBUILD new file mode 100644 index 00000000..713fe099 --- /dev/null +++ b/main/default-cursors/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=default-cursors +pkgver=%version% +pkgrel=%release% +pkgdesc="Default cursor set" +url="https://archlinux.org" +arch=(any) +license=(LGPL3) +optdepends=('adwaita-cursors: default cursor theme') +backup=(usr/share/icons/default/index.theme) + +package() { + cd "$pkgdir" + install -Dm644 /dev/stdin usr/share/icons/default/index.theme < +# Maintainer: Developer + +pkgname=desktop-file-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="Command line utilities for working with desktop entries" +url="https://www.freedesktop.org/wiki/Software/desktop-file-utils" +arch=(x86_64) +license=(GPL) +depends=(glib2) +makedepends=( + git + meson +) +_commit=2470d73f93d02b354ecbee7c2f02a83efaae84d8 # tags/0.27 +source=( + "git+https://gitlab.freedesktop.org/xdg/desktop-file-utils.git#commit=$_commit" + update-desktop-database.hook +) +b2sums=('SKIP' + '2420bfc3deea04a7a00da36043408fb6c6a89d626a52dd47fef165c6aedf0c9c332b87ee3c497e1093f6e4972284614eb6e5e59c1a9d3229acfd755a6285037a') +validpgpkeys=( + C01EDE5BB0D91E26D003662EC76BB9FEEAD12EA7 # Hans Petter Jansson +) + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + depends+=(libglib-2.0.so) + + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/desktop-file-utils/README b/main/desktop-file-utils/README new file mode 100644 index 00000000..fbb262f9 --- /dev/null +++ b/main/desktop-file-utils/README @@ -0,0 +1,43 @@ +desktop-file-utils +________________________________________________________________________________ + +Command line utilities for working with desktop entries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S desktop-file-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/desktop-file-utils diff --git a/main/desktop-file-utils/update-desktop-database.hook b/main/desktop-file-utils/update-desktop-database.hook new file mode 100644 index 00000000..1e4d65e2 --- /dev/null +++ b/main/desktop-file-utils/update-desktop-database.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/applications/*.desktop + +[Action] +Description = Updating the desktop file MIME type cache... +When = PostTransaction +Exec = /usr/bin/update-desktop-database --quiet diff --git a/main/desktop-file-utils/version b/main/desktop-file-utils/version new file mode 100644 index 00000000..4dabc4b6 --- /dev/null +++ b/main/desktop-file-utils/version @@ -0,0 +1 @@ +0.27 1 diff --git a/main/dex/PKGBUILD b/main/dex/PKGBUILD new file mode 100644 index 00000000..d1c9a72d --- /dev/null +++ b/main/dex/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dex +pkgver=%version% +pkgrel=%release% +pkgdesc='Program to generate and execute DesktopEntry files of type Application' +url='https://github.com/jceb/dex' +arch=('any') +license=('GPL2') +depends=('python') +makedepends=('git' 'python-sphinx') +source=("https://github.com/jceb/$pkgname/archive/v$pkgver/$pkgname-$pkgver.tar.gz" + fix-dex-version.patch) +sha512sums=('d68f5482cb0948f27a724437ddfc6de9a0f502bfd0d5c60c76fb85dda3c30e4c432013e530f6a91138c9ac9ff36b3824cd5e382e9d29bb9fb2ec2b9de4133094' + '327135abd8c61068a9cbd76dc15ba81d5a7c4e96e8f3ceaa4e2db0f15e7f433aa81310ec80db02bbf2f5abadbc22bb03a71b88ba039a08254eea610d3dd7c7f6') +b2sums=('7abc01ccc6938e926840e4448eb6436db77703c1f8e1fef334d97196803a0b59af0f05fc507d1ac4337367120f7d9d9a211aecec6ac3644424edee3599067a89' + 'de60d2f1118a9b27f7a133b0058a780f9dd1e31cf9bbf99c5218b65ea4cde2c1f7a23a9f948ec0b32d2a4cea70a8a95cdab9bfaebabad27fda722d72947184db') + +prepare() { + cd "$pkgname-$pkgver" + patch dex <"$srcdir"/fix-dex-version.patch +} + +package() { + cd "$pkgname-$pkgver" + make install PREFIX=/usr MANPREFIX=/usr/share/man DESTDIR="$pkgdir" + rm "$pkgdir/usr/share/doc/dex/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/dex/README b/main/dex/README new file mode 100644 index 00000000..196ad0f7 --- /dev/null +++ b/main/dex/README @@ -0,0 +1,43 @@ +dex +________________________________________________________________________________ + +Program to generate and execute DesktopEntry files of type Application + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dex | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/jceb/dex diff --git a/main/dex/fix-dex-version.patch b/main/dex/fix-dex-version.patch new file mode 100644 index 00000000..f547563d --- /dev/null +++ b/main/dex/fix-dex-version.patch @@ -0,0 +1,11 @@ +--- /usr/bin/dex 2017-06-19 02:43:55.415177617 +0200 ++++ dex.new 2017-06-19 02:46:55.251836314 +0200 +@@ -35,7 +35,7 @@ + import subprocess + import sys + +-__version__ = "0.8.0" ++__version__ = "0.9.0" + + + # DesktopEntry exceptions diff --git a/main/dex/version b/main/dex/version new file mode 100644 index 00000000..8ac7000b --- /dev/null +++ b/main/dex/version @@ -0,0 +1 @@ +0.9.0 1 diff --git a/main/dhcp/.PKGINFO b/main/dhcp/.PKGINFO new file mode 100644 index 00000000..2b7c7f6a --- /dev/null +++ b/main/dhcp/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = dhclient +pkgbase = dhcp +xdata = pkgtype=split +pkgver = 4.4.3.P1-3 +pkgdesc = A standalone DHCP client from the dhcp package +url = https://www.isc.org/dhcp/ +builddate = 1715045127 +packager = Developer +size = 3103638 +arch = x86_64 +license = custom:isc-dhcp +provides = dhcp-client +depend = glibc +depend = bash +depend = iproute2 +depend = run-parts +makedepend = bash +makedepend = iproute2 +makedepend = openldap diff --git a/main/dhcp/0001-99-replace-hostname-with-uname-n.patch b/main/dhcp/0001-99-replace-hostname-with-uname-n.patch new file mode 100644 index 00000000..9dad8ad3 --- /dev/null +++ b/main/dhcp/0001-99-replace-hostname-with-uname-n.patch @@ -0,0 +1,35 @@ +From b2482a4f7d9a06a9c10a26eb1fb2b855d83e94c7 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Thu, 4 Aug 2022 12:15:46 +0200 +Subject: [PATCH] [!99] replace `hostname` with `uname -n` & `sysctl` + +The former belongs to package `inetutils`, which has some security +implications, so let's use `uname` from `coreutils` to get the hostname. + +For *setting* the hostname things are more limited. Let's use `sysctl`. +--- + client/scripts/linux | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/client/scripts/linux b/client/scripts/linux +index c4e51f6d..fe4da445 100755 +--- a/client/scripts/linux ++++ b/client/scripts/linux +@@ -113,7 +113,7 @@ set_hostname() { + local current_hostname + + if [ -n "$new_host_name" ]; then +- current_hostname=$(hostname) ++ current_hostname=$(uname -n) + + # current host name is empty, '(none)' or 'localhost' or differs from new one from DHCP + if [ -z "$current_hostname" ] || +@@ -121,7 +121,7 @@ set_hostname() { + [ "$current_hostname" = 'localhost' ] || + [ "$current_hostname" = "$old_host_name" ]; then + if [ "$new_host_name" != "$old_host_name" ]; then +- hostname "$new_host_name" ++ sysctl -w kernel/hostname="$new_host_name" + fi + fi + fi diff --git a/main/dhcp/PKGBUILD b/main/dhcp/PKGBUILD new file mode 100644 index 00000000..a82fc70d --- /dev/null +++ b/main/dhcp/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=dhcp +pkgname=('dhcp' 'dhclient') + +# separate patch levels with a period to maintain proper versioning. +_realver=4.4.3-P1 +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +license=('custom:isc-dhcp') +url='https://www.isc.org/dhcp/' +makedepends=('bash' 'iproute2' 'openldap') +options=('!lto') +validpgpkeys=('7E1C91AC8030A5A59D1EFAB9750F3C87723E4012') # Internet Systems Consortium, Inc. (Signing key, 2021-2022) +source=("https://downloads.isc.org/isc/${pkgbase}/${_realver}/${pkgbase}-${_realver}.tar.gz"{,.asc} + '0001-99-replace-hostname-with-uname-n.patch' + 'dhcp-sysusers.conf' + 'dhcp-tmpfiles.conf' + 'dhcpd4.service' + 'dhcpd6.service' + 'dhclient@.service') +sha256sums=('0ac416bb55997ca8632174fd10737fd61cdb8dba2752160a335775bc21dc73c7' + 'SKIP' + '559ed9ce6318f1a3700f8b879552bd22844c7c5b96622202dbf3164cd99c444e' + 'b16083e6bb572ffacaa7cd97e7fde5fcfa1b6dbeb166f162e2ec6e8ec4b928d6' + 'abcd30e9e8428e34d22ab4d3074ef4bd84c2b11f5868597111b47d6f56d204da' + '03fce30efab819b2d928085b0bab962a33ce56fc376acae98ad9b30aa278c9c8' + 'f98a4438f4f69cab7cc5cce6927df4790ee993ebc8f88a169e63043c53d25625' + '86cd0b1e0ea1d47ab096f6ee925eee60545116fb887a155761eda589b30e4f0e') + +prepare() { + cd "${srcdir}/${pkgbase}-${_realver}" + + patch -Np1 < ../0001-99-replace-hostname-with-uname-n.patch +} + +build() { + cd "${srcdir}/${pkgbase}-${_realver}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --enable-binary-leases \ + --enable-paranoia \ + --with-ldap \ + --with-ldapcrypto \ + --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ + --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ + --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \ + --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases + + make -j1 +} + +package_dhcp(){ + pkgdesc="A DHCP server, client, and relay agent" + depends=('glibc' 'libldap') + backup=('etc/dhcpd.conf' 'etc/dhcpd6.conf') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}/dhcp-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/dhcp.conf" + install -D -m644 "${srcdir}/dhcp-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/dhcp.conf" + install -D -m644 "${srcdir}/dhcpd4.service" "${pkgdir}/usr/lib/systemd/system/dhcpd4.service" + install -D -m644 "${srcdir}/dhcpd6.service" "${pkgdir}/usr/lib/systemd/system/dhcpd6.service" + + # move and install config files in place + mv "${pkgdir}/etc/dhcpd.conf.example" "${pkgdir}/etc/dhcpd.conf" + install -D -m644 doc/examples/dhcpd-dhcpv6.conf "${pkgdir}/etc/dhcpd6.conf" + + # Remove dhclient + make -C client DESTDIR="${pkgdir}" uninstall + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhcp/LICENSE" +} + +package_dhclient(){ + pkgdesc="A standalone DHCP client from the dhcp package" + depends=('glibc' 'bash' 'iproute2' 'run-parts') + provides=('dhcp-client') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make -C client DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/dhclient" + mv "${pkgdir}/etc/dhclient.conf.example" "${pkgdir}/usr/share/dhclient/" + + install -d "${pkgdir}/var/lib/dhclient" + + # install dhclient linux script + install -m755 client/scripts/linux "${pkgdir}/usr/bin/dhclient-script" + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhclient/LICENSE" + + # install systemd service unit + install -m644 -D "$srcdir/dhclient@.service" "${pkgdir}/usr/lib/systemd/system/dhclient@.service" +} diff --git a/main/dhcp/README b/main/dhcp/README new file mode 100644 index 00000000..e40da820 --- /dev/null +++ b/main/dhcp/README @@ -0,0 +1,43 @@ +dhcp +________________________________________________________________________________ + +A DHCP server, client, and relay agent A standalone DHCP client from the dhcp package + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dhcp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.isc.org/dhcp/ diff --git a/main/dhcp/dhclient@.service b/main/dhcp/dhclient@.service new file mode 100644 index 00000000..116c0580 --- /dev/null +++ b/main/dhcp/dhclient@.service @@ -0,0 +1,13 @@ +[Unit] +Description=dhclient on %I +Wants=network.target +Before=network.target + +[Service] +ExecStart=/usr/bin/dhclient -pf /run/dhclient@%i/dhclient.pid -d %I +RuntimeDirectory=dhclient@%i +ProtectSystem=on +ProtectHome=on + +[Install] +WantedBy=multi-user.target diff --git a/main/dhcp/dhcp-sysusers.conf b/main/dhcp/dhcp-sysusers.conf new file mode 100644 index 00000000..702cb188 --- /dev/null +++ b/main/dhcp/dhcp-sysusers.conf @@ -0,0 +1 @@ +u dhcp - "DHCP daemon" / diff --git a/main/dhcp/dhcp-tmpfiles.conf b/main/dhcp/dhcp-tmpfiles.conf new file mode 100644 index 00000000..5b37325e --- /dev/null +++ b/main/dhcp/dhcp-tmpfiles.conf @@ -0,0 +1,3 @@ +d /var/lib/dhcp 0750 dhcp dhcp - +f /var/lib/dhcp/dhcpd.leases 0640 dhcp dhcp - +f /var/lib/dhcp/dhcpd6.leases 0640 dhcp dhcp - diff --git a/main/dhcp/dhcpd4.service b/main/dhcp/dhcpd4.service new file mode 100644 index 00000000..82b5d2b5 --- /dev/null +++ b/main/dhcp/dhcpd4.service @@ -0,0 +1,25 @@ +[Unit] +Description=IPv4 DHCP server +After=network.target network-online.target +Wants=network-online.target + +[Service] +Type=forking +ExecStart=/usr/bin/dhcpd -4 -q -cf /etc/dhcpd.conf -pf /run/dhcpd4/dhcpd.pid +RuntimeDirectory=dhcpd4 +PIDFile=/run/dhcpd4/dhcpd.pid +User=dhcp +AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW +ProtectSystem=full +ProtectHome=on +KillSignal=SIGINT +# We pull in network-online.target for a configured network connection. +# However this is not guaranteed to be the network connection our +# networks are configured for. So try to restart on failure with a delay +# of two seconds. Rate limiting kicks in after 12 seconds. +RestartSec=2s +Restart=on-failure +StartLimitInterval=12s + +[Install] +WantedBy=multi-user.target diff --git a/main/dhcp/dhcpd6.service b/main/dhcp/dhcpd6.service new file mode 100644 index 00000000..a2c8d706 --- /dev/null +++ b/main/dhcp/dhcpd6.service @@ -0,0 +1,25 @@ +[Unit] +Description=IPv6 DHCP server +After=network.target network-online.target +Wants=network-online.target + +[Service] +Type=forking +ExecStart=/usr/bin/dhcpd -6 -q -cf /etc/dhcpd6.conf -pf /run/dhcpd6/dhcpd.pid +RuntimeDirectory=dhcpd6 +PIDFile=/run/dhcpd6/dhcpd.pid +User=dhcp +AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW +ProtectSystem=full +ProtectHome=on +KillSignal=SIGINT +# We pull in network-online.target for a configured network connection. +# However this is not guaranteed to be the network connection our +# networks are configured for. So try to restart on failure with a delay +# of two seconds. Rate limiting kicks in after 12 seconds. +RestartSec=2s +Restart=on-failure +StartLimitInterval=12s + +[Install] +WantedBy=multi-user.target diff --git a/main/dhcp/version b/main/dhcp/version new file mode 100644 index 00000000..b2e92f8f --- /dev/null +++ b/main/dhcp/version @@ -0,0 +1 @@ +4.4.3.P1 3 diff --git a/main/dhcpcd/PKGBUILD b/main/dhcpcd/PKGBUILD new file mode 100644 index 00000000..ad6e32cd --- /dev/null +++ b/main/dhcpcd/PKGBUILD @@ -0,0 +1,78 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dhcpcd +pkgver=%version% +pkgrel=%release% +pkgdesc="DHCP/ IPv4LL/ IPv6RA/ DHCPv6 client" +url="https://roy.marples.name/projects/dhcpcd/" +arch=(x86_64) +license=(BSD-2-Clause) +depends=( + glibc + openssl + sh + systemd-libs +) +optdepends=('openresolv: resolvconf support') +provides=(dhcp-client) +backup=(etc/$pkgname.conf) +# we need /var/lib/dhcpcd +options=(emptydirs) +source=( + https://github.com/NetworkConfiguration/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.xz{,.asc} + ${pkgname}_.service + $pkgname.service + $pkgname.sysusers + $pkgname.tmpfiles +) +sha256sums=('779d3ae514e8f24d7449503e1f0a20f5137c773bd04ca98c62386bf81e99f482' + 'SKIP' + 'a2495b4a4632f9ee6d5d40877eb9667aaa3f64e035dbd8ccfc029a3a2339f069' + '843913ee4cd77ca51ab1f1d21eb13650df3791db2b8526a9b0c9acf2d6b9c63f' + '06788ad9f5f7ccb5d2a2da6f0322ff5771f8de82cfbe8b9ad954f2c38265e21b' + '1ca593a91d537766d073e71cfab87881e6f6a2ccb5236a45531d5520b3af7a31') +b2sums=('4afd08cf7377b2262d33bf3f7ac503e081572a7c1ffd53b285842a92d99d88fae44e7e6384134bbe1eb839001f822fa7fb43718c42f9e8e6d11a05ec66fa2fc6' + 'SKIP' + '7589109b275c823b80002cbb273113d0e1b5635fc79859bbfc55c287d3d1ce9a539116e33f60d118f6251d7301b6376c40ff9346d5947b02f75cb9261c6488ef' + 'ceb051db7d43464992ffd804f95fb6c96ba6f450a0ec7a97d595f0700299916d1ebb049a1b97671e4b58f8829510bc44af2a36bfdccb79f9c34330162e6fdedb' + '1f4ad7d27a33ea9d317b95817898bc853bda8ef6bf1b09d86b7a5b25a0dae89c246fdb919c62b677d25148c8b4cf8c02e99cf3fa583c3a63bd04d1817bf47872' + 'fab9f56a694b2bcaa26ebd4040984778ea4a3cccd57f17a0eb724a9fc4750157d97d9d0db747932c3b386938fe2bf1d6a4ba609cc5cc3a6b0e1ae39404ba21be') +validpgpkeys=('A785ED2755955D9E93EA59F6597F97EA9AD45549') # Roy Marples (NetBSD) + +prepare() { + printf "# Do not attempt to obtain an IPv4LL address if we failed to get one via DHCP. See RFC 3927.\nnoipv4ll\n" >> $pkgname-$pkgver/src/$pkgname.conf +} + +build() { + local configure_options=( + --dbdir=/var/lib/$pkgname + --libexecdir=/usr/lib/$pkgname + --prefix=/usr + --privsepuser=$pkgname + --runstatedir=/run + --sbindir=/usr/bin + --sysconfdir=/etc + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make test -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -Dm644 $pkgname.service -t "$pkgdir/usr/lib/systemd/system/" + install -Dm644 ${pkgname}_.service "$pkgdir/usr/lib/systemd/system/$pkgname@.service" + install -Dm644 $pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + install -Dm644 $pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + # strip files that somehow won't get stripped automatically + strip "$pkgdir/usr/bin/$pkgname" + strip "$pkgdir/usr/lib/$pkgname/dev/udev.so" +} diff --git a/main/dhcpcd/README b/main/dhcpcd/README new file mode 100644 index 00000000..6bc23fe8 --- /dev/null +++ b/main/dhcpcd/README @@ -0,0 +1,43 @@ +dhcpcd +________________________________________________________________________________ + +DHCP/ IPv4LL/ IPv6RA/ DHCPv6 client + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dhcpcd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://roy.marples.name/projects/dhcpcd/ diff --git a/main/dhcpcd/dhcpcd.service b/main/dhcpcd/dhcpcd.service new file mode 100644 index 00000000..8c644d91 --- /dev/null +++ b/main/dhcpcd/dhcpcd.service @@ -0,0 +1,10 @@ +[Unit] +Description=DHCP/ IPv4LL/ IPv6RA/ DHCPv6 client on all interfaces +Wants=network.target +Before=network.target + +[Service] +ExecStart=/usr/bin/dhcpcd -q -B + +[Install] +WantedBy=multi-user.target diff --git a/main/dhcpcd/dhcpcd.sysusers b/main/dhcpcd/dhcpcd.sysusers new file mode 100644 index 00000000..bcf09a5c --- /dev/null +++ b/main/dhcpcd/dhcpcd.sysusers @@ -0,0 +1 @@ +u dhcpcd - "dhcpcd privilege separation" - diff --git a/main/dhcpcd/dhcpcd.tmpfiles b/main/dhcpcd/dhcpcd.tmpfiles new file mode 100644 index 00000000..099b5ff0 --- /dev/null +++ b/main/dhcpcd/dhcpcd.tmpfiles @@ -0,0 +1,2 @@ +d /run/dhcpcd 0755 root root - +z /var/lib/dhcpcd 0750 root root - diff --git a/main/dhcpcd/dhcpcd_.service b/main/dhcpcd/dhcpcd_.service new file mode 100644 index 00000000..21fc0773 --- /dev/null +++ b/main/dhcpcd/dhcpcd_.service @@ -0,0 +1,15 @@ +[Unit] +Description=DHCP/ IPv4LL/ IPv6RA/ DHCPv6 client on %I +Wants=network.target +Before=network.target +BindsTo=sys-subsystem-net-devices-%i.device +After=sys-subsystem-net-devices-%i.device + +[Service] +Type=forking +PIDFile=/run/dhcpcd/%I.pid +ExecStart=/usr/bin/dhcpcd -q -w %I +ExecStop=/usr/bin/dhcpcd -x %I + +[Install] +WantedBy=multi-user.target diff --git a/main/dhcpcd/version b/main/dhcpcd/version new file mode 100644 index 00000000..3eed90eb --- /dev/null +++ b/main/dhcpcd/version @@ -0,0 +1 @@ +10.0.6 1 diff --git a/main/diffutils/PKGBUILD b/main/diffutils/PKGBUILD new file mode 100644 index 00000000..207886ea --- /dev/null +++ b/main/diffutils/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer +# Mainainer: Sébastien Luttringer + +pkgname=diffutils +pkgver=%version% +pkgrel=%release% +pkgdesc='Utility programs used for creating patch files' +arch=('x86_64') +url='https://www.gnu.org/software/diffutils' +license=('GPL3') +depends=('glibc' 'bash') +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/diffutils/README b/main/diffutils/README new file mode 100644 index 00000000..e77c23a9 --- /dev/null +++ b/main/diffutils/README @@ -0,0 +1,43 @@ +diffutils +________________________________________________________________________________ + +Utility programs used for creating patch files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S diffutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/diffutils diff --git a/main/diffutils/version b/main/diffutils/version new file mode 100644 index 00000000..8380b266 --- /dev/null +++ b/main/diffutils/version @@ -0,0 +1 @@ +3.10 1 diff --git a/main/ding-libs/.nvchecker.toml b/main/ding-libs/.nvchecker.toml new file mode 100644 index 00000000..844d47e6 --- /dev/null +++ b/main/ding-libs/.nvchecker.toml @@ -0,0 +1,5 @@ +[ding-libs] +source = "github" +github = "SSSD/ding-libs" +use_max_tag = true +prefix = "v" diff --git a/main/ding-libs/PKGBUILD b/main/ding-libs/PKGBUILD new file mode 100644 index 00000000..0838cde0 --- /dev/null +++ b/main/ding-libs/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ding-libs +pkgver=%version% +pkgrel=%release% +pkgdesc="\"DING is not GNU\" helper libraries for SSSD and FreeIPA" +arch=('x86_64') +url="https://github.com/SSSD/ding-libs" +license=('GPL-3.0-or-later' 'LGPL-3.0-or-later') +depends=('glibc') +makedepends=('doxygen') +checkdepends=('check') +# https://github.com/SSSD/ding-libs/releases/download/0.6.2/ding-libs-0.6.2.tar.gz.sha256sum +source=(https://github.com/SSSD/ding-libs/releases/download/$pkgver/$pkgname-$pkgver.tar.gz{,.asc}) +sha256sums=('e5f07f34f5921bcb5ccccfe3751c28497879a6451cd7b395e99e24d9b5728e8d' + 'SKIP') +validpgpkeys=('930201AAB42DD1947210B7838D7326351A726211') # Alexey Tikhonov + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make all docs +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} diff --git a/main/ding-libs/README b/main/ding-libs/README new file mode 100644 index 00000000..ed5be224 --- /dev/null +++ b/main/ding-libs/README @@ -0,0 +1,43 @@ +ding-libs +________________________________________________________________________________ + +"DING is not GNU" helper libraries for SSSD and FreeIPA + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ding-libs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/SSSD/ding-libs diff --git a/main/ding-libs/version b/main/ding-libs/version new file mode 100644 index 00000000..348a0b55 --- /dev/null +++ b/main/ding-libs/version @@ -0,0 +1 @@ +0.6.2 2 diff --git a/main/dmidecode/PKGBUILD b/main/dmidecode/PKGBUILD new file mode 100644 index 00000000..ab582908 --- /dev/null +++ b/main/dmidecode/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dmidecode +pkgver=%version% +pkgrel=%release% +pkgdesc="Desktop Management Interface table related utilities" +arch=('x86_64') +url="https://www.nongnu.org/dmidecode" +license=('GPL') +depends=('glibc') +source=("https://sources.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +# source=("https://download.savannah.nongnu.org/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha256sums=('79d76735ee8e25196e2a722964cf9683f5a09581503537884b256b01389cc073' + 'SKIP') +validpgpkeys=('7CA69F4460F1BDC41FD2C858A5526B9BB3CD4E6A') # Jean Delvare (kernel.org) + +build() { + cd ${pkgname}-${pkgver} + + sed -i "s:sbin:bin:g" Makefile + make prefix=/usr CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +package() { + cd ${pkgname}-${pkgver} + + make prefix=/usr DESTDIR="${pkgdir}" install +} diff --git a/main/dmidecode/README b/main/dmidecode/README new file mode 100644 index 00000000..5124a19d --- /dev/null +++ b/main/dmidecode/README @@ -0,0 +1,43 @@ +dmidecode +________________________________________________________________________________ + +Desktop Management Interface table related utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dmidecode | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nongnu.org/dmidecode diff --git a/main/dmidecode/version b/main/dmidecode/version new file mode 100644 index 00000000..61e3d241 --- /dev/null +++ b/main/dmidecode/version @@ -0,0 +1 @@ +3.5 1 diff --git a/main/dmraid/PKGBUILD b/main/dmraid/PKGBUILD new file mode 100644 index 00000000..430062f6 --- /dev/null +++ b/main/dmraid/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer +#Contributor: Urs Wolfer + +pkgname=dmraid +pkgver=%version% +pkgrel=%release% +pkgdesc="Device mapper RAID interface" +url="https://people.redhat.com/~heinzm/sw/dmraid/" +conflicts=('mkinitcpio<0.7') +depends=('device-mapper>=2.0.54') +arch=('x86_64') +license=('GPL') +source=(#https://sources.archlinux.org/other/dmraid/$pkgname-$pkgver.tar.bz2 + https://people.redhat.com/~heinzm/sw/dmraid/src/$pkgname-1.0.0.rc16-3.tar.bz2 + dmraid_install + dmraid_hook + dmraid_tmpfiles + dmraid.service + dmraid-format-security.patch) +install=dmraid.install +sha256sums=('93421bd169d71ff5e7d2db95b62b030bfa205a12010b6468dcdef80337d6fbd8' + '6e74f7e1d66fbe5fc41560dfebb327eb31eb3104fec09985e388c2fe252d6575' + 'e74cdc82b59160d079594ce082980a3ae3561b5f6ecbdfdd30b7497b76373a2b' + 'f00fa4462d83553d2fb769159a019b4d4898634e52b4a9bf796fe52b3b97f0cc' + '7d7c09d40e52a3596fe3ddb2c370a1b7c838530902f8395f5c12f8d07eaa2491' + '7c91f82db42018b09cf19fb43d3e1f672cc0b926acc6c572b01c7724206da650') + +prepare() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + patch -Np1 -i ${srcdir}/dmraid-format-security.patch +} + +build() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + ./configure --enable-led --enable-intel_led + make -j1 +} + +package() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + make DESTDIR="$pkgdir" sbindir=/usr/bin prefix=/usr libdir=/usr/lib mandir=/usr/share/man includedir=/usr/include install + install -D -m644 "$srcdir"/dmraid_install "$pkgdir"/usr/lib/initcpio/install/dmraid + install -D -m644 "$srcdir"/dmraid_hook "$pkgdir"/usr/lib/initcpio/hooks/dmraid + install -D -m644 "$srcdir"/dmraid_tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dmraid.conf + + # fix permissions + chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a + + install -Dm644 "$srcdir/dmraid.service" "$pkgdir/usr/lib/systemd/system/dmraid.service" +} diff --git a/main/dmraid/README b/main/dmraid/README new file mode 100644 index 00000000..3977de6c --- /dev/null +++ b/main/dmraid/README @@ -0,0 +1,43 @@ +dmraid +________________________________________________________________________________ + +Device mapper RAID interface + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dmraid | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://people.redhat.com/~heinzm/sw/dmraid/ diff --git a/main/dmraid/dmraid-format-security.patch b/main/dmraid/dmraid-format-security.patch new file mode 100644 index 00000000..014bfa83 --- /dev/null +++ b/main/dmraid/dmraid-format-security.patch @@ -0,0 +1,20 @@ +diff --git a/lib/events/libdmraid-events-isw.c b/lib/events/libdmraid-events-isw.c +index c092762..d5efe22 100644 +--- a/lib/events/libdmraid-events-isw.c ++++ b/lib/events/libdmraid-events-isw.c +@@ -824,13 +824,13 @@ static void _log_either(enum log_type log_type, + + sz = _log_all_devs(log_type, rs, NULL, 0); + if (!sz) { +- syslog(LOG_ERR, msg[0]); ++ syslog(LOG_ERR, "%s", msg[0]); + return; + } + + str = dm_malloc(++sz); + if (!str) { +- syslog(LOG_ERR, msg[1]); ++ syslog(LOG_ERR, "%s", msg[1]); + return; + } + diff --git a/main/dmraid/dmraid.install b/main/dmraid/dmraid.install new file mode 100644 index 00000000..64899e78 --- /dev/null +++ b/main/dmraid/dmraid.install @@ -0,0 +1,14 @@ +post_upgrade() { + if [ "$(vercmp $2 1.0.0.rc15)" -lt 0 ]; then + # important upgrade notice + echo ">>>" + echo ">>> IMPORTANT DMRAID UPGRADE NOTICE" + echo ">>> -------------------------------" + echo ">>> Version 1.0.0.rc15 and greater introduce a new name scheme:" + echo ">>> You need to add an additional 'p' in front of your number." + echo ">>> e.g. --> p" + echo ">>> firsthd1 --> firsthdp1" + echo ">>> Please change your bootloader and fstab accordingly." + echo ">>>" + fi +} diff --git a/main/dmraid/dmraid.service b/main/dmraid/dmraid.service new file mode 100644 index 00000000..c5d3d530 --- /dev/null +++ b/main/dmraid/dmraid.service @@ -0,0 +1,15 @@ +[Unit] +Description=Assemble FakeRAID arrays +DefaultDependencies=no +Requires=systemd-udev-settle.service +After=systemd-udev-settle.service +Before=basic.target shutdown.target +Conflicts=shutdown.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/dmraid --ignorelocking --activate y -Z +RemainAfterExit=true + +[Install] +WantedBy=basic.target diff --git a/main/dmraid/dmraid_hook b/main/dmraid/dmraid_hook new file mode 100644 index 00000000..37283e83 --- /dev/null +++ b/main/dmraid/dmraid_hook @@ -0,0 +1,14 @@ +#!/usr/bin/ash + +run_hook() { + modprobe -a -q dm-mod dm-mirror >/dev/null 2>&1 + msg ":: Activating dmraid arrays..." + # prevent any event monitoring calls with -I + if [ "$quiet" = "y" ]; then + dmraid -ay -I -Z >/dev/null + else + dmraid -ay -I -Z + fi +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/main/dmraid/dmraid_install b/main/dmraid/dmraid_install new file mode 100644 index 00000000..acbc43d9 --- /dev/null +++ b/main/dmraid/dmraid_install @@ -0,0 +1,24 @@ +#!/bin/bash + +build() { + add_module 'dm-mod' + add_module 'dm-mirror' + + add_binary 'dmraid' + add_binary 'dmsetup' + add_file "/usr/lib/device-mapper/libdmraid-events-isw.so" + add_file "/usr/lib/udev/rules.d/10-dm.rules" + add_file "/usr/lib/udev/rules.d/13-dm-disk.rules" + add_file "/usr/lib/udev/rules.d/95-dm-notify.rules" + add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" + + add_runscript +} + +help() { + cat < +# Maintainer: Developer + +pkgname=dnsmasq +pkgver=%version% +pkgrel=%release% +pkgdesc='Lightweight, easy to configure DNS forwarder and DHCP server' +url='http://www.thekelleys.org.uk/dnsmasq/doc.html' +arch=('x86_64') +license=('GPL') +depends=('glibc' 'gmp' 'libidn2' 'libidn2.so' 'libdbus' 'libdbus-1.so' 'nftables' + 'libnetfilter_conntrack' 'nettle' 'libnettle.so' 'libhogweed.so') +backup=('etc/dnsmasq.conf') +validpgpkeys=('D6EACBD6EE46B834248D111215CDDA6AE19135A2') # Simon Kelley +source=("http://www.thekelleys.org.uk/$pkgname/$pkgname-$pkgver.tar.xz"{,.asc} + 'dnsmasq-sysusers.conf' + 'dnsmasq.service') +sha256sums=('8e50309bd837bfec9649a812e066c09b6988b73d749b7d293c06c57d46a109e4' + 'SKIP' + '7f6ff6a709038ae580758f4b6a754451d7f7ce22957b88a36b97f7b643d3c2ab' + '297dbae8cfa3d353284820dd87cc65c37d1ef289cac3a5c3ede079413d31eeec') + +_build_copts='-DHAVE_DNSSEC -DHAVE_DBUS -DHAVE_LIBIDN2 -DHAVE_CONNTRACK -DHAVE_NFTSET' + +build() { + cd "$pkgname-$pkgver" + + make \ + CFLAGS="$CPPFLAGS $CFLAGS" \ + LDFLAGS="$LDFLAGS" \ + COPTS="$_build_copts" \ + PREFIX=/usr \ + BINDIR=/usr/bin \ + all-i18n + + cd "contrib/lease-tools" + + make \ + CFLAGS="$CPPFLAGS $CFLAGS" \ + LDFLAGS="$LDFLAGS" \ + COPTS="$_build_copts" \ + all +} + +package() { + cd "$pkgname-$pkgver" + + # need to pass COPTS here to avoid rebuilding the binary. + make \ + COPTS="$_build_copts" \ + PREFIX=/usr \ + BINDIR=/usr/bin \ + DESTDIR="$pkgdir" \ + install-i18n + + install -Dm0644 "dbus/dnsmasq.conf" "$pkgdir"/usr/share/dbus-1/system.d/dnsmasq.conf + install -Dm0644 "dnsmasq.conf.example" "$pkgdir"/etc/dnsmasq.conf + install -Dm0644 "$srcdir/dnsmasq.service" "$pkgdir"/usr/lib/systemd/system/dnsmasq.service + install -Dm0644 "$srcdir/dnsmasq-sysusers.conf" "$pkgdir"/usr/lib/sysusers.d/dnsmasq.conf + + # DNSSEC setup + sed -i 's,%%PREFIX%%,/usr,' "$pkgdir"/etc/dnsmasq.conf + install -Dm0644 "trust-anchors.conf" "$pkgdir"/usr/share/dnsmasq/trust-anchors.conf + + install -Dm0755 -t "$pkgdir"/usr/bin/ 'contrib/lease-tools/dhcp_'{release{,6},lease_time} + install -Dm0644 -t "$pkgdir"/usr/share/man/man1 'contrib/lease-tools/dhcp_'{release{,6},lease_time}.1 +} + +# vim: ts=2 sw=2 et ft=sh diff --git a/main/dnsmasq/README b/main/dnsmasq/README new file mode 100644 index 00000000..12d78ac1 --- /dev/null +++ b/main/dnsmasq/README @@ -0,0 +1,43 @@ +dnsmasq +________________________________________________________________________________ + +Lightweight, easy to configure DNS forwarder and DHCP server + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dnsmasq | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.thekelleys.org.uk/dnsmasq/doc.html diff --git a/main/dnsmasq/dnsmasq-sysusers.conf b/main/dnsmasq/dnsmasq-sysusers.conf new file mode 100644 index 00000000..c47a0b3b --- /dev/null +++ b/main/dnsmasq/dnsmasq-sysusers.conf @@ -0,0 +1 @@ +u dnsmasq - "dnsmasq daemon" / diff --git a/main/dnsmasq/dnsmasq.service b/main/dnsmasq/dnsmasq.service new file mode 100644 index 00000000..c661947b --- /dev/null +++ b/main/dnsmasq/dnsmasq.service @@ -0,0 +1,19 @@ +[Unit] +Description=dnsmasq - A lightweight DHCP and caching DNS server +Documentation=man:dnsmasq(8) +After=network.target +Before=network-online.target nss-lookup.target +Wants=nss-lookup.target + +[Service] +Type=dbus +BusName=uk.org.thekelleys.dnsmasq +ExecStartPre=/usr/bin/dnsmasq --test +ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file +ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure +PrivateDevices=true +ProtectSystem=full + +[Install] +WantedBy=multi-user.target diff --git a/main/dnsmasq/version b/main/dnsmasq/version new file mode 100644 index 00000000..767d4979 --- /dev/null +++ b/main/dnsmasq/version @@ -0,0 +1 @@ +2.90 1 diff --git a/main/dnssec-anchors/LICENSE b/main/dnssec-anchors/LICENSE new file mode 100644 index 00000000..32da5f8d --- /dev/null +++ b/main/dnssec-anchors/LICENSE @@ -0,0 +1 @@ +The contents of this package are inelligible for copyright protection. diff --git a/main/dnssec-anchors/PKGBUILD b/main/dnssec-anchors/PKGBUILD new file mode 100644 index 00000000..2dd2664e --- /dev/null +++ b/main/dnssec-anchors/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dnssec-anchors +pkgver=%version% +_trusted_key=trusted-key-${pkgver}.key +pkgrel=%release% +pkgdesc='DNSSEC trust anchors for the root zone' +url='https://data.iana.org/root-anchors/' +license=('custom:none') +arch=('any') +makedepends=('unbound') +source=('LICENSE' "https://sources.archlinux.org/other/packages/${pkgname}/${_trusted_key}") +sha256sums=('dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb' + 'b01933ede7d505cac6bbee8c58027057d3a073581fa6cf595c352553dd07ee3c') + +package() { + cd "${srcdir}" + install -Dm644 ${_trusted_key} "${pkgdir}"/etc/trusted-key.key + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/dnssec-anchors/README b/main/dnssec-anchors/README new file mode 100644 index 00000000..f4bd4f6a --- /dev/null +++ b/main/dnssec-anchors/README @@ -0,0 +1,43 @@ +dnssec-anchors +________________________________________________________________________________ + +DNSSEC trust anchors for the root zone + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dnssec-anchors | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://data.iana.org/root-anchors/ diff --git a/main/dnssec-anchors/dnssec-anchors-versioned.sh b/main/dnssec-anchors/dnssec-anchors-versioned.sh new file mode 100755 index 00000000..9222332c --- /dev/null +++ b/main/dnssec-anchors/dnssec-anchors-versioned.sh @@ -0,0 +1,23 @@ +#!/usr/bin/bash + +TRUSTED_KEY=trusted-key-$(date +%Y%m%d).key +DEST=/srv/ftp/other/packages/dnssec-anchors + +update_key() { + key=$1 + unbound-anchor -v -a root.key || + unbound-anchor -v -a root.key + + unbound-host -v -f root.key -t DNSKEY . | + sed 's/ (secure)//;t;d' | + sed 's/ has / IN /' | + sed 's/ record / /' \ + > "${key}" + + # Cleanup created root.key + rm root.key +} + +update_key "${TRUSTED_KEY}" + +scp "${TRUSTED_KEY}" repos.archlinux.org:${DEST} diff --git a/main/dnssec-anchors/version b/main/dnssec-anchors/version new file mode 100644 index 00000000..4d3d869c --- /dev/null +++ b/main/dnssec-anchors/version @@ -0,0 +1 @@ +20190629 3 diff --git a/main/dolphin/.PKGINFO b/main/dolphin/.PKGINFO new file mode 100644 index 00000000..226dc2eb --- /dev/null +++ b/main/dolphin/.PKGINFO @@ -0,0 +1,57 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = dolphin +pkgbase = dolphin +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = KDE File Manager +url = https://apps.kde.org/dolphin/ +builddate = 1718491453 +packager = Developer +size = 14035397 +arch = x86_64 +license = LGPL-2.0-or-later +group = kde-applications +group = kde-system +depend = baloo +depend = baloo-widgets +depend = gcc-libs +depend = glibc +depend = kbookmarks +depend = kcmutils +depend = kcodecs +depend = kcolorscheme +depend = kcompletion +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kfilemetadata +depend = ki18n +depend = kiconthemes +depend = kio +depend = kio-extras +depend = kjobwidgets +depend = knewstuff +depend = knotifications +depend = kparts +depend = kservice +depend = ktextwidgets +depend = kuserfeedback +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = phonon-qt6 +depend = plasma-activities +depend = qt6-base +depend = solid +optdepend = ffmpegthumbs: video thumbnails +optdepend = kde-cli-tools: for editing file type options +optdepend = kdegraphics-thumbnailers: PDF and PS thumbnails +optdepend = kdenetwork-filesharing: samba usershare properties menu +optdepend = kio-admin: for managing files as administrator +optdepend = konsole: terminal panel +optdepend = purpose: share context menu +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/dolphin/PKGBUILD b/main/dolphin/PKGBUILD new file mode 100644 index 00000000..4c4ad263 --- /dev/null +++ b/main/dolphin/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=dolphin +pkgver=%version% +pkgrel=%release% +pkgdesc='KDE File Manager' +arch=(x86_64) +url='https://apps.kde.org/dolphin/' +license=(LGPL-2.0-or-later) +depends=(baloo + baloo-widgets + gcc-libs + glibc + kbookmarks + kcmutils + kcodecs + kcolorscheme + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kfilemetadata + ki18n + kiconthemes + kio + kio-extras + kjobwidgets + knewstuff + knotifications + kparts + kservice + ktextwidgets + kuserfeedback + kwidgetsaddons + kwindowsystem + kxmlgui + phonon-qt6 + plasma-activities + qt6-base + solid) +makedepends=(extra-cmake-modules + kdoctools) +optdepends=('ffmpegthumbs: video thumbnails' + 'kde-cli-tools: for editing file type options' + 'kdegraphics-thumbnailers: PDF and PS thumbnails' + 'kio-admin: for managing files as administrator' + 'konsole: terminal panel' + 'kio-admin: for managing files as administrator' + 'purpose: share context menu') +groups=(kde-applications + kde-system) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('597bb12c53984bae7310cda5e06dbed831fdae1a6e731f55bbc660b4a583da0e' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/dolphin/README b/main/dolphin/README new file mode 100644 index 00000000..ec083b49 --- /dev/null +++ b/main/dolphin/README @@ -0,0 +1,43 @@ +dolphin +________________________________________________________________________________ + +KDE File Manager + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dolphin | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://apps.kde.org/dolphin/ diff --git a/main/dolphin/version b/main/dolphin/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/dolphin/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/dosfstools/PKGBUILD b/main/dosfstools/PKGBUILD new file mode 100644 index 00000000..8be52e15 --- /dev/null +++ b/main/dosfstools/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer +# Committer: Judd Vinet + +pkgname=dosfstools +pkgver=%version% +pkgrel=%release% +pkgdesc="DOS filesystem utilities" +arch=(x86_64) +depends=('glibc') +source=(https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz{,.sig} +) +url="https://github.com/dosfstools/dosfstools" +license=('GPL3') +validpgpkeys=('25714AECDBFDACEE1CE95FE77F6022516E869F64') # Andreas Bombe +sha256sums=('64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527' + 'SKIP') + + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib \ + --sbindir=/usr/bin --mandir=/usr/share/man \ + --docdir=/usr/share/doc/dosfstools --enable-compat-symlinks + make +} + +package () { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/dosfstools/README b/main/dosfstools/README new file mode 100644 index 00000000..4ae59731 --- /dev/null +++ b/main/dosfstools/README @@ -0,0 +1,43 @@ +dosfstools +________________________________________________________________________________ + +DOS filesystem utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S dosfstools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/dosfstools/dosfstools diff --git a/main/dosfstools/version b/main/dosfstools/version new file mode 100644 index 00000000..c3952f46 --- /dev/null +++ b/main/dosfstools/version @@ -0,0 +1 @@ +4.2 3 diff --git a/main/double-conversion/.nvchecker.toml b/main/double-conversion/.nvchecker.toml new file mode 100644 index 00000000..f48886b0 --- /dev/null +++ b/main/double-conversion/.nvchecker.toml @@ -0,0 +1,5 @@ +[double-conversion] +source = 'github' +github = 'google/double-conversion' +use_max_tag = true +prefix = 'v' diff --git a/main/double-conversion/PKGBUILD b/main/double-conversion/PKGBUILD new file mode 100644 index 00000000..8ba9dbec --- /dev/null +++ b/main/double-conversion/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=double-conversion +pkgver=%version% +pkgrel=%release% +pkgdesc='Binary-decimal and decimal-binary routines for IEEE doubles' +arch=(x86_64) +url='https://github.com/google/double-conversion' +license=(BSD) +depends=(gcc-libs) +makedepends=(cmake) +source=(https://github.com/google/double-conversion/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e') + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +} + +package () { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 $pkgname-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/double-conversion/README b/main/double-conversion/README new file mode 100644 index 00000000..b371d7da --- /dev/null +++ b/main/double-conversion/README @@ -0,0 +1,43 @@ +double-conversion +________________________________________________________________________________ + +Binary-decimal and decimal-binary routines for IEEE doubles + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S double-conversion | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/google/double-conversion diff --git a/main/double-conversion/version b/main/double-conversion/version new file mode 100644 index 00000000..a42c2e2a --- /dev/null +++ b/main/double-conversion/version @@ -0,0 +1 @@ +3.3.0 1 diff --git a/main/doxygen/.PKGINFO b/main/doxygen/.PKGINFO new file mode 100644 index 00000000..d7c3586f --- /dev/null +++ b/main/doxygen/.PKGINFO @@ -0,0 +1,45 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = doxygen +pkgbase = doxygen +xdata = pkgtype=split +pkgver = 1.11.0-3 +pkgdesc = Documentation system for C++, C, Java, IDL and PHP +url = http://www.doxygen.nl +builddate = 1718491973 +packager = Developer +size = 19022279 +arch = x86_64 +license = GPL-2.0-or-later +depend = clang +depend = fmt +depend = libfmt.so=10-64 +depend = gcc-libs +depend = glibc +depend = spdlog +depend = libspdlog.so=1.14-64 +depend = sqlite +depend = libsqlite3.so=0-64 +optdepend = graphviz: for caller/callee graph generation +optdepend = qt6-base: for doxywizard +optdepend = texlive-fontsrecommended: for generating LaTeX, Postscript and PDF output +optdepend = texlive-fontutils: for generating LaTeX, Postscript and PDF output +optdepend = texlive-latexextra: for generating LaTeX, Postscript and PDF output +optdepend = texlive-plaingeneric: for generating LaTeX, Postscript and PDF output +makedepend = clang +makedepend = cmake +makedepend = flex +makedepend = fmt +makedepend = gcc-libs +makedepend = ghostscript +makedepend = glibc +makedepend = graphviz +makedepend = llvm +makedepend = python +makedepend = qt6-base +makedepend = spdlog +makedepend = sqlite +makedepend = texlive-fontsrecommended +makedepend = texlive-fontutils +makedepend = texlive-latexextra +makedepend = texlive-plaingeneric diff --git a/main/doxygen/.nvchecker.toml b/main/doxygen/.nvchecker.toml new file mode 100644 index 00000000..298ddecd --- /dev/null +++ b/main/doxygen/.nvchecker.toml @@ -0,0 +1,4 @@ +[doxygen] +source = "git" +git = "https://github.com/doxygen/doxygen" +prefix = "Release_" diff --git a/main/doxygen/PKGBUILD b/main/doxygen/PKGBUILD new file mode 100644 index 00000000..a66aa6a9 --- /dev/null +++ b/main/doxygen/PKGBUILD @@ -0,0 +1,104 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=doxygen +pkgname=(doxygen doxygen-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc='Documentation system for C++, C, Java, IDL and PHP' +url='http://www.doxygen.nl' +arch=(x86_64) +license=(GPL-2.0-or-later) +makedepends=( + clang + cmake + flex + fmt + gcc-libs + ghostscript + glibc + graphviz + llvm + python + qt6-base + spdlog + sqlite + texlive-fontsrecommended + texlive-fontutils + texlive-latexextra + texlive-plaingeneric +) +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/doxygen/doxygen/archive/Release_${pkgver//./_}.tar.gz) +sha512sums=('d8731796d5513ff5939c234f32f7f31aabc45f5557947741a330b3d33b368fb5ad770ef1d3d7384a402d98229eafeb1f955ef76e9932310b83c1d35a2eef500f') +b2sums=('e9eaf70e106aa022bb0edc99082e6bccd5c6879c41be40ce69d2d5e4eb7d1c5ff078fd8f9132206bf546fa78aab7f8bef4584fd1f2d6e1e84b01d2e65933375e') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + cd ${pkgbase}-Release_${pkgver//./_} + # Install the man pages in the right place + sed -i 's:DESTINATION man/man1:DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1":g' \ + doc/CMakeLists.txt +} + +build() { + cmake -B build -S $pkgbase-Release_${pkgver//./_} \ + -DCMAKE_BUILD_TYPE:STRING=None \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DDOC_INSTALL_DIR:PATH=share/doc/doxygen \ + -Dbuild_doc:BOOL=ON \ + -Dbuild_wizard:BOOL=ON \ + -Duse_sys_spdlog:BOOL=ON \ + -Duse_sys_sqlite3:BOOL=ON \ + -Duse_libclang:BOOL=ON + cmake --build build --verbose + cmake --build build --target docs +} + +check() { + ctest --test-dir build --output-on-failure +} + +package_doxygen() { + depends=( + clang + fmt libfmt.so + gcc-libs + glibc + sqlite libsqlite3.so + ) + optdepends=( + 'graphviz: for caller/callee graph generation' + 'qt6-base: for doxywizard' + 'texlive-fontsrecommended: for generating LaTeX, Postscript and PDF output' + 'texlive-fontutils: for generating LaTeX, Postscript and PDF output' + 'texlive-latexextra: for generating LaTeX, Postscript and PDF output' + 'texlive-plaingeneric: for generating LaTeX, Postscript and PDF output' + ) + + DESTDIR="$pkgdir" cmake --install build + ( + cd "$pkgdir" + _pick $pkgbase-docs usr/share/doc + ) + install -vDm 644 $pkgbase-Release_${pkgver//./_}/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_doxygen-docs() { + pkgdesc='Developer documentation for doxygen' + + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-Release_${pkgver//./_}/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/doxygen/README b/main/doxygen/README new file mode 100644 index 00000000..d4fb2a36 --- /dev/null +++ b/main/doxygen/README @@ -0,0 +1,43 @@ +doxygen +________________________________________________________________________________ + +Documentation system for C++, C, Java, IDL and PHP Developer documentation for doxygen + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S doxygen | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.doxygen.nl diff --git a/main/doxygen/version b/main/doxygen/version new file mode 100644 index 00000000..66f3e5be --- /dev/null +++ b/main/doxygen/version @@ -0,0 +1 @@ +1.11.0 3 diff --git a/main/drbl/PKGBUILD b/main/drbl/PKGBUILD new file mode 100644 index 00000000..93ef70f6 --- /dev/null +++ b/main/drbl/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=drbl +pkgver=%version% +pkgrel=%release% +pkgdesc="Diskless Remote Boot in Linux: manage the deployment of the GNU/Linux operating system across many clients" +arch=('any') +url="http://drbl.sourceforge.net" +license=('GPL') +depends=('perl' 'bc') +makedepends=('vim') +backup=('etc/drbl/drbl.conf') +options=('!emptydirs') +source=(https://free.nchc.org.tw/drbl-core/src/stable/$pkgname-$pkgver.tar.xz + usrbin.patch) +md5sums=('5d649c68bae688db122d1e7ac25b111c' + 'f01eac478f1ae62f505de645de96c68a') +sha256sums=('a5856b6effef9df2488c2e84d47ceac3440fef4f8fd4071dae84fadc78417e30' + 'c1ae79ac2d2d07cfd4437b093986823e9e14f75dbefbf04dde407b648be17ec4') + +prepare() { + cd $pkgname-$pkgver + + patch -Np0 -i "$srcdir"/usrbin.patch +} + +build() { + cd $pkgname-$pkgver + + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/main/drbl/README b/main/drbl/README new file mode 100644 index 00000000..ec86e98d --- /dev/null +++ b/main/drbl/README @@ -0,0 +1,43 @@ +drbl +________________________________________________________________________________ + +Diskless Remote Boot in Linux: manage the deployment of the GNU/Linux operating system across many clients + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S drbl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://drbl.sourceforge.net diff --git a/main/drbl/usrbin.patch b/main/drbl/usrbin.patch new file mode 100644 index 00000000..56da5b3f --- /dev/null +++ b/main/drbl/usrbin.patch @@ -0,0 +1,15 @@ +--- Makefile.orig 2013-05-30 17:56:44.323563977 +0100 ++++ Makefile 2013-05-30 17:57:35.139954480 +0100 +@@ -27,9 +27,9 @@ + + install: + # install exec files +- install -d $(DESTDIR)/usr/ +- cp -a sbin bin $(DESTDIR)/usr/ +- rm -f $(DESTDIR)/usr/sbin/Makefile ++ install -d $(DESTDIR)/usr/bin ++ cp -a sbin/* bin/* $(DESTDIR)/usr/bin/ ++ rm -f $(DESTDIR)/usr/bin/Makefile + # install setup dir + install -d $(DESTDIR)/$(SHAREDIR)/ + cp -a setup $(DESTDIR)/$(SHAREDIR)/ diff --git a/main/drbl/version b/main/drbl/version new file mode 100644 index 00000000..063f0bb1 --- /dev/null +++ b/main/drbl/version @@ -0,0 +1 @@ +2.30.5 3 diff --git a/main/drkonqi/.PKGINFO b/main/drkonqi/.PKGINFO new file mode 100644 index 00000000..bead5a61 --- /dev/null +++ b/main/drkonqi/.PKGINFO @@ -0,0 +1,42 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = drkonqi +pkgbase = drkonqi +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = The KDE crash handler +url = https://kde.org/plasma-desktop/ +builddate = 1713662628 +packager = Developer +size = 3165543 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = gdb +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = ki18n +depend = kidletime +depend = kio +depend = kirigami +depend = kitemmodels +depend = knotifications +depend = kservice +depend = kstatusnotifieritem +depend = kwallet +depend = kwidgetsaddons +depend = kwindowsystem +depend = polkit-qt6 +depend = python +depend = python-psutil +depend = python-pygdbmi +depend = python-sentry_sdk +depend = qt6-base +depend = qt6-declarative +depend = syntax-highlighting +depend = systemd-libs +makedepend = extra-cmake-modules diff --git a/main/drkonqi/PKGBUILD b/main/drkonqi/PKGBUILD new file mode 100644 index 00000000..87c629f7 --- /dev/null +++ b/main/drkonqi/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=drkonqi +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='The KDE crash handler' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + gdb + glibc + kcmutils + kconfig + kcoreaddons + kcrash + ki18n + kidletime + kio + kirigami + kitemmodels + knotifications + kservice + kstatusnotifieritem + kwallet + kwidgetsaddons + kwindowsystem + polkit-qt6 + python + python-psutil + python-pygdbmi + python-sentry_sdk + qt6-base + qt6-declarative + syntax-highlighting + systemd-libs) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1fa9e7522551a9aab92d8ade3f6bbb7fcfb832973a01111aa444b188e434e2ce' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DWITH_GDB12=ON \ + -DWITH_PYTHON_VENDORING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/drkonqi/README b/main/drkonqi/README new file mode 100644 index 00000000..b7995e28 --- /dev/null +++ b/main/drkonqi/README @@ -0,0 +1,43 @@ +drkonqi +________________________________________________________________________________ + +The KDE crash handler + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S drkonqi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/drkonqi/version b/main/drkonqi/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/drkonqi/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/duktape/PKGBUILD b/main/duktape/PKGBUILD new file mode 100644 index 00000000..6d05df58 --- /dev/null +++ b/main/duktape/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=duktape +pkgver=%version% +pkgrel=%release% +pkgdesc='Embeddable Javascript engine' +url='https://duktape.org/' +arch=(x86_64) +license=(MIT) +depends=( + glibc +) +provides=(libduktape{,d}.so) +source=("https://duktape.org/duktape-$pkgver.tar.xz") +b2sums=('da5eea88758201177f32c5611a3757433ef1b0173d6430eff1f067abd7535f3e4b9c3717290fbd8475827a53f7a2a74818287a65e563f14e91761f5cd0fe30d5') + +# https://duktape.org/download.html +md5sums=('b3200b02ab80125b694bae887d7c1ca6') + +prepare() { + cd duktape-$pkgver + + # tools/configure.py needs Python 2 + sed -i 's/^#undef DUK_USE_FASTINT$/#define DUK_USE_FASTINT/' src/duk_config.h + + # Add missing NEEDED on libm.so + sed -i 's/duktape\.c/& -lm/' Makefile.sharedlibrary +} + +_make() ( + local make_options=( + -f Makefile.sharedlibrary + INSTALL_PREFIX=/usr + ) + + make "${make_options[@]}" "$@" +) + +build() { + cd duktape-$pkgver + _make +} + +package() { + cd duktape-$pkgver + _make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE.txt +} + +# getver: github.com/svaarala/duktape diff --git a/main/duktape/README b/main/duktape/README new file mode 100644 index 00000000..aead728a --- /dev/null +++ b/main/duktape/README @@ -0,0 +1,43 @@ +duktape +________________________________________________________________________________ + +Embeddable Javascript engine + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S duktape | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://duktape.org/ diff --git a/main/duktape/version b/main/duktape/version new file mode 100644 index 00000000..8b5249ec --- /dev/null +++ b/main/duktape/version @@ -0,0 +1 @@ +2.7.0 6 diff --git a/main/e2fsprogs/0001-mke2fs-fix-creating-a-file-system-image-w-o-a-pre-existing-file.patch b/main/e2fsprogs/0001-mke2fs-fix-creating-a-file-system-image-w-o-a-pre-existing-file.patch new file mode 100644 index 00000000..e2db927b --- /dev/null +++ b/main/e2fsprogs/0001-mke2fs-fix-creating-a-file-system-image-w-o-a-pre-existing-file.patch @@ -0,0 +1,47 @@ +commit 53464654bd33e58e3fff079f34261b823d839f3b +Author: Theodore Ts'o +Date: Mon Aug 2 21:08:01 2021 -0400 + + mke2fs: fix creating a file system image w/o a pre-existing file + + The mke2fs program should allow creating a file system image when an + explicit file system size is specified, even if the file doesn't yet + exist. By deferring the call to check_plausible() in commit + 942b00cb9d2f ("mke2fs: do not warn about a pre-existing partition + table when using a non-zero offset") this behaviour was broken. + + Fix this regression by explicitly creating the file if the file system + size is specified. + + Signed-off-by: Theodore Ts'o + +diff --git a/misc/mke2fs.c b/misc/mke2fs.c +index 306064df..31e8de1a 100644 +--- a/misc/mke2fs.c ++++ b/misc/mke2fs.c +@@ -1986,6 +1986,25 @@ profile_error: + retval = ext2fs_get_device_size2(device_name, + EXT2_BLOCK_SIZE(&fs_param), + &dev_size); ++ if (retval == ENOENT) { ++ int fd; ++ ++ if (!explicit_fssize) { ++ fprintf(stderr, ++ _("The file %s does not exist and no " ++ "size was specified.\n"), device_name); ++ exit(1); ++ } ++ fd = ext2fs_open_file(device_name, ++ O_CREAT | O_WRONLY, 0666); ++ if (fd < 0) { ++ retval = errno; ++ } else { ++ dev_size = 0; ++ retval = 0; ++ printf(_("Creating regular file %s\n"), device_name); ++ } ++ } + if (retval && (retval != EXT2_ET_UNIMPLEMENTED)) { + com_err(program_name, retval, "%s", + _("while trying to determine filesystem size")); diff --git a/main/e2fsprogs/MIT-LICENSE b/main/e2fsprogs/MIT-LICENSE new file mode 100644 index 00000000..d849b28f --- /dev/null +++ b/main/e2fsprogs/MIT-LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2003-2007 Theodore Ts'o +Copyright (c) 1997-2003 Yann Dirson +Copyright (c) 2001 Alcove +Copyright (c) 1997 Klee Dienes +Copyright (c) 1995-1996 Michael Nonweiler + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/main/e2fsprogs/PKGBUILD b/main/e2fsprogs/PKGBUILD new file mode 100644 index 00000000..6f379d5b --- /dev/null +++ b/main/e2fsprogs/PKGBUILD @@ -0,0 +1,93 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=e2fsprogs +pkgname=('e2fsprogs' 'fuse2fs') +pkgver=%version% +pkgrel=%release% +pkgdesc='Ext2/3/4 filesystem utilities' +arch=('x86_64') +license=('GPL' 'LGPL' 'MIT') +url='http://e2fsprogs.sourceforge.net' +makedepends=('systemd' 'util-linux' 'fuse') +validpgpkeys=('3AB057B7E78D945C8C5591FBD36F769BC11804F0') # Theodore Ts'o +source=("https://www.kernel.org/pub/linux/kernel/people/tytso/${pkgbase}/v${pkgver}/${pkgbase}-${pkgver}.tar."{xz,sign} + 'MIT-LICENSE') +sha256sums=('144af53f2bbd921cef6f8bea88bb9faddca865da3fbc657cc9b4d2001097d5db' + 'SKIP' + 'cc45386c1d71f438ad648fd7971e49e3074ad9dbacf9dd3a5b4cb61fd294ecbb') + + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Remove unnecessary init.d directory + sed -i '/init\.d/s|^|#|' misc/Makefile.in +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --with-root-prefix='' \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-elf-shlibs \ + --disable-fsck \ + --disable-uuidd \ + --disable-libuuid \ + --disable-libblkid + make + + # regenerate locale files + find po/ -name '*.gmo' -delete + make -C po update-gmo +} + +package_e2fsprogs() { + depends=('sh' 'util-linux-libs') + optdepends=('lvm2: for e2scrub' + 'util-linux: for e2scrub' + 'smtp-forwarder: for e2scrub_fail script') + provides=('libcom_err.so' + 'libe2p.so' + 'libext2fs.so' + 'libss.so') + backup=('etc/mke2fs.conf' + 'etc/e2scrub.conf') + + unset MAKEFLAGS + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install install-libs + + sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" + + # remove references to build directory + sed -i -e 's#^DIR=.*#DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds" + sed -i -e 's#^DIR=.*#DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" + + # remove static libraries with a shared counterpart + rm "${pkgdir}"/usr/lib/lib{com_err,e2p,ext2fs,ss}.a + + # remove fuse2fs which will be packaged separately + rm "${pkgdir}"/usr/{bin/fuse2fs,share/man/man1/fuse2fs.1} + + # install MIT license + install -D -m0644 "${srcdir}/MIT-LICENSE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" +} + +package_fuse2fs() { + pkgdesc='Ext2/3/4 filesystem driver for FUSE' + depends=('fuse' 'e2fsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -D -m0755 'misc/fuse2fs' "${pkgdir}/usr/bin/fuse2fs" + install -D -m0644 'misc/fuse2fs.1' "${pkgdir}/usr/share/man/man1/fuse2fs.1" + mkdir -p "${pkgdir}"/usr/share/licenses + ln -s "${pkgbase}" "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/main/e2fsprogs/README b/main/e2fsprogs/README new file mode 100644 index 00000000..490a4dc7 --- /dev/null +++ b/main/e2fsprogs/README @@ -0,0 +1,43 @@ +e2fsprogs +________________________________________________________________________________ + +Ext2/3/4 filesystem utilities Ext2/3/4 filesystem driver for FUSE + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S e2fsprogs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://e2fsprogs.sourceforge.net diff --git a/main/e2fsprogs/version b/main/e2fsprogs/version new file mode 100644 index 00000000..a42aadef --- /dev/null +++ b/main/e2fsprogs/version @@ -0,0 +1 @@ +1.47.0 2 diff --git a/main/ebook-tools/.nvchecker.toml b/main/ebook-tools/.nvchecker.toml new file mode 100644 index 00000000..17e9c2b1 --- /dev/null +++ b/main/ebook-tools/.nvchecker.toml @@ -0,0 +1,4 @@ +[ebook-tools] +source = 'regex' +url = 'https://sourceforge.net/projects/ebook-tools/files/' +regex = 'ebook-tools/([\d.]+)/' diff --git a/main/ebook-tools/PKGBUILD b/main/ebook-tools/PKGBUILD new file mode 100644 index 00000000..8520c6ff --- /dev/null +++ b/main/ebook-tools/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ebook-tools +pkgver=%version% +pkgrel=%release% +pkgdesc="Tools for accessing and converting various ebook file formats" +arch=(x86_64) +url="https://sourceforge.net/projects/ebook-tools/" +license=(custom) +depends=(libzip libxml2 convertlit) +makedepends=(cmake) +source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" + crash-fix.patch) +sha256sums=('cbc35996e911144fa62925366ad6a6212d6af2588f1e39075954973bbee627ae' + 'ad556ce08909727a6022c9f1632086ccb8623a81a4f39cd34722e22116e14527') + +prepare() { + mkdir -p build + + cd $pkgname-$pkgver + patch -p2 -i ../crash-fix.patch # https://sourceforge.net/p/ebook-tools/bugs/8/ +} + +build() { + cd build + cmake ../$pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd build + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir"/$pkgname-$pkgver/LICENSE \ + -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/ebook-tools/README b/main/ebook-tools/README new file mode 100644 index 00000000..d776027e --- /dev/null +++ b/main/ebook-tools/README @@ -0,0 +1,43 @@ +ebook-tools +________________________________________________________________________________ + +Tools for accessing and converting various ebook file formats + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ebook-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/ebook-tools/ diff --git a/main/ebook-tools/crash-fix.patch b/main/ebook-tools/crash-fix.patch new file mode 100644 index 00000000..2389d299 --- /dev/null +++ b/main/ebook-tools/crash-fix.patch @@ -0,0 +1,51 @@ +From 93ebf942a90f9c95797838f9adab94bc0378671c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Tue, 30 Apr 2019 16:36:09 +0200 +Subject: [PATCH] Avoid crash on toc.ncx navPoint without navLabel + +Althoug at least one navLabel is required per navPoint, there is no +guarantee it actually exists. + +Avoid crashes due to invalid accesses of a null label in case the toc is +broken, and spew a warning. + +Fixes #8 epub_tit_next crashes on navPoint without navLabel. +--- + ebook-tools/src/libepub/epub.c | 5 +++-- + ebook-tools/src/libepub/opf.c | 4 ++++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/ebook-tools/src/libepub/epub.c b/ebook-tools/src/libepub/epub.c +index d085503..a259d9d 100644 +--- a/ebook-tools/src/libepub/epub.c ++++ b/ebook-tools/src/libepub/epub.c +@@ -469,8 +469,9 @@ int epub_tit_next(struct titerator *tit) { + case TITERATOR_NAVMAP: + case TITERATOR_PAGES: + ti = GetNodeData(curr); +- tit->cache.label = +- (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); ++ if (ti->label) ++ tit->cache.label = ++ (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); + + if (! tit->cache.label) + tit->cache.label = (char *)ti->id; +diff --git a/ebook-tools/src/libepub/opf.c b/ebook-tools/src/libepub/opf.c +index 6851db2..09bce9e 100644 +--- a/ebook-tools/src/libepub/opf.c ++++ b/ebook-tools/src/libepub/opf.c +@@ -398,6 +398,10 @@ void _opf_parse_navmap(struct opf *opf, xmlTextReaderPtr reader) { + + } else if (xmlTextReaderNodeType(reader) == 15) { + if (item) { ++ if (! item->label) { ++ _epub_print_debug(opf->epub, DEBUG_WARNING, ++ "- missing navlabel for nav point element"); ++ } + _epub_print_debug(opf->epub, DEBUG_INFO, + "adding nav point item->%s %s (d:%d,p:%d)", + item->id, item->src, item->depth, item->playOrder); +-- +2.21.0 + diff --git a/main/ebook-tools/version b/main/ebook-tools/version new file mode 100644 index 00000000..27fa0137 --- /dev/null +++ b/main/ebook-tools/version @@ -0,0 +1 @@ +0.2.2 7 diff --git a/main/ecryptfs-utils/PKGBUILD b/main/ecryptfs-utils/PKGBUILD new file mode 100644 index 00000000..f6a7fab4 --- /dev/null +++ b/main/ecryptfs-utils/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ecryptfs-utils +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +pkgdesc="Enterprise-class stacked cryptographic filesystem for Linux" +url="https://launchpad.net/ecryptfs" +license=('GPL') +makedepends=('intltool' 'gettext') +depends=('nss' 'pam') +optdepends=( + 'lsof: Encrypted home directory with ecryptfs-migrate-home' + 'rsync: Encrypted home directory with ecryptfs-migrate-home' + 'which: Encrypted home directory with ecryptfs-migrate-home' + ) +source=("https://launchpad.net/ecryptfs/trunk/${pkgver}/+download/${pkgname}_${pkgver}.orig.tar.gz" + "${pkgname}_${pkgver}.orig.tar.gz.sig::https://launchpad.net/ecryptfs/trunk/${pkgver}/+download/..-${pkgname}_${pkgver}.orig.tar.gz.asc" + "openssl-1.1.x.patch") +md5sums=('83513228984f671930752c3518cac6fd' + 'SKIP' + 'bc69f5adcd397220bb8575252486c69f') +sha256sums=('112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f' + 'SKIP' + '73d3689e51e57a03f8de66bfdb4a4c4fcc7f1c233895a7a576df6da7f64366d6') +validpgpkeys=('E2D9E1C5F9F5D59291F4607D95E64373F1529469') + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np0 -i "${srcdir}"/openssl-1.1.x.patch +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --with-pamdir=/usr/lib/security \ + --disable-pywrap + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}"/ rootsbindir='/usr/bin' install + chmod +s "${pkgdir}"/usr/bin/mount.ecryptfs_private +} diff --git a/main/ecryptfs-utils/README b/main/ecryptfs-utils/README new file mode 100644 index 00000000..5eae594a --- /dev/null +++ b/main/ecryptfs-utils/README @@ -0,0 +1,43 @@ +ecryptfs-utils +________________________________________________________________________________ + +Enterprise-class stacked cryptographic filesystem for Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ecryptfs-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://launchpad.net/ecryptfs diff --git a/main/ecryptfs-utils/openssl-1.1.x.patch b/main/ecryptfs-utils/openssl-1.1.x.patch new file mode 100644 index 00000000..5c3e419a --- /dev/null +++ b/main/ecryptfs-utils/openssl-1.1.x.patch @@ -0,0 +1,76 @@ +=== modified file 'src/key_mod/ecryptfs_key_mod_openssl.c' +--- src/key_mod/ecryptfs_key_mod_openssl.c 2013-10-25 19:45:09 +0000 ++++ src/key_mod/ecryptfs_key_mod_openssl.c 2017-03-13 20:34:27 +0000 +@@ -50,6 +50,20 @@ + #include "../include/ecryptfs.h" + #include "../include/decision_graph.h" + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++#endif ++ ++ + struct openssl_data { + char *path; + char *passphrase; +@@ -142,6 +156,7 @@ + { + int len, nbits, ebits, i; + int nbytes, ebytes; ++ const BIGNUM *key_n, *key_e; + unsigned char *hash; + unsigned char *data = NULL; + int rc = 0; +@@ -152,11 +167,13 @@ + rc = -ENOMEM; + goto out; + } +- nbits = BN_num_bits(key->n); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ nbits = BN_num_bits(key_n); + nbytes = nbits / 8; + if (nbits % 8) + nbytes++; +- ebits = BN_num_bits(key->e); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ ebits = BN_num_bits(key_e); + ebytes = ebits / 8; + if (ebits % 8) + ebytes++; +@@ -179,11 +196,13 @@ + data[i++] = '\02'; + data[i++] = (nbits >> 8); + data[i++] = nbits; +- BN_bn2bin(key->n, &(data[i])); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ BN_bn2bin(key_n, &(data[i])); + i += nbytes; + data[i++] = (ebits >> 8); + data[i++] = ebits; +- BN_bn2bin(key->e, &(data[i])); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ BN_bn2bin(key_e, &(data[i])); + i += ebytes; + SHA1(data, len + 3, hash); + to_hex(sig, (char *)hash, ECRYPTFS_SIG_SIZE); +@@ -278,7 +297,9 @@ + BIO *in = NULL; + int rc; + ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_malloc_init(); ++ #endif + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); + ENGINE_load_builtin_engines(); + + diff --git a/main/ecryptfs-utils/version b/main/ecryptfs-utils/version new file mode 100644 index 00000000..a0ff0799 --- /dev/null +++ b/main/ecryptfs-utils/version @@ -0,0 +1 @@ +111 8 diff --git a/main/editorconfig-core-c/.PKGINFO b/main/editorconfig-core-c/.PKGINFO new file mode 100644 index 00000000..e1fb5332 --- /dev/null +++ b/main/editorconfig-core-c/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = editorconfig-core-c +pkgbase = editorconfig-core-c +xdata = pkgtype=pkg +pkgver = 0.12.8-1 +pkgdesc = EditorConfig core code written in C (for use by plugins supporting EditorConfig parsing) +url = https://github.com/editorconfig/editorconfig-core-c +builddate = 1718491467 +packager = Developer +size = 112359 +arch = x86_64 +license = BSD-3-Clause +depend = glibc +depend = pcre2 +makedepend = cmake +makedepend = doxygen +makedepend = git diff --git a/main/editorconfig-core-c/.nvchecker.toml b/main/editorconfig-core-c/.nvchecker.toml new file mode 100644 index 00000000..30a97e04 --- /dev/null +++ b/main/editorconfig-core-c/.nvchecker.toml @@ -0,0 +1,5 @@ +[editorconfig-core-c] +source = 'github' +github = 'editorconfig/editorconfig-core-c' +use_max_tag = true +prefix = 'v' diff --git a/main/editorconfig-core-c/PKGBUILD b/main/editorconfig-core-c/PKGBUILD new file mode 100644 index 00000000..806d8b3f --- /dev/null +++ b/main/editorconfig-core-c/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=editorconfig-core-c +pkgver=%version% +pkgrel=%release% +pkgdesc='EditorConfig core code written in C (for use by plugins supporting EditorConfig parsing)' +arch=(x86_64) +url='https://github.com/editorconfig/editorconfig-core-c' +license=(BSD) +depends=(pcre2) +makedepends=(cmake doxygen) +source=(https://github.com/editorconfig/$pkgname/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('f89d2e144fd67bdf0d7acfb2ac7618c6f087e1b3f2c3a707656b4180df422195') + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects" + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 $pkgname-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/editorconfig-core-c/README b/main/editorconfig-core-c/README new file mode 100644 index 00000000..93409f4d --- /dev/null +++ b/main/editorconfig-core-c/README @@ -0,0 +1,43 @@ +editorconfig-core-c +________________________________________________________________________________ + +EditorConfig core code written in C (for use by plugins supporting EditorConfig parsing) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S editorconfig-core-c | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/editorconfig/editorconfig-core-c diff --git a/main/editorconfig-core-c/version b/main/editorconfig-core-c/version new file mode 100644 index 00000000..7f783d53 --- /dev/null +++ b/main/editorconfig-core-c/version @@ -0,0 +1 @@ +0.12.8 1 diff --git a/main/edk2/50-edk2-ovmf-i386-secure-4m.json b/main/edk2/50-edk2-ovmf-i386-secure-4m.json new file mode 100644 index 00000000..fde3c7b0 --- /dev/null +++ b/main/edk2/50-edk2-ovmf-i386-secure-4m.json @@ -0,0 +1,35 @@ +{ + "description": "IA32 UEFI for i386, with Secure Boot and SMM, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.secboot.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/50-edk2-ovmf-i386-secure.json b/main/edk2/50-edk2-ovmf-i386-secure.json new file mode 100644 index 00000000..ab9ac085 --- /dev/null +++ b/main/edk2/50-edk2-ovmf-i386-secure.json @@ -0,0 +1,35 @@ +{ + "description": "IA32 UEFI for i386, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.secboot.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/50-edk2-ovmf-x86_64-secure-4m.json b/main/edk2/50-edk2-ovmf-x86_64-secure-4m.json new file mode 100644 index 00000000..f75072a1 --- /dev/null +++ b/main/edk2/50-edk2-ovmf-x86_64-secure-4m.json @@ -0,0 +1,36 @@ +{ + "description": "x64 UEFI for x86_64, with Secure Boot and SMM, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/50-edk2-ovmf-x86_64-secure.json b/main/edk2/50-edk2-ovmf-x86_64-secure.json new file mode 100644 index 00000000..5d365390 --- /dev/null +++ b/main/edk2/50-edk2-ovmf-x86_64-secure.json @@ -0,0 +1,36 @@ +{ + "description": "x64 UEFI for x86_64, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.secboot.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-aarch64.json b/main/edk2/60-edk2-aarch64.json new file mode 100644 index 00000000..b95bdc8c --- /dev/null +++ b/main/edk2/60-edk2-aarch64.json @@ -0,0 +1,31 @@ +{ + "description": "AA64 UEFI for aarch64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/aarch64/QEMU_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/aarch64/QEMU_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "aarch64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-arm.json b/main/edk2/60-edk2-arm.json new file mode 100644 index 00000000..f7006a22 --- /dev/null +++ b/main/edk2/60-edk2-arm.json @@ -0,0 +1,31 @@ +{ + "description": "ARM UEFI for armv7", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/arm/QEMU_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/arm/QEMU_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "arm", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-ovmf-i386-4m.json b/main/edk2/60-edk2-ovmf-i386-4m.json new file mode 100644 index 00000000..2a070767 --- /dev/null +++ b/main/edk2/60-edk2-ovmf-i386-4m.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for i386, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-ovmf-i386.json b/main/edk2/60-edk2-ovmf-i386.json new file mode 100644 index 00000000..18cb255a --- /dev/null +++ b/main/edk2/60-edk2-ovmf-i386.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for i386", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-ovmf-microvm-4m.json b/main/edk2/60-edk2-ovmf-microvm-4m.json new file mode 100644 index 00000000..1639f336 --- /dev/null +++ b/main/edk2/60-edk2-ovmf-microvm-4m.json @@ -0,0 +1,22 @@ +{ + "description": "OVMF for microvm, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "memory", + "filename": "/usr/share/edk2/x64/MICROVM.4m.fd" + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "microvm" + ] + } + ], + "features": [ + ], + "tags": [ + ] +} diff --git a/main/edk2/60-edk2-ovmf-microvm.json b/main/edk2/60-edk2-ovmf-microvm.json new file mode 100644 index 00000000..78b900eb --- /dev/null +++ b/main/edk2/60-edk2-ovmf-microvm.json @@ -0,0 +1,22 @@ +{ + "description": "OVMF for microvm", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "memory", + "filename": "/usr/share/edk2/x64/MICROVM.fd" + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "microvm" + ] + } + ], + "features": [ + ], + "tags": [ + ] +} diff --git a/main/edk2/60-edk2-ovmf-x86_64-4m.json b/main/edk2/60-edk2-ovmf-x86_64-4m.json new file mode 100644 index 00000000..fe8e2639 --- /dev/null +++ b/main/edk2/60-edk2-ovmf-x86_64-4m.json @@ -0,0 +1,35 @@ +{ + "description": "x64 UEFI for x86_64, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/60-edk2-ovmf-x86_64.json b/main/edk2/60-edk2-ovmf-x86_64.json new file mode 100644 index 00000000..ca02ef08 --- /dev/null +++ b/main/edk2/60-edk2-ovmf-x86_64.json @@ -0,0 +1,35 @@ +{ + "description": "x64 UEFI for x86_64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/70-edk2-ovmf-i386-csm-4m.json b/main/edk2/70-edk2-ovmf-i386-csm-4m.json new file mode 100644 index 00000000..708e0048 --- /dev/null +++ b/main/edk2/70-edk2-ovmf-i386-csm-4m.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for i386, with CSM, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.csm.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/70-edk2-ovmf-i386-csm.json b/main/edk2/70-edk2-ovmf-i386-csm.json new file mode 100644 index 00000000..0393f455 --- /dev/null +++ b/main/edk2/70-edk2-ovmf-i386-csm.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for i386, with CSM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.csm.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "i386", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/70-edk2-ovmf-x86_64-csm-4m.json b/main/edk2/70-edk2-ovmf-x86_64-csm-4m.json new file mode 100644 index 00000000..ff816b5a --- /dev/null +++ b/main/edk2/70-edk2-ovmf-x86_64-csm-4m.json @@ -0,0 +1,35 @@ +{ + "description": "x64 UEFI for x86_64, with CSM support, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.csm.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/70-edk2-ovmf-x86_64-csm.json b/main/edk2/70-edk2-ovmf-x86_64-csm.json new file mode 100644 index 00000000..9a02d8b8 --- /dev/null +++ b/main/edk2/70-edk2-ovmf-x86_64-csm.json @@ -0,0 +1,35 @@ +{ + "description": "x64 UEFI for x86_64, with CSM support", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/x64/OVMF_CODE.csm.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/x64/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "amd-sev", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure-4m.json b/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure-4m.json new file mode 100644 index 00000000..9d07f42a --- /dev/null +++ b/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure-4m.json @@ -0,0 +1,35 @@ +{ + "description": "IA32 UEFI for x86_64, with Secure Boot and SMM, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.secboot.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure.json b/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure.json new file mode 100644 index 00000000..bdc7df0f --- /dev/null +++ b/main/edk2/80-edk2-ovmf-ia32-on-x86_64-secure.json @@ -0,0 +1,35 @@ +{ + "description": "IA32 UEFI for x86_64, with Secure Boot and SMM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.secboot.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "requires-smm", + "secure-boot", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/81-edk2-ovmf-ia32-on-x86_64-4m.json b/main/edk2/81-edk2-ovmf-ia32-on-x86_64-4m.json new file mode 100644 index 00000000..d871ed1c --- /dev/null +++ b/main/edk2/81-edk2-ovmf-ia32-on-x86_64-4m.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for x86_64, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/81-edk2-ovmf-ia32-on-x86_64.json b/main/edk2/81-edk2-ovmf-ia32-on-x86_64.json new file mode 100644 index 00000000..3d7532ef --- /dev/null +++ b/main/edk2/81-edk2-ovmf-ia32-on-x86_64.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for x86_64", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm-4m.json b/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm-4m.json new file mode 100644 index 00000000..b842ca16 --- /dev/null +++ b/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm-4m.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for x86_64, with CSM, 4MB FD", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.csm.4m.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.4m.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm.json b/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm.json new file mode 100644 index 00000000..b78bdbb3 --- /dev/null +++ b/main/edk2/82-edk2-ovmf-ia32-on-x86_64-csm.json @@ -0,0 +1,34 @@ +{ + "description": "IA32 UEFI for x86_64, with CSM", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "executable": { + "filename": "/usr/share/edk2/ia32/OVMF_CODE.csm.fd", + "format": "raw" + }, + "nvram-template": { + "filename": "/usr/share/edk2/ia32/OVMF_VARS.fd", + "format": "raw" + } + }, + "targets": [ + { + "architecture": "x86_64", + "machines": [ + "pc-i440fx-*", + "pc-q35-*" + ] + } + ], + "features": [ + "acpi-s3", + "acpi-s4", + "verbose-dynamic" + ], + "tags": [ + + ] +} diff --git a/main/edk2/PKGBUILD b/main/edk2/PKGBUILD new file mode 100644 index 00000000..c7872ed8 --- /dev/null +++ b/main/edk2/PKGBUILD @@ -0,0 +1,487 @@ +# Maintainer: Developer +# Maintainer: Developer + +_brotli_ver=1.0.9 +_openssl_ver=3.0.9 +pkgbase=edk2 +pkgname=(edk2-arm edk2-aarch64 edk2-shell edk2-ovmf) +pkgver=%version% +_commit=8736b8fdca85e02933cdb0a13309de14c9799ece # refs/tags/edk2-stable202311 +pkgrel=%release% +pkgdesc="Modern, feature-rich firmware development environment for the UEFI specifications" +arch=(any) +url="https://github.com/tianocore/edk2" +license=( + Apache-2.0 + BSD-2-Clause-Patent + MIT +) +makedepends=( + aarch64-linux-gnu-gcc + arm-none-eabi-gcc + acpica + git + util-linux-libs + nasm + python + seabios +) +options=(!makeflags) +source=( + git+$url#tag=$_commit + $pkgbase-softfloat::git+https://github.com/ucb-bar/berkeley-softfloat-3.git + https://www.openssl.org/source/openssl-$_openssl_ver.tar.gz{,.asc} + https://github.com/google/brotli/archive/v$_brotli_ver/brotli-$_brotli_ver.tar.gz + 50-edk2-ovmf-i386-secure.json + 50-edk2-ovmf-i386-secure-4m.json + 50-edk2-ovmf-x86_64-secure.json + 50-edk2-ovmf-x86_64-secure-4m.json + 60-edk2-ovmf-i386.json + 60-edk2-ovmf-i386-4m.json + 60-edk2-ovmf-x86_64.json + 60-edk2-ovmf-x86_64-4m.json + 60-edk2-ovmf-microvm.json + 60-edk2-ovmf-microvm-4m.json + 60-edk2-aarch64.json + 60-edk2-arm.json + 70-edk2-ovmf-i386-csm.json + 70-edk2-ovmf-i386-csm-4m.json + 70-edk2-ovmf-x86_64-csm.json + 70-edk2-ovmf-x86_64-csm-4m.json + 80-edk2-ovmf-ia32-on-x86_64-secure.json + 80-edk2-ovmf-ia32-on-x86_64-secure-4m.json + 81-edk2-ovmf-ia32-on-x86_64.json + 81-edk2-ovmf-ia32-on-x86_64-4m.json + 82-edk2-ovmf-ia32-on-x86_64-csm.json + 82-edk2-ovmf-ia32-on-x86_64-csm-4m.json + $pkgbase-202202-brotli.patch +) +sha512sums=('SKIP' + 'SKIP' + '86c99146b37236419b110db77dd3ac3992e6bed78c258f0cc3434ca233460b4e17c0ac81d7058547fe9cb72a9fd80ee56d4b4916bb731dbe2bbcf1c3d46bf31a' + 'SKIP' + 'b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5' + '9182615c6f89e4f3c19f1b0f4434aa0a3293f982cf3ed783a2c140c2555d824b417c7c3c7a00ad10616188507f5068226c720b20ffd41d44449605ba0844bad2' + '53604279dea69000cb036062d9617f1c7dc5ce3d83fbcb066b9087e4f412c2ea24ae3a37436ab17d5bf9dd6b2da380933c48400163d4b9fde65ea42d37956d5e' + 'e2e5f3eabb3ced681385ed9d57a3aa83e2155415ea6fd2c16eb15c5a1e685f92e90f1c6f270c1c8da23dde3a0e4a085399f65038b799430c713d1628eb44ac07' + 'c1f83b3c5f5c43803d4bb1084f6ebdd1987364cab59945a8226a8cf1229daba79c83f638c0a1395ea56acffbd4349b94459659705743a397ff03369b7794a1c6' + '25df19b698081c7a21e4c5f37321150ab2f144f4888d887513c3ed926a844909cee390d3e5d80b02c084510074c874b21db3b3d119330342cf8877197ef0a425' + 'c886b3d6e5f23833c2dc9f8c9f3b21523c680dd2c6bfebbb488f54619d31e53d4019b05b4e1a3dc91abd6e0cab4540d750a2db1b9b4dcf8257e4ba9a2b9b487a' + '99f5dcdbc54824976f51c45b939e8bcb4971a70dc2d50b24233d3125ce6cf687f92b8d3896d72280470a2c001637920da8d6e33d576c489beb7f0e898bfb22ab' + '9da9de6717b610a181be8f7b34b379a56a1fa31f945f78198eec52359abd178bdf77fda4426157992e64329f53a204af042d5145cb5d3b4b1203915a48815449' + 'a86e294e5904f52441b86da220f37cc693d7066f7fcb75dafc472a3a72516e865c213be6d0ce245ec5dd680ca9272429d39dca4db4f3e6434b12c479227bc4b0' + 'b17d3ff5c9230c394ca4ee8229842c801b0cab3d88b546f2094dd0b42f2bc535f5bda3f9faee4b5418482185887648f906daaf0b7307c4c19747f5f0ab504f9a' + '126822ef6198e87fb38014a5ba21969c9a163b41df3cdef6825317971ecc8df4a63099113e687634b88648acc93f24917d729e1c44295d2df7012288740307d3' + 'bbf663d539a985504d5fbc95552a2a60ac860a6bce4a62ecc551292d838b41cba3b5203f580a76a05e9f862ef98e7a3e5da39505c1f39d8ef48c08778fac584a' + 'b5829aaf5ebae0073de26695eddbda61d117fbfb5e3c9f169fade31127ceb9bbc332af760bf6033d90a277d44c095fc30fe0d69defd81fb1aaf82cba0cf6fb90' + '2e03935b57fabbbac4493ba6d54ac5b68abfd75775a56c95f5ba8c4627ba38260a3691a335e597c65096c50ce5038389efbb41ef5822a1ff49a8f312d8e37f75' + '6e91029d451c9d43c1488ce0e252e6abc18fb1da48b6938d6ae3644fce58c97da6fff6addc60740b1b9ed5e6b86e9d7e94ee0dd55ea73833a82401b4c6f8c936' + '69ec9e9288aad64b585bbffa8566a96a43791c4f899b9e9ba4858645ffe667423cd875ec8d6bed742cc1b1a9e96c8dd81609ff0f48da86b415ecf8cf8089cac2' + 'cebf9c2cfe8ea7007c68112b4e64d61a98a1637d4b51bceefa22a205e57bb947c757cea8dcc2d01961d8b72b4f289f692d4034d3c38f062e06941b2cc4586377' + '95661c2182112a76652507de84b7d0f9bb0d21f6b3b62134952bd7aada8df5cfc727658d11b71a7780a22049d9cafc4361d9a1d515b68d1463e7082465fd4f7e' + '8ed6d1d749c3471421a02c41e0e8c3e1ceb62ca6bc09cf2bc85055e2b2661bc149a77b83f480af1aec2f9a948971c6b5aebc92fbc112508fc6293cc6edc7a8a7' + 'c9dbe7b2b6b8c18b7b8fdfef5bc329d9142c442f2f3dbae3ca4919255dcaf2ab576cd305648228d5dd48040ca3b14f44ee33b05cb6ca13b49e2836947b78ea53' + '692e5bdefb61ae7b8d6e2063f163e2b68136b2522d606806766186f10c5fae1f7583fd83cda52c235d0d8eb0651e5a711f505021a8d8d949d8dccfce7f0c82ac' + 'c699ad500f24569643a4581f4bb5be0e4a90d160f0b3ae7728cf8e27b39665983b80439ca7b853b1bd9a174c8c123cbaf7ed3cd4a17d6460f4fec670c62a1183' + 'd074c794796d17d77eed7c34201d93d7ef3f1322fe1ea4a2ddd7137fae884d49f94f465ee39cfd8346b026142668a41f5a8671e521409505dd6d002f71c0eebc') +b2sums=('SKIP' + 'SKIP' + 'cc1df41fa12ba4443e15e94f6ebdc5e103b9dab5eab2e1c8f74e6a74fa2c38207817921b65d7293cb241c190a910191c7163600bb75243adde0e2f9ec31cc885' + 'SKIP' + '8b9939d5224396ef33b43e019250ba4bc8949903583615e8dc02c85340fc0a1e2d1632161e00b0ee7355d77f05529ac772f482e05d2089afd71a0bf71e803904' + '98742b83c2d605772a1bfa64ee434430413516db13d80235f0bc0be3a0e930aa17d737a6d2c95ce3d60f33de9f93679e09f421632d9e3fc9575d662fcf198f4b' + 'ee28940a8d13a7badf94bcceebd4371c79cd0194ca9f984f39cd75ee64f1ba53059d81f5826c6b5a564d50dce7b9fb5fe8d63ee8d38d38462bc070249124a16b' + '8dfd44f35d35d699bb12eef771b08b978cf38ba64494b0eb8c153c72493d47c2d71445869c8d9115c29b28cd206f31be27b43024bd8796a50c8c41a67f87a859' + 'b9a488c2a6295f3d8eab80150dbfa7acea94720b08928d4e6a4613189fe24922f6c40e1ae8c9856ebb1bc31586ecfb1e02e099a11f7abde575d1f9aa78cc732d' + '0a30e819e63b09207c664beca8845f73fb43482d19e831c7f915755594eeafcfc8dccb842f819fb7d20215d87452da31943488e201b9690b733db8169870afcc' + 'd5d3dc38bf8a09473075a2dd8ab4adcd3af80be30c0ae49fbf55f478b8e0d9a1fde90abceda7099ed3136ee9cadee406bef949a17a070be1b92250adb14c1a7c' + 'aa1144f31bd391e09d2bf0f55d6cb7a50fab38eca5967989463d58f2931267f7499414709c9692335376f8834b513d69249d995fdc9e90429eadd287348d57e8' + '56562116024236f6bb5590fff241d47568a9c1755faa25a62011e8fa3f14b7d74014651b421f5a0c6fb269fb6c05f23b97a5b1ed13929e8141e1c3839f784a5b' + 'f55e220c6d6a8733bd9233115453e9aca10af91e4cd93be438b4951049198228bdd1b6765b2eae2a781cf3e90beab9b14540c9165ab76af38b9db35b09dde947' + '01dbc4cad102535504eace2d9da225a481b62785d37365f1dea2d1210990ca6177485aa0134a074c09d253b539f12ae810706a77a46779ddb7dd4f1b9b934011' + 'f84ff505702e4b2a38b6fd23fbb732c25d3102a04bb6918b0cc3b3d7528a92626324199cea4ed91955aade98f308f1d1037255f26cc9ee21ace75fc6376e7df6' + '04a7eb373d6ea1415d7cd6e8dea0d16b75cbb1fb88572a30b8ce9960dd0404adc7f25fce2ccfb103eb09405411dc4d4e0084236e4c814916d81e957dc6aedfd4' + 'b4fcc2351b2d77b85cdce35180353aef06900af1554479853bf915d27a756d4bbed50a50e85b72e2e7f4868e6dec3b9c5b27f743d7c112e24e4e0c50cd103a33' + '1783b83c6e39c99feb59043c3cff48b24bef55d43949cd9a3097dfbee73a6cf511c180d610a52de876ccea9833fec46d7a88ebce8114e54620b9988232fb9bcc' + '1d76eda20067c1bb9928b0304244ab5770a9c4e1f401a74d51da31a47f3a5d6e1e64b5394768cdae6a5bc396b68b6a32eb1a407e1c6377461dd2d5f2f5a2538d' + '1debba4546e7cc7d758302a1b5aa3d0a874f39b046beac60e36ecf8aaf8a7690c97508f81fd40eaea807bdd8f4d6c8284e72d6bd61b0791db144a6adcc13ccbf' + 'c54eb05090280af70ceb44b601752ec38ca80d2af232385cf5ddd6f95ea0504d00a2dd2c82828aa07c41fb456fbb6f174b8bf89b851061206328ae66e589dd2a' + 'b53bbe532f9a7583bfbcc9436f2172f2dcaa75177c1480753a2a60d97a2fbd5bfb86b97b3f7c27d82e88eb2035c6607abb7e35d39a42e6a2d40c0b54d7c430ef' + 'dc9a98b8b6d6d8cc2f3aa2b314ba521a2fa8110abf199ca2a6c612ba53df3adad89e5ae0e4cfbe8f5ebf2cefd3cda1716d19f90304a138630f0b8d6e36cd4d10' + '0c1e145109de9a25339633b563e47f6c09ea314f636023d09a58559a499dd0bd283a45e050fc99fe34c4d712bd00a035064fa8406734d57029c67b9adb4b11ce' + '0ad956e3e662909abafd0b9a2b7ef12e35a8832183cb41e17dcafaa4f5db1e47ef20b3040268644daebb24f66c18b99de07f41e7d62089691c07de688a08f05a' + 'a44b5ffc35d78925ac7362ec2cf75475d02e05ed0b9e8771c909d090187aaff7436e8d856d58b8a56827990006b813c63318b60a8a7780844c829a2b13a502cf' + '644c071dc4fbbccaa64b0b1babcad60395ffce1a7a317a6f5380eff44cbb886be5f29156a8e967ab02b508a33954fcf5602606b43362cc3bb1936a8cfc3a3c07') +validpgpkeys=( + 8657ABB260F056B1E5190839D9C4D26D0E604491 # Matt Caswell + 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C # Richard Levitte + A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C # Tomáš Mráz +) +_arch_list=(ARM AARCH64 IA32 X64) +_build_type=RELEASE +_build_plugin=GCC5 + +pkgver() { + cd $pkgbase + git describe --tags --abbrev=7 | sed 's/^edk2-stable//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + # patch to be able to use brotli 1.0.9 + patch -Np1 -d $pkgbase -i ../$pkgbase-202202-brotli.patch + + cd $pkgbase + + git submodule init + git submodule deinit BaseTools/Source/C/BrotliCompress/brotli + git submodule deinit CryptoPkg/Library/OpensslLib/openssl + git submodule deinit MdeModulePkg/Library/BrotliCustomDecompressLib/brotli + git submodule deinit MdeModulePkg/Universal/RegularExpressionDxe/oniguruma + git submodule deinit RedfishPkg/Library/JsonLib/jansson + git submodule deinit UnitTestFrameworkPkg/Library/CmockaLib/cmocka + git submodule deinit UnitTestFrameworkPkg/Library/GoogleTestLib/googletest + git config submodule.SoftFloat "$srcdir/$pkgbase-softfloat" + git -c protocol.file.allow=always submodule update + + # symlinking openssl into place + rm -rfv CryptoPkg/Library/OpensslLib/openssl + ln -sfv "$srcdir/openssl-$_openssl_ver" CryptoPkg/Library/OpensslLib/openssl + + # symlinking brotli into place + rm -rfv BaseTools/Source/C/BrotliCompress/brotli MdeModulePkg/Library/BrotliCustomDecompressLib/brotli + ln -sfv "$srcdir/brotli-$_brotli_ver" BaseTools/Source/C/BrotliCompress/brotli + ln -sfv "$srcdir/brotli-$_brotli_ver" MdeModulePkg/Library/BrotliCustomDecompressLib/brotli + + # -Werror, not even once + sed -e 's/ -Werror//g' -i BaseTools/Conf/*.template BaseTools/Source/C/Makefiles/*.makefile + + # copy seabios's CSM binary into place, so that it can be included in the binaries: + cp -v /usr/share/qemu/bios-csm.bin OvmfPkg/Csm/Csm16/Csm16.bin +} + +# TODO: check TPM_ENABLE/TPM2_ENABLE +build() { + local _arch + local _build_options=() + # shared targets for all + local _common_args=( + -b "$_build_type" + -n "$(nproc)" + -t "$_build_plugin" + ) + # shared targets for all EFI binaries + local _efi_args=( + -D NETWORK_IP6_ENABLE + -D TPM_CONFIG_ENABLE + -D TPM1_ENABLE + -D TPM2_ENABLE + ) + # shared targets x86_64 and i686 + local _x86_args=( + -D FD_SIZE_2MB + -D HTTP_BOOT_ENABLE + -D TLS_ENABLE + ) + # 4MB FD size variant + local _4mb_args=( + -D FD_SIZE_4MB + -D FD_SIZE_IN_KB=4096 + -D HTTP_BOOT_ENABLE + -D TLS_ENABLE + ) + + cd $pkgbase + export GCC5_IA32_PREFIX="x86_64-linux-gnu-" + export GCC5_X64_PREFIX="x86_64-linux-gnu-" + export GCC5_AARCH64_PREFIX="aarch64-linux-gnu-" + export GCC5_ARM_PREFIX="arm-none-eabi-" + echo "Building base tools (AARCH64)" + ARCH=AARCH64 make -C BaseTools + echo "Building base tools (ARM)" + ARCH=ARM make -C BaseTools + echo "Building base tools" + make -C BaseTools + # expose build tooling in PATH + . edksetup.sh + + for _arch in ${_arch_list[@]}; do + # shell + echo "Building shell ($_arch)." + BaseTools/BinWrappers/PosixLike/build -p ShellPkg/ShellPkg.dsc -a "$_arch" "${_common_args[@]}" + # ovmf + case "$_arch" in + IA32) + echo "Building ovmf ($_arch) with secure boot support" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D EXCLUDE_SHELL_FROM_FD \ + -D LOAD_X64_ON_IA32_ENABLE \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE + mv -v Build/Ovmf{Ia32,IA32-secure} + echo "Building ovmf ($_arch) with secure boot support (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" \ + -D EXCLUDE_SHELL_FROM_FD \ + -D LOAD_X64_ON_IA32_ENABLE \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE + mv -v Build/Ovmf{Ia32,IA32-secure-4mb} + echo "Building ovmf ($_arch) with CSM support" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "${_arch}" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D CSM_ENABLE \ + -D LOAD_X64_ON_IA32_ENABLE + mv -v Build/Ovmf{Ia32,IA32-csm} + echo "Building ovmf ($_arch) with CSM support (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "${_arch}" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" \ + -D CSM_ENABLE \ + -D LOAD_X64_ON_IA32_ENABLE + mv -v Build/Ovmf{Ia32,IA32-csm-4mb} + echo "Building ovmf ($_arch) default" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D LOAD_X64_ON_IA32_ENABLE + mv -v Build/Ovmf{Ia32,IA32} + echo "Building ovmf ($_arch) default (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" \ + -D LOAD_X64_ON_IA32_ENABLE + mv -v Build/Ovmf{Ia32,IA32-4mb} + ;; + X64) + echo "Building ovmf ($_arch) with microvm support (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/Microvm/Microvm$_arch.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" + mv -v Build/MicrovmX64{,-4mb} + echo "Building ovmf ($_arch) with microvm support" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/Microvm/Microvm$_arch.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" + echo "Building ovmf ($_arch) with secure boot support" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32X64.dsc \ + -a IA32 -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE \ + -D EXCLUDE_SHELL_FROM_FD + mv -v Build/Ovmf3264{,-secure} + echo "Building ovmf ($_arch) with secure boot support (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkgIa32X64.dsc \ + -a IA32 -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" \ + -D SECURE_BOOT_ENABLE \ + -D SMM_REQUIRE \ + -D EXCLUDE_SHELL_FROM_FD + mv -v Build/Ovmf3264{,-secure-4mb} + echo "Building ovmf ($_arch) with CSM support" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkg$_arch.dsc \ + -a "${_arch}" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" \ + -D CSM_ENABLE + mv -v Build/OvmfX64{,-csm} + echo "Building ovmf ($_arch) with CSM support (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkg$_arch.dsc \ + -a "${_arch}" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" \ + -D CSM_ENABLE + mv -v Build/OvmfX64{,-csm-4mb} + echo "Building ovmf (${_arch}) without secure boot (4MB FD)" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkg$_arch.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_4mb_args[@]}" + mv -v Build/OvmfX64{,-4mb} + echo "Building ovmf (${_arch}) without secure boot" + BaseTools/BinWrappers/PosixLike/build -p OvmfPkg/OvmfPkg$_arch.dsc \ + -a "$_arch" \ + "${_common_args[@]}" \ + "${_efi_args[@]}" \ + "${_x86_args[@]}" + ;; + AARCH64) + echo "Building ArmVirtPkg ($_arch) with secure boot" + local _build_options=( + -p ArmVirtPkg/ArmVirtQemu.dsc + -a "$_arch" + "${_common_args[@]}" + "${_efi_args[@]}" + -D NETWORK_HTTP_BOOT_ENABLE + -D NETWORK_TLS_ENABLE + -D SECURE_BOOT_ENABLE + ) + BaseTools/BinWrappers/PosixLike/build "${_build_options[@]}" + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd bs=1M count=64 + dd if=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_EFI.fd of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_CODE.fd conv=notrunc + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/QEMU_VARS.fd bs=1M count=64 + ;; + ARM) + echo "Building ovmf (${_arch}) with secure boot" + local _build_options=( + -p ArmVirtPkg/ArmVirtQemu.dsc + -a "${_arch}" + "${_common_args[@]}" + "${_efi_args[@]}" + -D NETWORK_HTTP_BOOT_ENABLE + -D NETWORK_TLS_ENABLE + -D SECURE_BOOT_ENABLE + -D TPM_ENABLE + -D TPM_CONFIG_ENABLE + ) + BaseTools/BinWrappers/PosixLike/build "${_build_options[@]}" + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_$_build_plugin/FV/QEMU_CODE.fd bs=1M count=64 + dd if=Build/ArmVirtQemu-$_arch/${_build_type}_$_build_plugin/FV/QEMU_EFI.fd of=Build/ArmVirtQemu-$_arch/${_build_type}_$_build_plugin/FV/QEMU_CODE.fd conv=notrunc + dd if=/dev/zero of=Build/ArmVirtQemu-$_arch/${_build_type}_$_build_plugin/FV/QEMU_VARS.fd bs=1M count=64 + ;; + esac + done +} + +package_edk2-aarch64() { + local _arch=AARCH64 + + pkgdesc="Firmware for Virtual Machines (aarch64)" + url="https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg" + conflicts=('edk2-armvirt<202211') + provides=(edk2-armvirt) + replaces=('edk2-armvirt<202211') + + cd $pkgbase + install -vDm 644 Build/ArmVirtQemu-$_arch/${_build_type}_${_build_plugin}/FV/*.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + # add libvirt compatibility (which hardcodes the following paths) + install -vdm 755 "$pkgdir/usr/share/AAVMF" + ln -svf /usr/share/$pkgbase/${_arch,,}/QEMU_CODE.fd "$pkgdir/usr/share/AAVMF/AAVMF_CODE.fd" + ln -svf /usr/share/$pkgbase/${_arch,,}/QEMU_VARS.fd "$pkgdir/usr/share/AAVMF/AAVMF_VARS.fd" + # install qemu descriptors in accordance with qemu: + # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors + install -vDm 644 ../*$pkgname.json -t "$pkgdir/usr/share/qemu/firmware/" + # license + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + + # add symlink for previous aarch64 location + ln -svf /usr/share/$pkgbase "$pkgdir/usr/share/$pkgbase-armvirt" +} + +package_edk2-arm() { + local _arch=ARM + + pkgdesc="Firmware for Virtual Machines (armv7)" + url="https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg" + + cd $pkgbase + install -vDm 644 Build/ArmVirtQemu-$_arch/${_build_type}_$_build_plugin/FV/*.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + # add libvirt compatibility (which hardcodes the following paths) + install -vdm 755 "$pkgdir/usr/share/AAVMF" + ln -svf /usr/share/$pkgbase/${_arch,,}/QEMU_CODE.fd "$pkgdir/usr/share/AAVMF/AAVMF32_CODE.fd" + ln -svf /usr/share/$pkgbase/${_arch,,}/QEMU_VARS.fd "$pkgdir/usr/share/AAVMF/AAVMF32_VARS.fd" + + # install qemu descriptors in accordance with qemu: + # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors + install -vDm 644 ../*$pkgname.json -t "$pkgdir/usr/share/qemu/firmware/" + # license + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_edk2-shell() { + local _arch + # minimal UEFI shell, as defined in ShellPkg/Application/Shell/ShellPkg.inf + local _min='7C04A583-9E3E-4f1c-AD65-E05268D0B4D1' + # full UEFI shell, as defined in ShellPkg/ShellPkg.dsc + local _full='EA4BB293-2D7F-4456-A681-1F22F42CD0BC' + + pkgdesc="EDK2 UEFI Shell" + provides=(uefi-shell) + + cd $pkgbase + for _arch in ${_arch_list[@]}; do + install -vDm 644 Build/Shell/${_build_type}_${_build_plugin}/$_arch/Shell_$_min.efi "$pkgdir/usr/share/$pkgname/${_arch,,}/Shell.efi" + install -vDm 644 Build/Shell/${_build_type}_${_build_plugin}/$_arch/Shell_$_full.efi "$pkgdir/usr/share/$pkgname/${_arch,,}/Shell_Full.efi" + done + # license + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + # docs + install -vDm 644 {ReadMe.rst,Maintainers.txt} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_edk2-ovmf() { + local _arch + + pkgdesc="Firmware for Virtual Machines (x86_64, i686)" + url="https://github.com/tianocore/tianocore.github.io/wiki/OVMF" + license+=(MIT) + provides=(ovmf) + conflicts=(ovmf) + replaces=(ovmf) + install=$pkgname.install + + cd $pkgbase + # installing the various firmwares + for _arch in IA32 X64; do + # installing OVMF.fd for xen: https://bugs.archlinux.org/task/58635 + install -vDm 644 Build/Ovmf$_arch/${_build_type}_${_build_plugin}/FV/OVMF.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + install -vDm 644 Build/Ovmf$_arch/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + install -vDm 644 Build/Ovmf$_arch/${_build_type}_${_build_plugin}/FV/OVMF_VARS.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + install -vDm 644 Build/Ovmf$_arch-4mb/${_build_type}_${_build_plugin}/FV/OVMF.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF.4m.fd" + install -vDm 644 Build/Ovmf$_arch-4mb/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.4m.fd" + install -vDm 644 Build/Ovmf$_arch-4mb/${_build_type}_${_build_plugin}/FV/OVMF_VARS.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_VARS.4m.fd" + install -vDm 644 Build/Ovmf$_arch-csm/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.csm.fd" + install -vDm 644 Build/Ovmf$_arch-csm-4mb/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.csm.4m.fd" + if [[ "${_arch}" == 'X64' ]]; then + install -vDm 644 Build/Ovmf3264-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.secboot.fd" + install -vDm 644 Build/Ovmf3264-secure-4mb/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.secboot.4m.fd" + install -vDm 644 Build/MicrovmX64/${_build_type}_${_build_plugin}/FV/MICROVM.fd -t "$pkgdir/usr/share/$pkgbase/${_arch,,}/" + install -vDm 644 Build/MicrovmX64-4mb/${_build_type}_${_build_plugin}/FV/MICROVM.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/MICROVM.4m.fd" + else + install -vDm 644 Build/Ovmf$_arch-secure/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.secboot.fd" + install -vDm 644 Build/Ovmf$_arch-secure-4mb/${_build_type}_${_build_plugin}/FV/OVMF_CODE.fd "$pkgdir/usr/share/$pkgbase/${_arch,,}/OVMF_CODE.secboot.4m.fd" + fi + done + # installing qemu descriptors in accordance with qemu: + # https://git.qemu.org/?p=qemu.git;a=tree;f=pc-bios/descriptors + # https://bugs.archlinux.org/task/64206 + install -vDm 644 ../*$pkgname*.json -t "$pkgdir/usr/share/qemu/firmware/" + # add symlink for previous ovmf locations + # https://bugs.archlinux.org/task/66528 + ln -svf /usr/share/$pkgbase "$pkgdir/usr/share/ovmf" + ln -svf /usr/share/$pkgbase "$pkgdir/usr/share/$pkgbase-ovmf" + # adding a symlink for applications with questionable heuristics (such as lxd) + ln -svf /usr/share/$pkgbase "$pkgdir/usr/share/OVMF" + # licenses + install -vDm 644 License.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 OvmfPkg/License.txt "$pkgdir/usr/share/licenses/$pkgname/OvmfPkg.License.txt" + # docs + install -vDm 644 {OvmfPkg/README,ReadMe.rst,Maintainers.txt} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/edk2/README b/main/edk2/README new file mode 100644 index 00000000..e1869f9f --- /dev/null +++ b/main/edk2/README @@ -0,0 +1,43 @@ +edk2 +________________________________________________________________________________ + +Modern, feature-rich firmware development environment for the UEFI specifications Firmware for Virtual Machines (armv7) Firmware for Virtual Machines (aarch64) EDK2 UEFI Shell Firmware for Virtual Machines (x86_64, i686) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S edk2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] %url% diff --git a/main/edk2/edk2-202202-brotli.patch b/main/edk2/edk2-202202-brotli.patch new file mode 100644 index 00000000..f27bbbbb --- /dev/null +++ b/main/edk2/edk2-202202-brotli.patch @@ -0,0 +1,15 @@ +diff -ruN a/BaseTools/Source/C/BrotliCompress/GNUmakefile b/BaseTools/Source/C/BrotliCompress/GNUmakefile +--- a/BaseTools/Source/C/BrotliCompress/GNUmakefile 2022-02-21 16:19:40.000000000 +0100 ++++ b/BaseTools/Source/C/BrotliCompress/GNUmakefile 2022-04-07 13:13:20.119878689 +0200 +@@ -11,11 +11,9 @@ + OBJECTS = \ + BrotliCompress.o \ + brotli/c/common/platform.o \ +- brotli/c/common/shared_dictionary.o \ + brotli/c/common/constants.o \ + brotli/c/common/context.o \ + brotli/c/enc/command.o \ +- brotli/c/enc/compound_dictionary.o \ + brotli/c/enc/fast_log.o \ + brotli/c/common/dictionary.o \ + brotli/c/common/transform.o \ diff --git a/main/edk2/edk2-ovmf.install b/main/edk2/edk2-ovmf.install new file mode 100644 index 00000000..37c80014 --- /dev/null +++ b/main/edk2/edk2-ovmf.install @@ -0,0 +1,6 @@ +post_install() { + # note for users of ovmf + if [ "$(vercmp "$1" '202002-9')" -le 0 ]; then + echo -e "The firmware location has changed to /usr/share/edk2-ovmf/. Symlinks are provided for backwards compatibility.\nNOTE: To update the paths run 'virsh edit' on virtual machines that use OVMF." + fi +} diff --git a/main/edk2/edk2-shell.install b/main/edk2/edk2-shell.install new file mode 100644 index 00000000..82552f17 --- /dev/null +++ b/main/edk2/edk2-shell.install @@ -0,0 +1 @@ +# empty install file to satisfy makepkg diff --git a/main/edk2/version b/main/edk2/version new file mode 100644 index 00000000..37a1aec1 --- /dev/null +++ b/main/edk2/version @@ -0,0 +1 @@ +202311 1 diff --git a/main/efibootmgr/.nvchecker.toml b/main/efibootmgr/.nvchecker.toml new file mode 100644 index 00000000..93a491ac --- /dev/null +++ b/main/efibootmgr/.nvchecker.toml @@ -0,0 +1,3 @@ +[efibootmgr] +source = "git" +git = "https://github.com/rhboot/efibootmgr" diff --git a/main/efibootmgr/PKGBUILD b/main/efibootmgr/PKGBUILD new file mode 100755 index 00000000..7fb2308a --- /dev/null +++ b/main/efibootmgr/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=efibootmgr +_commit=712aeb81311de28a3fcfea7465dcb93743f07a53 # refs/tags/18 +pkgver=%version% +pkgrel=%release% +pkgdesc="Linux user-space application to modify the EFI Boot Manager" +arch=(x86_64) +url="https://github.com/rhboot/efibootmgr" +license=(GPL-2.0-or-later) +depends=( + glibc + popt +) +makedepends=( + efivar + git +) +source=($pkgname::git+$url#tag=$_commit?signed) +sha512sums=('SKIP') +validpgpkeys=( + 'B00B48BC731AA8840FED9FB0EED266B70F4FEF10' # Peter Jones + '039A9CEA19DE9508C36875AA2532F9176A95A442' # Robbie Harwood (work) +) + +build() { + make libdir=/usr/lib sbindir=/usr/bin EFIDIR=arch -C $pkgname +} + +package() { + depends+=( + efivar libefiboot.so libefivar.so + ) + + make DESTDIR="$pkgdir" libdir=/usr/lib sbindir=/usr/bin EFIDIR=arch install -C $pkgname + install -vDm 644 $pkgname/{AUTHORS,README,README.md,TODO} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/efibootmgr/README b/main/efibootmgr/README new file mode 100644 index 00000000..a9a85945 --- /dev/null +++ b/main/efibootmgr/README @@ -0,0 +1,43 @@ +efibootmgr +________________________________________________________________________________ + +Linux user-space application to modify the EFI Boot Manager + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S efibootmgr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/rhboot/efibootmgr diff --git a/main/efibootmgr/version b/main/efibootmgr/version new file mode 100644 index 00000000..7644b683 --- /dev/null +++ b/main/efibootmgr/version @@ -0,0 +1 @@ +18 3 diff --git a/main/efivar/PKGBUILD b/main/efivar/PKGBUILD new file mode 100644 index 00000000..947bc7aa --- /dev/null +++ b/main/efivar/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=efivar +pkgdesc="Tools and libraries to work with EFI variables" +pkgver=%version% +_commit=a77a4ffec000ad5dfc5d6394d208784672acda82 # refs/tags/39 +pkgrel=%release% +arch=(x86_64) +url="https://github.com/rhboot/efivar" +license=(LGPL-2.1-or-later) +depends=(glibc) +makedepends=( + git + mandoc +) +checkdepends=(grub) +provides=( + libefiboot.so + libefisec.so + libefivar.so +) +source=( + "git+$url#tag=$_commit?signed" +) +sha512sums=('SKIP') +b2sums=('SKIP') +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +pkgver() { + cd $pkgname + git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +build() { + # disable -Werror by default by setting ERRORS to empty string + make ERRORS='' all -C $pkgname +} + +check() { + make GRUB_PREFIX=grub test -k -j1 -C $pkgname +} + +package() { + local make_options=( + V=1 + DESTDIR="$pkgdir/" + libdir=/usr/lib/ + bindir=/usr/bin/ + mandir=/usr/share/man/ + includedir=/usr/include/ + install + -j1 + -C $pkgname + ) + + make "${make_options[@]}" + install -vDm 644 $pkgname/{README.md,TODO} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/efivar/README b/main/efivar/README new file mode 100644 index 00000000..0cccef46 --- /dev/null +++ b/main/efivar/README @@ -0,0 +1,43 @@ +efivar +________________________________________________________________________________ + +Tools and libraries to work with EFI variables + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S efivar | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/rhboot/efivar diff --git a/main/efivar/version b/main/efivar/version new file mode 100644 index 00000000..3ac45862 --- /dev/null +++ b/main/efivar/version @@ -0,0 +1 @@ +39 1 diff --git a/main/elfutils/.PKGINFO b/main/elfutils/.PKGINFO new file mode 100644 index 00000000..1f11d5e2 --- /dev/null +++ b/main/elfutils/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libelf +pkgbase = elfutils +xdata = pkgtype=split +pkgver = 0.191-3 +pkgdesc = Handle ELF object files and DWARF debugging information (libraries) +url = https://sourceware.org/elfutils/ +builddate = 1715214592 +packager = Developer +size = 3060896 +arch = x86_64 +license = GPL-2.0-or-later OR LGPL-3.0-or-later +depend = bzip2 +depend = libbz2.so=1.0-64 +depend = curl +depend = libcurl.so=4-64 +depend = gcc-libs +depend = glibc +depend = xz +depend = liblzma.so=5-64 +depend = zlib +depend = zstd +depend = libzstd.so=1-64 +makedepend = bzip2 +makedepend = curl +makedepend = gcc-libs +makedepend = libarchive +makedepend = libmicrohttpd +makedepend = sqlite +makedepend = xz +makedepend = zlib +makedepend = zstd diff --git a/main/elfutils/.nvchecker.toml b/main/elfutils/.nvchecker.toml new file mode 100644 index 00000000..93e08ae5 --- /dev/null +++ b/main/elfutils/.nvchecker.toml @@ -0,0 +1,5 @@ +[elfutils] +source = "git" +git = "https://sourceware.org/git/elfutils.git" +prefix = "elfutils-" +use_max_tag = true diff --git a/main/elfutils/PKGBUILD b/main/elfutils/PKGBUILD new file mode 100644 index 00000000..0ed14623 --- /dev/null +++ b/main/elfutils/PKGBUILD @@ -0,0 +1,148 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=elfutils +pkgname=( + elfutils + libelf + debuginfod +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Handle ELF object files and DWARF debugging information" +arch=(x86_64) +url="https://sourceware.org/elfutils/" +makedepends=( + bzip2 + curl + gcc-libs + libarchive + libmicrohttpd + sqlite + xz + zlib + zstd +) +options=(staticlibs) +source=(https://sourceware.org/$pkgbase/ftp/$pkgver/$pkgbase-$pkgver.tar.bz2{,.sig}) +sha512sums=('e22d85f25317a79b36d370347e50284c9120c86f9830f08791b7b6a7b4ad89b9bf4c7c71129133b8d193a0edffb2a2c17987b7e48428b9670aff5ce918777e04' + 'SKIP') +b2sums=('2a7ad251369eca7ba609ab8644181fd479ad8596ee58dc068398ca22be25a978e96b81a10a92a5555d7574fd1b9227c8d54fb41dceb4025aedfc6ae32870bbca' + 'SKIP') +validpgpkeys=( + 'EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A' # Mark Wielaard + '6C2B631563B8D330578D3CB474FD3FA2779E7073' # Aaron Merey +) + +prepare() { + # remove failing test due to missing glibc debug package during test: https://bugs.archlinux.org/task/74875 + sed -e 's/run-backtrace-native.sh//g' -i $pkgbase-$pkgver/tests/Makefile.am + + cd $pkgbase-$pkgver + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --program-prefix="eu-" + --enable-deterministic-archives + ) + + # fat-lto-objects is required for non-mangled .a files in libelf + CFLAGS+=" -ffat-lto-objects" + + # debugging information is required for test-suite + CFLAGS+=" -g" + + cd $pkgbase-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make -C $pkgbase-$pkgver check +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_elfutils() { + pkgdesc+=" (utilities)" + license=( + GPL-3.0-or-later + ) + depends=( + gcc-libs + glibc + libarchive libarchive.so + libelf=$pkgver + sh + ) + + make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver + + # set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL + echo "https://debuginfod.archlinux.org" > "$pkgdir/etc/debuginfod/archlinux.urls" + + ( + cd "$pkgdir" + + _pick libelf etc/debuginfod + _pick libelf etc/profile.d/* + _pick libelf usr/{include,lib} + _pick debuginfod usr/bin/debuginfod* + _pick debuginfod usr/share/man/*/debuginfod* + ) + + install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_libelf() { + pkgdesc+=" (libraries)" + license=( + 'GPL-2.0-or-later OR LGPL-3.0-or-later' + ) + depends=( + bzip2 libbz2.so + curl libcurl.so + gcc-libs + glibc + xz liblzma.so + zlib + zstd libzstd.so + ) + # NOTE: the shared objects can not be added to provides as they are not versioned + + mv -v libelf/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_debuginfod() { + pkgdesc+=" (debuginfod)" + license=( + GPL-3.0-or-later + ) + depends=( + gcc-libs + glibc + libarchive libarchive.so + libelf=$pkgver + libmicrohttpd libmicrohttpd.so + sqlite libsqlite3.so + ) + optdepends=("elfutils=$pkgver: for translations") + + mv -v debuginfod/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/elfutils/README b/main/elfutils/README new file mode 100644 index 00000000..0040b00d --- /dev/null +++ b/main/elfutils/README @@ -0,0 +1,43 @@ +elfutils +________________________________________________________________________________ + +Handle ELF object files and DWARF debugging information Handle ELF object files and DWARF debugging information (utilities) Handle ELF object files and DWARF debugging information (libraries) Handle ELF object files and DWARF debugging information (debuginfod) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S elfutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceware.org/elfutils/ diff --git a/main/elfutils/version b/main/elfutils/version new file mode 100644 index 00000000..f3833229 --- /dev/null +++ b/main/elfutils/version @@ -0,0 +1 @@ +0.191 3 diff --git a/main/ell/.PKGINFO b/main/ell/.PKGINFO new file mode 100644 index 00000000..b88238a4 --- /dev/null +++ b/main/ell/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ell +pkgbase = ell +xdata = pkgtype=pkg +pkgver = 0.66-1 +pkgdesc = Embedded Linux library +url = https://01.org/ell +builddate = 1718491469 +packager = Developer +size = 658896 +arch = x86_64 +license = LGPL-2.1-or-later +depend = gcc-libs +depend = glibc +checkdepend = dbus +checkdepend = procps-ng diff --git a/main/ell/.nvchecker.toml b/main/ell/.nvchecker.toml new file mode 100644 index 00000000..45a260e9 --- /dev/null +++ b/main/ell/.nvchecker.toml @@ -0,0 +1,5 @@ +[ell] +source = "git" +git = "https://git.kernel.org/pub/scm/libs/ell/ell.git" + +use_max_tag = true diff --git a/main/ell/PKGBUILD b/main/ell/PKGBUILD new file mode 100644 index 00000000..e28b5e95 --- /dev/null +++ b/main/ell/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ell +pkgver=%version% +pkgrel=%release% +pkgdesc="Embedded Linux library" +arch=(x86_64) +url="https://01.org/ell" +#url="https://git.kernel.org/pub/scm/libs/ell/ell.git/" +license=('LGPL-2.1-or-later') +depends=('gcc-libs' 'glibc') +checkdepends=('dbus' 'procps-ng') +# https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc +source=(https://mirrors.edge.kernel.org/pub/linux/libs/$pkgname/$pkgname-$pkgver.tar.{xz,sign}) +sha256sums=('760f3901078409f66cadf1bb24c8bdc60f13d53f6dd66b88631221d2494f8405' + 'SKIP') +validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # "Marcel Holtmann " + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} diff --git a/main/ell/README b/main/ell/README new file mode 100644 index 00000000..625ea8dc --- /dev/null +++ b/main/ell/README @@ -0,0 +1,43 @@ +ell +________________________________________________________________________________ + +Embedded Linux library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ell | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://01.org/ell diff --git a/main/ell/version b/main/ell/version new file mode 100644 index 00000000..cddab5fa --- /dev/null +++ b/main/ell/version @@ -0,0 +1 @@ +0.66 1 diff --git a/main/espeak-ng/.nvchecker.toml b/main/espeak-ng/.nvchecker.toml new file mode 100644 index 00000000..5bad8759 --- /dev/null +++ b/main/espeak-ng/.nvchecker.toml @@ -0,0 +1,4 @@ +[espeak-ng] +source = "github" +github = "espeak-ng/espeak-ng" +use_max_tag= true diff --git a/main/espeak-ng/PKGBUILD b/main/espeak-ng/PKGBUILD new file mode 100644 index 00000000..a893f458 --- /dev/null +++ b/main/espeak-ng/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=espeak-ng +pkgver=%version% +pkgrel=%release% +pkgdesc='Multi-lingual software speech synthesizer' +url=https://github.com/espeak-ng/espeak-ng +arch=('x86_64') +license=('GPL3') +depends=('pcaudiolib' 'libsonic') +#checkdepends=('python') +makedepends=('ruby-ronn-ng') +replaces=('espeak-ng-espeak') +provides=('espeak-ng-espeak') +conflicts=('espeak-ng-espeak' 'espeak') +source=("$url/archive/$pkgver/espeak-ng-$pkgver.tar.gz") +b2sums=('7b5a9d0613636942374b2b414fa5cffcbefe18083dc9aa79a6ac08cc3737cbef06808bf90f0c846ec33acf481797329fb6d2f013b6f67abd6a2dfcda0d3f9343') + +prepare() { + cd espeak-ng-$pkgver + ./autogen.sh +} + + +build() { + cd espeak-ng-$pkgver + ./configure --prefix=/usr + make src/espeak-ng src/speak-ng + make +} + +#check() { +# cd espeak-ng-$pkgver +# make -j1 check +#} + +package() { + cd espeak-ng-$pkgver + make DESTDIR="$pkgdir" install + mv "$pkgdir"/usr/share/vim/{addons,vimfiles} + rm -r "$pkgdir"/usr/{include/espeak,share/vim/registry} +} + +# vim:set ts=2 sw=2 et: diff --git a/main/espeak-ng/README b/main/espeak-ng/README new file mode 100644 index 00000000..346cc772 --- /dev/null +++ b/main/espeak-ng/README @@ -0,0 +1,43 @@ +espeak-ng +________________________________________________________________________________ + +Multi-lingual software speech synthesizer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S espeak-ng | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/espeak-ng/espeak-ng diff --git a/main/espeak-ng/version b/main/espeak-ng/version new file mode 100644 index 00000000..7905ed48 --- /dev/null +++ b/main/espeak-ng/version @@ -0,0 +1 @@ +1.51.1 2 diff --git a/main/espeakup/.nvchecker.toml b/main/espeakup/.nvchecker.toml new file mode 100644 index 00000000..03fe53c8 --- /dev/null +++ b/main/espeakup/.nvchecker.toml @@ -0,0 +1,5 @@ +[espeakup] +source = "github" +github = "linux-speakup/espeakup" +use_latest_release = true +prefix = "v" diff --git a/main/espeakup/PKGBUILD b/main/espeakup/PKGBUILD new file mode 100644 index 00000000..aaf5165e --- /dev/null +++ b/main/espeakup/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=espeakup +pkgver=%version% +pkgrel=%release% +pkgdesc="A light weight connector for espeak-ng and speakup" +arch=(x86_64) +url="https://github.com/linux-speakup/espeakup" +license=(GPL3) +depends=( + glibc + espeak-ng +) +makedepends=( + alsa-lib + meson + ruby-ronn-ng +) +source=($url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz) +sha512sums=('0731835a04063c5eac8ed0ed37cd92cc5d2dd1c58cbd94e158b7dfbb7bc0e2f84a6484fffd9009bf2920652a36fb737044b2e1fb67fb1679ee7150855bc9a15e') +b2sums=('f91a70bad0d985d313852b9e5f72dea4330ab23050ca6904ae5895d513088031f34d878cd64d97dcf2cf02dddc3e9fdabd0826cac98634829019ed3267e27bd8') + +build() { + arch-meson build $pkgname-$pkgver + ninja -C build +} + +package() { + depends+=( + alsa-lib libasound.so + ) + + DESTDIR="$pkgdir" meson install -C build +} + diff --git a/main/espeakup/README b/main/espeakup/README new file mode 100644 index 00000000..eb2bd3a2 --- /dev/null +++ b/main/espeakup/README @@ -0,0 +1,43 @@ +espeakup +________________________________________________________________________________ + +A light weight connector for espeak-ng and speakup + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S espeakup | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/linux-speakup/espeakup diff --git a/main/espeakup/espeakup.conf.d b/main/espeakup/espeakup.conf.d new file mode 100644 index 00000000..66f7842c --- /dev/null +++ b/main/espeakup/espeakup.conf.d @@ -0,0 +1,6 @@ +# +# Arguments to be passed to espeakup. +# Example: +# ESPEAKUP_ARGS="--default-voice=fr" +# will tell espeakup to use the French voice. +ESPEAKUP_ARGS="" diff --git a/main/espeakup/espeakup.modules-load.d b/main/espeakup/espeakup.modules-load.d new file mode 100644 index 00000000..38d53913 --- /dev/null +++ b/main/espeakup/espeakup.modules-load.d @@ -0,0 +1 @@ +speakup_soft diff --git a/main/espeakup/espeakup.service b/main/espeakup/espeakup.service new file mode 100644 index 00000000..88559d0f --- /dev/null +++ b/main/espeakup/espeakup.service @@ -0,0 +1,15 @@ +[Unit] +Description=Software speech output for Speakup +# espeakup needs to start after the audio devices appear, hopefully this should go away in the future +Wants=systemd-udev-settle.service +After=systemd-udev-settle.service sound.target + +[Service] +Type=forking +PIDFile=/run/espeakup.pid +ExecStart=/usr/bin/espeakup +ExecReload=/bin/kill -HUP $MAINPID +Restart=always + +[Install] +WantedBy=sound.target diff --git a/main/espeakup/version b/main/espeakup/version new file mode 100644 index 00000000..a4e32a2f --- /dev/null +++ b/main/espeakup/version @@ -0,0 +1 @@ +0.90 2 diff --git a/main/ethtool/.PKGINFO b/main/ethtool/.PKGINFO new file mode 100644 index 00000000..2be089cc --- /dev/null +++ b/main/ethtool/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ethtool +pkgbase = ethtool +xdata = pkgtype=pkg +pkgver = 1:6.9-1 +pkgdesc = Utility for controlling network drivers and hardware +url = https://www.kernel.org/pub/software/network/ethtool/ +builddate = 1718491471 +packager = Developer +size = 620578 +arch = x86_64 +license = GPL +depend = glibc +depend = libmnl diff --git a/main/ethtool/PKGBUILD b/main/ethtool/PKGBUILD new file mode 100644 index 00000000..f910a724 --- /dev/null +++ b/main/ethtool/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ethtool +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="Utility for controlling network drivers and hardware" +arch=('x86_64') +url="https://www.kernel.org/pub/software/network/ethtool/" +license=('GPL') +depends=('glibc' 'libmnl') +source=(https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.{xz,sign}) +sha256sums=('c3ae526b01ce4d8df6c794ab170de4a4104d111ea8d8db3f1fd7c25fcb905619' + 'SKIP') +validpgpkeys=(CE4A4D080F0D304F23B9EBDD972D5BF4DC613806 # John W. Linville + D2CB120AB45957B721CD9596F4554567B91DE934) # Michal Kubecek + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --mandir=/usr/share/man --sbindir=/usr/bin + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/ethtool/README b/main/ethtool/README new file mode 100644 index 00000000..985b7167 --- /dev/null +++ b/main/ethtool/README @@ -0,0 +1,43 @@ +ethtool +________________________________________________________________________________ + +Utility for controlling network drivers and hardware + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ethtool | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org/pub/software/network/ethtool/ diff --git a/main/ethtool/version b/main/ethtool/version new file mode 100644 index 00000000..1dcfd5c4 --- /dev/null +++ b/main/ethtool/version @@ -0,0 +1 @@ +1:6.9 1 diff --git a/main/exfatprogs/PKGBUILD b/main/exfatprogs/PKGBUILD new file mode 100644 index 00000000..8a1fc2db --- /dev/null +++ b/main/exfatprogs/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=exfatprogs +pkgver=%version% +pkgrel=%release% +pkgdesc='exFAT filesystem userspace utilities for the Linux Kernel exfat driver' +arch=('x86_64') +url='https://github.com/exfatprogs/exfatprogs' +license=('GPL2') +depends=('glibc') +provides=('exfat-utils') +conflicts=('exfat-utils') +source=("https://github.com/exfatprogs/exfatprogs/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz") +b2sums=('557b54c7110ba7fc0f7a8fc1d8051e062c3c304da2d0c9e36a3cccc65004bbfc717abd4adcc8de1730dccb14db669350816d37cc5f5b63c8ae132e5050106121') + +prepare() { + cd exfatprogs-${pkgver} + ./autogen.sh +} + +build() { + cd exfatprogs-${pkgver} + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd exfatprogs-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 -t "${pkgdir}"/usr/share/man/man8 */*.8 +} diff --git a/main/exfatprogs/README b/main/exfatprogs/README new file mode 100644 index 00000000..69b72c1b --- /dev/null +++ b/main/exfatprogs/README @@ -0,0 +1,43 @@ +exfatprogs +________________________________________________________________________________ + +exFAT filesystem userspace utilities for the Linux Kernel exfat driver + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S exfatprogs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/exfatprogs/exfatprogs diff --git a/main/exfatprogs/version b/main/exfatprogs/version new file mode 100644 index 00000000..52669276 --- /dev/null +++ b/main/exfatprogs/version @@ -0,0 +1 @@ +1.2.2 1 diff --git a/main/exiv2/.PKGINFO b/main/exiv2/.PKGINFO new file mode 100644 index 00000000..53e579e8 --- /dev/null +++ b/main/exiv2/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = exiv2 +pkgbase = exiv2 +xdata = pkgtype=pkg +pkgver = 0.28.2-4 +pkgdesc = Exif, Iptc and XMP metadata manipulation library and tools +url = https://exiv2.org +builddate = 1715045139 +packager = Developer +size = 7981693 +arch = x86_64 +license = GPL2 +provides = libexiv2.so=28-64 +depend = brotli +depend = libbrotlidec.so=1-64 +depend = curl +depend = expat +depend = libexpat.so=1-64 +depend = gcc-libs +depend = gettext +depend = glibc +depend = libcurl.so=4-64 +depend = libinih +depend = libINIReader.so=0-64 +depend = zlib +depend = libz.so=1-64 +makedepend = cmake +makedepend = gtest +makedepend = ninja +checkdepend = python diff --git a/main/exiv2/.nvchecker.toml b/main/exiv2/.nvchecker.toml new file mode 100644 index 00000000..81afea9a --- /dev/null +++ b/main/exiv2/.nvchecker.toml @@ -0,0 +1,5 @@ +[exiv2] +source = "github" +github = "Exiv2/exiv2" +prefix = "v" +use_max_tag = true diff --git a/main/exiv2/PKGBUILD b/main/exiv2/PKGBUILD new file mode 100644 index 00000000..7e83c91c --- /dev/null +++ b/main/exiv2/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=exiv2 +pkgver=%version% +pkgrel=%release% +pkgdesc="Exif, Iptc and XMP metadata manipulation library and tools" +url="https://exiv2.org" +arch=('x86_64') +license=('GPL2') +depends=(brotli libbrotlidec.so + curl + expat libexpat.so + gcc-libs # libgcc_s.so libstdc++.so + gettext + glibc # libc.so libm.so + libcurl.so + libinih libINIReader.so + zlib libz.so) +makedepends=('cmake' 'gtest' 'ninja') +checkdepends=('python') +provides=('libexiv2.so') +source=(https://github.com/Exiv2/exiv2/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b') +b2sums=('9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e') + +build() { + cd ${pkgname}-${pkgver} + cmake -B build \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DEXIV2_BUILD_SAMPLES=ON \ + -DEXIV2_BUILD_UNIT_TESTS=ON \ + -DEXIV2_ENABLE_VIDEO=ON \ + -DEXIV2_ENABLE_NLS=ON \ + -DEXIV2_ENABLE_XMP=ON \ + -DEXIV2_ENABLE_CURL=ON \ + -DEXIV2_ENABLE_WEBREADY=ON \ + -DEXIV2_ENABLE_BMFF=ON + ninja -C build +} + +check() { + cd ${pkgname}-${pkgver} + LD_LIBRARY_PATH="$PWD"/build/lib \ + ninja -C build test +} + +package() { + cd ${pkgname}-${pkgver} + # remove samples instal which are only needed for unit tests + sed '/samples\/cmake_install.cmake/d' -i build/cmake_install.cmake + DESTDIR="${pkgdir}" ninja -C build install +} + +# vim: ts=2 sw=2 et: diff --git a/main/exiv2/README b/main/exiv2/README new file mode 100644 index 00000000..1ab6a3a1 --- /dev/null +++ b/main/exiv2/README @@ -0,0 +1,43 @@ +exiv2 +________________________________________________________________________________ + +Exif, Iptc and XMP metadata manipulation library and tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S exiv2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://exiv2.org diff --git a/main/exiv2/version b/main/exiv2/version new file mode 100644 index 00000000..ba53f99b --- /dev/null +++ b/main/exiv2/version @@ -0,0 +1 @@ +0.28.2 4 diff --git a/main/expat/.nvchecker.toml b/main/expat/.nvchecker.toml new file mode 100644 index 00000000..4e6a15ff --- /dev/null +++ b/main/expat/.nvchecker.toml @@ -0,0 +1,6 @@ +[expat] +source = "git" +git = "https://github.com/libexpat/libexpat/" +include_regex = "(R_)([\\d.*][_].*)" +from_pattern = 'R_(\d)_(\d)_(\d)' +to_pattern = '\1.\2.\3' diff --git a/main/expat/PKGBUILD b/main/expat/PKGBUILD new file mode 100644 index 00000000..2758834b --- /dev/null +++ b/main/expat/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=expat +pkgver=%version% +pkgrel=%release% +pkgdesc="An XML parser library" +arch=(x86_64) +url="https://libexpat.github.io/" +license=(MIT) +depends=(glibc) +makedepends=(cmake) +provides=(libexpat.so) +source=(https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/$pkgname-$pkgver.tar.bz2{,.asc}) +sha512sums=('15811413e92a632272188781cc3f2a9e52ed62f6edfad9b2eeeca0946e53132b6c9ca6dc460eda766d6a4e68e5920128335d705f9556b5aa3f77593658780470' + 'SKIP') +b2sums=('9b518cf768e53b177fd933d37686a76c4a1bd1e2829cf414f8f9c054901f61d6445232eb4d4502e888507efa12a48d8ace206fbabac5d2ca5365f0437e971fd8' + 'SKIP') +validpgpkeys=(3176EF7DB2367F1FCA4F306B1F9B0E909AF37285) # Sebastian Pipping + +build() { + local cmake_options=( + -B build + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + -S $pkgname-$pkgver + -W no-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/{AUTHORS,Changes,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/expat/README b/main/expat/README new file mode 100644 index 00000000..2738a04b --- /dev/null +++ b/main/expat/README @@ -0,0 +1,43 @@ +expat +________________________________________________________________________________ + +An XML parser library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S expat | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libexpat.github.io/ diff --git a/main/expat/version b/main/expat/version new file mode 100644 index 00000000..43c8b8ba --- /dev/null +++ b/main/expat/version @@ -0,0 +1 @@ +2.6.2 1 diff --git a/main/f2fs-tools/PKGBUILD b/main/f2fs-tools/PKGBUILD new file mode 100644 index 00000000..7077f7b1 --- /dev/null +++ b/main/f2fs-tools/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=f2fs-tools +pkgver=%version% +pkgrel=%release% +pkgdesc='Tools for Flash-Friendly File System (F2FS)' +arch=('x86_64') +url='https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/about/' +provides=('libf2fs.so' 'libf2fs_format.so') +depends=('util-linux') +makedepends=('git') +license=('GPL') +validpgpkeys=('D3452A79D8C2B4EAC656F4224014A87E824850D2') # Jaegeuk Kim +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git#tag=v${pkgver}") +sha256sums=('87d0ecee953f1c800c8c1869b5cdca8e37d5df1fe7e40a80e21b187425205c48') + +_backports=( + # f2fs-tools: fix build error on lz4-1.9.4 + '19f77c6f6277a274434d6d8883f50e7955c6a8db' +) + +_reverts=( +) + +prepare() { + cd "${pkgname}" + + local _c + for _c in "${_backports[@]}"; do + if [[ $_c == *..* ]]; then + git log --oneline --reverse "${_c}" + else + git log --oneline -1 "${_c}" + fi + git cherry-pick -n -m1 "${_c}" + done + for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" + git revert -n "${_c}" + done + + autoreconf -fi +} + +build() { + cd "${pkgname}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + make +} + +package() { + cd "${pkgname}" + + make DESTDIR="${pkgdir}/" sbindir=/usr/bin install +} diff --git a/main/f2fs-tools/README b/main/f2fs-tools/README new file mode 100644 index 00000000..2c1ac5be --- /dev/null +++ b/main/f2fs-tools/README @@ -0,0 +1,43 @@ +f2fs-tools +________________________________________________________________________________ + +Tools for Flash-Friendly File System (F2FS) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S f2fs-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/about/ diff --git a/main/f2fs-tools/version b/main/f2fs-tools/version new file mode 100644 index 00000000..3700047c --- /dev/null +++ b/main/f2fs-tools/version @@ -0,0 +1 @@ +1.16.0 2 diff --git a/main/faad2/PKGBUILD b/main/faad2/PKGBUILD new file mode 100644 index 00000000..6e42fb6b --- /dev/null +++ b/main/faad2/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=faad2 +pkgver=%version% +pkgrel=%release% +pkgdesc="Freeware Advanced Audio (AAC) Decoder" +arch=(x86_64) +url="https://github.com/knik0/faad2" +license=(GPL-2.0-or-later) +depends=(glibc) +makedepends=(cmake) +provides=( + faad + libfaad_drm.so + libfaad.so +) +source=( + $pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz +) +sha512sums=('b8f17680610b2f47344ea52b54412a02810a85eaf9d4c91b97ca09b2c6415c62d4af1b0771bfcacb9dfee400ed34504c0bd3c28369921c0392b3809e7de46ec5') +b2sums=('f1e58a5618bdd93ee919f2d77dd461972cf4bc930c4a1738a8b4ec949fd2572ce0662a08ea01a4caca0da5fe007ec119d00184cd76e6f9f98c3141d24a589504') + +build() { + local cmake_options=( + -B build + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + -S $pkgname-$pkgver + -W no-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $pkgname-$pkgver/{AUTHORS,ChangeLog,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/faad2/README b/main/faad2/README new file mode 100644 index 00000000..c2e71ddb --- /dev/null +++ b/main/faad2/README @@ -0,0 +1,43 @@ +faad2 +________________________________________________________________________________ + +Freeware Advanced Audio (AAC) Decoder + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S faad2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/knik0/faad2 diff --git a/main/faad2/version b/main/faad2/version new file mode 100644 index 00000000..05a9820a --- /dev/null +++ b/main/faad2/version @@ -0,0 +1 @@ +2.11.1 1 diff --git a/main/fastfetch/.PKGINFO b/main/fastfetch/.PKGINFO new file mode 100644 index 00000000..a0c3fc77 --- /dev/null +++ b/main/fastfetch/.PKGINFO @@ -0,0 +1,51 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = fastfetch +pkgbase = fastfetch +xdata = pkgtype=pkg +pkgver = 2.15.0-1 +pkgdesc = Like Neofetch, but much faster because written in C +url = https://github.com/fastfetch-cli/fastfetch +builddate = 1718491979 +packager = Developer +size = 2486506 +arch = x86_64 +license = MIT +depend = glibc +depend = yyjson +optdepend = chafa: Image output as ascii art +optdepend = dbus: Bluetooth, Player & Media detection +optdepend = dconf: Needed for values that are only stored in DConf + Fallback for GSettings +optdepend = ddcutil: Brightness detection of external displays +optdepend = directx-headers: GPU detection in WSL +optdepend = glib2: Output for values that are only stored in GSettings +optdepend = imagemagick: Image output using sixel or kitty graphics protocol +optdepend = libnm: Wifi detection +optdepend = libpulse: Sound detection +optdepend = mesa: Needed by the OpenGL module for gl context creation. +optdepend = libxrandr: Multi monitor support +optdepend = ocl-icd: OpenCL module +optdepend = hwdata: GPU output +optdepend = vulkan-icd-loader: Vulkan module & fallback for GPU output +optdepend = xfconf: Needed for XFWM theme and XFCE Terminal font +optdepend = zlib: Faster image output when using kitty graphics protocol +optdepend = libdrm: Displays detection +makedepend = chafa +makedepend = cmake +makedepend = dbus +makedepend = dconf +makedepend = ddcutil +makedepend = directx-headers +makedepend = imagemagick +makedepend = libnm +makedepend = libpulse +makedepend = libxcb +makedepend = libxrandr +makedepend = mesa +makedepend = ocl-icd +makedepend = opencl-headers +makedepend = vulkan-headers +makedepend = vulkan-icd-loader +makedepend = wayland +makedepend = xfconf +makedepend = zlib diff --git a/main/fastfetch/PKGBUILD b/main/fastfetch/PKGBUILD new file mode 100644 index 00000000..be64d61e --- /dev/null +++ b/main/fastfetch/PKGBUILD @@ -0,0 +1,72 @@ +# Packager = Developer +pkgname=fastfetch +pkgver=%version% +pkgrel=%release% +pkgdesc="Like Neofetch, but much faster because written in C" +arch=('x86_64') +url="https://github.com/fastfetch-cli/fastfetch" +license=('MIT') +depends=('glibc' 'yyjson') +makedepends=( + 'chafa' + 'cmake' + 'dbus' + 'dconf' + 'ddcutil' + 'directx-headers' + 'imagemagick' + 'libnm' + 'libpulse' + 'libxcb' + 'libxrandr' + 'mesa' + 'ocl-icd' + 'opencl-headers' + 'vulkan-headers' + 'vulkan-icd-loader' + 'wayland' + 'xfconf' + 'zlib' +) +optdepends=( + 'chafa: Image output as ascii art' + 'dbus: Bluetooth, Player & Media detection' + 'dconf: Needed for values that are only stored in DConf + Fallback for GSettings' + 'ddcutil: Brightness detection of external displays' + 'directx-headers: GPU detection in WSL' + 'glib2: Output for values that are only stored in GSettings' + 'imagemagick: Image output using sixel or kitty graphics protocol' + 'libnm: Wifi detection' + 'libpulse: Sound detection' + 'mesa: Needed by the OpenGL module for gl context creation.' + 'libxrandr: Multi monitor support' + 'ocl-icd: OpenCL module' + 'hwdata: GPU output' + 'vulkan-icd-loader: Vulkan module & fallback for GPU output' + 'xfconf: Needed for XFWM theme and XFCE Terminal font' + 'zlib: Faster image output when using kitty graphics protocol' + 'libdrm: Displays detection' +) +source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/${pkgver}.tar.gz") +sha256sums=('a86c8cb98341be0474fa0e8e847adaf201d78ae29340605064b14a12952bca35') + +build() { + cmake -B build -S "${pkgname}-${pkgver}" \ + -DCMAKE_BUILD_TYPE='None' \ + -DCMAKE_INSTALL_PREFIX='/usr' \ + -DBUILD_TESTS='ON' \ + -DENABLE_SQLITE3='OFF' \ + -DENABLE_RPM='OFF' \ + -DENABLE_IMAGEMAGICK6='OFF' \ + -DENABLE_SYSTEM_YYJSON='ON' \ + -Wno-dev + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="${pkgdir}" cmake --install build +} diff --git a/main/fastfetch/version b/main/fastfetch/version new file mode 100644 index 00000000..15033397 --- /dev/null +++ b/main/fastfetch/version @@ -0,0 +1 @@ +2.15.0 1 diff --git a/main/fatresize/.nvchecker.toml b/main/fatresize/.nvchecker.toml new file mode 100644 index 00000000..d3a771f8 --- /dev/null +++ b/main/fatresize/.nvchecker.toml @@ -0,0 +1,5 @@ +[fatresize] +source = 'github' +github = 'ya-mouse/fatresize' +use_max_tag = true +prefix = 'v' diff --git a/main/fatresize/PKGBUILD b/main/fatresize/PKGBUILD new file mode 100644 index 00000000..06a11962 --- /dev/null +++ b/main/fatresize/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fatresize +pkgver=%version% +pkgrel=%release% +pkgdesc='A utility to resize FAT filesystems using libparted' +url='https://sourceforge.net/projects/fatresize/' +arch=(x86_64) +license=(GPL3) +depends=(parted) +source=($pkgname-$pkgver.tar.gz::"https://github.com/ya-mouse/fatresize/archive/v$pkgver.tar.gz") +sha256sums=('9232bc354b6c49a9e695e071bfd2d62ec79cdf4bc84928fcf1967fa39b75c33e') + +build() { + cd $pkgname-$pkgver + autoreconf -fisv + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/fatresize/README b/main/fatresize/README new file mode 100644 index 00000000..17a477aa --- /dev/null +++ b/main/fatresize/README @@ -0,0 +1,43 @@ +fatresize +________________________________________________________________________________ + +A utility to resize FAT filesystems using libparted + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fatresize | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/fatresize/ diff --git a/main/fatresize/version b/main/fatresize/version new file mode 100644 index 00000000..7281bb52 --- /dev/null +++ b/main/fatresize/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/main/ffmpeg/PKGBUILD b/main/ffmpeg/PKGBUILD new file mode 100644 index 00000000..f5dd7230 --- /dev/null +++ b/main/ffmpeg/PKGBUILD @@ -0,0 +1,253 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ffmpeg +pkgver=%version% +pkgrel=%release% +epoch=2 +pkgdesc='Complete solution to record, convert and stream audio and video' +arch=(x86_64) +url=https://ffmpeg.org +license=(GPL-3.0-only) +depends=( + alsa-lib + aom + bzip2 + cairo + dav1d + fontconfig + freetype2 + fribidi + glib2 + glibc + gmp + gnutls + gsm + harfbuzz + jack + lame + libass + libavc1394 + libbluray + libbs2b + libdrm + libgl + libiec61883 + libjxl + libmodplug + libopenmpt + libplacebo + libpulse + libraw1394 + librsvg + libsoxr + libssh + libtheora + libva + libvdpau + libvorbis + libvpx + libwebp + libx11 + libxcb + libxext + libxml2 + libxv + ocl-icd + onevpl + opencore-amr + openjpeg2 + opus + rav1e + rubberband + sdl2 + snappy + speex + srt + svt-av1 + v4l-utils + vapoursynth + vid.stab + vmaf + vulkan-icd-loader + x264 + x265 + xvidcore + xz + zimg + zlib +) +makedepends=( + amf-headers + avisynthplus + clang + ffnvcodec-headers + frei0r-plugins + git + ladspa + mesa + nasm + opencl-headers + vulkan-headers +) +optdepends=( + 'avisynthplus: AviSynthPlus support' + 'frei0r-plugins: Frei0r video effects support' + 'intel-media-sdk: Intel QuickSync support (legacy)' + 'ladspa: LADSPA filters' + 'nvidia-utils: Nvidia NVDEC/NVENC support' + 'onevpl-intel-gpu: Intel QuickSync support' +) +provides=( + libavcodec.so + libavdevice.so + libavfilter.so + libavformat.so + libavutil.so + libpostproc.so + libswresample.so + libswscale.so +) +options=( + debug +) +_tag=6f4048827982a8f48f71f551a6e1ed2362816eec +source=( + git+https://git.ffmpeg.org/ffmpeg.git?signed#tag=${_tag} + add-av_stream_get_first_dts-for-chromium.patch +) +b2sums=('SKIP' + '555274228e09a233d92beb365d413ff5c718a782008075552cafb2130a3783cf976b51dfe4513c15777fb6e8397a34122d475080f2c4483e8feea5c0d878e6de') +validpgpkeys=(DD1EC9E8DE085C629B3E1846B18E8928B3948D64) # Michael Niedermayer + +prepare() { + cd ffmpeg + # FS#79281: fix assembling with binutil as >= 2.41 + git cherry-pick -n effadce6c756247ea8bae32dc13bb3e6f464f0eb + # FS#77813: fix playing ogg files with mplayer + git cherry-pick -n cbcc817353a019da4332ad43deb7bbc4e695d02a + patch -Np1 -i ../add-av_stream_get_first_dts-for-chromium.patch # https://crbug.com/1251779 + # use non-deprecated nvenc GUID for conftest + git cherry-pick -n 03823ac0c6a38bd6ba972539e3203a592579792f + git cherry-pick -n d2b46c1ef768bc31ba9180f6d469d5b8be677500 + # Fix VDPAU vo + git cherry-pick -n e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7 + # Fix bug in av_fft_end + git cherry-pick -n a562cfee2e214252f8b3f516527272ae32ef9532 + git cherry-pick -n 250471ea1745fc703eb346a2a662304536a311b1 + # Fix build with latest vulkan headers + git cherry-pick -n fef22c87ada4517441701e6e61e062c9f4399c8e +} + +pkgver() { + cd ffmpeg + git describe --tags | sed 's/^n//' +} + +build() { + cd ffmpeg + ./configure \ + --prefix=/usr \ + --disable-debug \ + --disable-static \ + --disable-stripping \ + --enable-amf \ + --enable-avisynth \ + --enable-cuda-llvm \ + --enable-lto \ + --enable-fontconfig \ + --enable-frei0r \ + --enable-gmp \ + --enable-gnutls \ + --enable-gpl \ + --enable-ladspa \ + --enable-libaom \ + --enable-libass \ + --enable-libbluray \ + --enable-libbs2b \ + --enable-libdav1d \ + --enable-libdrm \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + --enable-libharfbuzz \ + --enable-libiec61883 \ + --enable-libjack \ + --enable-libjxl \ + --enable-libmodplug \ + --enable-libmp3lame \ + --enable-libopencore_amrnb \ + --enable-libopencore_amrwb \ + --enable-libopenjpeg \ + --enable-libopenmpt \ + --enable-libopus \ + --enable-libplacebo \ + --enable-libpulse \ + --enable-librav1e \ + --enable-librsvg \ + --enable-librubberband \ + --enable-libsnappy \ + --enable-libsoxr \ + --enable-libspeex \ + --enable-libsrt \ + --enable-libssh \ + --enable-libsvtav1 \ + --enable-libtheora \ + --enable-libv4l2 \ + --enable-libvidstab \ + --enable-libvmaf \ + --enable-libvorbis \ + --enable-libvpl \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libxcb \ + --enable-libxml2 \ + --enable-libxvid \ + --enable-libzimg \ + --enable-nvdec \ + --enable-nvenc \ + --enable-opencl \ + --enable-opengl \ + --enable-shared \ + --enable-vapoursynth \ + --enable-version3 \ + --enable-vulkan + make + make tools/qt-faststart + make doc/ff{mpeg,play}.1 +} + +package() { + depends+=( + libass.so + libbluray.so + libbs2b.so + libdav1d.so + libfreetype.so + libharfbuzz.so + libjxl.so + libopenmpt.so + libplacebo.so + librav1e.so + librsvg-2.so + librubberband.so + libva.so + libva-drm.so + libva-x11.so + libvidstab.so + libvorbisenc.so + libvorbis.so + libvpx.so + libx264.so + libx265.so + libxvidcore.so + libzimg.so + ) + + make DESTDIR="${pkgdir}" -C ffmpeg install install-man + install -Dm 755 ffmpeg/tools/qt-faststart "${pkgdir}"/usr/bin/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/ffmpeg/README b/main/ffmpeg/README new file mode 100644 index 00000000..89dea777 --- /dev/null +++ b/main/ffmpeg/README @@ -0,0 +1,43 @@ +ffmpeg +________________________________________________________________________________ + +Complete solution to record, convert and stream audio and video + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ffmpeg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://ffmpeg.org diff --git a/main/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch b/main/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 00000000..20ea725d --- /dev/null +++ b/main/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,31 @@ +diff '--color=auto' -rupN ffmpeg.orig/libavformat/avformat.h ffmpeg/libavformat/avformat.h +--- ffmpeg.orig/libavformat/avformat.h 2022-08-19 17:42:47.323422603 +0200 ++++ ffmpeg/libavformat/avformat.h 2022-08-19 17:42:51.347130436 +0200 +@@ -1128,6 +1128,10 @@ struct AVCodecParserContext *av_stream_g + */ + int64_t av_stream_get_end_pts(const AVStream *st); + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st); ++// Chromium: We use the internal field first_dts ^^^ ++ + #define AV_PROGRAM_RUNNING 1 + + /** +diff '--color=auto' -rupN ffmpeg.orig/libavformat/mux_utils.c ffmpeg/libavformat/mux_utils.c +--- ffmpeg.orig/libavformat/mux_utils.c 2022-08-19 17:42:47.346758108 +0200 ++++ ffmpeg/libavformat/mux_utils.c 2022-08-19 17:47:28.549589002 +0200 +@@ -37,6 +37,13 @@ int64_t av_stream_get_end_pts(const AVSt + return AV_NOPTS_VALUE; + } + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return cffstream(st)->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, + int std_compliance) + { diff --git a/main/ffmpeg/version b/main/ffmpeg/version new file mode 100644 index 00000000..331b583e --- /dev/null +++ b/main/ffmpeg/version @@ -0,0 +1 @@ +6.1.1 7 diff --git a/main/ffmpeg4.4/PKGBUILD b/main/ffmpeg4.4/PKGBUILD new file mode 100644 index 00000000..aef236fa --- /dev/null +++ b/main/ffmpeg4.4/PKGBUILD @@ -0,0 +1,200 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ffmpeg4.4 +pkgver=%version% +pkgrel=%release% +pkgdesc='Complete solution to record, convert and stream audio and video' +arch=(x86_64) +url=https://ffmpeg.org/ +license=(GPL3) +depends=( + alsa-lib + aom + bzip2 + fontconfig + fribidi + gmp + gnutls + gsm + jack + lame + libass.so + libavc1394 + libbluray.so + libdav1d.so + libdrm + libfreetype.so + libiec61883 + libmfx + libmodplug + libpulse + librav1e.so + libraw1394 + librsvg-2.so + libsoxr + libssh + libtheora + libva.so + libva-drm.so + libva-x11.so + libvdpau + libvidstab.so + libvorbisenc.so + libvorbis.so + libvpx.so + libwebp + libx11 + libx264.so + libx265.so + libxcb + libxext + libxml2 + libxv + libxvidcore.so + libzimg.so + opencore-amr + openjpeg2 + opus + sdl2 + speex + srt + svt-av1 + v4l-utils + xz + zlib +) +makedepends=( + amf-headers + avisynthplus + clang + ffnvcodec-headers + git + ladspa + nasm +) +optdepends=( + 'avisynthplus: AviSynthPlus support' + 'intel-media-sdk: Intel QuickSync support' + 'ladspa: LADSPA filters' + 'nvidia-utils: Nvidia NVDEC/NVENC support' +) +provides=( + libavcodec.so + libavdevice.so + libavfilter.so + libavformat.so + libavutil.so + libpostproc.so + libswresample.so + libswscale.so +) +_tag=71fb6132637a2a430375c24afc381fff8b854fe7 +source=(git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag} + binutils-2.41.patch) +b2sums=('SKIP' + 'b656a17dd3996c6871d322ba1fcf25410ed580d9600348cda087d705660601d06070492300d31c12d54b0e9914cb92bb9d997e51462c0577e1a90539bf0b76ee') + +pkgver() { + cd ffmpeg + git describe --tags | sed 's/^n//' +} + +prepare() { + cd ffmpeg + git cherry-pick -n 988f2e9eb063db7c1a678729f58aab6eba59a55b # fix nvenc on older gpus + git cherry-pick -n 031f1561cd286596cdb374da32f8aa816ce3b135 # remove compressed_ten_bit_format + patch -p1 -i ../binutils-2.41.patch # Fix build with binutils 2.41 + + # use non-deprecated nvenc GUID for conftest + git cherry-pick -n 03823ac0c6a38bd6ba972539e3203a592579792f + git cherry-pick -n d2b46c1ef768bc31ba9180f6d469d5b8be677500 +} + +build() { + cd ffmpeg + + ./configure \ + --prefix=/usr \ + --incdir=/usr/include/ffmpeg4.4 \ + --libdir=/usr/lib/ffmpeg4.4 \ + --disable-debug \ + --disable-doc \ + --disable-programs \ + --disable-static \ + --disable-stripping \ + --enable-amf \ + --enable-avisynth \ + --enable-cuda-llvm \ + --enable-lto \ + --enable-fontconfig \ + --enable-gmp \ + --enable-gnutls \ + --enable-gpl \ + --enable-ladspa \ + --enable-libaom \ + --enable-libass \ + --enable-libbluray \ + --enable-libdav1d \ + --enable-libdrm \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + --enable-libiec61883 \ + --enable-libjack \ + --enable-libmfx \ + --enable-libmodplug \ + --enable-libmp3lame \ + --enable-libopencore_amrnb \ + --enable-libopencore_amrwb \ + --enable-libopenjpeg \ + --enable-libopus \ + --enable-libpulse \ + --enable-librav1e \ + --enable-librsvg \ + --enable-libsoxr \ + --enable-libspeex \ + --enable-libsrt \ + --enable-libssh \ + --enable-libsvtav1 \ + --enable-libtheora \ + --enable-libv4l2 \ + --enable-libvidstab \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libxcb \ + --enable-libxml2 \ + --enable-libxvid \ + --enable-libzimg \ + --enable-nvdec \ + --enable-nvenc \ + --enable-shared \ + --enable-version3 + + make + make tools/qt-faststart + make doc/ff{mpeg,play}.1 +} + +package() { + make DESTDIR="${pkgdir}" -C ffmpeg install + + cd "${pkgdir}" + + # Move libs to /usr/lib, except the .so symlinks + local f + for f in usr/lib/ffmpeg4.4/*; do + if [[ $f == *.so ]]; then + ln -srf -- usr/lib/"$(readlink "$f")" "$f" + elif [[ ! -d $f ]]; then + mv "$f" usr/lib + fi + done + + rm -r usr/share +} + +# vim:set sw=2 et: diff --git a/main/ffmpeg4.4/README b/main/ffmpeg4.4/README new file mode 100644 index 00000000..74d9a2a3 --- /dev/null +++ b/main/ffmpeg4.4/README @@ -0,0 +1,43 @@ +ffmpeg4.4 +________________________________________________________________________________ + +Complete solution to record, convert and stream audio and video + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ffmpeg4.4 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://ffmpeg.org/ diff --git a/main/ffmpeg4.4/binutils-2.41.patch b/main/ffmpeg4.4/binutils-2.41.patch new file mode 100644 index 00000000..f0eec05a --- /dev/null +++ b/main/ffmpeg4.4/binutils-2.41.patch @@ -0,0 +1,75 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed19..ca7e2dffc1 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + +-- +2.30.2 diff --git a/main/ffmpeg4.4/version b/main/ffmpeg4.4/version new file mode 100644 index 00000000..5fe4822e --- /dev/null +++ b/main/ffmpeg4.4/version @@ -0,0 +1 @@ +4.4.4 5 diff --git a/main/fftw/.PKGINFO b/main/fftw/.PKGINFO new file mode 100644 index 00000000..19cf9631 --- /dev/null +++ b/main/fftw/.PKGINFO @@ -0,0 +1,35 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = fftw +pkgbase = fftw +xdata = pkgtype=split +pkgver = 3.3.10-7 +pkgdesc = A library for computing the discrete Fourier transform (DFT) +url = http://www.fftw.org/ +builddate = 1714618282 +packager = Developer +size = 9249026 +arch = x86_64 +license = GPL-2.0-or-later +provides = libfftw3q_threads.so=3-64 +provides = libfftw3q_omp.so=3-64 +provides = libfftw3q.so=3-64 +provides = libfftw3l_threads.so=3-64 +provides = libfftw3l_omp.so=3-64 +provides = libfftw3l.so=3-64 +provides = libfftw3f_threads.so=3-64 +provides = libfftw3f_omp.so=3-64 +provides = libfftw3f.so=3-64 +provides = libfftw3_threads.so=3-64 +provides = libfftw3_omp.so=3-64 +provides = libfftw3.so=3-64 +depend = bash +depend = gcc-libs +depend = glibc +optdepend = fftw-openmpi: for OpenMPI integration +makedepend = bash +makedepend = cmake +makedepend = gcc-fortran +makedepend = gcc-libs +makedepend = glibc +makedepend = openmpi diff --git a/main/fftw/PKGBUILD b/main/fftw/PKGBUILD new file mode 100644 index 00000000..532cc22f --- /dev/null +++ b/main/fftw/PKGBUILD @@ -0,0 +1,190 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=fftw +pkgname=(fftw fftw-openmpi) +pkgver=%version% +pkgrel=%release% +pkgdesc="A library for computing the discrete Fourier transform (DFT)" +arch=(x86_64) +url="http://www.fftw.org/" +license=(GPL-2.0-or-later) +makedepends=( + bash + cmake + gcc-fortran + gcc-libs + glibc + openmpi +) +source=(http://www.fftw.org/$pkgname-$pkgver.tar.gz) +sha512sums=('2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40') +b2sums=('3663872bd95a01d2c79af185f53918e1d1a9c91c620082402772c07f25b9b77d4920a78dc686fac6b51aa961b8d62b7e2cef3f3031e096bed40ced80b59b29d5') +_build_types=(single double long-double quad) +_soname=3.6.10 + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + local _i + + # fix wrong soname in FFTW3LibraryDepends.cmake + sed -e "s/3.6.9/$_soname/" -i $pkgname-$pkgver/CMakeLists.txt + + mv -v $pkgname-$pkgver $pkgname-$pkgver-single + for _i in {1..3}; do + cp -av $pkgname-$pkgver-single $pkgname-$pkgver-"${_build_types[$_i]}" + done +} + +build() { + local _name + local _configure=( + ./configure + --prefix=/usr + --enable-shared + --enable-threads + --enable-mpi + --enable-openmp + MPILIBS="$(mpicc --showme:link)" + ) + local _configure_single=( + --enable-sse + --enable-avx + --enable-single + ) + local _configure_double=( + --enable-sse2 + --enable-avx + ) + local _configure_long_double=( + --enable-long-double + ) + local _configure_quad=( + --disable-mpi + --enable-quad-precision + ) + local _cmake_options=( + -B build + -S $pkgname-$pkgver-$_build_types + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_BUILD_TYPE=None + -D ENABLE_OPENMP=ON + -D ENABLE_THREADS=ON + -D ENABLE_FLOAT=ON + -D ENABLE_LONG_DOUBLE=ON + -D ENABLE_QUAD_PRECISION=ON + -D ENABLE_SSE=ON + -D ENABLE_SSE2=ON + -D ENABLE_AVX=ON + -D ENABLE_AVX2=ON + ) + + # create missing FFTW3LibraryDepends.cmake + # https://bugs.archlinux.org/task/67604 + cmake "${_cmake_options[@]}" + # fix broken IMPORTED_LOCATION: https://github.com/FFTW/fftw3/issues/130#issuecomment-1030280157 + sed -e 's|\(IMPORTED_LOCATION_NONE\).*|\1 "/usr/lib/libfftw3.so.3"|' -i build/FFTW3LibraryDepends.cmake + + export F77='gfortran' + # use upstream default CFLAGS while keeping our -march/-mtune + CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" + + for _name in "${_build_types[@]}"; do + ( + cd $pkgname-$pkgver-$_name + case $_name in + single) + "${_configure[@]}" "${_configure_single[@]}" + ;; + double) + "${_configure[@]}" "${_configure_double[@]}" + ;; + long-double) + "${_configure[@]}" "${_configure_long_double[@]}" + ;; + quad) + "${_configure[@]}" "${_configure_quad[@]}" + ;; + esac + # fix overlinking because of libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ) + done + + for _name in "${_build_types[@]}"; do + make -C $pkgname-$pkgver-$_name + done +} + +check() { + local _name + + for _name in "${_build_types[@]}"; do + make smallcheck -C $pkgname-$pkgver-$_name/tests + done +} + +package_fftw() { + depends=( + bash + gcc-libs + glibc + ) + optdepends=('fftw-openmpi: for OpenMPI integration') + provides=( + libfftw3q_threads.so + libfftw3q_omp.so + libfftw3q.so + libfftw3l_threads.so + libfftw3l_omp.so + libfftw3l.so + libfftw3f_threads.so + libfftw3f_omp.so + libfftw3f.so + libfftw3_threads.so + libfftw3_omp.so + libfftw3.so + ) + + local _name + + for _name in "${_build_types[@]}"; do + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver-$_name + done + ( + cd "$pkgdir" + _pick $pkgbase-openmpi usr/include/fftw3-mpi.h + _pick $pkgbase-openmpi usr/include/fftw3{,l}-mpi.f03 + _pick $pkgbase-openmpi usr/lib/libfftw3{,f,l}_mpi.{a,so} + _pick $pkgbase-openmpi usr/lib/libfftw3{,f,l}_mpi.so.${_soname%%.*} + _pick $pkgbase-openmpi usr/lib/libfftw3{,f,l}_mpi.so.$_soname + ) + install -vDm 644 $pkgname-$pkgver-$_build_types/{AUTHORS,ChangeLog,NEWS,README,TODO} -t "$pkgdir/usr/share/doc/$pkgname" + # install missing FFTW3LibraryDepends.cmake + install -vDm 644 build/FFTW3LibraryDepends.cmake -t "$pkgdir/usr/lib/cmake/fftw3/" +} + +package_fftw-openmpi() { + pkgdesc+=" - OpenMPI libraries" + depends=( + fftw + glibc + openmpi + ) + provides=( + libfftw3l_mpi.so + libfftw3f_mpi.so + libfftw3_mpi.so + ) + + mv -v $pkgname/* "$pkgdir" +} diff --git a/main/fftw/README b/main/fftw/README new file mode 100644 index 00000000..42cbd838 --- /dev/null +++ b/main/fftw/README @@ -0,0 +1,43 @@ +fftw +________________________________________________________________________________ + +A library for computing the discrete Fourier transform (DFT) A library for computing the discrete Fourier transform (DFT) - OpenMPI libraries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fftw | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.fftw.org/ diff --git a/main/fftw/version b/main/fftw/version new file mode 100644 index 00000000..f3e11ab4 --- /dev/null +++ b/main/fftw/version @@ -0,0 +1 @@ +3.3.10 7 diff --git a/main/file/PKGBUILD b/main/file/PKGBUILD new file mode 100644 index 00000000..ea9857be --- /dev/null +++ b/main/file/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=file +pkgver=%version% +pkgrel=%release% +pkgdesc='File type identification utility' +arch=('x86_64') +license=('custom') +url='https://www.darwinsys.com/file/' +depends=('glibc' 'zlib' 'xz' 'bzip2' 'libseccomp' 'libseccomp.so' 'zstd' 'libzstd.so') +provides=('libmagic.so') +options=('!emptydirs') +source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz"{,.asc}) +validpgpkeys=('BE04995BA8F90ED0C0C176C471112AB16CB33B3A') # Christos Zoulas +sha256sums=('fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + + # Fix linking libmagic (vfork needs libpthread) + CFLAGS+=" -pthread" + + ./configure \ + --prefix=/usr \ + --datadir=/usr/share/file \ + --enable-fsect-man5 \ + --enable-libseccomp + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/file/README b/main/file/README new file mode 100644 index 00000000..b9ae08c8 --- /dev/null +++ b/main/file/README @@ -0,0 +1,43 @@ +file +________________________________________________________________________________ + +File type identification utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S file | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.darwinsys.com/file/ diff --git a/main/file/version b/main/file/version new file mode 100644 index 00000000..a4a67053 --- /dev/null +++ b/main/file/version @@ -0,0 +1 @@ +5.45 1 diff --git a/main/filesystem/PKGBUILD b/main/filesystem/PKGBUILD new file mode 100644 index 00000000..cfa13293 --- /dev/null +++ b/main/filesystem/PKGBUILD @@ -0,0 +1,141 @@ +# Maintainer: Developer + +pkgname=filesystem +pkgver=%version% +pkgrel=%release% +pkgdesc='Base Tuxcore files' +arch=('any') +license=('GPL-3.0-or-later') +url='https://tuxcore.org' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty' + 'etc/shadow' 'etc/shells' 'etc/subuid' 'etc/subgid') +source=('crypttab' 'env-generator' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'nsswitch.conf' 'os-release' 'profile' + 'passwd' 'resolv.conf' 'securetty' 'shadow' 'shells' 'sysctl' 'sysusers' + 'tmpfiles' 'subuid' 'subgid' 'tuxcore-logo.svg' 'tuxcore-logo.png' + 'tuxcore-logo-text.svg' 'tuxcore-logo-text-dark.svg' 'tuxcore-logo-dark.png' 'tuxcore-logo-dark.svg' 'config_user' 'polkit_config_user') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +package() { + cd "$pkgdir" + + # setup root filesystem + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0750 root + install -d -m1777 tmp + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + for f in fstab group host.conf hosts issue ld.so.conf nsswitch.conf \ + passwd resolv.conf securetty shells profile subuid subgid; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + + # setup /var + for d in cache local opt log/old lib/misc empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games (gid 50) to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # setup /usr hierarchy + for d in bin include lib share/{misc,pixmaps} src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + install -d usr/lib/ld.so.conf.d + + # add lib symlinks + ln -s usr/lib lib + [[ $CARCH = 'x86_64' ]] && { + ln -s usr/lib lib64 + ln -s lib usr/lib64 + } + + # add bin symlinks + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # setup /usr/local hierarchy + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup systemd-sysctl + install -D -m644 "$srcdir"/sysctl usr/lib/sysctl.d/10-tuxcore.conf + + # setup systemd-sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/tuxcore.conf + + # setup systemd-tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/tuxcore.conf + + # setup systemd.environment-generator + install -D -m755 "$srcdir"/env-generator usr/lib/systemd/system-environment-generators/10-tuxcore + + # add logo + install -D -m644 "$srcdir"/tuxcore-logo{.png,.svg,-text.svg,-text-dark.svg,-dark.png,-dark.svg} usr/share/pixmaps + + # add config user sudoers + install -Dm755 "$srcdir"/config_user -t "$pkgdir/usr/bin" + install -Dm755 "$srcdir"/polkit_config_user -t "$pkgdir/usr/bin" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/filesystem/README b/main/filesystem/README new file mode 100644 index 00000000..8749f2e9 --- /dev/null +++ b/main/filesystem/README @@ -0,0 +1,43 @@ +filesystem +________________________________________________________________________________ + +Base TuxCore files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S filesystem | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tuxcore.org diff --git a/main/filesystem/config_user b/main/filesystem/config_user new file mode 100755 index 00000000..53bdbe3b --- /dev/null +++ b/main/filesystem/config_user @@ -0,0 +1,7 @@ +#!/bin/bash + +hidden_dir="/usr/share/wayland-sessions-hide" + +if [ -d $hidden_dir ]; then + sudo polkit_config_user $hidden_dir +fi \ No newline at end of file diff --git a/main/filesystem/crypttab b/main/filesystem/crypttab new file mode 100644 index 00000000..3dbc8a46 --- /dev/null +++ b/main/filesystem/crypttab @@ -0,0 +1,12 @@ +# Configuration for encrypted block devices. +# See crypttab(5) for details. + +# NOTE: Do not list your root (/) partition here, it must be set up +# beforehand by the initramfs (/etc/mkinitcpio.conf). + +# +# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1 +# data1 /dev/sda3 /etc/mypassword2 +# data2 /dev/sda5 /etc/cryptfs.key +# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/sdb7 none diff --git a/main/filesystem/env-generator b/main/filesystem/env-generator new file mode 100755 index 00000000..5f639140 --- /dev/null +++ b/main/filesystem/env-generator @@ -0,0 +1,3 @@ +#!/bin/sh + +echo 'PATH=/usr/local/sbin:/usr/local/bin:/usr/bin' diff --git a/main/filesystem/fstab b/main/filesystem/fstab new file mode 100644 index 00000000..903906d2 --- /dev/null +++ b/main/filesystem/fstab @@ -0,0 +1,4 @@ +# Static information about the filesystems. +# See fstab(5) for details. + +# diff --git a/main/filesystem/group b/main/filesystem/group new file mode 100644 index 00000000..18acc30a --- /dev/null +++ b/main/filesystem/group @@ -0,0 +1 @@ +root:x:0:root diff --git a/main/filesystem/gshadow b/main/filesystem/gshadow new file mode 100644 index 00000000..3d5d1116 --- /dev/null +++ b/main/filesystem/gshadow @@ -0,0 +1 @@ +root:::root diff --git a/main/filesystem/host.conf b/main/filesystem/host.conf new file mode 100644 index 00000000..f6df15f6 --- /dev/null +++ b/main/filesystem/host.conf @@ -0,0 +1,4 @@ +# Resolver configuration file. +# See host.conf(5) for details. + +multi on diff --git a/main/filesystem/hosts b/main/filesystem/hosts new file mode 100644 index 00000000..37a93061 --- /dev/null +++ b/main/filesystem/hosts @@ -0,0 +1,2 @@ +# Static table lookup for hostnames. +# See hosts(5) for details. diff --git a/main/filesystem/issue b/main/filesystem/issue new file mode 100644 index 00000000..9cae19e1 --- /dev/null +++ b/main/filesystem/issue @@ -0,0 +1,2 @@ +TuxCore \r (\l) + diff --git a/main/filesystem/ld.so.conf b/main/filesystem/ld.so.conf new file mode 100644 index 00000000..a1c05598 --- /dev/null +++ b/main/filesystem/ld.so.conf @@ -0,0 +1,5 @@ +# Dynamic linker/loader configuration. +# See ld.so(8) and ldconfig(8) for details. + +include /etc/ld.so.conf.d/*.conf +include /usr/lib/ld.so.conf.d/*.conf diff --git a/main/filesystem/locale.sh b/main/filesystem/locale.sh new file mode 100644 index 00000000..48dd748d --- /dev/null +++ b/main/filesystem/locale.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# load locale.conf in XDG paths. +# /etc/locale.conf loads and overrides by kernel command line is done by systemd +# But we override it here, see FS#56688 +if [ -z "$LANG" ]; then + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" + elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then + . "$HOME/.config/locale.conf" + elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf + fi +fi + +# define default LANG to C if not already defined +LANG=${LANG:-C} + +# export all locale (7) variables when they exist +export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ + LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ + LC_IDENTIFICATION diff --git a/main/filesystem/nsswitch.conf b/main/filesystem/nsswitch.conf new file mode 100644 index 00000000..1ca05d57 --- /dev/null +++ b/main/filesystem/nsswitch.conf @@ -0,0 +1,19 @@ +# Name Service Switch configuration file. +# See nsswitch.conf(5) for details. + +passwd: files systemd +group: files [SUCCESS=merge] systemd +shadow: files systemd +gshadow: files systemd + +publickey: files + +hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +netgroup: files diff --git a/main/filesystem/os-release b/main/filesystem/os-release new file mode 100644 index 00000000..c4ad3c24 --- /dev/null +++ b/main/filesystem/os-release @@ -0,0 +1,10 @@ +NAME="TuxCore" +PRETTY_NAME="TuxCore" +ID=tuxcore +BUILD_ID=rolling +ANSI_COLOR="38;2;23;147;209" +HOME_URL="https://tuxcore.org/" +DOCUMENTATION_URL="https://www.tuxcore.org/wiki" +SUPPORT_URL="https://tuxcore.org/" +BUG_REPORT_URL="https://tuxcore.org/" +LOGO=tuxcore-logo diff --git a/main/filesystem/passwd b/main/filesystem/passwd new file mode 100644 index 00000000..a929ad42 --- /dev/null +++ b/main/filesystem/passwd @@ -0,0 +1 @@ +root:x:0:0::/root:/usr/bin/bash diff --git a/main/filesystem/polkit_config_user b/main/filesystem/polkit_config_user new file mode 100755 index 00000000..bf851bed --- /dev/null +++ b/main/filesystem/polkit_config_user @@ -0,0 +1,7 @@ +#!/bin/bash + +hidden_dir="/usr/share/wayland-sessions-hide" + +if [ -d $hidden_dir ]; then + mv -f $hidden_dir /usr/share/wayland-sessions +fi \ No newline at end of file diff --git a/main/filesystem/profile b/main/filesystem/profile new file mode 100644 index 00000000..77a774f8 --- /dev/null +++ b/main/filesystem/profile @@ -0,0 +1,48 @@ +# /etc/profile + +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +# Append our default paths +append_path '/usr/local/sbin' +append_path '/usr/local/bin' +append_path '/usr/bin' + +# Force PATH to be environment +export PATH + +# Load profiles from /etc/profile.d +if test -d /etc/profile.d/; then + for profile in /etc/profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi + +# Unload our profile API functions +unset -f append_path + +# Source global bash config, when interactive but not posix or sh mode +if test "$BASH" &&\ + test "$PS1" &&\ + test -z "$POSIXLY_CORRECT" &&\ + test "${0#-}" != sh &&\ + test -r /etc/bash.bashrc +then + . /etc/bash.bashrc +fi + +# Termcap is outdated, old, and crusty, kill it. +unset TERMCAP + +# Man is much better than us at figuring this out +unset MANPATH +config_user diff --git a/main/filesystem/resolv.conf b/main/filesystem/resolv.conf new file mode 100644 index 00000000..7a7d4293 --- /dev/null +++ b/main/filesystem/resolv.conf @@ -0,0 +1,2 @@ +# Resolver configuration file. +# See resolv.conf(5) for details. diff --git a/main/filesystem/securetty b/main/filesystem/securetty new file mode 100644 index 00000000..67fb10cf --- /dev/null +++ b/main/filesystem/securetty @@ -0,0 +1,12 @@ +# File which lists terminals from which root can log in. +# See securetty(5) for details. + +console +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +ttyS0 +hvc0 diff --git a/main/filesystem/shadow b/main/filesystem/shadow new file mode 100644 index 00000000..a8860d1a --- /dev/null +++ b/main/filesystem/shadow @@ -0,0 +1 @@ +root:*:14871:::::: diff --git a/main/filesystem/shells b/main/filesystem/shells new file mode 100644 index 00000000..d983ad21 --- /dev/null +++ b/main/filesystem/shells @@ -0,0 +1,9 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh +/bin/bash +/bin/rbash +/usr/bin/sh +/usr/bin/bash +/usr/bin/rbash diff --git a/main/filesystem/subgid b/main/filesystem/subgid new file mode 100644 index 00000000..e69de29b diff --git a/main/filesystem/subuid b/main/filesystem/subuid new file mode 100644 index 00000000..e69de29b diff --git a/main/filesystem/sysctl b/main/filesystem/sysctl new file mode 100644 index 00000000..cf88cd94 --- /dev/null +++ b/main/filesystem/sysctl @@ -0,0 +1,6 @@ +# Raise inotify resource limits +fs.inotify.max_user_instances = 1024 +fs.inotify.max_user_watches = 524288 + +# Increase the default vm.max_map_count value +vm.max_map_count=1048576 \ No newline at end of file diff --git a/main/filesystem/sysusers b/main/filesystem/sysusers new file mode 100644 index 00000000..0c8ee428 --- /dev/null +++ b/main/filesystem/sysusers @@ -0,0 +1,28 @@ +# default groups +# groups first, because we have user/group id mismatch on ftp and mail +g root 0 - - +g sys 3 - - +g mem 8 - - +g ftp 11 - - +g mail 12 - - +g log 19 - - +g smmsp 25 - - +g proc 26 - - +g games 50 - - +g lock 54 - - +g network 90 - - +g floppy 94 - - +g scanner 96 - - +g power 98 - - + +u bin 1 - - +u daemon 2 - - +u mail 8 - /var/spool/mail +u ftp 14 - /srv/ftp +u http 33 - /srv/http + +m root root +m bin daemon +m bin sys +m daemon adm +m daemon bin diff --git a/main/filesystem/tmpfiles b/main/filesystem/tmpfiles new file mode 100644 index 00000000..04f8d126 --- /dev/null +++ b/main/filesystem/tmpfiles @@ -0,0 +1,18 @@ +# copy from factory when missing + +C /etc/crypttab +C /etc/fstab +C /etc/group +C /etc/gshadow +C /etc/host.conf +C /etc/hosts +C /etc/issue +C /etc/ld.so.conf +C /etc/nsswitch.conf +C /etc/passwd +C /etc/profile +C /etc/securetty +C /etc/shadow +C /etc/shells +C /etc/subuid +C /etc/subgid diff --git a/main/filesystem/tuxcore-logo-dark.png b/main/filesystem/tuxcore-logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c62d1d6dd9f7016fa142181625738790624639b3 GIT binary patch literal 153496 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 h%EbA9iL`g1 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 Ic-gl914jk0I{*Lx literal 0 HcmV?d00001 diff --git a/main/filesystem/tuxcore-logo-dark.svg b/main/filesystem/tuxcore-logo-dark.svg new file mode 100644 index 00000000..868072d2 --- /dev/null +++ b/main/filesystem/tuxcore-logo-dark.svg @@ -0,0 +1,16 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + \ No newline at end of file diff --git a/main/filesystem/tuxcore-logo-text-dark.svg b/main/filesystem/tuxcore-logo-text-dark.svg new file mode 100644 index 00000000..503f1820 --- /dev/null +++ b/main/filesystem/tuxcore-logo-text-dark.svg @@ -0,0 +1,16 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + \ No newline at end of file diff --git a/main/filesystem/tuxcore-logo-text.svg b/main/filesystem/tuxcore-logo-text.svg new file mode 100644 index 00000000..ead1d0a3 --- /dev/null +++ b/main/filesystem/tuxcore-logo-text.svg @@ -0,0 +1,15 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + \ No newline at end of file diff --git a/main/filesystem/tuxcore-logo.png b/main/filesystem/tuxcore-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..388015f98a334780eecd4535b3c4a9d6526fda7d GIT binary patch literal 286435 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 z z?IX3A&)26{eHB(dF!(F&%;iko2H#IXZLRN#Zx;S00H*cS-u#q;Tcq3f0Y&{W-!ZsD zNNDDmz}n59{!PAp2I`7|-&Du~9Z!$~B!QMr26MN)BEi_$Z8Bg`EBK_JC}8Y28wy-A z%LK$cbSo}H%KOiE5n!;f{0YY#uf#A!G(S-2(|(4WpdnQ0f}ZWPqN3Hi-`(3ZfL_}n zAp=tD#SP()_n>>4aFyY|p8&vPB8$Gf+>@8|&vapUxDpq3@XjSyzFdN9%%NpOtJ+qh7NvHoKH^I8`?khv{0S4>0NCif&IyHbukLOxDIac4#T^2low?%!A@&4Dxc|&S zD!0KOK^V81y?!KVKCLUI7~ACO@SqKV6UOzw;g>{)QkAym8fKE6&|=h~O;1=M)r zHC^9dJz8Q7q~rC-UQz%3&LKgUH8)QNCtFJXBTc@CEVk`5ur4s8yO&Ie1o zv<>}0sDP9@?ScF5@B`7Br$Q-2-%J%d$4QSz(Y)V*tZit7`AN5SiqRB?Ye0SeMwJ^_;3OGgH=!^|C{3xk$! z{tEOQ&MoBK1>4Vw1}Mj=6**vW2zkh0h3M1jBsgH7md0uz)rcYOex^H0b?uooATKctd5%KiR}z~ZqCfvc|e+;3|(<*Ig&Kze?3kK+I&0qqjDTR_;gZ zbJP;h6&wkZh>Q<7u;-$9z`zZJ>5elrYxqdaIN8O(uYJM;xsJP&AEGY2uCAs^vSo!1 z8_%~fgvd`gE)XfQ%YbtQ5={~?WZ7$&x5s|U0zu+CdAIxZWhr4JOtnA(eP&1W_RA?b zl?`}U-5)~`Vs6A9oEAXX1KnEJ2Gx;5y*%;@_(dZaa0ysS`;t^A=I4tvmlDB&`M#7y3$)cFEkoTn+|q_fXJ(cLbjpM zg{P^?s_T`as=-RWBP5k_jGPUFs8coXjdM%DX$8*5Yl*Td2W%~Wye@cD)c~3*gfB=t zVEQ!Rk7z$2Zxa1K?)Xh91qeSK5&+JK*~Jk#*<2b4c1XJcK!qXU za?)oaZ%-nLg)Y`IV1(|locWMX1JO6vXLgm?+X~r~0=Du8&AoqMpbm98uMB>1kQ_}k;vZ|~8aBFx6DDk!52z-& zbtF>n!}H7U^+H(pDkztpdq8T+o`#Ze$8^vOF5ku&0NyL%7$RWEMhXbkimg7Dm@V1X z3QTiba1c9tf4rOCI*n90w4nN;kLDH?0qqL@tmZqdOSqL&NXB$`@q{v1m!1t`0+BC= z1O;RzAg^qP5rV5=hU;*vt(c7Jq|{q5J8*vc>HpQ8{e$&6f#|`8nY&7q0NbwjN? z2Nn}BXtU?H>_R!qzjLjl0?_})PyZz{J^A?;Z66=9O6DRWe|=R+2^Aoq;=LV&Nazl~ zPYB>~rsGFXgx@n0jX0AP;L(MM{l5{B;;25`Kd4(ZsKy*~8H0g%a2}=B?IRM9XKHg2 zK<>T-F@)P1s5Vi#n>ui#d!+=TLj#m(PzZhT!*1&1BmZAepZ!WIDm zbvw&ool;B9rtktgF_&u?rp(!rwZQN(lH#48=w-7#Q!O@1?~SdVHhMa*yN|9SA`H}? zeku-m&yS#UZhQly+@>Qq6dtb_$j31c=D8KVTwXsN&Fd!pUpS_Ae<-0dxqazCvg*#MPEjh3O zFl%xcRs$c~%kYXYa?Z$=$4wFJp*l4NcqSuw9Sb)V4F0s8^!vUI4jmZj?tN zDdE$vhXk<>3d)lF#?Y-Z(dQ*mfK3yVl8zcjPMog+X~#xFd8ii|CK^og2^nav0hY(5 zT@}Fea;pk7PzC@T<+!|=2=B<#%TfYH(4=cM8*y?+U`JI?7rnU$z7G%@sP)z(WLJZ~ z&PEoz{@LwBQ7k{r_0wl5vfYg#>t5~{e!*pj=Hvsuby{fL(;Y@qD#HA3rAW9fN3dh&U{8ZQNF~pi`i25-P=i&Yb-OTUIq#wi;|P zyob->D-SL;zrvb!-L5RZE|>%uS4c1Ssx9mm+%`_O5MX>5pyY}yb7^U5sUm*`lLWh_ zJ@T-lYJ?4~Yp}M{>Qr{3>BGWaR&i0?)uyCn|K~X#rW1!*ZUfn1!yi9oMgx{vEB&y@ zpqD)smnLdmp6g!(y%StXOS@jTK0frFtzZ567Q3}PVQGlLFxk4@SB`-3CjJv28O%L( zUrin%$+aK|h*&dXsOAwE1wR2aF)t%bYzRR{qMv?+5BeFZD&^RU0u4ZW7^w68QX5pz z%7$-P)So(}f!tn$_4X^`np3#;Ui_h&ssX$CAO#4?Tv2EV@EO2n7^A8?=sC3l%rUlt zLP9B5>ClNR^oUqC)`M;A1GDgrSB2P7Kc%cV(D81-eve3p$>K!~_2CoB zefiT7pA+fml8%#&wa#kEb({h^S4u}pRu-&(wHFqvdOra8KZtG&+#P_G9g289uaOrp zI2Q;Jc(nn402KhEiDCnk;-F&QnNtLXXaL+Qz9wM8!j3jaEueYt1t?iwPb-p~Ok|@o zh)9^$cgR@|uM)sAekBD{F(#hxMEDcfkSc`zv3Xeez=3195Co=yO1rLB@B?nwAnHV& z7rsUq9ug9pvM^Ibocd860I2|*d!H+8I~;rFJrTdwZ3I3ecRY_%joFDBO#$Wvtoo;r zr9a=yhw<+s9nw@-KQ8-g)sMX~Jcav;M%bc;t4&$U>j3d#)=W-L9^U}p1sD{EYRtWV zJyBQkA27E2QQ1O$LHHX2%`Rj5sU;Nv7!KgQ*v@}1WT%Z1?2 ziDz>Nst0UUWnb5pd&Tql;eEXh$23w@^OTQua-?DI3vWG`4Duo60Id}9q-xhtaw_oDog&M1DrG^9_B1yUjzGGhAwCb+l2TBy}e;7goJvF9tHZU z0S43Bd>SazFhWx~qq*w<2B>F`nJFYexlXtRgz~Dw)4XFSpZVOB@E=}-=5~nX&{H&p zjgR<*!o22Mhu|^dmuO6XlHavGeYbOFF1Ik9DXIzfFs}_V1kz|q)}q5)R~jPU6->!Z zbmbZX7`(z~0_T}xXlN*d7y+_?U)>x<6rUmI%FY=|4*9C2Lwr?@cA8XS*WUK3>>>D1 zWns6jC=INNufoH_(*OgN>cNIj629(lbXMGb=n7FMQ9>Cr)Q8U=?0$;ODvAAU>$O&S zHgnWC%zveB0$)C7G%2T>Kdg^l>wu^O#RW1Kbah1#e=X%_pWXR`c&3<%7KeLLq1$gj zT4;#;AdUGlX4J17hmfBHoI4<2{(KIhJcKmw!P8fRg~o2&*}Ylt>D~JN#(lFhP1Dh6HH7zC(au)MCl0}MB z!C&M;!7Myv1G<}O|KQ-}U3PU0V=IaNOr0pqAIFK4C4dIEE0uc86Lh;Jj*bXcVys5* zE?1rnQo67Zh&ic1r@Zv#2G7nkK%^t*pd11VAlz{Yd@BcU0if@1(gbg{aLEqaFsK_a zLXN=yX7dQhC&+QeJ(wAv<^UB_vMMcraH>_J_tV3{i~zGruN06ECMG8O78cYfXz8FL z-FV~1gEVa|PDBZa=ko+=VvZ_)xMdi?`2rD1Z2i_3stW)-uLtgK?AHJapa4Ftm^F-yCi9%fulClxEF9JF z3yp*wL}xlR`z5uqAEuHTSEOQsE44|RpMeCWYCs=uburl%)>iw!hBK->N3Oc7v2^DXDmKW>tkWZM(r<=U`Q+*|d2ygAH{ z6138R*b9HQnvva?ZeU+pv?+1A^-wL+gV(y%FCZ%huWRqjQXfDrIR%cT8122pBpoQk zc)0UkxSW_rpL&8f;j)b*(c(0JE6))OCZ+-%X}@3R(q?_`Ml#b8Sr}wtNkcG+KCTdt z%)toB@*FDPW|WTt=aCCw05dQ&WZwJ!wv_G5CP$l<8pyIGqxh3&(jgv7BYU4&=b(jy zARlauKY|LBW+kwjb*GSELbKq^Ww5URLX z_GMbs-X!VRte3-HqW_+J#6vl9T)@rSdZw?`lD%_{q&3YcuA zJZisd#=OAv|2~7Ww7*n~Thmte+EOJ|w`-SdIL_DvkpugxoUu0zAYdeQ*c^v>9{;D$1fdqYw&47~x<>=_BZ)w@|_o(po z)pU4vK@-Pp$y7kJ56f#4()G);G2Vb?Js{_^JkEMb?cvj^R%X*L?B_jxMF8&g5>kIs z;FJoEzx7|A61^9X53ad|d2kwX?@WVj!sb?@An0QN z1>G`OhS@+}s=;KDx8t4px0 z6j*^2K0A1J+u=E?RaU#3O^1rV5GoW8n$Xw;yyF6X2&6Cm8DERkt$Nfu6j`?)ubF(s z+U&JKFHo09Yr=kOLnFMb0lT1C9PS_Jy3B*Nr)4+rgEWmxIkmOt<-Q{a@O9wDGc$U+ z?zki%YaLEPs$)mLNtMh6wYf(-uFA)f==8n<2>@B9V%b|S3sx*IDZ$#?NxzMnJEOf| z=&T(X5+--H1Z0{;z97*H0<1?-DkN5*1nPQyt^j|cq5NX4b>%6HvGMRwnPpQQvZgqL zREqgXx>HJfNRTKWl+n_m2rU=(EWNjYr&mX8(igs@O4@Ze%dnZQ)FzS-Zm^*FZ^*5l z+B0S;-4*NbSU#WcU?RRr9$ZRvW4`iHWRQG|IJ)Nc55hVGo9v$_2qT+XQ6W)PUEM6D z1M6<%y9fTcPNdllp2!9ptd%Q|eL2DdBwsZrVFk$$F`qL_s>;9&)s)5|laOu!P&C_VC2Y1OaMQ4_cIALAN`5phw#sxBj<7jOGyX@2(#p zZ5miKozd^8pu}K0*xTl%PSCknaDGKm1(!x$y)nUE22&A8cxHpsJQO%-ak67aS@Gdu zftw;gETENx)W2wb2zc-Q>}F$6PfzIIzkib~#MocLBHPY60xiMCr+Y0b;YmE-(ZU5> zlbTXi1U!!}gkltT=y^eBWai$w4ox1b44cZZ>Gw~(RnXC>Vg~mTtb%~skGs8QZn=D7 z_ru5MMMbzza}@zfT!_iE>8D4Bh~00n3oret>eXGU{KZIDBGQ|uQ@n-To-cBH;J{rd zfK_;-+R|d?;|~_x_#?=_CEpH;?2>YS>k|uuOki;CMNztaPp|_i-}+=j54a!RR($q4 z?vapvZCL$!p^FpB@T8A|1>-oa@i@GS#G|iX<}{zJ9t_$bG2UdS5tS8 zLG*5zeNk04HN2d0w-)*e`(?kowb+U^to87q99uu4x9U!5&;wByniq~+o>ROd| zW_L`x-K}AZV1Pz5QKOx!g;)6E5o$6K@lrhidUAacOkSch9<1nXELNt#%CQQOle(;_NmfR6JkO72%fnalw_XEVHm@)3qo{c+@g9lVM|3g~r80kCcnc1HWD+Z zstJc9hH?oN7RUv_Xh_l-!9^M;$4Dq6TsRp4*O|b+RhsvV$9b?}!36a^tMj%yTpFiW z3ze)H_#9=VK#c+Y+@lsV(67s%0AkM$>-#`iG!>qjI1)K9gzQy9Y*dy*py^rufPbDm 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 ai + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + \ No newline at end of file diff --git a/main/filesystem/version b/main/filesystem/version new file mode 100644 index 00000000..e2aec43f --- /dev/null +++ b/main/filesystem/version @@ -0,0 +1 @@ +2024.04.07 2 diff --git a/main/findutils/.PKGINFO b/main/findutils/.PKGINFO new file mode 100644 index 00000000..a66d2910 --- /dev/null +++ b/main/findutils/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = findutils +pkgbase = findutils +xdata = pkgtype=pkg +pkgver = 4.10.0-1 +pkgdesc = GNU utilities to locate files +url = https://www.gnu.org/software/findutils/ +builddate = 1718491474 +packager = Developer +size = 1789917 +arch = x86_64 +license = GPL-3.0-or-later +depend = glibc +depend = sh diff --git a/main/findutils/PKGBUILD b/main/findutils/PKGBUILD new file mode 100644 index 00000000..6503e499 --- /dev/null +++ b/main/findutils/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=findutils +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU utilities to locate files" +arch=('x86_64') +license=('GPL3') +depends=('glibc' 'sh') +url='https://www.gnu.org/software/findutils/' +source=("https://ftp.gnu.org/pub/gnu/findutils/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha256sums=('a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe' + 'SKIP') +validpgpkeys=('A5189DB69C1164D33002936646502EF796917195') # Bernhard Voelker + +build() { + cd ${pkgname}-${pkgver} + + # Don't build or install locate because we use mlocate, + # which is a secure version of locate. + sed -e '/^SUBDIRS/s/locate//' -e 's/frcode locate updatedb//' -i Makefile.in + + ./configure --prefix=/usr + # don't build locate, but the docs want a file in there. + make -C locate dblocation.texi + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} diff --git a/main/findutils/README b/main/findutils/README new file mode 100644 index 00000000..b823968f --- /dev/null +++ b/main/findutils/README @@ -0,0 +1,43 @@ +findutils +________________________________________________________________________________ + +GNU utilities to locate files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S findutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/findutils/ diff --git a/main/findutils/version b/main/findutils/version new file mode 100644 index 00000000..9e06d17d --- /dev/null +++ b/main/findutils/version @@ -0,0 +1 @@ +4.10.0 1 diff --git a/main/firefox/.PKGINFO b/main/firefox/.PKGINFO new file mode 100644 index 00000000..da1ed8b2 --- /dev/null +++ b/main/firefox/.PKGINFO @@ -0,0 +1,68 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = firefox +pkgbase = firefox +xdata = pkgtype=pkg +pkgver = 127.0-1 +pkgdesc = Standalone web browser from mozilla.org +url = https://www.mozilla.org/firefox/ +builddate = 1718491475 +packager = Developer +size = 252506736 +arch = x86_64 +license = MPL-2.0 +depend = alsa-lib +depend = at-spi2-core +depend = bash +depend = cairo +depend = dbus +depend = ffmpeg +depend = fontconfig +depend = freetype2 +depend = gcc-libs +depend = gdk-pixbuf2 +depend = glib2 +depend = glibc +depend = gtk3 +depend = hicolor-icon-theme +depend = libpulse +depend = libx11 +depend = libxcb +depend = libxcomposite +depend = libxdamage +depend = libxext +depend = libxfixes +depend = libxrandr +depend = libxss +depend = libxt +depend = mime-types +depend = nspr +depend = nss +depend = pango +depend = ttf-font +optdepend = hunspell-en_US: Spell checking, American English +optdepend = libnotify: Notification integration +optdepend = networkmanager: Location detection via available WiFi networks +optdepend = speech-dispatcher: Text-to-Speech +optdepend = xdg-desktop-portal: Screensharing with Wayland +makedepend = cbindgen +makedepend = clang +makedepend = diffutils +makedepend = imake +makedepend = inetutils +makedepend = jack +makedepend = lld +makedepend = llvm +makedepend = mesa +makedepend = nasm +makedepend = nodejs +makedepend = python +makedepend = rust +makedepend = unzip +makedepend = wasi-compiler-rt +makedepend = wasi-libc +makedepend = wasi-libc++ +makedepend = wasi-libc++abi +makedepend = xorg-server-xvfb +makedepend = yasm +makedepend = zip diff --git a/main/firefox/PKGBUILD b/main/firefox/PKGBUILD new file mode 100644 index 00000000..fd4b1aaa --- /dev/null +++ b/main/firefox/PKGBUILD @@ -0,0 +1,263 @@ +# Maintainer: Developer + +pkgname=firefox +pkgver=%version% +pkgrel=%release% +pkgdesc="Standalone web browser from mozilla.org" +url="https://www.mozilla.org/firefox/" +arch=(x86_64) +license=(MPL-2.0) +depends=( + dbus + ffmpeg + gtk3 + libpulse + libxss + libxt + mime-types + nss + ttf-font +) +makedepends=( + cbindgen + clang + diffutils + imake + inetutils + jack + lld + llvm + mesa + nasm + nodejs + python + rust + unzip + wasi-compiler-rt + wasi-libc + wasi-libc++ + wasi-libc++abi + xorg-server-xvfb + yasm + zip +) +optdepends=( + 'hunspell-en_US: Spell checking, American English' + 'libnotify: Notification integration' + 'networkmanager: Location detection via available WiFi networks' + 'pulseaudio: Audio support' + 'speech-dispatcher: Text-to-Speech' + 'xdg-desktop-portal: Screensharing with Wayland' +) +options=( + !emptydirs + !lto + !makeflags +) +source=( + https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc} + $pkgname.desktop + identity-icons-brand.svg +) +validpgpkeys=( + # Mozilla Software Releases + # https://blog.mozilla.org/security/2023/05/11/updated-gpg-key-for-signing-firefox-releases/ + 14F26682D0916CDD81E37B6D61B7B526D98F0353 +) +sha256sums=('a6526d3540e19c8875cb7364e4490436c189478d375c4cb5216b0414e4b2d91c' + 'SKIP' + '1f241fdc619f92a914c75aece7c7c717401d7467c9a306458e106b05f34e5044' + 'a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9') +b2sums=('eaa35c3967514cb9f9ca48e32414bdecead3147a3d5ba8e9648be32f04b5d9e209ce71e02029851e1654c66d5cefd9a7b1a2a0fa68558a856c2ae3b1112d04d6' + 'SKIP' + 'd07557840097dd48a60c51cc5111950781e1c6ce255557693bd11306c7a9258b2a82548329762148f117b2295145f9e66e0483a18e2fe09c5afcffed2e4b8628' + '63a8dd9d8910f9efb353bed452d8b4b2a2da435857ccee083fc0c557f8c4c1339ca593b463db320f70387a1b63f1a79e709e9d12c69520993e26d85a3d742e34') + +# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact foutrelis@archlinux.org for +# more information. +_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM + +# Mozilla API keys (see https://location.services.mozilla.com/api) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact heftig@archlinux.org for +# more information. +_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a + +prepare() { + mkdir mozbuild + cd firefox-$pkgver + + echo -n "$_google_api_key" >google-api-key + echo -n "$_mozilla_api_key" >mozilla-api-key + + cat >../mozconfig <.mozconfig ../mozconfig - <.mozconfig ../mozconfig - < + + diff --git a/main/firefox/upload-symbol-archive b/main/firefox/upload-symbol-archive new file mode 100755 index 00000000..059a399c --- /dev/null +++ b/main/firefox/upload-symbol-archive @@ -0,0 +1,25 @@ +#!/bin/bash -e + +die() { + echo >&2 "$@" + exit 1 +} + +(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..." +token="$1" +shift + +[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token@Q}" + +for zip; do + [[ $(file -SEbi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip@Q}" +done + +for zip; do + echo >&2 "Uploading ${zip@Q} ..." + curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \ + --retry 4 --retry-connrefused --connect-timeout 120 \ + https://symbols.mozilla.org/upload/ + echo + mv -v "$zip" "$zip.uploaded" +done diff --git a/main/firefox/version b/main/firefox/version new file mode 100644 index 00000000..b705d7f8 --- /dev/null +++ b/main/firefox/version @@ -0,0 +1 @@ +127.0 1 diff --git a/main/flac/PKGBUILD b/main/flac/PKGBUILD new file mode 100644 index 00000000..83f044f6 --- /dev/null +++ b/main/flac/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=flac +pkgname=('flac' 'flac-doc') +pkgver=%version% +pkgrel=%release% +pkgdesc='Free Lossless Audio Codec' +url='https://xiph.org/flac/' +arch=('x86_64') +license=('BSD' 'GPL') +depends=('gcc-libs' 'libogg') +makedepends=('nasm' 'cmake' 'ninja' 'doxygen') +source=(https://github.com/xiph/flac/releases/download/${pkgver}/flac-${pkgver}.tar.xz) +b2sums=('c4f441aeaa0493433347b8a110ca01865fd40d5b21150174372af2fee4fa5c3397a67add31138e92999eab9d9abe6c46a5ac29e13cbac60093fbff6d7a672ad3') + +# https://github.com/xiph/flac/releases +sha256sums=('6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70') + +prepare() { + cd flac-${pkgver} + + # Shorten tests + sed -i 's/FLAC__TEST_LEVEL=1/FLAC__TEST_LEVEL=0/' test/CMakeLists.txt +} + +build() { + cmake -S flac-${pkgver} -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -DINSTALL_MANPAGES=ON \ + -DWITH_STACK_PROTECTOR=OFF \ + -DNDEBUG=ON + cmake --build build + + # Build docs and place them where install expects them + cmake --build build --target FLAC-doxygen + mv build/doc/doxytmp/html flac-${pkgver}/doc/api +} + +check() { + cd build + ctest --output-on-failure --stop-on-failure -j1 +} + +package_flac() { + provides=('libFLAC.so' 'libFLAC++.so') + + DESTDIR="${pkgdir}" cmake --install build + + install -Dm 644 flac-${pkgver}/src/*/*.m4 -t "${pkgdir}/usr/share/aclocal" + + mkdir -p doc/usr/share + mv {"${pkgdir}",doc}/usr/share/doc + + install -Dm 644 flac-${pkgver}/COPYING.Xiph -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_flac-doc() { + pkgdesc+=' documentation' + depends=() + + mv doc/* "$pkgdir" + + install -Dm 644 flac-${pkgver}/COPYING.Xiph -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/flac/README b/main/flac/README new file mode 100644 index 00000000..52019365 --- /dev/null +++ b/main/flac/README @@ -0,0 +1,43 @@ +flac +________________________________________________________________________________ + +Free Lossless Audio Codec Free Lossless Audio Codec documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S flac | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xiph.org/flac/ diff --git a/main/flac/version b/main/flac/version new file mode 100644 index 00000000..f995c269 --- /dev/null +++ b/main/flac/version @@ -0,0 +1 @@ +1.4.3 1 diff --git a/main/flex/PKGBUILD b/main/flex/PKGBUILD new file mode 100644 index 00000000..d0f1b6df --- /dev/null +++ b/main/flex/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=flex +pkgver=%version% +pkgrel=%release% +pkgdesc="A tool for generating text-scanning programs" +arch=('x86_64') +url="https://github.com/westes/flex" +license=('custom') +depends=('glibc' 'm4' 'sh') +makedepends=('help2man') +source=( + "https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"{,.sig} + "flex-pie.patch" +) +sha256sums=('e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995' + 'SKIP' + '20f3cce6b0ea6ab67a902a46b89c292b959994dedcbe6ee5d187f9bba1408b0e') +validpgpkeys=('56C67868E93390AA1039AD1CE4B29C8D64885307') # Will Estes + +prepare() { + cd "$pkgname-$pkgver" + patch -p1 -i "$srcdir"/flex-pie.patch + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + make -k check -C $pkgname-$pkgver +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + ln -s flex "${pkgdir}/usr/bin/lex" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/license.txt" +} diff --git a/main/flex/README b/main/flex/README new file mode 100644 index 00000000..a5744c89 --- /dev/null +++ b/main/flex/README @@ -0,0 +1,43 @@ +flex +________________________________________________________________________________ + +A tool for generating text-scanning programs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S flex | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/westes/flex diff --git a/main/flex/flex-pie.patch b/main/flex/flex-pie.patch new file mode 100644 index 00000000..90956263 --- /dev/null +++ b/main/flex/flex-pie.patch @@ -0,0 +1,39 @@ +This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other +architectures where `size_t' is larger than `int'. The failure occurs as +follows: + +A missing `reallocarray' prototype during compilation means that the +compiler assumes an `int' return type. When compiling with `-pie' (standard +for Fedora), addresses on the heap can be larger than `int' can store. Thus, +pointers returned from `reallocarray' are truncated and any read/write to +them leads to a SIGSEGV. + +From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001 +From: Explorer09 +Date: Mon, 4 Sep 2017 10:47:33 +0800 +Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac. + +This would, e.g. define _GNU_SOURCE in config.h, enabling the +reallocarray() prototype in glibc 2.26+ on Linux systems with that +version of glibc. + +Fixes #241. +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,10 @@ + # autoconf requirements and initialization + + AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) ++AC_PREREQ([2.60]) + AC_CONFIG_SRCDIR([src/scan.l]) + AC_CONFIG_AUX_DIR([build-aux]) ++AC_USE_SYSTEM_EXTENSIONS + LT_INIT + AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) + AC_CONFIG_HEADER([src/config.h]) diff --git a/main/flex/version b/main/flex/version new file mode 100644 index 00000000..ff938586 --- /dev/null +++ b/main/flex/version @@ -0,0 +1 @@ +2.6.4 5 diff --git a/main/fmt/.PKGINFO b/main/fmt/.PKGINFO new file mode 100644 index 00000000..341948af --- /dev/null +++ b/main/fmt/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.0.2 +# using fakeroot version 1.32.2 +pkgname = fmt +pkgbase = fmt +pkgver = 10.2.0-1 +pkgdesc = Open-source formatting library for C++ +url = https://fmt.dev +builddate = 1712456246 +packager = Developer +size = 1658573 +arch = x86_64 +license = MIT +provides = libfmt.so=10-64 +depend = gcc-libs +makedepend = cmake +makedepend = doxygen +makedepend = git +makedepend = ninja +makedepend = npm +makedepend = python-breathe +makedepend = python-docutils +makedepend = python-jinja +makedepend = python-six +makedepend = python-sphinx +makedepend = python-wheel diff --git a/main/fmt/PKGBUILD b/main/fmt/PKGBUILD new file mode 100644 index 00000000..6fb42791 --- /dev/null +++ b/main/fmt/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fmt +pkgver=%version% +pkgrel=%release% +pkgdesc='Open-source formatting library for C++' +arch=(x86_64) +url=https://fmt.dev +license=(MIT) +depends=(gcc-libs) +makedepends=( + cmake + doxygen + git + ninja + npm + python-breathe + python-docutils + python-jinja + python-six + python-sphinx + python-wheel +) +provides=(libfmt.so) +_tag=67c0c0c09cf74d407d71a29c194761981614df3e +source=( + git+https://github.com/fmtlib/fmt.git#tag=${_tag} + fmt-no-pip-no-virtualenv.patch + fmt-10.0.0-sphinx.patch +) +b2sums=('SKIP' + '0bc421afdc4c2527525ce2e21740c9f72e05431394fb4710c1a8fa6d3bb2ee20d0630e2a76ddbac3c0ba27c1ab08f0c8e27d060def1370721b1c94246cbbf0ff' + '4eabdf38317e22e6b650b91821f1fab50bb3641e4f9a63847cb9b823becd3a4106fe47df37c8dc886f5fe1d1d3e529136c867459105df07c359582214d6fa01f') + +prepare() { + cd fmt + patch -Np1 -i ../fmt-no-pip-no-virtualenv.patch + patch -Np1 -i ../fmt-10.0.0-sphinx.patch +} + +pkgver() { + cd fmt + git describe --tags +} + +build() { + cmake -S fmt -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=ON + cmake --build build + cmake --build build --target doc +} + +check() { + cmake --build build --target test +} + +package() { + DESTDIR="${pkgdir}" cmake --build build --target install + install -Dm 644 fmt/LICENSE -t "${pkgdir}"/usr/share/licenses/fmt/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/fmt/README b/main/fmt/README new file mode 100644 index 00000000..76943375 --- /dev/null +++ b/main/fmt/README @@ -0,0 +1,43 @@ +fmt +________________________________________________________________________________ + +Open-source formatting library for C++ + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fmt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://fmt.dev diff --git a/main/fmt/fmt-10.0.0-sphinx.patch b/main/fmt/fmt-10.0.0-sphinx.patch new file mode 100644 index 00000000..eecf8e5f --- /dev/null +++ b/main/fmt/fmt-10.0.0-sphinx.patch @@ -0,0 +1,13 @@ +diff --git i/doc/basic-bootstrap/layout.html w/doc/basic-bootstrap/layout.html +index 5519c4b5..c6794102 100644 +--- i/doc/basic-bootstrap/layout.html ++++ w/doc/basic-bootstrap/layout.html +@@ -102,7 +102,7 @@ + {%- endmacro %} + + {%- macro css() %} +- ++ + + {%- for cssfile in css_files %} + diff --git a/main/fmt/fmt-no-pip-no-virtualenv.patch b/main/fmt/fmt-no-pip-no-virtualenv.patch new file mode 100644 index 00000000..21a9a570 --- /dev/null +++ b/main/fmt/fmt-no-pip-no-virtualenv.patch @@ -0,0 +1,61 @@ +diff '--color=auto' -rupN fmt.orig/doc/build.py fmt/doc/build.py +--- fmt.orig/doc/build.py 2024-01-04 17:40:34.014213222 +0100 ++++ fmt/doc/build.py 2024-01-04 17:41:48.775161340 +0100 +@@ -11,34 +11,6 @@ versions = [ + '7.1.3', '8.0.0', '8.0.1', '8.1.0', '8.1.1', '9.0.0', '9.1.0'] + versions += ['10.0.0', '10.1.0', '10.1.1', '10.1.1', '10.2.0'] + +-class Pip: +- def __init__(self, venv_dir): +- self.path = os.path.join(venv_dir, 'bin', 'pip') +- +- def install(self, package, commit=None): +- "Install package using pip." +- if commit: +- package = 'git+https://github.com/{0}.git@{1}'.format(package, commit) +- print('Installing {0}'.format(package)) +- check_call([self.path, 'install', package]) +- +-def create_build_env(venv_dir='virtualenv'): +- # Create virtualenv. +- if not os.path.exists(venv_dir): +- check_call(['python3', '-m', 'venv', venv_dir]) +- # Install Sphinx and Breathe. Require the exact version of Sphinx which is +- # compatible with Breathe. +- pip = Pip(venv_dir) +- pip.install('wheel') +- pip.install('six') +- # See: https://github.com/sphinx-doc/sphinx/issues/9777 +- pip.install('docutils==0.17.1') +- # Jinja2 >= 3.1 incompatible with sphinx 3.3.0 +- # See: https://github.com/sphinx-doc/sphinx/issues/10291 +- pip.install('Jinja2<3.1') +- pip.install('sphinx==3.3.0') +- pip.install('michaeljones/breathe', 'v4.25.0') +- + def build_docs(version='dev', **kwargs): + doc_dir = kwargs.get('doc_dir', os.path.dirname(os.path.realpath(__file__))) + work_dir = kwargs.get('work_dir', '.') +@@ -103,13 +75,14 @@ def build_docs(version='dev', **kwargs): + + html_dir = os.path.join(work_dir, 'html') + main_versions = reversed(versions[-3:]) +- check_call([os.path.join(work_dir, 'virtualenv', 'bin', 'sphinx-build'), ++ check_call(['sphinx-build', + '-Dbreathe_projects.format=' + os.path.abspath(doxyxml_dir), + '-Dversion=' + version, '-Drelease=' + version, + '-Aversion=' + version, '-Aversions=' + ','.join(main_versions), + '-b', 'html', doc_dir, html_dir]) + try: +- check_call(['lessc', '--verbose', '--clean-css', ++ check_call(['npm', 'install', 'less', 'less-plugin-clean-css']) ++ check_call(['npx', 'lessc', '--verbose', '--clean-css', + '--include-path=' + os.path.join(doc_dir, 'bootstrap'), + os.path.join(doc_dir, 'fmt.less'), + os.path.join(html_dir, '_static', 'fmt.css')]) +@@ -122,5 +95,4 @@ def build_docs(version='dev', **kwargs): + return html_dir + + if __name__ == '__main__': +- create_build_env() + build_docs(sys.argv[1]) diff --git a/main/fmt/version b/main/fmt/version new file mode 100644 index 00000000..1564eb7c --- /dev/null +++ b/main/fmt/version @@ -0,0 +1 @@ +10.2.0 1 diff --git a/main/fontconfig/.nvchecker.toml b/main/fontconfig/.nvchecker.toml new file mode 100644 index 00000000..1d2bb132 --- /dev/null +++ b/main/fontconfig/.nvchecker.toml @@ -0,0 +1,5 @@ +[fontconfig] +source = "gitlab" +gitlab = "fontconfig/fontconfig" +host = "gitlab.freedesktop.org" +use_max_tag = true diff --git a/main/fontconfig/40-fontconfig-config.hook b/main/fontconfig/40-fontconfig-config.hook new file mode 100644 index 00000000..41c058cd --- /dev/null +++ b/main/fontconfig/40-fontconfig-config.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Remove +Target = usr/share/fontconfig/conf.default/* + +[Action] +Description = Updating fontconfig configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/40-fontconfig-config /etc/fonts/conf.d +NeedsTargets diff --git a/main/fontconfig/40-fontconfig-config.script b/main/fontconfig/40-fontconfig-config.script new file mode 100644 index 00000000..132f0f9f --- /dev/null +++ b/main/fontconfig/40-fontconfig-config.script @@ -0,0 +1,12 @@ +#!/bin/bash + +while read -r f; do + link="${1:?}/${f##*/}" + if [[ -e $f && ! -e $link ]]; then + ln -sT "/$f" "$link" + elif [[ ! -e $f && -L $link ]]; then + rm -f "$link" + fi +done + +# vim:set sw=2 et: diff --git a/main/fontconfig/PKGBUILD b/main/fontconfig/PKGBUILD new file mode 100644 index 00000000..87310688 --- /dev/null +++ b/main/fontconfig/PKGBUILD @@ -0,0 +1,91 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fontconfig +pkgver=%version% +pkgrel=%release% +epoch=2 +pkgdesc="Library for configuring and customizing font access" +url=https://www.freedesktop.org/wiki/Software/fontconfig/ +arch=(x86_64) +license=(custom) +depends=( + expat + freetype2 +) +makedepends=( + docbook-sgml + docbook-utils + git + gperf + meson + perl-sgmls +) +provides=(fontconfig-docs) +conflicts=(fontconfig-docs) +replaces=('fontconfig-docs<2:2.13.93-1') +backup=(etc/fonts/fonts.conf) +install=fontconfig.install +_commit=72b9a48f57de6204d99ce1c217b5609ee92ece9b # tags/2.15.0^0 +source=( + "git+https://gitlab.freedesktop.org/fontconfig/fontconfig.git#commit=$_commit" + 40-fontconfig-config.script + 40-fontconfig-config.hook + fontconfig.hook +) +b2sums=('SKIP' + '7fb63e76ab126bc0a7decfd74c53429ad1ce6d13de2f14037259616d8d4150b8fa4601c7f02b75918ccd5995d424816dc9d01a5fe7e39dc3dd1fcc83dfdb0fe8' + 'b06b3f2b8c0c38139a9247c26a641e6dc01d50b530478dd14133175a603f60b0af901af16c9fcf1ce73d23786ea14bfdbacd39f1dcfd88f6382965ad22be1411' + 'dfbf47c069c88da7687511356cef5bb94b7190e558a6f08390d6976fa7065ba7137ccb0a5ca1defdef655091afe74eb8a3d33fb9f3e0633409aa79f753ad276d') +validpgpkeys=( + F77A64C4B5B45FF8763A278F65755979B34E1294 # Akira TAGOH +) + +prepare() { + cd fontconfig +} + +pkgver() { + cd fontconfig + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +build() { + local meson_options=( + -D default-hinting=slight + -D default-sub-pixel-rendering=rgb + -D doc-html=enabled + -D doc-pdf=disabled + -D doc-txt=disabled + ) + arch-meson fontconfig build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + depends+=( + libexpat.so + libfreetype.so + ) + provides+=(libfontconfig.so) + + meson install -C build --destdir "$pkgdir" + + # Handle conf.d using the hook to avoid overwriting the symlinks on upgrade + mkdir -p "$pkgdir/usr/share/fontconfig/conf.default" + for _f in "$pkgdir"/etc/fonts/conf.d/*.conf; do + ln -sr "$pkgdir"/usr/share/fontconfig/conf.{avail,default}/"${_f##*/}" + rm "$_f" + done + + install -Dm644 *.hook -t "$pkgdir/usr/share/libalpm/hooks" + install -D 40-fontconfig-config.script \ + "$pkgdir/usr/share/libalpm/scripts/40-fontconfig-config" + install -Dm644 fontconfig/COPYING -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/fontconfig/README b/main/fontconfig/README new file mode 100644 index 00000000..19cc94bd --- /dev/null +++ b/main/fontconfig/README @@ -0,0 +1,43 @@ +fontconfig +________________________________________________________________________________ + +Library for configuring and customizing font access + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fontconfig | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/fontconfig/ diff --git a/main/fontconfig/fontconfig.hook b/main/fontconfig/fontconfig.hook new file mode 100644 index 00000000..c1d93b41 --- /dev/null +++ b/main/fontconfig/fontconfig.hook @@ -0,0 +1,14 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = etc/fonts/conf.d/* +Target = usr/share/fonts/* +Target = usr/share/fontconfig/conf.avail/* +Target = usr/share/fontconfig/conf.default/* + +[Action] +Description = Updating fontconfig cache... +When = PostTransaction +Exec = /usr/bin/fc-cache -s diff --git a/main/fontconfig/fontconfig.install b/main/fontconfig/fontconfig.install new file mode 100644 index 00000000..f569a4a6 --- /dev/null +++ b/main/fontconfig/fontconfig.install @@ -0,0 +1,26 @@ +post_upgrade() { + if (( $(vercmp $2 2:2.13.93-1) < 0 )); then + echo "Creating fontconfig configuration..." + find usr/share/fontconfig/conf.default -mindepth 1 | + /usr/share/libalpm/scripts/40-fontconfig-config /etc/fonts/conf.d + + (( $(vercmp $2 0) > 0 )) && cat <>> If you have configured NoExtract to prevent symlinks in /etc/fonts/conf.d/ + from being restored, these symlinks have been recreated one last time. You + can now delete the symlinks and remove the paths from NoExtract and they + will not be created again. + +END + fi + + # a full forced directory scan is required here + echo "Rebuilding fontconfig cache..." + /usr/bin/fc-cache -rs +} + +post_install() { + post_upgrade $1 0 +} + +# vim:set sw=2 et: diff --git a/main/fontconfig/version b/main/fontconfig/version new file mode 100644 index 00000000..0bfe8e1a --- /dev/null +++ b/main/fontconfig/version @@ -0,0 +1 @@ +2.15.0 2 diff --git a/main/foot/.PKGINFO b/main/foot/.PKGINFO new file mode 100644 index 00000000..c07d146b --- /dev/null +++ b/main/foot/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = foot-terminfo +pkgbase = foot +xdata = pkgtype=split +pkgver = 1.17.2-1 +pkgdesc = Extra non-standard terminfo files for foot, a Wayland terminal emulator +url = https://codeberg.org/dnkl/foot +builddate = 1713662677 +packager = Developer +size = 8956 +arch = x86_64 +license = MIT +backup = etc/xdg/foot/foot.ini +depend = ncurses +optdepend = libutempter: utmp logging +makedepend = fcft +makedepend = fontconfig +makedepend = libutf8proc +makedepend = libxkbcommon +makedepend = llvm +makedepend = meson +makedepend = ncurses +makedepend = ninja +makedepend = pixman +makedepend = python +makedepend = scdoc +makedepend = sway +makedepend = tllist +makedepend = wayland +makedepend = wayland-protocols diff --git a/main/foot/.nvchecker.toml b/main/foot/.nvchecker.toml new file mode 100644 index 00000000..46d0d9e7 --- /dev/null +++ b/main/foot/.nvchecker.toml @@ -0,0 +1,3 @@ +[foot] +source = "git" +git = "https://codeberg.org/dnkl/foot.git" diff --git a/main/foot/PKGBUILD b/main/foot/PKGBUILD new file mode 100644 index 00000000..46e2b124 --- /dev/null +++ b/main/foot/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=foot +pkgdesc='Fast, lightweight, and minimalistic Wayland terminal emulator' +pkgname=($pkgbase $pkgbase-terminfo) +pkgver=%version% +pkgrel=%release% +url="https://codeberg.org/dnkl/$pkgbase" +arch=(x86_64) +license=(MIT) +makedepends=(fcft + fontconfig + libutf8proc + libxkbcommon + llvm + meson + ncurses + ninja + pixman + python + scdoc + sway + tllist + wayland + wayland-protocols) +optdepends=('libutempter: utmp logging') +backup=(etc/xdg/foot/foot.ini) +source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz") +sha256sums=('ab5603edad89d26e8ae543e92c72210a1fbbe7abdf15a0729664b41baed6a3b8') + +build() { + cd "$pkgbase" + ./pgo/pgo.sh \ + full-headless-sway \ + . build \ + -Dterminfo=disabled \ + --prefix=/usr \ + --wrap-mode=nodownload + sed 's/@default_terminfo@/foot-extra/g' foot.info | + tic -x -o build -e foot-extra,foot-extra-direct - +} + +check() { + cd "$pkgbase" + ninja -C build test +} + +package_foot() { + optdepends=('foot-terminfo: extra non-standard features over terminfo included in ncurses' + 'libnotify: desktop notifications' + 'xdg-utils: URI launching') + depends=(fcft + fontconfig + libfcft.so + libutf8proc + libxkbcommon + ncurses + pixman + wayland) + cd "$pkgbase" + DESTDIR="$pkgdir" ninja -C build install + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} + +package_foot-terminfo() { + pkgdesc="Extra non-standard terminfo files for $pkgbase, a Wayland terminal emulator" + depends=(ncurses) + cd "$pkgbase" + install -Dm0644 -t "$pkgdir/usr/share/terminfo/f/" build/f/foot-extra* + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} diff --git a/main/foot/README b/main/foot/README new file mode 100644 index 00000000..ba605de7 --- /dev/null +++ b/main/foot/README @@ -0,0 +1,43 @@ +foot +________________________________________________________________________________ + +Fast, lightweight, and minimalistic Wayland terminal emulator Extra non-standard terminfo files for foot, a Wayland terminal emulator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S foot | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://codeberg.org/dnkl/foot diff --git a/main/foot/version b/main/foot/version new file mode 100644 index 00000000..a9652518 --- /dev/null +++ b/main/foot/version @@ -0,0 +1 @@ +1.17.2 1 diff --git a/main/frameworkintegration/.PKGINFO b/main/frameworkintegration/.PKGINFO new file mode 100644 index 00000000..b3a18f59 --- /dev/null +++ b/main/frameworkintegration/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = frameworkintegration +pkgbase = frameworkintegration +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Framework providing components to allow applications to integrate with a KDE Workspace +url = https://community.kde.org/Frameworks +builddate = 1718491499 +packager = Developer +size = 248809 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kconfig +depend = ki18n +depend = kiconthemes +depend = knewstuff +depend = knotifications +depend = kwidgetsaddons +depend = qt6-base +optdepend = appstream-qt: dependency resolving via AppStream +optdepend = packagekit-qt6: dependency resolving via AppStream +makedepend = appstream-qt +makedepend = extra-cmake-modules +makedepend = packagekit-qt6 diff --git a/main/frameworkintegration/PKGBUILD b/main/frameworkintegration/PKGBUILD new file mode 100644 index 00000000..f4d9f801 --- /dev/null +++ b/main/frameworkintegration/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=frameworkintegration +pkgver=%version% +pkgrel=%release% +pkgdesc='Framework providing components to allow applications to integrate with a KDE Workspace' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcolorscheme + kconfig + ki18n + kiconthemes + knewstuff + knotifications + kwidgetsaddons + qt6-base) +makedepends=(appstream-qt + extra-cmake-modules + packagekit-qt6) +optdepends=('appstream-qt: dependency resolving via AppStream' + 'packagekit-qt6: dependency resolving via AppStream') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('343efa4e4f7d1c804de2cb6a2cac7a980cf7f3787fd4f523fa2c2d2d15f65d9b' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/frameworkintegration/README b/main/frameworkintegration/README new file mode 100644 index 00000000..ef3743bd --- /dev/null +++ b/main/frameworkintegration/README @@ -0,0 +1,43 @@ +frameworkintegration +________________________________________________________________________________ + +Framework providing components to allow applications to integrate with a KDE Workspace + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S frameworkintegration | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/frameworkintegration/version b/main/frameworkintegration/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/frameworkintegration/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/freetype2/.nvchecker.toml b/main/freetype2/.nvchecker.toml new file mode 100644 index 00000000..33911c72 --- /dev/null +++ b/main/freetype2/.nvchecker.toml @@ -0,0 +1,7 @@ +[freetype2] +source = "gitlab" +gitlab = "freetype/freetype" +use_max_tag = true + +from_pattern = 'VER-(\d+)-(\d+)-(\d+)' +to_pattern = '\1.\2.\3' diff --git a/main/freetype2/0001-Enable-table-validation-modules.patch b/main/freetype2/0001-Enable-table-validation-modules.patch new file mode 100644 index 00000000..f360a143 --- /dev/null +++ b/main/freetype2/0001-Enable-table-validation-modules.patch @@ -0,0 +1,42 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 23 Jun 2015 08:40:29 +0200 +Subject: [PATCH] Enable table validation modules + +--- + modules.cfg | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.cfg b/modules.cfg +index 5b6c9b5a5c1d..b4933bea7654 100644 +--- a/modules.cfg ++++ b/modules.cfg +@@ -117,26 +117,26 @@ AUX_MODULES += cache + + # TrueType GX/AAT table validation. Needs `ftgxval.c' below. + # +-# AUX_MODULES += gxvalid ++AUX_MODULES += gxvalid + + # Support for streams compressed with gzip (files with suffix .gz). + # + # See include/freetype/ftgzip.h for the API. + AUX_MODULES += gzip + + # Support for streams compressed with LZW (files with suffix .Z). + # + # See include/freetype/ftlzw.h for the API. + AUX_MODULES += lzw + + # Support for streams compressed with bzip2 (files with suffix .bz2). + # + # See include/freetype/ftbzip2.h for the API. + AUX_MODULES += bzip2 + + # OpenType table validation. Needs `ftotval.c' below. + # +-# AUX_MODULES += otvalid ++AUX_MODULES += otvalid + + # Auxiliary PostScript driver component to share common code. + # diff --git a/main/freetype2/0002-Enable-subpixel-rendering.patch b/main/freetype2/0002-Enable-subpixel-rendering.patch new file mode 100644 index 00000000..95f40a30 --- /dev/null +++ b/main/freetype2/0002-Enable-subpixel-rendering.patch @@ -0,0 +1,22 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 23 Jun 2015 08:43:07 +0200 +Subject: [PATCH] Enable subpixel rendering + +--- + include/freetype/config/ftoption.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h +index 1976b33af959..b3425e55feec 100644 +--- a/include/freetype/config/ftoption.h ++++ b/include/freetype/config/ftoption.h +@@ -123,7 +123,7 @@ FT_BEGIN_HEADER + * When this macro is not defined, FreeType offers alternative LCD + * rendering technology that produces excellent output. + */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /************************************************************************** diff --git a/main/freetype2/0003-Enable-long-PCF-family-names.patch b/main/freetype2/0003-Enable-long-PCF-family-names.patch new file mode 100644 index 00000000..e38679e4 --- /dev/null +++ b/main/freetype2/0003-Enable-long-PCF-family-names.patch @@ -0,0 +1,22 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sun, 14 May 2017 18:09:31 +0200 +Subject: [PATCH] Enable long PCF family names + +--- + include/freetype/config/ftoption.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h +index b3425e55feec..ecff3ccd12d6 100644 +--- a/include/freetype/config/ftoption.h ++++ b/include/freetype/config/ftoption.h +@@ -887,7 +887,7 @@ FT_BEGIN_HEADER + * If this option is activated, it can be controlled with the + * `no-long-family-names` property of the 'pcf' driver module. + */ +-/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */ ++#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES + + + /*************************************************************************/ diff --git a/main/freetype2/PKGBUILD b/main/freetype2/PKGBUILD new file mode 100644 index 00000000..3f1340a3 --- /dev/null +++ b/main/freetype2/PKGBUILD @@ -0,0 +1,133 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=freetype2 +pkgname=( + freetype2 + freetype2-demos + freetype2-docs +) +pkgver=%version% +pkgrel=%release% +epoch= +pkgdesc="Font rasterization library" +url="https://www.freetype.org/" +arch=( + x86_64 +) +license=(GPL) +depends=( + brotli + bzip2 + libpng + sh + zlib + + # adding harfbuzz for improved OpenType features auto-hinting + # introduces a cycle dep to harfbuzz depending on freetype wanted by upstream + harfbuzz +) +makedepends=( + librsvg + libx11 + meson + qt5-base +) +source=( + https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.xz{,.sig} + https://download-mirror.savannah.gnu.org/releases/freetype/freetype-doc-$pkgver.tar.xz{,.sig} + https://download-mirror.savannah.gnu.org/releases/freetype/ft2demos-$pkgver.tar.xz{,.sig} + 0001-Enable-table-validation-modules.patch + 0002-Enable-subpixel-rendering.patch + 0003-Enable-long-PCF-family-names.patch + freetype2.sh +) +b2sums=('cebc82180d9afaeb112a65ba78903d7bf7a9295a803166a033585ad2325add6023f05066852240c4665e56285345ba503b01ecd461d48f0478a8f3f56136988e' + 'SKIP' + '273ab405b6c7097ace9c7882fddb22d2a0cf8cc1594e9d141ca18d13a3745ee2e481bd2ee214cba6d99224ef0d67fdcba1b08aa06e3556a80cda29f3b6026f97' + 'SKIP' + '5e2c3eb2fccb359d03e154b94d349baab27aa465e40274ea99be1e19c8519ec9c434749c78a41743540bd38064a7c68e5389ff99443b8e320e617c4fe7f4558b' + 'SKIP' + '2c148694e150b3faae9dc46ead824ae6d94cfe34f2918bc9066f45bab7e6b6f77b4d4b2fee00c3d466d866e1985132cea4a774dcf1bab95409b7cf55efff01e1' + '9598d13eae0411878c1af8e5d875c3b1fc09f4e6649edfbbf3b0a819c4c585648521f0b30ffd1318f5106cfde9c899d3db70c8ffe36dac59f3f98b5fd7dab115' + '66deb179d1f1f4e2e35f6d50acfbacce80595d5128f5fed8c1871838c210dbf1a7173a87dd937d64997844c8f478c8f81120f71e33b9d59d980e179d103ff31c' + 'a964f46886b5017a5c180f29408f72ae8aba29f37404c48b4681ff12ca0a2cfa2a8e219480e98d63d45fb5c266a6e5826df170c9a0d701cd866e395c5ac6e87d') +validpgpkeys=( + E30674707856409FF1948010BE6C3AAC63AD8E3F # Werner Lemberg +) + +prepare() { + # Build FreeType as part of the demos + ln -sr freetype-$pkgver ft2demos-$pkgver/subprojects/freetype2 + + cd freetype-$pkgver + patch -Np1 -i ../0001-Enable-table-validation-modules.patch + patch -Np1 -i ../0002-Enable-subpixel-rendering.patch + patch -Np1 -i ../0003-Enable-long-PCF-family-names.patch +} + +build() { + local meson_options=( + -D freetype2:default_library=shared + ) + + arch-meson ft2demos-$pkgver build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_freetype2() { + provides=( + libfreetype.so + ) + conflicts=() + install=freetype2.install + backup=(etc/profile.d/freetype2.sh) + + meson install -C build --destdir="$pkgdir" + install -Dt "$pkgdir/etc/profile.d" -m644 freetype2.sh + install -Dt "$pkgdir/usr/share/aclocal" -m644 \ + freetype-$pkgver/builds/unix/freetype2.m4 + + _pick demos "$pkgdir"/usr/bin + _pick demos "$pkgdir"/usr/share/man/man1 +} + +package_freetype2-demos() { + pkgdesc="Freetype tools and demos" + depends=( + freetype2 + librsvg + libx11 + ) + optdepends=( + 'qt5-base: ftinspect' + ) + provides=() + conflicts=() + + mv demos/* "$pkgdir" +} + +package_freetype2-docs() { + pkgdesc="Freetype documentation" + depends=(freetype2) + + mkdir -p "${pkgdir}/usr/share/doc" + cp -r freetype-$pkgver/docs "$pkgdir/usr/share/doc/$pkgbase" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/freetype2/README b/main/freetype2/README new file mode 100644 index 00000000..02ab4704 --- /dev/null +++ b/main/freetype2/README @@ -0,0 +1,43 @@ +freetype2 +________________________________________________________________________________ + +Font rasterization library Freetype tools and demos Freetype documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S freetype2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freetype.org/ diff --git a/main/freetype2/freetype2.install b/main/freetype2/freetype2.install new file mode 100644 index 00000000..288560a9 --- /dev/null +++ b/main/freetype2/freetype2.install @@ -0,0 +1,16 @@ +post_upgrade() { + if (( $(vercmp $2 2.7-1) < 0 )); then + cat < +size = 255744 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libfribidi.so=0-64 +depend = glibc +makedepend = git +makedepend = meson diff --git a/main/fribidi/PKGBUILD b/main/fribidi/PKGBUILD new file mode 100644 index 00000000..e6ca68d3 --- /dev/null +++ b/main/fribidi/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fribidi +pkgver=%version% +pkgrel=%release% +pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm" +url="https://github.com/fribidi/fribidi" +arch=(x86_64) +license=(LGPL) +depends=( + glibc +) +makedepends=( + meson +) +provides=(libfribidi.so) +source=("$url/releases/download/v$pkgver/fribidi-$pkgver.tar.xz") +b2sums=('8cc31220304ddbdeb0047b30ed9084921920b32ad3f1bdcf29ecbb2fafbd430c391bc99bb7f205546ff8482aea1ef7ed369da71deb3474aa623fc2aeace1b62a') + +prepare() { + cd fribidi-$pkgver +} + +build() { + local meson_options=( + ) + + arch-meson fribidi-$pkgver build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/fribidi/README b/main/fribidi/README new file mode 100644 index 00000000..7229619c --- /dev/null +++ b/main/fribidi/README @@ -0,0 +1,43 @@ +fribidi +________________________________________________________________________________ + +A Free Implementation of the Unicode Bidirectional Algorithm + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fribidi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/fribidi/fribidi diff --git a/main/fribidi/version b/main/fribidi/version new file mode 100644 index 00000000..3501bce6 --- /dev/null +++ b/main/fribidi/version @@ -0,0 +1 @@ +1.0.15 1 diff --git a/main/fsarchiver/PKGBUILD b/main/fsarchiver/PKGBUILD new file mode 100644 index 00000000..ffec69e6 --- /dev/null +++ b/main/fsarchiver/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fsarchiver +pkgver=%version% +pkgrel=%release% +pkgdesc='Safe and flexible file-system backup and deployment tool' +arch=('x86_64') +url='https://www.fsarchiver.org/' +license=('GPL2') +depends=('bzip2' 'e2fsprogs' 'lzo' 'xz' 'libgcrypt' 'zlib' 'lz4' 'zstd') +source=(https://github.com/fdupoux/fsarchiver/releases/download/$pkgver/fsarchiver-$pkgver.tar.gz) +sha256sums=('f7cd059e70fc57e888db282c622ec050c0dcdbaacc65e3c1eb163cd9d92d810d') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/fsarchiver/README b/main/fsarchiver/README new file mode 100644 index 00000000..fb7c5af9 --- /dev/null +++ b/main/fsarchiver/README @@ -0,0 +1,43 @@ +fsarchiver +________________________________________________________________________________ + +Safe and flexible file-system backup and deployment tool + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fsarchiver | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.fsarchiver.org/ diff --git a/main/fsarchiver/version b/main/fsarchiver/version new file mode 100644 index 00000000..f49b41ce --- /dev/null +++ b/main/fsarchiver/version @@ -0,0 +1 @@ +0.8.7 1 diff --git a/main/fuse2/PKGBUILD b/main/fuse2/PKGBUILD new file mode 100644 index 00000000..eeea3a39 --- /dev/null +++ b/main/fuse2/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=fuse2 +pkgver=%version% +pkgrel=%release% +pkgdesc='Interface for userspace programs to export a filesystem to the Linux kernel' +url='https://github.com/libfuse/libfuse' +arch=('x86_64') +license=('GPL2') +depends=('glibc' 'fuse-common') +makedepends=('pkg-config') +provides=(fuse=$pkgver) # TODO: remove it once all packages start to use 'fuse2' name +replaces=('fuse') +conflicts=('fuse') +options=('!emptydirs') +source=(https://github.com/libfuse/libfuse/releases/download/fuse-$pkgver/fuse-$pkgver.tar.gz{,.asc} + conditionally-define-closefrom.patch) +sha1sums=('943ba651b14bc4a3c6fd959ed4b8c04f4a59032d' + 'SKIP' + '90750cd0839c1ee427314241f9ea5f054c3335d8') +sha512sums=('3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2' + 'SKIP' + '0836d1693bea203b562a86c992107ee48766f41bb05a31e9af41009d2270ac84d7881aa5bc2a11ed478cd03985876aca5080341ddea701a12a630a36e1b1a80b') +validpgpkeys=(ED31791B2C5C1613AF388B8AD113FCAC3C4E599F) # Nikolaus Rath + +prepare() { + cd fuse-$pkgver + patch -Np1 -i ${srcdir}/conditionally-define-closefrom.patch + autoreconf -i +} + +build() { + cd fuse-$pkgver + + UDEV_RULES_PATH=/usr/lib/udev/rules.d MOUNT_FUSE_PATH=/usr/bin ./configure --prefix=/usr --libdir=/usr/lib --enable-lib --enable-util --disable-example + make +} + +package() { + cd fuse-$pkgver + + make DESTDIR="${pkgdir}" install + + # Remove init script in wrong path + # Don't add our own for now, as fusectl fs oopses on 2.6.18 + rm -r "${pkgdir}"/etc/init.d + + # static device nodes are handled by udev + rm -r "${pkgdir}"/dev +} diff --git a/main/fuse2/README b/main/fuse2/README new file mode 100644 index 00000000..4fec638e --- /dev/null +++ b/main/fuse2/README @@ -0,0 +1,43 @@ +fuse2 +________________________________________________________________________________ + +Interface for userspace programs to export a filesystem to the Linux kernel + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fuse2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libfuse/libfuse diff --git a/main/fuse2/conditionally-define-closefrom.patch b/main/fuse2/conditionally-define-closefrom.patch new file mode 100644 index 00000000..eb7737cf --- /dev/null +++ b/main/fuse2/conditionally-define-closefrom.patch @@ -0,0 +1,60 @@ +From 5a43d0f724c56f8836f3f92411e0de1b5f82db32 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 24 Jul 2021 22:02:45 +0100 +Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix + glibc-2.34+) + +closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since +it's available in glibc 2.34+, we want to detect it and only define our +fallback if the libc doesn't provide it. + +Bug: https://bugs.gentoo.org/803923 +Signed-off-by: Sam James +--- + configure.ac | 1 + + util/ulockmgr_server.c | 6 ++++++ + 2 files changed, 7 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 9946a0efa..a2d481aa9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,6 +55,7 @@ fi + + AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat]) + AC_CHECK_FUNCS([posix_fallocate]) ++AC_CHECK_FUNCS([closefrom]) + AC_CHECK_MEMBERS([struct stat.st_atim]) + AC_CHECK_MEMBERS([struct stat.st_atimespec]) + +diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c +index 273c7d923..a04dac5c6 100644 +--- a/util/ulockmgr_server.c ++++ b/util/ulockmgr_server.c +@@ -22,6 +22,10 @@ + #include + #include + ++#ifdef HAVE_CONFIG_H ++ #include "config.h" ++#endif ++ + struct message { + unsigned intr : 1; + unsigned nofd : 1; +@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp, + return res; + } + ++#if !defined(HAVE_CLOSEFROM) + static int closefrom(int minfd) + { + DIR *dir = opendir("/proc/self/fd"); +@@ -141,6 +146,7 @@ static int closefrom(int minfd) + } + return 0; + } ++#endif + + static void send_reply(int cfd, struct message *msg) + { diff --git a/main/fuse2/version b/main/fuse2/version new file mode 100644 index 00000000..438bb946 --- /dev/null +++ b/main/fuse2/version @@ -0,0 +1 @@ +2.9.9 4 diff --git a/main/fuse3/PKGBUILD b/main/fuse3/PKGBUILD new file mode 100644 index 00000000..e137a8a3 --- /dev/null +++ b/main/fuse3/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=fuse3 +pkgname=(fuse-common fuse3) +pkgver=%version% +pkgrel=%release% +pkgdesc='Interface for userspace programs to export a filesystem to the Linux kernel' +url='https://github.com/libfuse/libfuse' +arch=('x86_64') +license=('GPL2') +makedepends=('pkg-config' 'meson' 'udev') +options=('!emptydirs') +source=(https://github.com/libfuse/libfuse/releases/download/fuse-$pkgver/fuse-$pkgver.tar.gz) +sha256sums=('f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87') +validpgpkeys=(ED31791B2C5C1613AF388B8AD113FCAC3C4E599F) # Nikolaus Rath + +build() { + cd fuse-$pkgver + + rm -rf build + meson --prefix=/usr --sbindir=bin -D examples=false . build + cd build + ninja +} + +package_fuse-common() { + pkgdesc="Common files for fuse2/3 packages" + backup=(etc/fuse.conf) + + install -Dm644 fuse-${pkgver}/util/fuse.conf "${pkgdir}"/etc/fuse.conf +} + +package_fuse3() { + depends=('fuse-common' 'glibc') + + cd fuse-$pkgver/build + + DESTDIR="${pkgdir}" ninja install + + rm -r "${pkgdir}"/etc/init.d + rm -r "${pkgdir}"/etc/fuse.conf + + # static device nodes are handled by udev + rm -r "${pkgdir}"/dev +} diff --git a/main/fuse3/README b/main/fuse3/README new file mode 100644 index 00000000..97cff126 --- /dev/null +++ b/main/fuse3/README @@ -0,0 +1,43 @@ +fuse3 +________________________________________________________________________________ + +Interface for userspace programs to export a filesystem to the Linux kernel Common files for fuse2/3 packages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S fuse3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libfuse/libfuse diff --git a/main/fuse3/version b/main/fuse3/version new file mode 100644 index 00000000..70686a96 --- /dev/null +++ b/main/fuse3/version @@ -0,0 +1 @@ +3.16.2 1 diff --git a/main/gawk/PKGBUILD b/main/gawk/PKGBUILD new file mode 100644 index 00000000..6c3b7b79 --- /dev/null +++ b/main/gawk/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gawk +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU version of awk" +arch=('x86_64') +url="https://www.gnu.org/software/gawk/" +license=('GPL') +depends=('sh' 'glibc' 'mpfr') +provides=('awk') +source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) +validpgpkeys=('D1967C63788713177D861ED7DF597815937EC0D2') # Arnold Robbins +sha256sums=('378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --without-libsigsegv + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/main/gawk/README b/main/gawk/README new file mode 100644 index 00000000..01013e51 --- /dev/null +++ b/main/gawk/README @@ -0,0 +1,43 @@ +gawk +________________________________________________________________________________ + +GNU version of awk + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gawk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/gawk/ diff --git a/main/gawk/version b/main/gawk/version new file mode 100644 index 00000000..d18c7f9e --- /dev/null +++ b/main/gawk/version @@ -0,0 +1 @@ +5.3.0 1 diff --git a/main/gc/PKGBUILD b/main/gc/PKGBUILD new file mode 100644 index 00000000..79ad4061 --- /dev/null +++ b/main/gc/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gc +pkgver=%version% +pkgrel=%release% +pkgdesc="A garbage collector for C and C++" +arch=('x86_64') +url="https://www.hboehm.info/gc/" +license=('LicenseRef-GC' 'MIT') +depends=('gcc-libs') +source=(https://github.com/ivmai/bdwgc/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz + https://www.hboehm.info/gc/license.txt) +sha512sums=('48afcc1d8570d6b5d62addf8b7b947a3836717e71c073f6dff8982744c06f5973a02e890d17e8dd93f7f997d029b49c652929e6efa0e32aefbcdf7ab0910eda5' + '73b381858db41cb757be67fa00778cb177fa147c892ae1e83d7d31b489c576ffe6c7339b688c41550c896aef1b8af5bfa3e58d1bb9902cc9640a8b837498a9b2') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --enable-cplusplus --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + sed 's|GC_MALLOC 1L|gc 3|g' doc/gc.man | install -Dm644 /dev/stdin "${pkgdir}/usr/share/man/man3/gc.3" + install -Dm644 ../license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/gc/README b/main/gc/README new file mode 100644 index 00000000..a5db807d --- /dev/null +++ b/main/gc/README @@ -0,0 +1,43 @@ +gc +________________________________________________________________________________ + +A garbage collector for C and C++ + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.hboehm.info/gc/ diff --git a/main/gc/version b/main/gc/version new file mode 100644 index 00000000..c5112e1a --- /dev/null +++ b/main/gc/version @@ -0,0 +1 @@ +8.2.6 1 diff --git a/main/gcc/.PKGINFO b/main/gcc/.PKGINFO new file mode 100644 index 00000000..22d958c5 --- /dev/null +++ b/main/gcc/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = lto-dump +pkgbase = gcc +xdata = pkgtype=split +pkgver = 14.1.1+r1+g43b730b9134-1 +pkgdesc = Dump link time optimization object files +url = https://gcc.gnu.org +builddate = 1715214739 +packager = Developer +size = 41029256 +arch = x86_64 +license = GPL-3.0-with-GCC-exception +license = GFDL-1.3-or-later +depend = gcc=14.1.1+r1+g43b730b9134-1 +depend = libisl.so=23-64 +makedepend = binutils +makedepend = doxygen +makedepend = gcc-ada +makedepend = gcc-d +makedepend = git +makedepend = lib32-glibc +makedepend = lib32-gcc-libs +makedepend = libisl +makedepend = libmpc +makedepend = python +makedepend = rust +makedepend = zstd +checkdepend = dejagnu +checkdepend = expect +checkdepend = inetutils +checkdepend = python-pytest +checkdepend = tcl diff --git a/main/gcc/PKGBUILD b/main/gcc/PKGBUILD new file mode 100644 index 00000000..708063a2 --- /dev/null +++ b/main/gcc/PKGBUILD @@ -0,0 +1,512 @@ +# Maintainer: Developer +# Maintainer: Developer + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs lib32-gcc-libs gcc-ada gcc-d gcc-fortran gcc-go gcc-m2 gcc-objc lto-dump libgccjit) +pkgver=%version% +_majorver=${pkgver%%.*} +_commit=860b0f0ef787f756c0e293671b4c4622dff63a79 +pkgrel=%release% +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +license=(GPL-3.0-with-GCC-exception GFDL-1.3-or-later) +url='https://gcc.gnu.org' +makedepends=( + binutils + doxygen + gcc-ada + gcc-d + git + lib32-glibc + lib32-gcc-libs + libisl + libmpc + python + zstd +) +checkdepends=( + dejagnu + expect + inetutils + python-pytest + tcl +) +options=(!emptydirs !lto) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +source=(git+https://sourceware.org/git/gcc.git#commit=${_commit} + c89 c99 + gcc-ada-repro.patch + fix-asan-allocator-aslr.patch +) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha256sums=('SKIP' + 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' + '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' + '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f' + '5ede1f5fec5b664428412a0849b28895be1c8d8982d3c0d246a4e95fd4730d65') + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + #ASan: move allocator base to avoid conflict with high-entropy ASLR for x86-64 Linux' + patch -Np3 < "$srcdir/fix-asan-allocator-aslr.patch" -d libsanitizer/ + + mkdir -p "$srcdir/gcc-build" + mkdir -p "$srcdir/libgccjit-build" +} + +build() { + local _confflags=( + --prefix=/usr + --libdir=/usr/lib + --libexecdir=/usr/lib + --mandir=/usr/share/man + --infodir=/usr/share/info + --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues \ + --with-build-config=bootstrap-lto + --with-linker-hash-style=gnu + --with-system-zlib + --enable-__cxa_atexit + --enable-cet=auto + --enable-checking=release + --enable-clocale=gnu + --enable-default-pie + --enable-default-ssp + --enable-gnu-indirect-function + --enable-gnu-unique-object + --enable-libstdcxx-backtrace + --enable-link-serialization=1 + --enable-linker-build-id + --enable-lto + --enable-multilib + --enable-plugin + --enable-shared + --enable-threads=posix + --disable-libssp + --disable-libstdcxx-pch + --disable-werror + ) + + cd gcc-build + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" \ + --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ \ + --enable-bootstrap \ + "${_confflags[@]:?_confflags unset}" + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + bootstrap + + # make documentation + make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen + + # Build libgccjit separately, to avoid building all compilers with --enable-host-shared + # which brings a performance penalty + cd "${srcdir}"/libgccjit-build + + "$srcdir/gcc/configure" \ + --enable-languages=jit \ + --disable-bootstrap \ + --enable-host-shared \ + "${_confflags[@]:?_confflags unset}" + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + all-gcc + + cp -a gcc/libgccjit.so* ../gcc-build/gcc/ +} + +check() { + cd gcc-build + + # disable libphobos test to avoid segfaults + sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" + make -O -k check || true + "$srcdir/gcc/contrib/test_summary" +} + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options=(!emptydirs !strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc zstd libisl.so) + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,lto-dump,gdc,gm2}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # create cc-rs compatible symlinks + # https://github.com/rust-lang/cc-rs/blob/1.0.73/src/lib.rs#L2578-L2581 + for binary in {c++,g++,gcc,gcc-ar,gcc-nm,gcc-ranlib}; do + ln -s /usr/bin/${binary} "${pkgdir}"/usr/bin/x86_64-linux-gnu-${binary} + done + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=("go=1.17" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=(gdc) + replaces=(gdc) + options=(staticlibs) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-m2() { + pkgdesc='Modula-2 frontend for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" m2.install-{common,man,info} + + install -Dm755 gcc/cc1gm2 "$pkgdir/$_libdir"/cc1gm2 + install -Dm755 gcc/gm2 "$pkgdir"/usr/bin/gm2 + + make -C $CHOST/libgm2 DESTDIR="$pkgdir" install + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +#package_gcc-rust() { +# pkgdesc="Rust frontend for GCC" +# depends=("gcc=$pkgver-$pkgrel" libisl.so) +# +# cd gcc-build +# make -C gcc DESTDIR="$pkgdir" rust.install-{common,man,info} +# +# install -Dm755 gcc/gccrs "$pkgdir"/usr/bin/gccrs +# install -Dm755 gcc/rust1 "$pkgdir"/"$_libdir"/rust1 +# +# # Install Runtime Library Exception +# install -d "$pkgdir/usr/share/licenses/$pkgname/" +# ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ +# "$pkgdir/usr/share/licenses/$pkgname/" +#} + +package_lto-dump() { + pkgdesc="Dump link time optimization object files" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" lto.install-{common,man,info} + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_libgccjit() { + pkgdesc="Just-In-Time Compilation with GCC backend" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/gcc/README b/main/gcc/README new file mode 100644 index 00000000..54b5870d --- /dev/null +++ b/main/gcc/README @@ -0,0 +1,43 @@ +gcc +________________________________________________________________________________ + +The GNU Compiler Collection The GNU Compiler Collection - C and C++ frontends Runtime libraries shipped by GCC 32-bit runtime libraries shipped by GCC Ada front-end for GCC (GNAT) D frontend for GCC Fortran front-end for GCC Go front-end for GCC Modula-2 frontend for GCC Objective-C front-end for GCC Dump link time optimization object files Just-In-Time Compilation with GCC backend + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gcc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gcc.gnu.org diff --git a/main/gcc/c89 b/main/gcc/c89 new file mode 100644 index 00000000..35486ea8 --- /dev/null +++ b/main/gcc/c89 @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/main/gcc/c99 b/main/gcc/c99 new file mode 100644 index 00000000..88dd8064 --- /dev/null +++ b/main/gcc/c99 @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/main/gcc/fix-asan-allocator-aslr.patch b/main/gcc/fix-asan-allocator-aslr.patch new file mode 100644 index 00000000..af7cea86 --- /dev/null +++ b/main/gcc/fix-asan-allocator-aslr.patch @@ -0,0 +1,60 @@ +From fb77ca05ffb4f8e666878f2f6718a9fb4d686839 Mon Sep 17 00:00:00 2001 +From: Thurston Dang +Date: Thu, 13 Apr 2023 23:55:01 +0000 +Subject: [PATCH] Re-land 'ASan: move allocator base to avoid conflict with + high-entropy ASLR for x86-64 Linux' + +D147984 was reverted because it broke lit tests on Mac. This revision is based on D147984 +but maintains the old behavior for Apple. + +Note that, per the follow-up discussion with MaskRay in D147984, this patch excludes Apple +but includes other platforms (e.g., aarch64, MIPS64) and OSes (e.g., FreeBSD, S390X), not just +x86-64 Linux. + +Original commit message from D147984: + +Users have discovered [*] that when CONFIG_ARCH_MMAP_RND_BITS == 32, +it will frequently conflict with ASan's allocator on x86-64 Linux, because the +PIE program segment base address of 0x555555555554 plus an ASLR shift of up to +((2**32) * 4K == 0x100000000000) will sometimes exceed ASan's hardcoded +base address of 0x600000000000. We fix this by simply moving the allocator base +to 0x500000000000, which is below the PIE program segment base address. This is +cleaner than trying to move it to another location that is sandwiched between +the PIE program and library segments, because if either of those grow too large, +it will collide with the allocator region. + +Note that we will never need to change this base address again (unless we want to increase +the size of the allocator), because ASLR cannot be set above 32-bits for x86-64 Linux (the +PIE program segment and library segments would collide with each other; see also +ARCH_MMAP_RND_BITS_MAX in https://github.com/torvalds/linux/blob/master/arch/x86/Kconfig). + +[*] see https://b.corp.google.com/issues/276925478 +and https://groups.google.com/a/google.com/g/chrome-os-gardeners/c/BbfzCP3dEeo/m/h3C_vVUxCQAJ + +Differential Revision: https://reviews.llvm.org/D148280 +--- + compiler-rt/lib/asan/asan_allocator.h | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/compiler-rt/lib/asan/asan_allocator.h b/compiler-rt/lib/asan/asan_allocator.h +index 0b4dbf03bb9d5..6a12a6c602528 100644 +--- a/compiler-rt/lib/asan/asan_allocator.h ++++ b/compiler-rt/lib/asan/asan_allocator.h +@@ -143,11 +143,15 @@ typedef DefaultSizeClassMap SizeClassMap; + const uptr kAllocatorSpace = ~(uptr)0; + const uptr kAllocatorSize = 0x8000000000ULL; // 500G + typedef DefaultSizeClassMap SizeClassMap; +-# else ++# elif SANITIZER_APPLE + const uptr kAllocatorSpace = 0x600000000000ULL; + const uptr kAllocatorSize = 0x40000000000ULL; // 4T. + typedef DefaultSizeClassMap SizeClassMap; +-# endif ++# else ++const uptr kAllocatorSpace = 0x500000000000ULL; ++const uptr kAllocatorSize = 0x40000000000ULL; // 4T. ++typedef DefaultSizeClassMap SizeClassMap; ++# endif + template + struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = kAllocatorSpace; diff --git a/main/gcc/gcc-ada-repro.patch b/main/gcc/gcc-ada-repro.patch new file mode 100644 index 00000000..66256369 --- /dev/null +++ b/main/gcc/gcc-ada-repro.patch @@ -0,0 +1,15 @@ +Avoid leaking current data on generated file for Ada. + +Index: gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- gcc/ada/gcc-interface/Makefile.in (revision 268977) ++++ gcc/ada/gcc-interface/Makefile.in (working copy) +@@ -2407,6 +2407,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib + $(OSCONS_CPP) ; \ + $(OSCONS_EXTRACT) ; \ + ../bldtools/oscons/xoscons s-oscons) ++ touch -r $(fsrcpfx)ada/gsocket.h $@ + + gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads + test -f $(RTSDIR)/s-oscons.ads || exit 1 + diff --git a/main/gcc/version b/main/gcc/version new file mode 100644 index 00000000..23927f50 --- /dev/null +++ b/main/gcc/version @@ -0,0 +1 @@ +14.1.1+r1+g43b730b9134 1 diff --git a/main/gcr-4/.PKGINFO b/main/gcr-4/.PKGINFO new file mode 100644 index 00000000..26de5d8f --- /dev/null +++ b/main/gcr-4/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = gcr-4 +pkgbase = gcr-4 +xdata = pkgtype=split +pkgver = 4.3.0-1 +pkgdesc = A library for bits of crypto UI and parsing +url = https://gitlab.gnome.org/GNOME/gcr +builddate = 1718491501 +packager = Developer +size = 2987779 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libgck-2.so=2-64 +provides = libgcr-4.so=4-64 +depend = glib2 +depend = glibc +depend = gnutls +depend = libp11-kit +depend = libsecret +depend = openssh +depend = systemd-libs +optdepend = gtk4: gcr-viewer-gtk4 +makedepend = gi-docgen +makedepend = git +makedepend = glib2-devel +makedepend = gobject-introspection +makedepend = gtk4 +makedepend = meson +makedepend = systemd +makedepend = vala diff --git a/main/gcr-4/PKGBUILD b/main/gcr-4/PKGBUILD new file mode 100644 index 00000000..79f594de --- /dev/null +++ b/main/gcr-4/PKGBUILD @@ -0,0 +1,74 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gcr-4 +pkgname=( + gcr-4 + gcr-4-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="A library for bits of crypto UI and parsing" +url="https://gitlab.gnome.org/GNOME/gcr" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + glib2 + libgcrypt + libsecret + openssh + p11-kit + systemd +) +makedepends=( + gi-docgen + git + gobject-introspection + gtk4 + meson + vala +) +_commit=7f9dfb291ac475beac911c3868bebd4561267a82 # tags/4.2.1^0 +source=("git+https://gitlab.gnome.org/GNOME/gcr.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd gcr + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd gcr +} + +build() { + arch-meson gcr build + meson compile -C build +} + +check() { + # Secure memory tests fail + dbus-run-session meson test -C build --print-errorlogs || : +} + +package_gcr-4() { + optdepends=('gtk4: gcr-viewer-gtk4') + provides=( + libgck-2.so + libgcr-4.so + ) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_gcr-4-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/gcr-4/README b/main/gcr-4/README new file mode 100644 index 00000000..7cb8071b --- /dev/null +++ b/main/gcr-4/README @@ -0,0 +1,43 @@ +gcr-4 +________________________________________________________________________________ + +A library for bits of crypto UI and parsing A library for bits of crypto UI and parsing (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gcr-4 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/gcr diff --git a/main/gcr-4/version b/main/gcr-4/version new file mode 100644 index 00000000..1fa6c9ae --- /dev/null +++ b/main/gcr-4/version @@ -0,0 +1 @@ +4.3.0 1 diff --git a/main/gdb/.PKGINFO b/main/gdb/.PKGINFO new file mode 100644 index 00000000..4567ba35 --- /dev/null +++ b/main/gdb/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gdb-common +pkgbase = gdb +xdata = pkgtype=split +pkgver = 14.2-2 +pkgdesc = The GNU Debugger +url = https://www.gnu.org/software/gdb/ +builddate = 1714401126 +packager = Developer +size = 1079078 +arch = x86_64 +license = GPL3 +depend = python +depend = guile +makedepend = glibc +makedepend = gcc-libs +makedepend = texinfo +makedepend = python +makedepend = guile +makedepend = ncurses +makedepend = expat +makedepend = xz +makedepend = mpfr +makedepend = source-highlight +makedepend = boost +makedepend = readline diff --git a/main/gdb/PKGBUILD b/main/gdb/PKGBUILD new file mode 100644 index 00000000..800724f3 --- /dev/null +++ b/main/gdb/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gdb +# gdb-common is a package that contains files common for all cross compiled versions +# of gdb (for arm/avr/...) +pkgname=(gdb gdb-common) +pkgver=%version% +pkgrel=%release% +pkgdesc='The GNU Debugger' +arch=(x86_64) +url='https://www.gnu.org/software/gdb/' +license=(GPL3) +makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr + source-highlight boost readline) +source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha1sums=('4f38f7c24d523b6923f22404b7dee4152a00d0d4' + 'SKIP') +b2sums=('65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8' + 'SKIP') +validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker + +build() { + cd gdb-$pkgver + + mkdir -p build && cd build + ../configure \ + --prefix=/usr \ + --disable-nls \ + --enable-source-highlight \ + --enable-tui \ + --with-system-readline \ + --with-python=/usr/bin/python \ + --with-system-gdbinit=/etc/gdb/gdbinit + make +} + +package_gdb-common() { + depends=(python guile) + + cd gdb-$pkgver/build + make -C gdb/data-directory DESTDIR="$pkgdir" install +} + +package_gdb() { + depends=(glibc ncurses libncursesw.so gcc-libs expat xz mpfr source-highlight gdb-common=$pkgver + readline libreadline.so guile python libelf) + backup=(etc/gdb/gdbinit) + + cd gdb-$pkgver/build + make -C gdb DESTDIR="$pkgdir" install + make -C gdbserver DESTDIR="$pkgdir" install + + # install "custom" system gdbinit + install -dm 755 "$pkgdir/etc/gdb" + touch "$pkgdir/etc/gdb/gdbinit" + + # comes from gdb-common + rm -r "$pkgdir/usr/share/gdb/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/gdb/README b/main/gdb/README new file mode 100644 index 00000000..e4cdd1bb --- /dev/null +++ b/main/gdb/README @@ -0,0 +1,43 @@ +gdb +________________________________________________________________________________ + +The GNU Debugger + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gdb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/gdb/ diff --git a/main/gdb/version b/main/gdb/version new file mode 100644 index 00000000..732edd9a --- /dev/null +++ b/main/gdb/version @@ -0,0 +1 @@ +14.2 2 diff --git a/main/gdbm/PKGBUILD b/main/gdbm/PKGBUILD new file mode 100644 index 00000000..77513031 --- /dev/null +++ b/main/gdbm/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gdbm +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU database library" +arch=(x86_64) +url="https://www.gnu.org/software/gdbm/gdbm.html" +license=(GPL3) +depends=(glibc sh) +makedepends=(readline) +provides=(libgdbm_compat.so libgdbm.so) +source=(https://ftp.gnu.org/gnu/gdbm/$pkgname-$pkgver.tar.gz{,.sig}) +sha512sums=('918080cb0225b221c11eb7339634a95e00c526072395f7a3d46ccf42ef020dea7c4c5bec34aff2c4f16033e1fff6583252b7e978f68b8d7f8736b0e025838e10' + 'SKIP') +b2sums=('a47746577cf2f3c9b62faea496c4d6a50a8f1b0a5af448cb2215e90057c99b5b630ba3f5357c85dfb7fd98ba4e90969e30a779120c29106ed1e8736721f9bec1' + 'SKIP') +validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --enable-libgdbm-compat + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make check -C $pkgname-$pkgver +} + +package() { + depends+=( + readline libreadline.so + ) + + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{NOTE-WARNING,AUTHORS,NEWS,README,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/main/gdbm/README b/main/gdbm/README new file mode 100644 index 00000000..752451f0 --- /dev/null +++ b/main/gdbm/README @@ -0,0 +1,43 @@ +gdbm +________________________________________________________________________________ + +GNU database library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gdbm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/gdbm/gdbm.html diff --git a/main/gdbm/version b/main/gdbm/version new file mode 100644 index 00000000..c6e2bbb1 --- /dev/null +++ b/main/gdbm/version @@ -0,0 +1 @@ +1.23 2 diff --git a/main/gdk-pixbuf2/.PKGINFO b/main/gdk-pixbuf2/.PKGINFO new file mode 100644 index 00000000..879a2e3d --- /dev/null +++ b/main/gdk-pixbuf2/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gdk-pixbuf2 +pkgbase = gdk-pixbuf2 +xdata = pkgtype=split +pkgver = 2.42.12-1 +pkgdesc = An image loading library +url = https://wiki.gnome.org/Projects/GdkPixbuf +builddate = 1715991076 +packager = Developer +size = 3130749 +arch = x86_64 +license = LGPL-2.0-or-later +provides = libgdk_pixbuf-2.0.so=0-64 +depend = glib2 +depend = glibc +depend = libjpeg +depend = libpng +depend = libtiff +depend = shared-mime-info +optdepend = libwmf: Load .wmf and .apm +optdepend = libopenraw: Load .dng, .cr2, .crw, .nef, .orf, .pef, .arw, .erf, .mrw, and .raf +optdepend = libavif: Load .avif +optdepend = libheif: Load .heif, .heic, and .avif +optdepend = libjxl: Load .jxl +optdepend = librsvg: Load .svg, .svgz, and .svg.gz +optdepend = webp-pixbuf-loader: Load .webp +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = meson +makedepend = python-docutils diff --git a/main/gdk-pixbuf2/PKGBUILD b/main/gdk-pixbuf2/PKGBUILD new file mode 100644 index 00000000..9209c3f5 --- /dev/null +++ b/main/gdk-pixbuf2/PKGBUILD @@ -0,0 +1,71 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gdk-pixbuf2 +pkgname=(gdk-pixbuf2 gdk-pixbuf2-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="An image loading library" +url="https://wiki.gnome.org/Projects/GdkPixbuf" +arch=(x86_64) +license=(LGPL) +depends=(glib2 libpng libtiff libjpeg shared-mime-info) +makedepends=(gobject-introspection git meson gi-docgen python-docutils) +optdepends=( + "libwmf: Load .wmf and .apm" + "libopenraw: Load .dng, .cr2, .crw, .nef, .orf, .pef, .arw, .erf, .mrw, and .raf" + "libavif: Load .avif" + "libheif: Load .heif, .heic, and .avif" + "libjxl: Load .jxl" + "librsvg: Load .svg, .svgz, and .svg.gz" + "webp-pixbuf-loader: Load .webp" +) +_commit=9ac257eb38f772fec4253e8051743029e75a2acd # tags/2.42.10^0 +source=( + "git+https://gitlab.gnome.org/GNOME/gdk-pixbuf.git#commit=$_commit" + gdk-pixbuf-query-loaders.hook +) +sha256sums=('SKIP' + '9fb71d95e6a212779eb0f88dde5a3cee0df7f4d9183f8f9ce286f8cdc14428f0') + +pkgver() { + cd gdk-pixbuf + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd gdk-pixbuf +} + +build() { + arch-meson gdk-pixbuf build \ + -D builtin_loaders=all \ + -D gtk_doc=true \ + -D installed_tests=false + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_gdk-pixbuf2() { + provides=(libgdk_pixbuf-2.0.so) + install=gdk-pixbuf2.install + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook +} + +package_gdk-pixbuf2-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/gdk-pixbuf2/README b/main/gdk-pixbuf2/README new file mode 100644 index 00000000..847c5776 --- /dev/null +++ b/main/gdk-pixbuf2/README @@ -0,0 +1,43 @@ +gdk-pixbuf2 +________________________________________________________________________________ + +An image loading library An image loading library (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gdk-pixbuf2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/GdkPixbuf diff --git a/main/gdk-pixbuf2/gdk-pixbuf-query-loaders.hook b/main/gdk-pixbuf2/gdk-pixbuf-query-loaders.hook new file mode 100644 index 00000000..f8835775 --- /dev/null +++ b/main/gdk-pixbuf2/gdk-pixbuf-query-loaders.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.so + +[Action] +Description = Probing GDK-Pixbuf loader modules... +When = PostTransaction +Exec = /usr/bin/gdk-pixbuf-query-loaders --update-cache diff --git a/main/gdk-pixbuf2/gdk-pixbuf2.install b/main/gdk-pixbuf2/gdk-pixbuf2.install new file mode 100644 index 00000000..83fa07cf --- /dev/null +++ b/main/gdk-pixbuf2/gdk-pixbuf2.install @@ -0,0 +1,3 @@ +pre_remove() { + rm -f /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache +} diff --git a/main/gdk-pixbuf2/version b/main/gdk-pixbuf2/version new file mode 100644 index 00000000..353f0351 --- /dev/null +++ b/main/gdk-pixbuf2/version @@ -0,0 +1 @@ +2.42.12 1 diff --git a/main/geoclue/.PKGINFO b/main/geoclue/.PKGINFO new file mode 100644 index 00000000..12c4eb7c --- /dev/null +++ b/main/geoclue/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = geoclue +pkgbase = geoclue +xdata = pkgtype=pkg +pkgver = 2.7.1-3 +pkgdesc = Modular geoinformation service built on the D-Bus messaging system +url = https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home +builddate = 1715303100 +packager = Developer +size = 1567200 +arch = x86_64 +license = LGPL-2.1-or-later +license = GPL-2.0-or-later +replaces = geoclue2 +conflict = geoclue2 +provides = geoclue2=2.7.1-3 +backup = etc/geoclue/geoclue.conf +depend = avahi +depend = json-glib +depend = libmm-glib +depend = libsoup3 +optdepend = libnotify: Demo Agent +makedepend = git +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = libnotify +makedepend = meson +makedepend = systemd +makedepend = vala diff --git a/main/geoclue/PKGBUILD b/main/geoclue/PKGBUILD new file mode 100644 index 00000000..158adb14 --- /dev/null +++ b/main/geoclue/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=geoclue +pkgver=%version% +pkgrel=%release% +pkgdesc="Modular geoinformation service built on the D-Bus messaging system" +url="https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home" +arch=(x86_64) +license=( + LGPL-2.1-or-later + GPL-2.0-or-later +) +depends=( + avahi + json-glib + libmm-glib + libsoup3 +) +makedepends=( + git + gobject-introspection + gtk-doc + libnotify + meson + systemd + vala +) +optdepends=('libnotify: Demo Agent') +provides=("geoclue2=$pkgver-$pkgrel") +conflicts=(geoclue2) +replaces=(geoclue2) +backup=(etc/geoclue/geoclue.conf) +_commit=8a24f60969d4c235d9918796c38a6a9c42e10131 # tags/2.7.1 +source=("git+https://gitlab.freedesktop.org/geoclue/geoclue.git#commit=$_commit") +b2sums=('SKIP') + +# Mozilla API keys (see https://location.services.mozilla.com/api) +# Note: These are for Arch Linux use ONLY. For your own distribution, please +# get your own set of keys. Feel free to contact heftig@archlinux.org for +# more information. +_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a + +pkgver() { + cd geoclue + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd geoclue +} + +build() { + local meson_options=( + -D dbus-srv-user=geoclue + -D mozilla-api-key="$_mozilla_api_key" + ) + + arch-meson geoclue build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + + echo 'u geoclue - "Geoinformation service" /var/lib/geoclue' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/geoclue.conf" + + echo 'd /var/lib/geoclue 0755 geoclue geoclue' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/geoclue.conf" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/geoclue/README b/main/geoclue/README new file mode 100644 index 00000000..083fe59f --- /dev/null +++ b/main/geoclue/README @@ -0,0 +1,43 @@ +geoclue +________________________________________________________________________________ + +Modular geoinformation service built on the D-Bus messaging system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S geoclue | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home diff --git a/main/geoclue/version b/main/geoclue/version new file mode 100644 index 00000000..ca39cb16 --- /dev/null +++ b/main/geoclue/version @@ -0,0 +1 @@ +2.7.1 3 diff --git a/main/gettext/.PKGINFO b/main/gettext/.PKGINFO new file mode 100644 index 00000000..7cb9087a --- /dev/null +++ b/main/gettext/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gettext +pkgbase = gettext +xdata = pkgtype=pkg +pkgver = 0.22.5-1 +pkgdesc = GNU internationalization library +url = https://www.gnu.org/software/gettext/ +builddate = 1715991078 +packager = Developer +size = 8057297 +arch = x86_64 +license = GPL-2.0-only +license = LGPL-2.0-only +license = GFDL-1.2-only +license = GPL-2.0-or-later +depend = gcc-libs +depend = acl +depend = sh +depend = libunistring +depend = libxml2 +optdepend = git: for autopoint infrastructure updates +makedepend = gettext +makedepend = emacs +makedepend = git diff --git a/main/gettext/PKGBUILD b/main/gettext/PKGBUILD new file mode 100644 index 00000000..b66df7a8 --- /dev/null +++ b/main/gettext/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gettext +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU internationalization library" +url="https://www.gnu.org/software/gettext/" +arch=(x86_64) +license=('GPL-2.0-only' 'LGPL-2.0-only' 'GFDL-1.2-only' 'GPL-2.0-or-later') +depends=(gcc-libs acl sh libunistring libxml2) +makedepends=(gettext emacs git) +optdepends=('git: for autopoint infrastructure updates') +options=(!docs) +source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig} + gettext-0.22-disable-libtextstyle.patch) +sha256sums=('c1e0bb2a4427a9024390c662cd532d664c4b36b8ff444ed5e54b115fdb7a1aea' + 'SKIP' + 'a28a27192f336f0b0908bdbf840d3b19d7b587c4ac52cad635cb43e95eb3c78d') +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno + '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2' + '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) + +prepare() { + cd $pkgname-$pkgver + + # Do not build libtextstyle, as it depends on libcroco + # which is now unmaintained and has known security bugs. + # patch from Fedora + patch -p1 -i $srcdir/gettext-0.22-disable-libtextstyle.patch +} + +build() { + cd $pkgname-$pkgver +LTOFLAGS="" + autoreconf --force + + ./configure \ + --prefix=/usr \ + --enable-csharp \ + --enable-nls \ + --with-xz \ + --without-included-gettext + + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \ + -i gettext-{tools,runtime,runtime/libasprintf}/libtool + + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/gettext/README b/main/gettext/README new file mode 100644 index 00000000..c04d49b6 --- /dev/null +++ b/main/gettext/README @@ -0,0 +1,43 @@ +gettext +________________________________________________________________________________ + +GNU internationalization library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gettext | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/gettext/ diff --git a/main/gettext/gettext-0.22-disable-libtextstyle.patch b/main/gettext/gettext-0.22-disable-libtextstyle.patch new file mode 100644 index 00000000..143f9fc3 --- /dev/null +++ b/main/gettext/gettext-0.22-disable-libtextstyle.patch @@ -0,0 +1,141 @@ +diff --git a/Makefile.am b/Makefile.am +index 815e3c7..e897de7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = gnulib-local gettext-runtime libtextstyle gettext-tools ++SUBDIRS = gnulib-local gettext-runtime gettext-tools + + changelog_etc = \ + gettext-runtime/ChangeLog.0 \ +@@ -123,7 +123,6 @@ distcheck-hook: + test "`sed 1,16d $(srcdir)/gettext-runtime/intl/xsize.h | md5sum`" = "`sed 1,16d $(srcdir)/gettext-tools/gnulib-lib/xsize.h | md5sum`" + cmp -s $(srcdir)/gettext-runtime/man/help2man $(srcdir)/gettext-tools/man/help2man + cmp -s $(srcdir)/gettext-runtime/man/x-to-1.in $(srcdir)/gettext-tools/man/x-to-1.in +- cmp -s $(srcdir)/libtextstyle/m4/libtextstyle.m4 $(srcdir)/gettext-tools/gnulib-m4/libtextstyle.m4 + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.java $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.java + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.class $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.class + test "`sed 1,15d $(srcdir)/gnulib-local/lib/alloca.in.h | md5sum`" = "`sed 1,15d $(srcdir)/gettext-runtime/libasprintf/alloca.in.h | md5sum`" +diff --git a/configure.ac b/configure.ac +index 49689fb..2d23b44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,7 @@ dnl Checks for typedefs, structures, and compiler characteristics. + + dnl Checks for library functions. + +-AC_CONFIG_SUBDIRS([gettext-runtime libtextstyle gettext-tools]) ++AC_CONFIG_SUBDIRS([gettext-runtime gettext-tools]) + + AM_EXTRA_RECURSIVE_TARGETS([maintainer-update-po]) + +@@ -49,7 +49,7 @@ AC_CANONICAL_HOST + dnl Optional Features: AC_ARG_ENABLE calls + dnl Optional Packages: AC_ARG_WITH calls + dnl Some influential environment variables: AC_ARG_VAR calls +-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) ++esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) + + AC_CONFIG_FILES([Makefile]) + +diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am +index 449a797..c5719c2 100644 +--- a/gettext-tools/Makefile.am ++++ b/gettext-tools/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 + +-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = gnulib-lib libgrep libgettextpo src po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc + + EXTRA_DIST = misc/DISCLAIM + MOSTLYCLEANFILES = core *.stackdump +diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am +index 764ffad..eccfbbd 100644 +--- a/gettext-tools/src/Makefile.am ++++ b/gettext-tools/src/Makefile.am +@@ -292,19 +292,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c + cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML) + cldr_plurals_LDADD = libgettextsrc.la $(LDADD) + +-if USE_INSTALLED_LIBTEXTSTYLE +-LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@ +-else +-# How to get the include files of libtextstyle. +-textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: +- here=`pwd`; \ +- cd ../../libtextstyle/lib && \ +- $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here" +-BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-# Where to find the built libtextstyle library. +-LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la +-endif ++# Use the dummy libtextstyle from gnulib, as libgettextpo does. ++LT_LIBTEXTSTYLE = ++AM_CPPFLAGS += -I../libgettextpo -I$(top_srcdir)/libgettextpo + + # How to build libgettextsrc.la. + # Need ../gnulib-lib/libgettextlib.la. +--- a/gettext-tools/libgettextpo/textstyle.in.h.orig 2023-09-18 22:36:31.000000000 +0200 ++++ b/gettext-tools/libgettextpo/textstyle.in.h 2023-09-21 10:11:20.611665975 +0200 +@@ -255,7 +255,8 @@ + static inline file_ostream_t + file_ostream_create (FILE *fp) + { +- return fp; ++ /* Closing the stream we return should not close 'fp'. */ ++ return fdopen (dup (fileno (fp)), "w"); + } + + static inline bool +@@ -673,14 +674,6 @@ + return true; + } + +-static inline noop_styled_ostream_t +-noop_styled_ostream_create (ostream_t destination, bool pass_ownership) +-{ +- if (!pass_ownership) +- /* Not supported without the real libtextstyle. */ +- abort (); +- return destination; +-} + + static inline bool + is_instance_of_noop_styled_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t stream) +@@ -688,6 +689,30 @@ + return false; + } + ++/* ----------------------- From noop-styled-ostream.h ----------------------- */ ++ ++/* noop_styled_ostream_t is a subtype of ostream_t. */ ++typedef ostream_t noop_styled_ostream_t; ++ ++#define noop_styled_ostream_write_mem ostream_write_mem ++#define noop_styled_ostream_flush ostream_flush ++#define noop_styled_ostream_free ostream_free ++#define noop_styled_ostream_begin_use_class styled_ostream_begin_use_class ++#define noop_styled_ostream_end_use_class styled_ostream_end_use_class ++#define noop_styled_ostream_get_hyperlink_ref styled_ostream_get_hyperlink_ref ++#define noop_styled_ostream_get_hyperlink_id styled_ostream_get_hyperlink_id ++#define noop_styled_ostream_set_hyperlink styled_ostream_set_hyperlink ++#define noop_styled_ostream_flush_to_current_style styled_ostream_flush_to_current_style ++ ++static inline ostream_t ++noop_styled_ostream_create (ostream_t destination, bool pass_ownership) ++{ ++ if (pass_ownership) ++ return destination; ++ else ++ return fdopen (dup (fileno (destination)), "w"); ++} ++ + /* ------------------------------ From color.h ------------------------------ */ + + #define color_test_mode false diff --git a/main/gettext/version b/main/gettext/version new file mode 100644 index 00000000..16a0edcd --- /dev/null +++ b/main/gettext/version @@ -0,0 +1 @@ +0.22.5 1 diff --git a/main/giflib/PKGBUILD b/main/giflib/PKGBUILD new file mode 100644 index 00000000..b2b92f30 --- /dev/null +++ b/main/giflib/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=giflib +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for reading and writing gif images' +url='http://giflib.sourceforge.net/' +arch=('x86_64') +license=('MIT') +depends=('glibc') +provides=('libgif.so') +makedepends=('xmlto' 'docbook-xml' 'docbook-xsl' 'imagemagick') +source=(https://downloads.sourceforge.net/project/giflib/${pkgname}-${pkgver}.tar.gz + giflib-5.1.9-fix-missing-quantize-API-symbols.patch + giflib-5.1.9-make-flags.patch) +sha512sums=('0865ab2b1904fa14640c655fdb14bb54244ad18a66e358565c00287875d00912343f9be8bfac7658cc0146200d626f7ec9160d7a339f20ba3be6b9941d73975f' + '5de1e8724f5221fa3637b4e6a482f650f7608673e2c9200233290018ec8a0bf1beea049b3979b5f57dbf2b2a5fda409324e636e9af10582fd01c71d92d4de3b3' + '8b8d6f483a18467bf6ad169fec04f9ef61534d3e25e1714d39231620142e64672dc336b347b02c8f74172b30e94b104edc83619b8e156ad18a4af521f65d1e31') +options=(!zipman) + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 < ../giflib-5.1.9-fix-missing-quantize-API-symbols.patch + patch -Np1 < ../giflib-5.1.9-make-flags.patch + sed -e 's|giflib.xml|giflib.7|' -re 's|doc/(.*).xml|doc/\1.1|g' -i Makefile # Install the actual man pages instead of the sources +} + +build() { + cd ${pkgname}-${pkgver} + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make PREFIX=/usr DESTDIR="${pkgdir}" install +# Fix giflib man page installation + install -d "$pkgdir"/usr/share/man/man7 + mv "$pkgdir"/usr/share/man/man{1/giflib.7,7} + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/giflib/README b/main/giflib/README new file mode 100644 index 00000000..69b619bc --- /dev/null +++ b/main/giflib/README @@ -0,0 +1,43 @@ +giflib +________________________________________________________________________________ + +Library for reading and writing gif images + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S giflib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://giflib.sourceforge.net/ diff --git a/main/giflib/giflib-5.1.9-fix-missing-quantize-API-symbols.patch b/main/giflib/giflib-5.1.9-fix-missing-quantize-API-symbols.patch new file mode 100644 index 00000000..5948f454 --- /dev/null +++ b/main/giflib/giflib-5.1.9-fix-missing-quantize-API-symbols.patch @@ -0,0 +1,32 @@ +From ff8d9a59e79b79657e64430730c35835a84db619 Mon Sep 17 00:00:00 2001 +From: anthraxx +Date: Tue, 2 Apr 2019 11:46:18 +0200 +Subject: [PATCH] fix missing quantize API symbols + +GifQuantizeBuffer is required by many libs and applications +like mplayer, libgdiplus (mono) and others. +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index e4ded69..17d0a5c 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,11 +29,11 @@ LIBPOINT=0 + LIBVER=$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) + + SOURCES = dgif_lib.c egif_lib.c gifalloc.c gif_err.c gif_font.c \ +- gif_hash.c openbsd-reallocarray.c ++ gif_hash.c openbsd-reallocarray.c quantize.c + HEADERS = gif_hash.h gif_lib.h gif_lib_private.h + OBJECTS = $(SOURCES:.c=.o) + +-USOURCES = qprintf.c quantize.c getarg.c ++USOURCES = qprintf.c getarg.c + UHEADERS = getarg.h + UOBJECTS = $(USOURCES:.c=.o) + +-- +2.21.0 + diff --git a/main/giflib/giflib-5.1.9-make-flags.patch b/main/giflib/giflib-5.1.9-make-flags.patch new file mode 100644 index 00000000..5410f017 --- /dev/null +++ b/main/giflib/giflib-5.1.9-make-flags.patch @@ -0,0 +1,47 @@ +From 788a52c399f4731ac1fb27a49db48626f3e140e1 Mon Sep 17 00:00:00 2001 +From: anthraxx +Date: Tue, 2 Apr 2019 14:53:28 +0200 +Subject: [PATCH] respect existence of distro CFLAGS and CPPFLAGS + +- append CFLAGS instead of set to honor default distro CFLAGS +- add CPPFLAGS that are defined by distros +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index e4ded69..7fef84a 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,7 +8,7 @@ + # + OFLAGS = -O0 -g + OFLAGS = -O2 +-CFLAGS = -std=gnu99 -fPIC -Wall -Wno-format-truncation $(OFLAGS) ++CFLAGS += -std=gnu99 -fPIC -Wall -Wno-format-truncation $(OFLAGS) + + SHELL = /bin/sh + TAR = tar +@@ -68,17 +68,17 @@ all: libgif.so libgif.a libutil.so libutil.a $(UTILS) + ifeq ($(UNAME), Darwin) + $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBGIFSO) + else +- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBGIFSOMAJOR) -o $(LIBGIFSO) $(OBJECTS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBGIFSOMAJOR) -o $(LIBGIFSO) $(OBJECTS) + endif + + libgif.a: $(OBJECTS) $(HEADERS) + $(AR) rcs libgif.a $(OBJECTS) + + $(LIBUTILSO): $(UOBJECTS) $(UHEADERS) + ifeq ($(UNAME), Darwin) + $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBUTILSO) + else +- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILMAJOR) -o $(LIBUTILSO) $(UOBJECTS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILMAJOR) -o $(LIBUTILSO) $(UOBJECTS) + endif + + libutil.a: $(UOBJECTS) $(UHEADERS) +-- +2.21.0 + diff --git a/main/giflib/version b/main/giflib/version new file mode 100644 index 00000000..b0606280 --- /dev/null +++ b/main/giflib/version @@ -0,0 +1 @@ +5.2.2 1 diff --git a/main/glib-networking/PKGBUILD b/main/glib-networking/PKGBUILD new file mode 100644 index 00000000..430e176b --- /dev/null +++ b/main/glib-networking/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=glib-networking +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="Network extensions for GLib" +url="https://gitlab.gnome.org/GNOME/glib-networking" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + glib2 + glibc + gnutls + gsettings-desktop-schemas + libproxy +) +makedepends=( + git + meson +) +checkdepends=(ca-certificates) +_commit=3ae624d21b586ec33543004b037fd343042cb04b # tags/2.80.0^0 +source=("git+https://gitlab.gnome.org/GNOME/glib-networking.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd glib-networking + git describe --tags | sed -r 's/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd glib-networking +} + +build() { + arch-meson glib-networking build + meson compile -C build +} + +check() { + meson test -vC build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/glib-networking/README b/main/glib-networking/README new file mode 100644 index 00000000..84bcd01c --- /dev/null +++ b/main/glib-networking/README @@ -0,0 +1,43 @@ +glib-networking +________________________________________________________________________________ + +Network extensions for GLib + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S glib-networking | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/glib-networking diff --git a/main/glib-networking/version b/main/glib-networking/version new file mode 100644 index 00000000..ac4637bf --- /dev/null +++ b/main/glib-networking/version @@ -0,0 +1 @@ +2.80.0 1 diff --git a/main/glib2/.PKGINFO b/main/glib2/.PKGINFO new file mode 100644 index 00000000..0bbc0ce4 --- /dev/null +++ b/main/glib2/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = glib2-docs +pkgbase = glib2 +xdata = pkgtype=split +pkgver = 2.80.3-2 +pkgdesc = Low level core library - documentation +url = https://gitlab.gnome.org/GNOME/glib +builddate = 1718491520 +packager = Developer +size = 66426517 +arch = x86_64 +license = LGPL-2.1-or-later +license = LicenseRef-Public-Domain +makedepend = dbus +makedepend = dconf +makedepend = gettext +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = libelf +makedepend = meson +makedepend = python +makedepend = python-docutils +makedepend = python-packaging +makedepend = shared-mime-info +makedepend = util-linux +checkdepend = desktop-file-utils +checkdepend = glib2 diff --git a/main/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch b/main/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch new file mode 100644 index 00000000..0a0b7f04 --- /dev/null +++ b/main/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Fri, 7 Jan 2022 18:59:10 +0000 +Subject: [PATCH] glib-compile-schemas: Remove noisy deprecation warnings + +While the warnings are useful for developers, Arch Linux users also see +them when glib-compile-schemas gets run after upgrades, where they just +add noise. + +The alternative to this patch would be redirecting the compiler's stderr +to /dev/null, but that might also suppress more useful errors or +warnings we want users to see. +--- + gio/glib-compile-schemas.c | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index 04ef40457eba..e791ce254454 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, + return; + } + +- if (path && (g_str_has_prefix (path, "/apps/") || +- g_str_has_prefix (path, "/desktop/") || +- g_str_has_prefix (path, "/system/"))) +- { +- gchar *message = NULL; +- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " +- "Paths starting with " +- "“/apps/”, “/desktop/” or “/system/” are deprecated."), +- id, path); +- g_printerr ("%s\n", message); +- g_free (message); +- } +- + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + diff --git a/main/glib2/PKGBUILD b/main/glib2/PKGBUILD new file mode 100644 index 00000000..0c670326 --- /dev/null +++ b/main/glib2/PKGBUILD @@ -0,0 +1,139 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=glib2 +pkgname=( + glib2 + glib2-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Low level core library" +url="https://gitlab.gnome.org/GNOME/glib" +license=(LGPL-2.1-or-later) +arch=(x86_64) +depends=( + libffi + libsysprof-capture + pcre2 + util-linux-libs + zlib +) +makedepends=( + dbus + gettext + git + gi-docgen + gobject-introspection + libelf + meson + python + python-docutils + python-packaging + shared-mime-info + util-linux +) +checkdepends=( + desktop-file-utils + glib2 +) +options=( + debug + staticlibs +) +_commit=763cc3b238398614c20069fd67642730e3a6519b # tags/2.80.0^0 +source=( + "git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit" + "git+https://gitlab.gnome.org/GNOME/gvdb.git" + 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + gio-querymodules.hook + glib-compile-schemas.hook +) +b2sums=('cc3a6a7a14fef1aabc08d3bdfe98f66e3ecf3591ac054d83aa9404c8c9cd72e690a4c26c16934700d067bb2cb3d58730387482032cd9ffa04b041869426165ba' + 'SKIP' + '94c73ca7070c239494873dd52d6ee09382bbb5b1201f7afd737cfa140b1a2fb0744b2c2831baf3943d1d072550c35888d21ce6f19f89481ff9d1a60d9a0b30e0' + '14c9211c0557f6d8d9a914f1b18b7e0e23f79f4abde117cb03ab119b95bf9fa9d7a712aa0a29beb266468aeb352caa3a9e4540503cfc9fe0bbaf764371832a96' + 'acc2f474139e535f4bdd70ac22a9150f786b3395e679b14d0d3fbb9361d511bb1b5069d95b2a7ac9c0f3d901b03a0c037eb273446ba00764191b30a777bd2bc9') + + +pkgver() { + cd glib + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd glib + + # Suppress noise from glib-compile-schemas.hook + git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + + git submodule init + git submodule set-url subprojects/gvdb "$srcdir/gvdb" + git -c protocol.file.allow=always submodule update +} + +build() { + local meson_options=( + --default-library both + -D glib_debug=disabled + -D documentation=true + -D introspection=enabled + -D man-pages=enabled + -D selinux=disabled + -D sysprof=enabled + ) + + # Produce more debug info: GLib has a lot of useful macros + CFLAGS+=" -g3" + CXXFLAGS+=" -g3" + + # use fat LTO objects for static libraries + CFLAGS+=" -ffat-lto-objects" + CXXFLAGS+=" -ffat-lto-objects" + + arch-meson glib build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --no-suite flaky --no-suite slow --print-errorlogs +} + +package_glib2() { + depends+=( + libffi.so + libmount.so + ) + provides+=(libg{lib,io,irepository,module,object,thread}-2.0.so) + optdepends=( + 'gvfs: most gio functionality' + 'libelf: gresource inspection tool' + 'python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' + 'python-packaging: gdbus-codegen' + ) + + meson install -C build --destdir "$pkgdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + touch "$pkgdir/usr/lib/gio/modules/.keep" + + python -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + python -O -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + + # Split docs + mkdir -p docs/usr/share + mv {"$pkgdir",docs}/usr/share/doc +} + +package_glib2-docs() { + pkgdesc+=" - documentation" + depends=() + license+=(LicenseRef-Public-Domain) + + mv -t "$pkgdir" docs/* + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/glib2/README b/main/glib2/README new file mode 100644 index 00000000..c70207ce --- /dev/null +++ b/main/glib2/README @@ -0,0 +1,43 @@ +glib2 +________________________________________________________________________________ + +Low level core library Low level core library - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S glib2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/glib diff --git a/main/glib2/gio-querymodules.hook b/main/glib2/gio-querymodules.hook new file mode 100644 index 00000000..85781479 --- /dev/null +++ b/main/glib2/gio-querymodules.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/gio/modules/*.so + +[Action] +Description = Updating GIO module cache... +When = PostTransaction +Exec = /usr/bin/gio-querymodules /usr/lib/gio/modules diff --git a/main/glib2/glib-compile-schemas.hook b/main/glib2/glib-compile-schemas.hook new file mode 100644 index 00000000..93d1ed53 --- /dev/null +++ b/main/glib2/glib-compile-schemas.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/glib-2.0/schemas/*.xml +Target = usr/share/glib-2.0/schemas/*.override + +[Action] +Description = Compiling GSettings XML schema files... +When = PostTransaction +Exec = /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas diff --git a/main/glib2/version b/main/glib2/version new file mode 100644 index 00000000..02028000 --- /dev/null +++ b/main/glib2/version @@ -0,0 +1 @@ +2.80.3 2 diff --git a/main/glibc/.PKGINFO b/main/glibc/.PKGINFO new file mode 100644 index 00000000..14f98bc2 --- /dev/null +++ b/main/glibc/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = lib32-glibc +pkgbase = glibc +xdata = pkgtype=split +pkgver = 2.39+r52+gf8e4623421-1 +pkgdesc = GNU C Library (32-bit) +url = https://www.gnu.org/software/libc +builddate = 1715214589 +packager = Developer +size = 18675736 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.1-or-later +depend = glibc=2.39+r52+gf8e4623421 +makedepend = git +makedepend = gd +makedepend = lib32-gcc-libs +makedepend = python diff --git a/main/glibc/PKGBUILD b/main/glibc/PKGBUILD new file mode 100644 index 00000000..f13e3022 --- /dev/null +++ b/main/glibc/PKGBUILD @@ -0,0 +1,218 @@ +# Maintainer: Developer +# Maintainer: Developer + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgbase=glibc +pkgname=(glibc lib32-glibc glibc-locales) +pkgver=%version% +_commit=6d1e3fb07b45e2e31e469b16cf21b24bccf8914c +pkgrel=%release% +arch=(x86_64) +url='https://www.gnu.org/software/libc' +license=(GPL-2.0-or-later LGPL-2.1-or-later) +makedepends=(git gd lib32-gcc-libs python) +options=(staticlibs !lto) +source=(git+https://sourceware.org/git/glibc.git#commit=${_commit} + locale.gen.txt + locale-gen + lib32-glibc.conf + sdt.h sdt-config.h +) +validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell + BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar +b2sums=('SKIP' + 'c859bf2dfd361754c9e3bbd89f10de31f8e81fd95dc67b77d10cb44e23834b096ba3caa65fbc1bd655a8696c6450dfd5a096c476b3abf5c7e125123f97ae1a72' + '04fbb3b0b28705f41ccc6c15ed5532faf0105370f22133a2b49867e790df0491f5a1255220ff6ebab91a462f088d0cf299491b3eb8ea53534cb8638a213e46e3' + '7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a' + 'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e' + '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678') + +prepare() { + mkdir -p glibc-build lib32-glibc-build + + [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc + cd glibc + +} + +build() { + local _configure_flags=( + --prefix=/usr + --with-headers=/usr/include + --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/issues + --enable-bind-now + --enable-fortify-source + --enable-kernel=4.4 + --enable-multi-arch + --enable-stack-protector=strong + --enable-systemtap + --disable-nscd + --disable-profile + --disable-werror + ) + + ( + cd glibc-build + + echo "slibdir=/usr/lib" >> configparms + echo "rtlddir=/usr/lib" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD + # remove fortify for building libraries + # CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/} + + "${srcdir}"/glibc/configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --enable-cet \ + "${_configure_flags[@]}" + + make -O + + # build info pages manually for reproducibility + make info + ) + + ( + cd lib32-glibc-build + export CC="gcc -m32 -mstackrealign" + export CXX="g++ -m32 -mstackrealign" + + echo "slibdir=/usr/lib32" >> configparms + echo "rtlddir=/usr/lib32" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + "${srcdir}"/glibc/configure \ + --host=i686-pc-linux-gnu \ + --libdir=/usr/lib32 \ + --libexecdir=/usr/lib32 \ + "${_configure_flags[@]}" + + make -O + ) + + # pregenerate locales here instead of in package + # functions because localedef does not like fakeroot + make -C "${srcdir}"/glibc/localedata objdir="${srcdir}"/glibc-build \ + DESTDIR="${srcdir}"/locales install-locale-files +} + +# Credits for _skip_test() and check() @allanmcrae +# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD +_skip_test() { + test=${1} + file=${2} + sed -i "/\b${test} /d" "${srcdir}"/glibc/${file} +} + +check() ( + cd glibc-build + + # adjust/remove buildflags that cause false-positive testsuite failures + sed -i '/FORTIFY/d' configparms # failure to build testsuite + sed -i 's/-Werror=format-security/-Wformat-security/' config.make # failure to build testsuite + sed -i '/CFLAGS/s/-fno-plt//' config.make # 16 failures + sed -i '/CFLAGS/s/-fexceptions//' config.make # 1 failure + LDFLAGS=${LDFLAGS/,-z,now/} # 10 failures + + # The following tests fail due to restrictions in the Arch build system + # The correct fix is to add the following to the systemd-nspawn call: + # --system-call-filter="@clock @memlock @pkey" + _skip_test test-errno-linux sysdeps/unix/sysv/linux/Makefile + _skip_test tst-mlock2 sysdeps/unix/sysv/linux/Makefile + _skip_test tst-ntp_gettime sysdeps/unix/sysv/linux/Makefile + _skip_test tst-ntp_gettimex sysdeps/unix/sysv/linux/Makefile + _skip_test tst-pkey sysdeps/unix/sysv/linux/Makefile + _skip_test tst-process_mrelease sysdeps/unix/sysv/linux/Makefile + _skip_test tst-shstk-legacy-1g sysdeps/x86_64/Makefile + _skip_test tst-adjtime time/Makefile + + make -O check +) + +package_glibc() { + pkgdesc='GNU C Library' + depends=('linux-api-headers>=4.10' tzdata filesystem) + optdepends=('gd: for memusagestat' + 'perl: for mtrace') + install=glibc.install + backup=(etc/gai.conf + etc/locale.gen) + + make -C glibc-build DESTDIR="${pkgdir}" install + rm -f "${pkgdir}"/etc/ld.so.cache + + # Shipped in tzdata + rm -f "${pkgdir}"/usr/bin/{tzselect,zdump,zic} + + cd glibc + + install -dm755 "${pkgdir}"/usr/lib/{locale,systemd/system,tmpfiles.d} + + install -m644 posix/gai.conf "${pkgdir}"/etc/gai.conf + + install -m755 "${srcdir}"/locale-gen "${pkgdir}"/usr/bin + + # Create /etc/locale.gen + install -m644 "${srcdir}"/locale.gen.txt "${pkgdir}"/etc/locale.gen + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + localedata/SUPPORTED >> "${pkgdir}"/etc/locale.gen + + # Add SUPPORTED file to pkg + sed -e '1,3d' -e 's|/| |g' -e 's| \\||g' \ + localedata/SUPPORTED > "${pkgdir}"/usr/share/i18n/SUPPORTED + + # install C.UTF-8 so that it is always available + # should be built into glibc eventually + # https://sourceware.org/glibc/wiki/Proposals/C.UTF-8 + # https://bugs.archlinux.org/task/74864 + install -dm755 "${pkgdir}"/usr/lib/locale + cp -r "${srcdir}"/locales/usr/lib/locale/C.utf8 -t "${pkgdir}"/usr/lib/locale + sed -i '/#C\.UTF-8 /d' "${pkgdir}"/etc/locale.gen + + # Provide tracing probes to libstdc++ for exceptions, possibly for other + # libraries too. Useful for gdb's catch command. + install -Dm644 "${srcdir}"/sdt.h "${pkgdir}"/usr/include/sys/sdt.h + install -Dm644 "${srcdir}"/sdt-config.h "${pkgdir}"/usr/include/sys/sdt-config.h +} + +package_lib32-glibc() { + pkgdesc='GNU C Library (32-bit)' + depends=("glibc=$pkgver") + options+=('!emptydirs') + + cd lib32-glibc-build + + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/{etc,sbin,usr/{bin,sbin,share},var} + + # We need to keep 32 bit specific header files + find "${pkgdir}"/usr/include -type f -not -name '*-32.h' -delete + + # Dynamic linker + install -d "${pkgdir}"/usr/lib + ln -s ../lib32/ld-linux.so.2 "${pkgdir}"/usr/lib/ + + # Add lib32 paths to the default library search path + install -Dm644 "${srcdir}"/lib32-glibc.conf "${pkgdir}"/etc/ld.so.conf.d/lib32-glibc.conf + + # Symlink /usr/lib32/locale to /usr/lib/locale + ln -s ../lib/locale "${pkgdir}"/usr/lib32/locale +} + +package_glibc-locales() { + pkgdesc='Pregenerated locales for GNU C Library' + depends=("glibc=$pkgver") + + cp -r locales/* -t "${pkgdir}" + rm -r "${pkgdir}"/usr/lib/locale/C.utf8 + + # deduplicate locale data + hardlink -c "${pkgdir}"/usr/lib/locale +} diff --git a/main/glibc/README b/main/glibc/README new file mode 100644 index 00000000..83d9daa8 --- /dev/null +++ b/main/glibc/README @@ -0,0 +1,43 @@ +glibc +________________________________________________________________________________ + +GNU C Library GNU C Library (32-bit) Pregenerated locales for GNU C Library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S glibc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libc diff --git a/main/glibc/glibc.install b/main/glibc/glibc.install new file mode 100644 index 00000000..351f05b2 --- /dev/null +++ b/main/glibc/glibc.install @@ -0,0 +1,5 @@ +post_upgrade() { + locale-gen + + ldconfig -r . +} diff --git a/main/glibc/lib32-glibc.conf b/main/glibc/lib32-glibc.conf new file mode 100644 index 00000000..9b08c3f4 --- /dev/null +++ b/main/glibc/lib32-glibc.conf @@ -0,0 +1 @@ +/usr/lib32 diff --git a/main/glibc/locale-gen b/main/glibc/locale-gen new file mode 100755 index 00000000..ee888807 --- /dev/null +++ b/main/glibc/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/locale-archive || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/main/glibc/locale.gen.txt b/main/glibc/locale.gen.txt new file mode 100644 index 00000000..e32af296 --- /dev/null +++ b/main/glibc/locale.gen.txt @@ -0,0 +1,17 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is given in /usr/share/i18n/SUPPORTED +# and is included in this file. Uncomment the needed locales below. +# diff --git a/main/glibc/sdt-config.h b/main/glibc/sdt-config.h new file mode 100644 index 00000000..733045a5 --- /dev/null +++ b/main/glibc/sdt-config.h @@ -0,0 +1,6 @@ +/* includes/sys/sdt-config.h. Generated from sdt-config.h.in by configure. + + This file just defines _SDT_ASM_SECTION_AUTOGROUP_SUPPORT to 0 or 1 to + indicate whether the assembler supports "?" in .pushsection directives. */ + +#define _SDT_ASM_SECTION_AUTOGROUP_SUPPORT 1 diff --git a/main/glibc/sdt.h b/main/glibc/sdt.h new file mode 100644 index 00000000..c0c5a492 --- /dev/null +++ b/main/glibc/sdt.h @@ -0,0 +1,430 @@ +/* - Systemtap static probe definition macros. + + This file is dedicated to the public domain, pursuant to CC0 + (https://creativecommons.org/publicdomain/zero/1.0/) +*/ + +#ifndef _SYS_SDT_H +#define _SYS_SDT_H 1 + +/* + This file defines a family of macros + + STAP_PROBEn(op1, ..., opn) + + that emit a nop into the instruction stream, and some data into an auxiliary + note section. The data in the note section describes the operands, in terms + of size and location. Each location is encoded as assembler operand string. + Consumer tools such as gdb or systemtap insert breakpoints on top of + the nop, and decode the location operand-strings, like an assembler, + to find the values being passed. + + The operand strings are selected by the compiler for each operand. + They are constrained by gcc inline-assembler codes. The default is: + + #define STAP_SDT_ARG_CONSTRAINT nor + + This is a good default if the operands tend to be integral and + moderate in number (smaller than number of registers). In other + cases, the compiler may report "'asm' requires impossible reload" or + similar. In this case, consider simplifying the macro call (fewer + and simpler operands), reduce optimization, or override the default + constraints string via: + + #define STAP_SDT_ARG_CONSTRAINT g + #include + + See also: + https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation + https://gcc.gnu.org/onlinedocs/gcc/Constraints.html + */ + + + +#ifdef __ASSEMBLER__ +# define _SDT_PROBE(provider, name, n, arglist) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING_1, (_SDT_DEPAREN_##n arglist)) \ + _SDT_ASM_BASE +# define _SDT_ASM_1(x) x; +# define _SDT_ASM_2(a, b) a,b; +# define _SDT_ASM_3(a, b, c) a,b,c; +# define _SDT_ASM_5(a, b, c, d, e) a,b,c,d,e; +# define _SDT_ASM_STRING_1(x) .asciz #x; +# define _SDT_DEPAREN_0() /* empty */ +# define _SDT_DEPAREN_1(a) a +# define _SDT_DEPAREN_2(a,b) a b +# define _SDT_DEPAREN_3(a,b,c) a b c +# define _SDT_DEPAREN_4(a,b,c,d) a b c d +# define _SDT_DEPAREN_5(a,b,c,d,e) a b c d e +# define _SDT_DEPAREN_6(a,b,c,d,e,f) a b c d e f +# define _SDT_DEPAREN_7(a,b,c,d,e,f,g) a b c d e f g +# define _SDT_DEPAREN_8(a,b,c,d,e,f,g,h) a b c d e f g h +# define _SDT_DEPAREN_9(a,b,c,d,e,f,g,h,i) a b c d e f g h i +# define _SDT_DEPAREN_10(a,b,c,d,e,f,g,h,i,j) a b c d e f g h i j +# define _SDT_DEPAREN_11(a,b,c,d,e,f,g,h,i,j,k) a b c d e f g h i j k +# define _SDT_DEPAREN_12(a,b,c,d,e,f,g,h,i,j,k,l) a b c d e f g h i j k l +#else +# define _SDT_PROBE(provider, name, n, arglist) \ + do { \ + __asm__ __volatile__ (_SDT_ASM_BODY(provider, name, _SDT_ASM_ARGS, (n)) \ + :: _SDT_ASM_OPERANDS_##n arglist); \ + __asm__ __volatile__ (_SDT_ASM_BASE); \ + } while (0) +# define _SDT_S(x) #x +# define _SDT_ASM_1(x) _SDT_S(x) "\n" +# define _SDT_ASM_2(a, b) _SDT_S(a) "," _SDT_S(b) "\n" +# define _SDT_ASM_3(a, b, c) _SDT_S(a) "," _SDT_S(b) "," \ + _SDT_S(c) "\n" +# define _SDT_ASM_5(a, b, c, d, e) _SDT_S(a) "," _SDT_S(b) "," \ + _SDT_S(c) "," _SDT_S(d) "," \ + _SDT_S(e) "\n" +# define _SDT_ASM_ARGS(n) _SDT_ASM_STRING(_SDT_ASM_TEMPLATE_##n) +# define _SDT_ASM_STRING_1(x) _SDT_ASM_1(.asciz #x) + +# define _SDT_ARGFMT(no) %n[_SDT_S##no]@_SDT_ARGTMPL(_SDT_A##no) + +# ifndef STAP_SDT_ARG_CONSTRAINT +# if defined __powerpc__ +# define STAP_SDT_ARG_CONSTRAINT nZr +# else +# define STAP_SDT_ARG_CONSTRAINT nor +# endif +# endif + +# define _SDT_STRINGIFY(x) #x +# define _SDT_ARG_CONSTRAINT_STRING(x) _SDT_STRINGIFY(x) +# define _SDT_ARG(n, x) \ + [_SDT_S##n] "n" ((_SDT_ARGSIGNED (x) ? 1 : -1) * (int) _SDT_ARGSIZE (x)), \ + [_SDT_A##n] _SDT_ARG_CONSTRAINT_STRING (STAP_SDT_ARG_CONSTRAINT) (_SDT_ARGVAL (x)) +#endif +#define _SDT_ASM_STRING(x) _SDT_ASM_STRING_1(x) + +#define _SDT_ARGARRAY(x) (__builtin_classify_type (x) == 14 \ + || __builtin_classify_type (x) == 5) + +#ifdef __cplusplus +# define _SDT_ARGSIGNED(x) (!_SDT_ARGARRAY (x) \ + && __sdt_type<__typeof (x)>::__sdt_signed) +# define _SDT_ARGSIZE(x) (_SDT_ARGARRAY (x) \ + ? sizeof (void *) : sizeof (x)) +# define _SDT_ARGVAL(x) (x) + +# include + +template +struct __sdt_type +{ + static const bool __sdt_signed = false; +}; + +#define __SDT_ALWAYS_SIGNED(T) \ +template<> struct __sdt_type { static const bool __sdt_signed = true; }; +#define __SDT_COND_SIGNED(T,CT) \ +template<> struct __sdt_type { static const bool __sdt_signed = ((CT)(-1) < 1); }; +__SDT_ALWAYS_SIGNED(signed char) +__SDT_ALWAYS_SIGNED(short) +__SDT_ALWAYS_SIGNED(int) +__SDT_ALWAYS_SIGNED(long) +__SDT_ALWAYS_SIGNED(long long) +__SDT_ALWAYS_SIGNED(volatile signed char) +__SDT_ALWAYS_SIGNED(volatile short) +__SDT_ALWAYS_SIGNED(volatile int) +__SDT_ALWAYS_SIGNED(volatile long) +__SDT_ALWAYS_SIGNED(volatile long long) +__SDT_ALWAYS_SIGNED(const signed char) +__SDT_ALWAYS_SIGNED(const short) +__SDT_ALWAYS_SIGNED(const int) +__SDT_ALWAYS_SIGNED(const long) +__SDT_ALWAYS_SIGNED(const long long) +__SDT_ALWAYS_SIGNED(const volatile signed char) +__SDT_ALWAYS_SIGNED(const volatile short) +__SDT_ALWAYS_SIGNED(const volatile int) +__SDT_ALWAYS_SIGNED(const volatile long) +__SDT_ALWAYS_SIGNED(const volatile long long) +__SDT_COND_SIGNED(char, char) +__SDT_COND_SIGNED(wchar_t, wchar_t) +__SDT_COND_SIGNED(volatile char, char) +__SDT_COND_SIGNED(volatile wchar_t, wchar_t) +__SDT_COND_SIGNED(const char, char) +__SDT_COND_SIGNED(const wchar_t, wchar_t) +__SDT_COND_SIGNED(const volatile char, char) +__SDT_COND_SIGNED(const volatile wchar_t, wchar_t) +#if defined (__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +/* __SDT_COND_SIGNED(char16_t) */ +/* __SDT_COND_SIGNED(char32_t) */ +#endif + +template +struct __sdt_type<__sdt_E[]> : public __sdt_type<__sdt_E *> {}; + +template +struct __sdt_type<__sdt_E[__sdt_N]> : public __sdt_type<__sdt_E *> {}; + +#elif !defined(__ASSEMBLER__) +__extension__ extern unsigned long long __sdt_unsp; +# define _SDT_ARGINTTYPE(x) \ + __typeof (__builtin_choose_expr (((__builtin_classify_type (x) \ + + 3) & -4) == 4, (x), 0U)) +# define _SDT_ARGSIGNED(x) \ + (!__extension__ \ + (__builtin_constant_p ((((unsigned long long) \ + (_SDT_ARGINTTYPE (x)) __sdt_unsp) \ + & ((unsigned long long)1 << (sizeof (unsigned long long) \ + * __CHAR_BIT__ - 1))) == 0) \ + || (_SDT_ARGINTTYPE (x)) -1 > (_SDT_ARGINTTYPE (x)) 0)) +# define _SDT_ARGSIZE(x) \ + (_SDT_ARGARRAY (x) ? sizeof (void *) : sizeof (x)) +# define _SDT_ARGVAL(x) (x) +#endif + +#if defined __powerpc__ || defined __powerpc64__ +# define _SDT_ARGTMPL(id) %I[id]%[id] +#elif defined __i386__ +# define _SDT_ARGTMPL(id) %w[id] /* gcc.gnu.org/PR80115 */ +#else +# define _SDT_ARGTMPL(id) %[id] +#endif + +#ifdef __LP64__ +# define _SDT_ASM_ADDR .8byte +#else +# define _SDT_ASM_ADDR .4byte +#endif + +/* The ia64 and s390 nop instructions take an argument. */ +#if defined(__ia64__) || defined(__s390__) || defined(__s390x__) +#define _SDT_NOP nop 0 +#else +#define _SDT_NOP nop +#endif + +#define _SDT_NOTE_NAME "stapsdt" +#define _SDT_NOTE_TYPE 3 + +/* If the assembler supports the necessary feature, then we can play + nice with code in COMDAT sections, which comes up in C++ code. + Without that assembler support, some combinations of probe placements + in certain kinds of C++ code may produce link-time errors. */ +#include "sdt-config.h" +#if _SDT_ASM_SECTION_AUTOGROUP_SUPPORT +# define _SDT_ASM_AUTOGROUP "?" +#else +# define _SDT_ASM_AUTOGROUP "" +#endif + +#define _SDT_ASM_BODY(provider, name, pack_args, args) \ + _SDT_ASM_1(990: _SDT_NOP) \ + _SDT_ASM_3( .pushsection .note.stapsdt,_SDT_ASM_AUTOGROUP,"note") \ + _SDT_ASM_1( .balign 4) \ + _SDT_ASM_3( .4byte 992f-991f, 994f-993f, _SDT_NOTE_TYPE) \ + _SDT_ASM_1(991: .asciz _SDT_NOTE_NAME) \ + _SDT_ASM_1(992: .balign 4) \ + _SDT_ASM_1(993: _SDT_ASM_ADDR 990b) \ + _SDT_ASM_1( _SDT_ASM_ADDR _.stapsdt.base) \ + _SDT_SEMAPHORE(provider,name) \ + _SDT_ASM_STRING(provider) \ + _SDT_ASM_STRING(name) \ + pack_args args \ + _SDT_ASM_1(994: .balign 4) \ + _SDT_ASM_1( .popsection) + +#define _SDT_ASM_BASE \ + _SDT_ASM_1(.ifndef _.stapsdt.base) \ + _SDT_ASM_5( .pushsection .stapsdt.base,"aG","progbits", \ + .stapsdt.base,comdat) \ + _SDT_ASM_1( .weak _.stapsdt.base) \ + _SDT_ASM_1( .hidden _.stapsdt.base) \ + _SDT_ASM_1( _.stapsdt.base: .space 1) \ + _SDT_ASM_2( .size _.stapsdt.base, 1) \ + _SDT_ASM_1( .popsection) \ + _SDT_ASM_1(.endif) + +#if defined _SDT_HAS_SEMAPHORES +#define _SDT_SEMAPHORE(p,n) _SDT_ASM_1( _SDT_ASM_ADDR p##_##n##_semaphore) +#else +#define _SDT_SEMAPHORE(p,n) _SDT_ASM_1( _SDT_ASM_ADDR 0) +#endif + +#define _SDT_ASM_TEMPLATE_0 /* no arguments */ +#define _SDT_ASM_TEMPLATE_1 _SDT_ARGFMT(1) +#define _SDT_ASM_TEMPLATE_2 _SDT_ASM_TEMPLATE_1 _SDT_ARGFMT(2) +#define _SDT_ASM_TEMPLATE_3 _SDT_ASM_TEMPLATE_2 _SDT_ARGFMT(3) +#define _SDT_ASM_TEMPLATE_4 _SDT_ASM_TEMPLATE_3 _SDT_ARGFMT(4) +#define _SDT_ASM_TEMPLATE_5 _SDT_ASM_TEMPLATE_4 _SDT_ARGFMT(5) +#define _SDT_ASM_TEMPLATE_6 _SDT_ASM_TEMPLATE_5 _SDT_ARGFMT(6) +#define _SDT_ASM_TEMPLATE_7 _SDT_ASM_TEMPLATE_6 _SDT_ARGFMT(7) +#define _SDT_ASM_TEMPLATE_8 _SDT_ASM_TEMPLATE_7 _SDT_ARGFMT(8) +#define _SDT_ASM_TEMPLATE_9 _SDT_ASM_TEMPLATE_8 _SDT_ARGFMT(9) +#define _SDT_ASM_TEMPLATE_10 _SDT_ASM_TEMPLATE_9 _SDT_ARGFMT(10) +#define _SDT_ASM_TEMPLATE_11 _SDT_ASM_TEMPLATE_10 _SDT_ARGFMT(11) +#define _SDT_ASM_TEMPLATE_12 _SDT_ASM_TEMPLATE_11 _SDT_ARGFMT(12) +#define _SDT_ASM_OPERANDS_0() [__sdt_dummy] "g" (0) +#define _SDT_ASM_OPERANDS_1(arg1) _SDT_ARG(1, arg1) +#define _SDT_ASM_OPERANDS_2(arg1, arg2) \ + _SDT_ASM_OPERANDS_1(arg1), _SDT_ARG(2, arg2) +#define _SDT_ASM_OPERANDS_3(arg1, arg2, arg3) \ + _SDT_ASM_OPERANDS_2(arg1, arg2), _SDT_ARG(3, arg3) +#define _SDT_ASM_OPERANDS_4(arg1, arg2, arg3, arg4) \ + _SDT_ASM_OPERANDS_3(arg1, arg2, arg3), _SDT_ARG(4, arg4) +#define _SDT_ASM_OPERANDS_5(arg1, arg2, arg3, arg4, arg5) \ + _SDT_ASM_OPERANDS_4(arg1, arg2, arg3, arg4), _SDT_ARG(5, arg5) +#define _SDT_ASM_OPERANDS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ + _SDT_ASM_OPERANDS_5(arg1, arg2, arg3, arg4, arg5), _SDT_ARG(6, arg6) +#define _SDT_ASM_OPERANDS_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ + _SDT_ASM_OPERANDS_6(arg1, arg2, arg3, arg4, arg5, arg6), _SDT_ARG(7, arg7) +#define _SDT_ASM_OPERANDS_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ + _SDT_ASM_OPERANDS_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7), \ + _SDT_ARG(8, arg8) +#define _SDT_ASM_OPERANDS_9(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \ + _SDT_ASM_OPERANDS_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8), \ + _SDT_ARG(9, arg9) +#define _SDT_ASM_OPERANDS_10(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) \ + _SDT_ASM_OPERANDS_9(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9), \ + _SDT_ARG(10, arg10) +#define _SDT_ASM_OPERANDS_11(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) \ + _SDT_ASM_OPERANDS_10(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10), \ + _SDT_ARG(11, arg11) +#define _SDT_ASM_OPERANDS_12(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) \ + _SDT_ASM_OPERANDS_11(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11), \ + _SDT_ARG(12, arg12) + +/* These macros can be used in C, C++, or assembly code. + In assembly code the arguments should use normal assembly operand syntax. */ + +#define STAP_PROBE(provider, name) \ + _SDT_PROBE(provider, name, 0, ()) +#define STAP_PROBE1(provider, name, arg1) \ + _SDT_PROBE(provider, name, 1, (arg1)) +#define STAP_PROBE2(provider, name, arg1, arg2) \ + _SDT_PROBE(provider, name, 2, (arg1, arg2)) +#define STAP_PROBE3(provider, name, arg1, arg2, arg3) \ + _SDT_PROBE(provider, name, 3, (arg1, arg2, arg3)) +#define STAP_PROBE4(provider, name, arg1, arg2, arg3, arg4) \ + _SDT_PROBE(provider, name, 4, (arg1, arg2, arg3, arg4)) +#define STAP_PROBE5(provider, name, arg1, arg2, arg3, arg4, arg5) \ + _SDT_PROBE(provider, name, 5, (arg1, arg2, arg3, arg4, arg5)) +#define STAP_PROBE6(provider, name, arg1, arg2, arg3, arg4, arg5, arg6) \ + _SDT_PROBE(provider, name, 6, (arg1, arg2, arg3, arg4, arg5, arg6)) +#define STAP_PROBE7(provider, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ + _SDT_PROBE(provider, name, 7, (arg1, arg2, arg3, arg4, arg5, arg6, arg7)) +#define STAP_PROBE8(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \ + _SDT_PROBE(provider, name, 8, (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)) +#define STAP_PROBE9(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)\ + _SDT_PROBE(provider, name, 9, (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)) +#define STAP_PROBE10(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) \ + _SDT_PROBE(provider, name, 10, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)) +#define STAP_PROBE11(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) \ + _SDT_PROBE(provider, name, 11, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)) +#define STAP_PROBE12(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) \ + _SDT_PROBE(provider, name, 12, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)) + +/* This STAP_PROBEV macro can be used in variadic scenarios, where the + number of probe arguments is not known until compile time. Since + variadic macro support may vary with compiler options, you must + pre-#define SDT_USE_VARIADIC to enable this type of probe. + + The trick to count __VA_ARGS__ was inspired by this post by + Laurent Deniau : + http://groups.google.com/group/comp.std.c/msg/346fc464319b1ee5 + + Note that our _SDT_NARG is called with an extra 0 arg that's not + counted, so we don't have to worry about the behavior of macros + called without any arguments. */ + +#ifdef SDT_USE_VARIADIC +#define _SDT_NARG(...) __SDT_NARG(__VA_ARGS__, 12,11,10,9,8,7,6,5,4,3,2,1,0) +#define __SDT_NARG(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12, N, ...) N +#define _SDT_PROBE_N(provider, name, N, ...) \ + _SDT_PROBE(provider, name, N, (__VA_ARGS__)) +#define STAP_PROBEV(provider, name, ...) \ + _SDT_PROBE_N(provider, name, _SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__) +#endif + +/* These macros are for use in asm statements. You must compile + with -std=gnu99 or -std=c99 to use the STAP_PROBE_ASM macro. + + The STAP_PROBE_ASM macro generates a quoted string to be used in the + template portion of the asm statement, concatenated with strings that + contain the actual assembly code around the probe site. + + For example: + + asm ("before\n" + STAP_PROBE_ASM(provider, fooprobe, %eax 4(%esi)) + "after"); + + emits the assembly code for "before\nafter", with a probe in between. + The probe arguments are the %eax register, and the value of the memory + word located 4 bytes past the address in the %esi register. Note that + because this is a simple asm, not a GNU C extended asm statement, these + % characters do not need to be doubled to generate literal %reg names. + + In a GNU C extended asm statement, the probe arguments can be specified + using the macro STAP_PROBE_ASM_TEMPLATE(n) for n arguments. The paired + macro STAP_PROBE_ASM_OPERANDS gives the C values of these probe arguments, + and appears in the input operand list of the asm statement. For example: + + asm ("someinsn %0,%1\n" // %0 is output operand, %1 is input operand + STAP_PROBE_ASM(provider, fooprobe, STAP_PROBE_ASM_TEMPLATE(3)) + "otherinsn %[namedarg]" + : "r" (outvar) + : "g" (some_value), [namedarg] "i" (1234), + STAP_PROBE_ASM_OPERANDS(3, some_value, some_ptr->field, 1234)); + + This is just like writing: + + STAP_PROBE3(provider, fooprobe, some_value, some_ptr->field, 1234)); + + but the probe site is right between "someinsn" and "otherinsn". + + The probe arguments in STAP_PROBE_ASM can be given as assembly + operands instead, even inside a GNU C extended asm statement. + Note that these can use operand templates like %0 or %[name], + and likewise they must write %%reg for a literal operand of %reg. */ + +#if __STDC_VERSION__ >= 199901L +# define STAP_PROBE_ASM(provider, name, ...) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING, (__VA_ARGS__)) \ + _SDT_ASM_BASE +# define STAP_PROBE_ASM_OPERANDS(n, ...) _SDT_ASM_OPERANDS_##n(__VA_ARGS__) +#else +# define STAP_PROBE_ASM(provider, name, args) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING, (args)) \ + _SDT_ASM_BASE +#endif +#define STAP_PROBE_ASM_TEMPLATE(n) _SDT_ASM_TEMPLATE_##n + + +/* DTrace compatible macro names. */ +#define DTRACE_PROBE(provider,probe) \ + STAP_PROBE(provider,probe) +#define DTRACE_PROBE1(provider,probe,parm1) \ + STAP_PROBE1(provider,probe,parm1) +#define DTRACE_PROBE2(provider,probe,parm1,parm2) \ + STAP_PROBE2(provider,probe,parm1,parm2) +#define DTRACE_PROBE3(provider,probe,parm1,parm2,parm3) \ + STAP_PROBE3(provider,probe,parm1,parm2,parm3) +#define DTRACE_PROBE4(provider,probe,parm1,parm2,parm3,parm4) \ + STAP_PROBE4(provider,probe,parm1,parm2,parm3,parm4) +#define DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \ + STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE6(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6) \ + STAP_PROBE6(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6) +#define DTRACE_PROBE7(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7) \ + STAP_PROBE7(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7) +#define DTRACE_PROBE8(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) \ + STAP_PROBE8(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) +#define DTRACE_PROBE9(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) \ + STAP_PROBE9(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) +#define DTRACE_PROBE10(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) \ + STAP_PROBE10(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) +#define DTRACE_PROBE11(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11) \ + STAP_PROBE11(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11) +#define DTRACE_PROBE12(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11,parm12) \ + STAP_PROBE12(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11,parm12) + + +#endif /* sys/sdt.h */ diff --git a/main/glibc/version b/main/glibc/version new file mode 100644 index 00000000..74e7f38e --- /dev/null +++ b/main/glibc/version @@ -0,0 +1 @@ +2.39+r52+gf8e4623421 1 diff --git a/main/glslang/.PKGINFO b/main/glslang/.PKGINFO new file mode 100644 index 00000000..9359afa5 --- /dev/null +++ b/main/glslang/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = glslang +pkgbase = glslang +xdata = pkgtype=pkg +pkgver = 14.1.0-1 +pkgdesc = OpenGL and OpenGL ES shader front end and validator +url = https://github.com/KhronosGroup/glslang +builddate = 1715045215 +packager = Developer +size = 14639303 +arch = x86_64 +license = BSD-3-Clause +depend = gcc-libs +depend = spirv-tools +makedepend = cmake +makedepend = ninja +makedepend = spirv-headers +makedepend = python diff --git a/main/glslang/PKGBUILD b/main/glslang/PKGBUILD new file mode 100644 index 00000000..bfa70989 --- /dev/null +++ b/main/glslang/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Developer +# Maintainer: Developer + +# Careful when upgrading this package! It usually breaks ABI without bumping +# soname. Also, be very mindful of the version of spirv-tools that this links +# to. Upstream actually expects the use of the particular commits of +# spirv-tools and spirv-headers that are provided in known_good.json. However, +# if we went that route, we'd have to vendor the resulting spirv-tools libs +# from this glslang build and they would be incompatible with system libs, +# resulting in us having to ship both. Instead, I recommend just waiting until +# upstream releases a compatible version of spirv-tools, then updating the +# spriv-tools system package and only then building glslang against that. +pkgname=glslang +pkgver=%version% +pkgrel=%release% +pkgdesc='OpenGL and OpenGL ES shader front end and validator' +arch=('x86_64') +url='https://github.com/KhronosGroup/glslang' +license=('BSD-3-Clause') +depends=('gcc-libs' 'spirv-tools') +makedepends=('cmake' 'ninja' 'spirv-headers' 'python') +options=('staticlibs') +source=(${pkgname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/glslang/archive/${pkgver}.tar.gz + glslang-add-missing-spirv-tools-opt-dependency.patch::https://github.com/KhronosGroup/glslang/pull/3487.patch) +sha256sums=('80bbb916a23e94ea9cbfb1acb5d1a44a7e0c9613bcf5b5947c03f2273bdc92b0' + '582eff1c09948783abfd6da55406129b97ce216040c9b29d9480635fdaf1e3e9') + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 -i ../glslang-add-missing-spirv-tools-opt-dependency.patch +} + +build() { + cd ${pkgname}-${pkgver} + + # we need fat LTO objects to not break consumers during linking + CXXFLAGS+=" -ffat-lto-objects" + cmake \ + -Bbuild-static \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \ + -DBUILD_SHARED_LIBS=OFF + cmake --build build-static + cmake \ + -Bbuild-shared \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DGLSLANG_TESTS=ON + cmake --build build-shared +} + +check() { + cd ${pkgname}-${pkgver} + ninja -Cbuild-shared test +} + +package() { + cd ${pkgname}-${pkgver} + DESTDIR="${pkgdir}" cmake --install build-static + DESTDIR="${pkgdir}" cmake --install build-shared + + install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + cd "${pkgdir}"/usr/lib + for lib in *.so; do + ln -sf "${lib}" "${lib}.0" + done +} + +# vim: ts=2 sw=2 et: diff --git a/main/glslang/README b/main/glslang/README new file mode 100644 index 00000000..9283e918 --- /dev/null +++ b/main/glslang/README @@ -0,0 +1,43 @@ +glslang +________________________________________________________________________________ + +OpenGL and OpenGL ES shader front end and validator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S glslang | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/KhronosGroup/glslang diff --git a/main/glslang/version b/main/glslang/version new file mode 100644 index 00000000..0d846d67 --- /dev/null +++ b/main/glslang/version @@ -0,0 +1 @@ +14.1.0 1 diff --git a/main/glu/.nvchecker.toml b/main/glu/.nvchecker.toml new file mode 100644 index 00000000..3f03c9f4 --- /dev/null +++ b/main/glu/.nvchecker.toml @@ -0,0 +1,6 @@ +[glu] +source = "gitlab" +gitlab = "mesa/glu" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "glu-" diff --git a/main/glu/PKGBUILD b/main/glu/PKGBUILD new file mode 100644 index 00000000..f1b5794d --- /dev/null +++ b/main/glu/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=glu +pkgver=%version% +pkgrel=%release% +pkgdesc="Mesa OpenGL utility library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/mesa/glu" +license=('LGPL') +depends=('libgl' 'gcc-libs' 'glibc') +makedepends=('meson') +source=(https://mesa.freedesktop.org/archive/glu/glu-$pkgver.tar.xz{,.sig}) +sha512sums=('b2781059c0e176192c3fc0d7244645020937a463311171efddb9f35fb94ee43faabcf627fa7f429d48fceaf6dd9c5adb69c86c7a21ec4ea490f4ab143d52e3ba' + 'SKIP') +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +validpgpkeys=('57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom + +build() { + arch-meson glu-$pkgver build \ + -D default_library=shared + + # Print config + meson configure build + + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} diff --git a/main/glu/README b/main/glu/README new file mode 100644 index 00000000..f148f18b --- /dev/null +++ b/main/glu/README @@ -0,0 +1,43 @@ +glu +________________________________________________________________________________ + +Mesa OpenGL utility library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S glu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/mesa/glu diff --git a/main/glu/version b/main/glu/version new file mode 100644 index 00000000..56e5fc5f --- /dev/null +++ b/main/glu/version @@ -0,0 +1 @@ +9.0.3 1 diff --git a/main/gmp/.PKGINFO b/main/gmp/.PKGINFO new file mode 100644 index 00000000..f5195b47 --- /dev/null +++ b/main/gmp/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gmp +pkgbase = gmp +xdata = pkgtype=pkg +pkgver = 6.3.0-2 +pkgdesc = A free library for arbitrary precision arithmetic +url = https://gmplib.org/ +builddate = 1713662696 +packager = Developer +size = 1061555 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-3.0-or-later +depend = gcc-libs +depend = glibc diff --git a/main/gmp/.nvchecker.toml b/main/gmp/.nvchecker.toml new file mode 100644 index 00000000..3ac96611 --- /dev/null +++ b/main/gmp/.nvchecker.toml @@ -0,0 +1,4 @@ +[gmp] +source = 'regex' +url = 'https://gmplib.org/download/gmp/' +regex = 'gmp-([\d.]+)\.[a-z]' diff --git a/main/gmp/PKGBUILD b/main/gmp/PKGBUILD new file mode 100644 index 00000000..f7fe9742 --- /dev/null +++ b/main/gmp/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gmp +pkgver=%version% +pkgrel=%release% +pkgdesc='A free library for arbitrary precision arithmetic' +arch=(x86_64) +url='https://gmplib.org/' +depends=(gcc-libs sh) +license=(LGPL-3.0-or-later GPL-2.0-or-later) +source=(https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz{,.sig}) +sha256sums=('be5c908a7a836c3a9bd9d62aa58563c5e9e7fef94c43a7f42dbc35bb6d02733c' + 'SKIP') +validpgpkeys=('343C2FF0FBEE5EC2EDBEF399F3599FF828C67298') # Niels Möller + +build() { + cd $pkgname-$pkgver + + ./configure --build=${CHOST} \ + --prefix=/usr \ + --enable-cxx \ + --enable-fat + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/main/gmp/README b/main/gmp/README new file mode 100644 index 00000000..2650e189 --- /dev/null +++ b/main/gmp/README @@ -0,0 +1,43 @@ +gmp +________________________________________________________________________________ + +A free library for arbitrary precision arithmetic + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gmp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gmplib.org/ diff --git a/main/gmp/version b/main/gmp/version new file mode 100644 index 00000000..41ba9419 --- /dev/null +++ b/main/gmp/version @@ -0,0 +1 @@ +6.3.0 2 diff --git a/main/gnu-free-fonts/PKGBUILD b/main/gnu-free-fonts/PKGBUILD new file mode 100644 index 00000000..63753e97 --- /dev/null +++ b/main/gnu-free-fonts/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gnu-free-fonts +pkgver=%version% +pkgrel=%release% +pkgdesc="A free family of scalable outline fonts" +url="https://www.gnu.org/software/freefont/" +license=(GPL3) +arch=(any) +provides=(ttf-font ttf-freefont) +replaces=('ttf-freefont<=20120503-5') +source=(https://ftp.gnu.org/gnu/freefont/freefont-otf-${pkgver}.tar.gz{,.sig}) +sha256sums=('3a6c51868c71b006c33c4bcde63d90927e6fcca8f51c965b8ad62d021614a860' + 'SKIP') +validpgpkeys=('A0156C139D2DAA3B352E42CD506361DBA36FDD52') + +package() { + install -Dt "$pkgdir/usr/share/fonts/${pkgname%-fonts}" -m644 freefont-$pkgver/*.otf +} + +# vim:set sw=2 et: diff --git a/main/gnu-free-fonts/README b/main/gnu-free-fonts/README new file mode 100644 index 00000000..eda163a2 --- /dev/null +++ b/main/gnu-free-fonts/README @@ -0,0 +1,43 @@ +gnu-free-fonts +________________________________________________________________________________ + +A free family of scalable outline fonts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gnu-free-fonts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/freefont/ diff --git a/main/gnu-free-fonts/version b/main/gnu-free-fonts/version new file mode 100644 index 00000000..c4eff9c8 --- /dev/null +++ b/main/gnu-free-fonts/version @@ -0,0 +1 @@ +20120503 8 diff --git a/main/gnu-netcat/.PKGINFO b/main/gnu-netcat/.PKGINFO new file mode 100644 index 00000000..3b87615e --- /dev/null +++ b/main/gnu-netcat/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gnu-netcat +pkgbase = gnu-netcat +xdata = pkgtype=pkg +pkgver = 0.7.1-10 +pkgdesc = GNU rewrite of netcat, the network piping application +url = http://netcat.sourceforge.net/ +builddate = 1715991087 +packager = Developer +size = 68010 +arch = x86_64 +license = GPL-2.0-only +replaces = netcat +provides = netcat +depend = glibc +makedepend = texinfo diff --git a/main/gnu-netcat/PKGBUILD b/main/gnu-netcat/PKGBUILD new file mode 100644 index 00000000..797bdaff --- /dev/null +++ b/main/gnu-netcat/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gnu-netcat +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU rewrite of netcat, the network piping application" +depends=('glibc' 'texinfo') +arch=('x86_64') +url="http://netcat.sourceforge.net/" +license=('GPL') +replaces=('netcat') +provides=('netcat') +source=("https://downloads.sourceforge.net/sourceforge/netcat/netcat-$pkgver.tar.bz2") +sha256sums=('b55af0bbdf5acc02d1eb6ab18da2acd77a400bafd074489003f3df09676332bb') + +build() { + cd "${srcdir}/netcat-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info + make +} + +package() { + cd "${srcdir}/netcat-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/gnu-netcat/README b/main/gnu-netcat/README new file mode 100644 index 00000000..9133058f --- /dev/null +++ b/main/gnu-netcat/README @@ -0,0 +1,43 @@ +gnu-netcat +________________________________________________________________________________ + +GNU rewrite of netcat, the network piping application + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gnu-netcat | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://netcat.sourceforge.net/ diff --git a/main/gnu-netcat/version b/main/gnu-netcat/version new file mode 100644 index 00000000..4fb7d273 --- /dev/null +++ b/main/gnu-netcat/version @@ -0,0 +1 @@ +0.7.1 10 diff --git a/main/gnupg/.nvchecker.toml b/main/gnupg/.nvchecker.toml new file mode 100644 index 00000000..e27f818d --- /dev/null +++ b/main/gnupg/.nvchecker.toml @@ -0,0 +1,5 @@ +[gnupg] +source = "git" +git = "https://dev.gnupg.org/source/gnupg.git" +include_regex = "gnupg-(2.4.[\\d.*]+)" +prefix = "gnupg-" diff --git a/main/gnupg/PKGBUILD b/main/gnupg/PKGBUILD new file mode 100644 index 00000000..71335688 --- /dev/null +++ b/main/gnupg/PKGBUILD @@ -0,0 +1,180 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gnupg +pkgver=%version% +pkgrel=%release% +pkgdesc='Complete and free implementation of the OpenPGP standard' +arch=(x86_64) +url='https://www.gnupg.org/' +license=( + BSD-2-Clause + BSD-3-Clause + BSD-4-Clause + CC0-1.0 + GPL-2.0-or-later + GPL-3.0-or-later + LGPL-2.1-or-later + 'LGPL-3.0-or-later OR GPL-2.0-or-later' + MIT + Unicode-TOU +) +depends=( + bzip2 libbz2.so + glibc + gnutls + libgcrypt + libgpg-error + libksba + libassuan libassuan.so + libldap + libusb + npth libnpth.so + pinentry + readline libreadline.so + sh + sqlite + tpm2-tss + zlib +) +makedepends=(pcsclite) +checkdepends=(openssh) +optdepends=( + 'pcsclite: for using scdaemon not with the gnupg internal card driver' +) +install=$pkgname.install +source=( + https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} + dirmngr{,@}.{service,socket} + gpg-agent{,@}.{service,socket} + gpg-agent-{browser,extra,ssh}{,@}.socket + keyboxd{,@}.{service,socket} + $pkgname-2.4-avoid_beta_warning.patch # do not emit beta warnings (due to misbehaving build system) + $pkgname-2.4-drop_import_clean.patch # do not potentially remove components on certificates during import + $pkgname-2.4-revert_default_rfc4880bis.patch # v5 is incompatible with other implementations and v6 + $pkgname-2.4-keep-systemd-support.patch + $pkgname-2.4-keyboxd-systemd-support.patch +) +sha256sums=('f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277' + 'SKIP' + '80a3a80f9f1f337da555a6838483e1baca44cde8a8a3d8c4ba7743626304b981' + '8374255ce93a3c343019ab425963bcbc41982ea89e669d1ad1df0aa7be810de1' + 'ca55048f992824a24ab7f61cbc44a713a153f70a1a60d1cbba7ab4440302a204' + '9bc456d0fdc7d1a955d385a337d58e5b9cff22157b9097248faa136b2e008433' + '8ea489a57edb0db9394bf2d6c0ec62205f881bb54efb919e4870209c7db01aa7' + '81e9dd05cbf3b8406367258eae6ef67ff97f270301bf50b52742647c515c8304' + 'f735119afa3c452728e899809aa1d87b6091a327934befde3aef70ea9259197f' + 'afdc69cdb4aeb585728942eea2126de87e2fbc17fc68743f215017046be4a2b4' + '1cf9821b3bf4efaf4da2fd52ceb70d254dc4f6c545603f9045de716ef6aabf2d' + 'c2ef09eda452e730e7f4d667a8195b00fff076a91f413d7af22b4cfd5e8439e5' + 'f0094f67586cbcda17fd0d780e3e73d6dbaa479ac84715ba941531f83f6ecfe9' + '075083af7f70c964ecd6e3ea45b35992f065d7a236014a97a705cb1b6835b7cb' + 'ffa0191fad52712732f8b24d7d570c1d19a7803e59d30088797b76e252f65858' + 'f2fcec9b97535f79a8054797cac7cfcd701451b43be65de943c6968db86c04ca' + '5494b329584ae5321911b4a28a99e94678e317668269365e288df21839ac47b0' + '36a3e76bb2d79a57bdf316bd2df5cf965fafe33f9ca345b3c3e0b05e903b0cdf' + 'f25c79a2e135f41b9b84bab416be22cbeb5c32dc92d23a463638d2947ece9703' + '829f8550054b2aeddc3c978b3ce46236e951a00809084f488cf9b10126e0533d' + '243c3a79295519b3931f9d846cf2af5caa064a78de812ee336dc786c1567b4d0' + '6ade15b536c50a88efc2d9dc958433b0ccfaf2908025b7672753e6bfce51c3c6' + 'ef2267eecd9eb59bbbbdb97d55cbfe10236b4979a125c6683a840830bc202905' + '677ca409e8ece61e64a94102a2b71ec119941b5ae0f0ed4f1c4f2c0c2bdd158a' + 'e0aff9f80abb6059e41cb3bb7cc86b7aa3fc1c27626676385c5479d69ef830a1') +b2sums=('a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b18358c962781b5c06de1545117b13038a4655ae627c36bfd2e5fee127692df8729d6b23e1b31051ab6d897b733' + 'SKIP' + '7a3af856305eb4b00929aaf029dd4e5c84376df4f30add76976b9b058addf6fc4d8c39335fc83d11493ea9d8a40f0510dbac8572b99a8c8b9b3a4eca8e585774' + 'ee51a4702715f5ec2629ff42eeba8630010da8a67545d1e53961e710de5faf197708e55d2d55796917a134ca2a76b1d6c88a8f7756d0706e0cbc33b605f52d86' + '3f40de2bf73e84f099b542349257ef6c098b4e347fb218d21a2a785830aa335832229b24c74aadae73deff5460f8645e2d7e7c3c2faaeb91cc812eeb06ddca84' + '5bc0061db19515cb48ad7ec251a6edd3ac88d45cbaeb4b71eb714ffad5b2608cbea9097f577d60758e457dfd4ec8977d88232093d4fa9eeda0ee32baea8b9892' + 'ad71d7fab2a92a8da454c34884b5724e94adc0925a7f97f062fb7b78ed3ec87e5babb6383e755c943afd16bf61789ba83455dc2baf82ce248c1c4622ff87e364' + '129ecd9df3f00ed28f494f914483645e9aeaa1d6812c762ded60582c0a3f66b215731d4415ea5c017aa5ce97448faa5b93dbcb3793a82643d6ed160cc62f4ea4' + '36f8709733fbd509f096675a10a240ec6862e6cbd59d32cf8b1fdc1ac04fb7137093690cd97db705e324f6d030344d1d72384504f3465cffccb855c2e29be678' + '9c1db80065125cfb55703a851433bc1e80920c01c51fc93eac577a4dd5f81c56b9d51a22abab62b519501a662751c8fee1eed88e39cefcace156ef6506ae22a0' + 'bf5daa4a33daae716a1d7743470dae618151e14ab7bb5d99138f880a908fac57dbb517b78d92c81ecf4532c25366cd32f7acc0e33a711ccde830fbc208726e69' + '0ff931c5a56abd90d3b696cd8b8109c2838d6ea5e8547aa2c9cf7241ed83d9c2c715a38e35cfce801feaca0ba0aabd047b7618a1ed4331fc2713fe83f268843c' + 'ffc8ea3c7875b195720ad238742a726b4b7be0bb8f2f8927358d259202f22b5e32f9ad23a4c66da85e25f36544770c29725be6d99256b685427b94d814e29196' + '79084542549657d374f9a8464de43a122c5f8329dad86464cb869b6422d89f65483be28f823dff6b9496e6d53976092ebad1aa929c3039d09f6ec1aded82feb8' + '9dd03f808af45752a01ccbcfec3f3cb39f1a720088e21aa8a19c2ceec3876b3a8b950c1c154203d0adc208fed8ae07a26c8cd59d783e32eb1294a3a340bedad4' + '4f184100cfafd917eb6e67969d473c6bc02bf874d83d47eb5066d0246ecf77de552f44d29952033b6d57656e5a4dff4b8861833bc61afba65524c928e984266e' + '93382c52bcaf14d7a20b561b5ae6fc587ff46ed5e9fa28df956a5732c8aa685b4966de1db2696bd4e3e99a8c3329a8b3070943c1c06e97aab344af3048c38e75' + '402c0670357ae811ffb7252d762d3385a6bc542161a828aeb15b932fdc4a8ba181af1a4a4cca639d9adb13a99dac15a006386ad41d94cb566e1a2ba62feff1cc' + 'bb88f65e71537e8fec6bb21487589d4c94e590fc580717ce59bf332b748a62d73a1c8c6f8372efaf0253954b03026c6a924e7a947f4ae293ef0afab9bfcfabad' + '559f848e6b07aa3534a18fad9796c93c859e8759558c3d642fd347f71bea29976cb56aac33e3182e83980baad2589fb6abe2aaabd305b0b874eba77bd8711fe8' + '168855b598714abb27e01e52e0ed1e1a01ab14ffb2ee09d759308375359cd28c0a9f96c6b9dee0a2cc5713aec8ea831858d59f56a0a126bca3e1401b078fc7ab' + '0b9546c102724f1dbb90ad3c45307eed3491a5ea79940eba1184e6d466f399f279a23e73bac6b0bb0d662aa4599d0a4a0f331b0df3fe7fa6e7590c1074fc2ed1' + '009c1a935021c987cd3c15581250090edfcd1a6dd30622db2701295f047384e03ba97590ca6993d410e81a6fd7c274468cd58a1904d51f432d572df39ee178d6' + '2801ecc6db1f6fe33a8a83756b272d9f363509c5804c501045002e9ac509fc22bcb16dfd107bcbe870756748d2ebc2dbdc3b7c0f74c8b7f52207553ca5e0145b' + '070aaca7cd1a5f994eeb84ac2b07d6ddd80b5cb21dec4d0763ab599f3849611143314faa5af7f1eb2cfb924dd49e44ec11b28763aa1980f61e74cdf368bed545') +validpgpkeys=( + '5B80C5754298F0CB55D8ED6ABCEF7E294B092E28' # Andre Heinecke (Release Signing Key) + '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) + 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD' # Niibe Yutaka (GnuPG Release Key) + '02F38DFF731FF97CB039A1DA549E695E905BA208' # GnuPG.com (Release Signing Key 2021) +) + +prepare() { + cd $pkgname-$pkgver + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done + + # improve reproducibility + rm doc/gnupg.info* + + sed -n '5, 28 p' COPYING.other > MIT.txt + sed -n '30, 60 p' COPYING.other > BSD-4-Clause.txt + sed -n '62, 92 p' COPYING.other > BSD-3-Clause.txt + sed -n '95, 125 p' COPYING.other > BSD-2-Clause.txt + sed -n '128, 160 p' COPYING.other > Unicode-TOU.txt + + ./autogen.sh +} + +build() { + local configure_options=( + --enable-maintainer-mode + --libexecdir=/usr/lib/gnupg + --prefix=/usr + --sbindir=/usr/bin + --sysconfdir=/etc + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + ln -s gpg "$pkgdir"/usr/bin/gpg2 + ln -s gpgv "$pkgdir"/usr/bin/gpgv2 + + install -vDm 644 {BSD-{2,3,4}-Clause,MIT,Unicode-TOU}.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + + local systemdir="$pkgdir/usr/lib/systemd/" + local wantsdir="${systemdir}user/sockets.target.wants/" + install -vdm 755 "$wantsdir" + + local unit + for unit in ../*.{service,socket}; do + case $unit in + *@.*) install -vDm 644 "$unit" -t "${systemdir}system/" ;; + *.socket) ln -sv "../${unit##*/}" -t "$wantsdir" ;& + *) install -vDm 644 "$unit" -t "${systemdir}user/" ;; + esac + done +} + +# vim: ts=2 sw=2 et: diff --git a/main/gnupg/README b/main/gnupg/README new file mode 100644 index 00000000..4959b5a5 --- /dev/null +++ b/main/gnupg/README @@ -0,0 +1,43 @@ +gnupg +________________________________________________________________________________ + +Complete and free implementation of the OpenPGP standard + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gnupg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org/ diff --git a/main/gnupg/dirmngr.service b/main/gnupg/dirmngr.service new file mode 100644 index 00000000..3c060cde --- /dev/null +++ b/main/gnupg/dirmngr.service @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG network certificate management daemon +Documentation=man:dirmngr(8) +Requires=dirmngr.socket + +[Service] +ExecStart=/usr/bin/dirmngr --supervised +ExecReload=/usr/bin/gpgconf --reload dirmngr diff --git a/main/gnupg/dirmngr.socket b/main/gnupg/dirmngr.socket new file mode 100644 index 00000000..64281c03 --- /dev/null +++ b/main/gnupg/dirmngr.socket @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG network certificate management daemon +Documentation=man:dirmngr(8) + +[Socket] +ListenStream=%t/gnupg/S.dirmngr +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/dirmngr@.service b/main/gnupg/dirmngr@.service new file mode 100644 index 00000000..1b63a895 --- /dev/null +++ b/main/gnupg/dirmngr@.service @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG network certificate management daemon for %f +Documentation=man:dirmngr(8) +Requires=dirmngr@%i.socket + +[Service] +ExecStart=/usr/bin/dirmngr --homedir %f --supervised +ExecReload=/usr/bin/gpgconf --homedir %f --reload dirmngr diff --git a/main/gnupg/dirmngr@.socket b/main/gnupg/dirmngr@.socket new file mode 100644 index 00000000..ffae9177 --- /dev/null +++ b/main/gnupg/dirmngr@.socket @@ -0,0 +1,7 @@ +[Unit] +Description=GnuPG network certificate management daemon for %f +Documentation=man:dirmngr(8) + +[Socket] +ListenStream=%f/S.dirmngr +SocketMode=0600 diff --git a/main/gnupg/gnupg-2.4-avoid_beta_warning.patch b/main/gnupg/gnupg-2.4-avoid_beta_warning.patch new file mode 100644 index 00000000..2c3c873f --- /dev/null +++ b/main/gnupg/gnupg-2.4-avoid_beta_warning.patch @@ -0,0 +1,46 @@ +From: Debian GnuPG Maintainers +Date: Tue, 14 Apr 2015 10:02:31 -0400 +Subject: avoid-beta-warning + +avoid self-describing as a beta + +Using autoreconf against the source as distributed in tarball form +invariably results in a package that thinks it's a "beta" package, +which produces the "THIS IS A DEVELOPMENT VERSION" warning string. + +since we use dh_autoreconf, i need this patch to avoid producing +builds that announce themselves as DEVELOPMENT VERSIONs. + +See discussion at: + + http://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029065.html +--- + autogen.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Patch-Source: https://sources.debian.org/data/main/g/gnupg2/2.2.27-2/debian/patches/debian-packaging/avoid-beta-warning.patch + +diff --git a/autogen.sh b/autogen.sh +index b238550..9b86d3f 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -229,7 +229,7 @@ if [ "$myhost" = "find-version" ]; then + esac + + beta=no +- if [ -e .git ]; then ++ if false; then + ingit=yes + tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) + tmp=$(echo "$tmp" | sed s/^"$package"//) +@@ -245,8 +245,8 @@ if [ "$myhost" = "find-version" ]; then + rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) + else + ingit=no +- beta=yes +- tmp="-unknown" ++ beta=no ++ tmp="" + rev="0000000" + rvd="0" + fi diff --git a/main/gnupg/gnupg-2.4-drop_import_clean.patch b/main/gnupg/gnupg-2.4-drop_import_clean.patch new file mode 100644 index 00000000..26098e79 --- /dev/null +++ b/main/gnupg/gnupg-2.4-drop_import_clean.patch @@ -0,0 +1,51 @@ +From: Daniel Kahn Gillmor +Date: Mon, 15 Jul 2019 16:24:35 -0400 +Subject: gpg: drop import-clean from default keyserver import options + +* g10/gpg.c (main): drop IMPORT_CLEAN from the +default opt.keyserver_options.import_options +* doc/gpg.texi: reflect this change in the documentation + +Given that SELF_SIGS_ONLY is already set, it's not clear what +additional benefit IMPORT_CLEAN provides. Furthermore, IMPORT_CLEAN +means that receiving an OpenPGP certificate from a keyserver will +potentially delete data that is otherwise held in the local keyring, +which is surprising to users who expect retrieval from the keyservers +to be purely additive. + +GnuPG-Bug-Id: 4628 +Signed-off-by: Daniel Kahn Gillmor +--- + doc/gpg.texi | 2 +- + g10/gpg.c | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +Patch-Source: https://sources.debian.org/data/main/g/gnupg2/2.2.27-2/debian/patches/gpg-drop-import-clean-from-default-keyserver-import-optio.patch + +diff --git a/doc/gpg.texi b/doc/gpg.texi +index 804ecf9..b238278 100644 +--- a/doc/gpg.texi ++++ b/doc/gpg.texi +@@ -2047,7 +2047,7 @@ are available for all keyserver types, some common options are: + + @end table + +-The default list of options is: "self-sigs-only, import-clean, ++The default list of options is: "self-sigs-only, + repair-keys, repair-pks-subkey-bug, export-attributes". However, if + the actual used source is an LDAP server "no-self-sigs-only" is + assumed unless "self-sigs-only" has been explicitly configured. +diff --git a/g10/gpg.c b/g10/gpg.c +index 68c0454..205de60 100644 +--- a/g10/gpg.c ++++ b/g10/gpg.c +@@ -2441,8 +2441,7 @@ main (int argc, char **argv) + | IMPORT_REPAIR_PKS_SUBKEY_BUG + | IMPORT_SELF_SIGS_ONLY + | IMPORT_COLLAPSE_UIDS +- | IMPORT_COLLAPSE_SUBKEYS +- | IMPORT_CLEAN); ++ | IMPORT_COLLAPSE_SUBKEYS); + opt.keyserver_options.export_options = EXPORT_ATTRIBUTES; + opt.keyserver_options.options = 0; + opt.verify_options = (LIST_SHOW_UID_VALIDITY diff --git a/main/gnupg/gnupg-2.4-keep-systemd-support.patch b/main/gnupg/gnupg-2.4-keep-systemd-support.patch new file mode 100644 index 00000000..17f7b0bf --- /dev/null +++ b/main/gnupg/gnupg-2.4-keep-systemd-support.patch @@ -0,0 +1,32 @@ +From: NIIBE Yutaka +Date: Mon, 21 Aug 2023 14:22:50 +0900 +Subject: avoid-systemd-deprecation-warning + +diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c +index 1db422737..b49c31f83 100644 +--- a/agent/gpg-agent.c ++++ b/agent/gpg-agent.c +@@ -1395,9 +1395,6 @@ main (int argc, char **argv) + agent_exit (0); + } + +- if (is_supervised && !opt.quiet) +- log_info(_("WARNING: \"%s\" is a deprecated option\n"), "--supervised"); +- + if (is_supervised) + ; + else if (!opt.extra_socket) +diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c +index bb54f4edd..7e965105e 100644 +--- a/dirmngr/dirmngr.c ++++ b/dirmngr/dirmngr.c +@@ -1300,9 +1300,6 @@ main (int argc, char **argv) + { + struct stat statbuf; + +- if (!opt.quiet) +- log_info(_("WARNING: \"%s\" is a deprecated option\n"), "--supervised"); +- + /* In supervised mode, we expect file descriptor 3 to be an + already opened, listening socket. + diff --git a/main/gnupg/gnupg-2.4-keyboxd-systemd-support.patch b/main/gnupg/gnupg-2.4-keyboxd-systemd-support.patch new file mode 100644 index 00000000..a20aabfe --- /dev/null +++ b/main/gnupg/gnupg-2.4-keyboxd-systemd-support.patch @@ -0,0 +1,136 @@ +From: NIIBE Yutaka +Date: Wed, 23 Aug 2023 09:26:51 +0900 +Subject: Add systemd support for keyboxd + +diff --git a/kbx/keyboxd.c b/kbx/keyboxd.c +index 88a350a08..ee39b2287 100644 +--- a/kbx/keyboxd.c ++++ b/kbx/keyboxd.c +@@ -88,6 +88,7 @@ enum cmd_and_opt_values + oLogFile, + oServer, + oDaemon, ++ oSupervised, + oFakedSystemTime, + oListenBacklog, + oDisableCheckOwnSocket, +@@ -104,6 +105,9 @@ static gpgrt_opt_t opts[] = { + + ARGPARSE_s_n (oDaemon, "daemon", N_("run in daemon mode (background)")), + ARGPARSE_s_n (oServer, "server", N_("run in server mode (foreground)")), ++#ifndef HAVE_W32_SYSTEM ++ ARGPARSE_s_n (oSupervised, "supervised", "@"), ++#endif + ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")), + ARGPARSE_s_n (oStealSocket, "steal-socket", "@"), + ARGPARSE_s_s (oHomedir, "homedir", "@"), +@@ -209,6 +213,9 @@ static int have_homedir_inotify; + * reliable. */ + static int reliable_homedir_inotify; + ++/* Flag indicating that we are in supervised mode. */ ++static int is_supervised; ++ + /* Number of active connections. */ + static int active_connections; + +@@ -575,6 +582,7 @@ main (int argc, char **argv ) + case oLogFile: logfile = pargs.r.ret_str; break; + case oServer: pipe_server = 1; break; + case oDaemon: is_daemon = 1; break; ++ case oSupervised: is_supervised = 1; break; + case oFakedSystemTime: + { + time_t faked_time = isotime2epoch (pargs.r.ret_str); +@@ -643,7 +651,7 @@ main (int argc, char **argv ) + bind_textdomain_codeset (PACKAGE_GT, "UTF-8"); + #endif + +- if (!pipe_server && !is_daemon && !gpgconf_list) ++ if (!pipe_server && !is_daemon && !gpgconf_list && !is_supervised) + { + /* We have been called without any command and thus we merely + * check whether an instance of us is already running. We do +@@ -716,6 +724,73 @@ main (int argc, char **argv ) + kbxd_deinit_default_ctrl (ctrl); + xfree (ctrl); + } ++ else if (is_supervised && comopt.no_autostart) ++ { ++ log_info ("%s %s not starting in supervised mode due to no-autostart.\n", ++ gpgrt_strusage(11), gpgrt_strusage(13) ); ++ } ++ else if (is_supervised) ++ { ++#ifndef HAVE_W32_SYSTEM ++ struct stat statbuf; ++ ++ inhibit_socket_removal = 1; ++ ++ /* In supervised mode, we expect file descriptor 3 to be an ++ already opened, listening socket. ++ ++ We will also not detach from the controlling process or close ++ stderr; the supervisor should handle all of that. */ ++ if (fstat (3, &statbuf) == -1 && errno == EBADF) ++ { ++ log_error ("file descriptor 3 must be validin --supervised mode\n"); ++ kbxd_exit (1); ++ } ++ socket_name = gnupg_get_socket_name (3); ++ ++ /* when supervised and sending logs to stderr, the process ++ supervisor should handle log entry metadata (pid, name, ++ timestamp) */ ++ if (!logfile) ++ log_set_prefix (NULL, 0); ++ ++ initialize_modules (); ++ ++ log_info ("%s %s starting in supervised mode.\n", ++ gpgrt_strusage(11), gpgrt_strusage(13) ); ++ ++#ifdef HAVE_SIGPROCMASK ++ if (startup_signal_mask_valid) ++ { ++ if (sigprocmask (SIG_SETMASK, &startup_signal_mask, NULL)) ++ log_error ("error restoring signal mask: %s\n", ++ strerror (errno)); ++ } ++ else ++ log_info ("no saved signal mask\n"); ++#endif /*HAVE_SIGPROCMASK*/ ++ ++ { ++ ctrl_t ctrl; ++ ++ ctrl = xtrycalloc (1, sizeof *ctrl); ++ if (!ctrl) ++ { ++ log_error ("error allocating connection control data: %s\n", ++ strerror (errno) ); ++ kbxd_exit (1); ++ } ++ kbxd_init_default_ctrl (ctrl); ++ /* kbxd_set_database (ctrl, "pubring.kbx", 0); */ ++ kbxd_set_database (ctrl, "pubring.db", 0); ++ kbxd_deinit_default_ctrl (ctrl); ++ xfree (ctrl); ++ } ++ ++ handle_connections (3); ++ assuan_sock_close (3); ++#endif /*!HAVE_W32_SYSTEM*/ ++ } + else if (!is_daemon) + ; /* NOTREACHED */ + else +@@ -1545,7 +1620,7 @@ handle_connections (gnupg_fd_t listen_fd) + /* Shutdown test. */ + if (shutdown_pending) + { +- if (!active_connections) ++ if (!active_connections || is_supervised) + break; /* ready */ + + /* Do not accept new connections but keep on running the diff --git a/main/gnupg/gnupg-2.4-revert_default_rfc4880bis.patch b/main/gnupg/gnupg-2.4-revert_default_rfc4880bis.patch new file mode 100644 index 00000000..8bc65ede --- /dev/null +++ b/main/gnupg/gnupg-2.4-revert_default_rfc4880bis.patch @@ -0,0 +1,200 @@ +From 1e4f1550996334d2a631a5d769e937d29ace47bb Mon Sep 17 00:00:00 2001 +From: Jakub Jelen +Date: Thu, 9 Feb 2023 16:38:58 +0100 +Subject: [PATCH gnupg] Revert the introduction of the RFC4880bis draft into + defaults + +This reverts commit 4583f4fe2 (gpg: Merge --rfc4880bis features into +--gnupg, 2022-10-31). +--- + g10/gpg.c | 35 ++++++++++++++++++++++++++++++++--- + g10/keygen.c | 30 ++++++++++++++++++------------ + 2 files changed, 50 insertions(+), 15 deletions(-) + +diff --git a/g10/gpg.c b/g10/gpg.c +index dcab0a11a..796888013 100644 +--- a/g10/gpg.c ++++ b/g10/gpg.c +@@ -247,6 +247,7 @@ enum cmd_and_opt_values + oGnuPG, + oRFC2440, + oRFC4880, ++ oRFC4880bis, + oOpenPGP, + oPGP7, + oPGP8, +@@ -636,6 +637,7 @@ static gpgrt_opt_t opts[] = { + ARGPARSE_s_n (oGnuPG, "no-pgp8", "@"), + ARGPARSE_s_n (oRFC2440, "rfc2440", "@"), + ARGPARSE_s_n (oRFC4880, "rfc4880", "@"), ++ ARGPARSE_s_n (oRFC4880bis, "rfc4880bis", "@"), + ARGPARSE_s_n (oOpenPGP, "openpgp", N_("use strict OpenPGP behavior")), + ARGPARSE_s_n (oPGP7, "pgp6", "@"), + ARGPARSE_s_n (oPGP7, "pgp7", "@"), +@@ -978,7 +980,6 @@ static gpgrt_opt_t opts[] = { + ARGPARSE_s_n (oNoop, "no-allow-multiple-messages", "@"), + ARGPARSE_s_s (oNoop, "aead-algo", "@"), + ARGPARSE_s_s (oNoop, "personal-aead-preferences","@"), +- ARGPARSE_s_n (oNoop, "rfc4880bis", "@"), + ARGPARSE_s_n (oNoop, "override-compliance-check", "@"), + + +@@ -2227,7 +2228,7 @@ static struct gnupg_compliance_option compliance_options[] = + { + { "gnupg", oGnuPG }, + { "openpgp", oOpenPGP }, +- { "rfc4880bis", oGnuPG }, ++ { "rfc4880bis", oRFC4880bis }, + { "rfc4880", oRFC4880 }, + { "rfc2440", oRFC2440 }, + { "pgp6", oPGP7 }, +@@ -2243,8 +2244,28 @@ static struct gnupg_compliance_option compliance_options[] = + static void + set_compliance_option (enum cmd_and_opt_values option) + { ++ opt.flags.rfc4880bis = 0; /* Clear because it is initially set. */ ++ + switch (option) + { ++ case oRFC4880bis: ++ opt.flags.rfc4880bis = 1; ++ opt.compliance = CO_RFC4880; ++ opt.flags.dsa2 = 1; ++ opt.flags.require_cross_cert = 1; ++ opt.rfc2440_text = 0; ++ opt.allow_non_selfsigned_uid = 1; ++ opt.allow_freeform_uid = 1; ++ opt.escape_from = 1; ++ opt.not_dash_escaped = 0; ++ opt.def_cipher_algo = 0; ++ opt.def_digest_algo = 0; ++ opt.cert_digest_algo = 0; ++ opt.compress_algo = -1; ++ opt.s2k_mode = 3; /* iterated+salted */ ++ opt.s2k_digest_algo = DIGEST_ALGO_SHA256; ++ opt.s2k_cipher_algo = CIPHER_ALGO_AES256; ++ break; + case oOpenPGP: + case oRFC4880: + /* This is effectively the same as RFC2440, but with +@@ -2288,6 +2309,7 @@ set_compliance_option (enum cmd_and_opt_values option) + case oPGP8: opt.compliance = CO_PGP8; break; + case oGnuPG: + opt.compliance = CO_GNUPG; ++ opt.flags.rfc4880bis = 1; + break; + + case oDE_VS: +@@ -2491,6 +2513,7 @@ main (int argc, char **argv) + opt.emit_version = 0; + opt.weak_digests = NULL; + opt.compliance = CO_GNUPG; ++ opt.flags.rfc4880bis = 1; + + /* Check special options given on the command line. */ + orig_argc = argc; +@@ -3033,6 +3056,7 @@ main (int argc, char **argv) + case oOpenPGP: + case oRFC2440: + case oRFC4880: ++ case oRFC4880bis: + case oPGP7: + case oPGP8: + case oGnuPG: +@@ -3862,6 +3886,11 @@ main (int argc, char **argv) + if( may_coredump && !opt.quiet ) + log_info(_("WARNING: program may create a core file!\n")); + ++ if (!opt.flags.rfc4880bis) ++ { ++ opt.mimemode = 0; /* This will use text mode instead. */ ++ } ++ + if (eyes_only) { + if (opt.set_filename) + log_info(_("WARNING: %s overrides %s\n"), +@@ -4078,7 +4107,7 @@ main (int argc, char **argv) + /* Check our chosen algorithms against the list of legal + algorithms. */ + +- if(!GNUPG) ++ if(!GNUPG && !opt.flags.rfc4880bis) + { + const char *badalg=NULL; + preftype_t badtype=PREFTYPE_NONE; +diff --git a/g10/keygen.c b/g10/keygen.c +index a2cfe3ccf..2a1dd1f81 100644 +--- a/g10/keygen.c ++++ b/g10/keygen.c +@@ -404,7 +404,7 @@ keygen_set_std_prefs (const char *string,int personal) + strcat(dummy_string,"S7 "); + strcat(dummy_string,"S2 "); /* 3DES */ + +- if (!openpgp_aead_test_algo (AEAD_ALGO_OCB)) ++ if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB)) + strcat(dummy_string,"A2 "); + + if (personal) +@@ -889,7 +889,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque) + /* Make sure that the MDC feature flag is set if needed. */ + add_feature_mdc (sig,mdc_available); + add_feature_aead (sig, aead_available); +- add_feature_v5 (sig, 1); ++ add_feature_v5 (sig, opt.flags.rfc4880bis); + add_keyserver_modify (sig,ks_modify); + keygen_add_keyserver_url(sig,NULL); + +@@ -3382,7 +3382,10 @@ parse_key_parameter_part (ctrl_t ctrl, + } + } + else if (!ascii_strcasecmp (s, "v5")) +- keyversion = 5; ++ { ++ if (opt.flags.rfc4880bis) ++ keyversion = 5; ++ } + else if (!ascii_strcasecmp (s, "v4")) + keyversion = 4; + else +@@ -3641,7 +3644,7 @@ parse_key_parameter_part (ctrl_t ctrl, + * ecdsa := Use algorithm ECDSA. + * eddsa := Use algorithm EdDSA. + * ecdh := Use algorithm ECDH. +- * v5 := Create version 5 key ++ * v5 := Create version 5 key (requires option --rfc4880bis) + * + * There are several defaults and fallbacks depending on the + * algorithm. PART can be used to select which part of STRING is +@@ -4513,9 +4516,9 @@ read_parameter_file (ctrl_t ctrl, const char *fname ) + } + } + +- if ((keywords[i].key == pVERSION +- || keywords[i].key == pSUBVERSION)) +- ; /* Ignore version. */ ++ if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION ++ || keywords[i].key == pSUBVERSION)) ++ ; /* Ignore version unless --rfc4880bis is active. */ + else + { + r = xmalloc_clear( sizeof *r + strlen( value ) ); +@@ -4610,11 +4613,14 @@ quickgen_set_para (struct para_data_s *para, int for_subkey, + para = r; + } + +- r = xmalloc_clear (sizeof *r + 20); +- r->key = for_subkey? pSUBVERSION : pVERSION; +- snprintf (r->u.value, 20, "%d", version); +- r->next = para; +- para = r; ++ if (opt.flags.rfc4880bis) ++ { ++ r = xmalloc_clear (sizeof *r + 20); ++ r->key = for_subkey? pSUBVERSION : pVERSION; ++ snprintf (r->u.value, 20, "%d", version); ++ r->next = para; ++ para = r; ++ } + + if (keytime) + { diff --git a/main/gnupg/gnupg.install b/main/gnupg/gnupg.install new file mode 100644 index 00000000..626e86d2 --- /dev/null +++ b/main/gnupg/gnupg.install @@ -0,0 +1,17 @@ +post_install() { + # run dirmngr once to create /root/.gnupg + # https://bugs.archlinux.org/task/47371 + # https://bugs.archlinux.org/task/42798 + dirmngr /dev/null +} + +post_upgrade() { + local unit + + if (( $(vercmp "$2" '2.2.37-1') < 0)); then + for unit in {dirmngr,gpg-agent{,-{browser,extra,ssh}}}.socket; do + rm -f "/etc/systemd/user/sockets.target.wants/$unit" + done + printf "NOTE: GnuPG's systemd sockets are now enabled in the vendor location /usr/lib/systemd/user/!\n" + fi +} diff --git a/main/gnupg/gpg-agent-browser.socket b/main/gnupg/gpg-agent-browser.socket new file mode 100644 index 00000000..fc6b2345 --- /dev/null +++ b/main/gnupg/gpg-agent-browser.socket @@ -0,0 +1,10 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache (access for web browsers) +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%t/gnupg/S.gpg-agent.browser +FileDescriptorName=browser +Service=gpg-agent.service +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/gpg-agent-browser@.socket b/main/gnupg/gpg-agent-browser@.socket new file mode 100644 index 00000000..370507b7 --- /dev/null +++ b/main/gnupg/gpg-agent-browser@.socket @@ -0,0 +1,9 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache (access for web browsers) for %f +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%f/S.gpg-agent.browser +FileDescriptorName=browser +Service=gpg-agent@%i.service +SocketMode=0600 diff --git a/main/gnupg/gpg-agent-extra.socket b/main/gnupg/gpg-agent-extra.socket new file mode 100644 index 00000000..13781b4f --- /dev/null +++ b/main/gnupg/gpg-agent-extra.socket @@ -0,0 +1,10 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache (restricted) +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%t/gnupg/S.gpg-agent.extra +FileDescriptorName=extra +Service=gpg-agent.service +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/gpg-agent-extra@.socket b/main/gnupg/gpg-agent-extra@.socket new file mode 100644 index 00000000..4ee36c97 --- /dev/null +++ b/main/gnupg/gpg-agent-extra@.socket @@ -0,0 +1,9 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache (restricted) for %f +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%f/S.gpg-agent.extra +FileDescriptorName=extra +Service=gpg-agent@%i.service +SocketMode=0600 diff --git a/main/gnupg/gpg-agent-ssh.socket b/main/gnupg/gpg-agent-ssh.socket new file mode 100644 index 00000000..1d94d37d --- /dev/null +++ b/main/gnupg/gpg-agent-ssh.socket @@ -0,0 +1,10 @@ +[Unit] +Description=GnuPG cryptographic agent (ssh-agent emulation) +Documentation=man:gpg-agent(1) man:ssh-add(1) man:ssh-agent(1) man:ssh(1) + +[Socket] +ListenStream=%t/gnupg/S.gpg-agent.ssh +FileDescriptorName=ssh +Service=gpg-agent.service +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/gpg-agent-ssh@.socket b/main/gnupg/gpg-agent-ssh@.socket new file mode 100644 index 00000000..c63f9f38 --- /dev/null +++ b/main/gnupg/gpg-agent-ssh@.socket @@ -0,0 +1,9 @@ +[Unit] +Description=GnuPG cryptographic agent (ssh-agent emulation) for %f +Documentation=man:gpg-agent(1) man:ssh-add(1) man:ssh-agent(1) man:ssh(1) + +[Socket] +ListenStream=%f/S.gpg-agent.ssh +FileDescriptorName=ssh +Service=gpg-agent@%i.service +SocketMode=0600 diff --git a/main/gnupg/gpg-agent.service b/main/gnupg/gpg-agent.service new file mode 100644 index 00000000..a050fccd --- /dev/null +++ b/main/gnupg/gpg-agent.service @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache +Documentation=man:gpg-agent(1) +Requires=gpg-agent.socket + +[Service] +ExecStart=/usr/bin/gpg-agent --supervised +ExecReload=/usr/bin/gpgconf --reload gpg-agent diff --git a/main/gnupg/gpg-agent.socket b/main/gnupg/gpg-agent.socket new file mode 100644 index 00000000..c2a34e74 --- /dev/null +++ b/main/gnupg/gpg-agent.socket @@ -0,0 +1,9 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%t/gnupg/S.gpg-agent +FileDescriptorName=std +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/gpg-agent@.service b/main/gnupg/gpg-agent@.service new file mode 100644 index 00000000..fa654936 --- /dev/null +++ b/main/gnupg/gpg-agent@.service @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache for %f +Documentation=man:gpg-agent(1) +Requires=gpg-agent@%i.socket + +[Service] +ExecStart=/usr/bin/gpg-agent --homedir %f --supervised +ExecReload=/usr/bin/gpgconf --homedir %f --reload gpg-agent diff --git a/main/gnupg/gpg-agent@.socket b/main/gnupg/gpg-agent@.socket new file mode 100644 index 00000000..f675bee5 --- /dev/null +++ b/main/gnupg/gpg-agent@.socket @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG cryptographic agent and passphrase cache for %f +Documentation=man:gpg-agent(1) + +[Socket] +ListenStream=%f/S.gpg-agent +FileDescriptorName=std +SocketMode=0600 diff --git a/main/gnupg/keyboxd.service b/main/gnupg/keyboxd.service new file mode 100644 index 00000000..8c3822dc --- /dev/null +++ b/main/gnupg/keyboxd.service @@ -0,0 +1,7 @@ +[Unit] +Description=GnuPG public key management service +Requires=keyboxd.socket + +[Service] +ExecStart=/usr/lib/gnupg/keyboxd --supervised +ExecReload=/usr/bin/gpgconf --reload keyboxd diff --git a/main/gnupg/keyboxd.socket b/main/gnupg/keyboxd.socket new file mode 100644 index 00000000..c73018a5 --- /dev/null +++ b/main/gnupg/keyboxd.socket @@ -0,0 +1,8 @@ +[Unit] +Description=GnuPG public key management service + +[Socket] +ListenStream=%t/gnupg/S.keyboxd +FileDescriptorName=std +SocketMode=0600 +DirectoryMode=0700 diff --git a/main/gnupg/keyboxd@.service b/main/gnupg/keyboxd@.service new file mode 100644 index 00000000..5e98eccf --- /dev/null +++ b/main/gnupg/keyboxd@.service @@ -0,0 +1,7 @@ +[Unit] +Description=GnuPG public key management service for %f +Requires=keyboxd@%i.socket + +[Service] +ExecStart=/usr/lib/gnupg/keyboxd --homedir %f --supervised +ExecReload=/usr/bin/gpgconf --homedir %f --reload keyboxd diff --git a/main/gnupg/keyboxd@.socket b/main/gnupg/keyboxd@.socket new file mode 100644 index 00000000..ada4b308 --- /dev/null +++ b/main/gnupg/keyboxd@.socket @@ -0,0 +1,7 @@ +[Unit] +Description=GnuPG public key management service for %f + +[Socket] +ListenStream=%f/S.keyboxd +FileDescriptorName=std +SocketMode=0600 diff --git a/main/gnupg/version b/main/gnupg/version new file mode 100644 index 00000000..63387896 --- /dev/null +++ b/main/gnupg/version @@ -0,0 +1 @@ +2.4.5 1 diff --git a/main/gnutls/.nvchecker.toml b/main/gnutls/.nvchecker.toml new file mode 100644 index 00000000..7d10f8a4 --- /dev/null +++ b/main/gnutls/.nvchecker.toml @@ -0,0 +1,4 @@ +[gnutls] +source = "gitlab" +gitlab = "gnutls/gnutls" +use_max_tag = true diff --git a/main/gnutls/PKGBUILD b/main/gnutls/PKGBUILD new file mode 100644 index 00000000..b41a616d --- /dev/null +++ b/main/gnutls/PKGBUILD @@ -0,0 +1,76 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gnutls +pkgver=%version% +pkgrel=%release% +pkgdesc="A library which provides a secure layer over a reliable transport layer" +arch=('x86_64') +license=('GPL-3.0-or-later AND LGPL-2.1-or-later') +url="https://www.gnutls.org/" +options=('!zipman') +depends=('glibc' 'gcc-libs' 'gmp' 'libtasn1' 'zlib' 'nettle' + 'libp11-kit' 'libidn2' 'zstd' 'libidn2.so' 'libunistring' 'brotli') +makedepends=('tpm2-tss' + # required for autoreconf when patching + 'gtk-doc') +checkdepends=('net-tools' 'tpm2-tools') +optdepends=('tpm2-tss: support for TPM2 wrapped keys') +backup=(etc/gnutls/config + etc/modules-load.d/gnutls.conf) +source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/${pkgname}-${pkgver}.tar.xz{,.sig} + config + gnutls-ktls_disable_keyupdate_test.patch) +sha256sums=('66269a2cfe0e1c2dabec87bdbbd8ab656f396edd9a40dd006978e003cfa52bfc' + 'SKIP' + '22e614510fe52defe8c233ce3e5ead2205739fd967657ce3176ca121f3c562b5' + '2a911615739cb327b6dced36b595ea10c89f40bb7274d062dab14a9ecfe89708') +#validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno " +validpgpkeys=('5D46CB0F763405A7053556F47A75A648B3F9220C') # "Zoltan Fridrich " + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 -i ../gnutls-ktls_disable_keyupdate_test.patch + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --with-idn \ + --with-brotli \ + --with-zstd \ + --with-tpm2 \ + --enable-openssl-compatibility \ + --with-default-trust-store-pkcs11="pkcs11:" \ + --enable-ktls + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # prepare to load tls module required for ktls + install -dm755 "$pkgdir"/etc/modules-load.d + echo "#tls" > "$pkgdir"/etc/modules-load.d/gnutls.conf + + # disable ktls by default for now + install -dm755 "$pkgdir"/etc/gnutls + install -Dm644 "${srcdir}"/config "$pkgdir"/etc/gnutls/config + + # license due to notice about gmp/nettle + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # lots of .png files are put into infodir and are gzipped by makepkg! this needs to be fixed by using !zipman + # gzip -9 all files in infodir and manpages manually + find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -n -9 {} \; + find "$pkgdir/usr/share/man" -exec gzip -n -9 {} \; +} diff --git a/main/gnutls/README b/main/gnutls/README new file mode 100644 index 00000000..73951ff0 --- /dev/null +++ b/main/gnutls/README @@ -0,0 +1,43 @@ +gnutls +________________________________________________________________________________ + +A library which provides a secure layer over a reliable transport layer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gnutls | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnutls.org/ diff --git a/main/gnutls/config b/main/gnutls/config new file mode 100644 index 00000000..69c29a3b --- /dev/null +++ b/main/gnutls/config @@ -0,0 +1,9 @@ +# https://gnutls.org/manual/html_node/Enabling_002fDisabling-system_002facceleration-protocols.html#Enabling-KTLS +# +# GnuTLS is built with -–enable-ktls configuration, KTLS is disabled by default. +# This can be enabled by setting ktls = true in [global] section. +# + +[global] +ktls = false +#ktls = true diff --git a/main/gnutls/gnutls-ktls_disable_keyupdate_test.patch b/main/gnutls/gnutls-ktls_disable_keyupdate_test.patch new file mode 100644 index 00000000..cab7547c --- /dev/null +++ b/main/gnutls/gnutls-ktls_disable_keyupdate_test.patch @@ -0,0 +1,13 @@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 2872cb1aa..247dfd3d8 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -504,8 +504,6 @@ endif + if ENABLE_KTLS + indirect_tests += gnutls_ktls + dist_check_SCRIPTS += ktls.sh +-indirect_tests += ktls_keyupdate +-dist_check_SCRIPTS += ktls_keyupdate.sh + endif + + if !WINDOWS diff --git a/main/gnutls/version b/main/gnutls/version new file mode 100644 index 00000000..006ac43a --- /dev/null +++ b/main/gnutls/version @@ -0,0 +1 @@ +3.8.5 1 diff --git a/main/gpart/PKGBUILD b/main/gpart/PKGBUILD new file mode 100644 index 00000000..7962d696 --- /dev/null +++ b/main/gpart/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gpart +pkgver=%version% +pkgrel=%release% +pkgdesc="Partition table rescue/guessing tool" +arch=('x86_64') +url="https://github.com/baruch/gpart" +license=('GPL') +depends=('glibc') +source=("https://github.com/baruch/${pkgname}/archive/${pkgver}.tar.gz") +sha256sums=('ec56d12ec9ffdb9877c12692ea6e51620b1ae44473d3d253b27fc31ed9ebb4dd') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./autogen.sh + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make prefix="${pkgdir}"/usr sbindir="${pkgdir}"/usr/bin install +} diff --git a/main/gpart/README b/main/gpart/README new file mode 100644 index 00000000..8477da63 --- /dev/null +++ b/main/gpart/README @@ -0,0 +1,43 @@ +gpart +________________________________________________________________________________ + +Partition table rescue/guessing tool + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gpart | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/baruch/gpart diff --git a/main/gpart/version b/main/gpart/version new file mode 100644 index 00000000..91b21777 --- /dev/null +++ b/main/gpart/version @@ -0,0 +1 @@ +0.3 5 diff --git a/main/gperftools/PKGBUILD b/main/gperftools/PKGBUILD new file mode 100644 index 00000000..7891bf76 --- /dev/null +++ b/main/gperftools/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gperftools +pkgver=%version% +pkgrel=%release% +pkgdesc='Fast, multi-threaded malloc and nifty performance analysis tools' +arch=('x86_64') +url='https://github.com/gperftools/gperftools' +license=('BSD-3-Clause') +depends=('gcc-libs' 'glibc' 'libunwind') +optdepends=('graphviz: pprof graph generation' + 'perl: pprof and pprof-symbolize commands') +source=("https://github.com/gperftools/gperftools/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('c69fef855628c81ef56f12e3c58f2b7ce1f326c0a1fe783e5cae0b88cbbe9a80') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-frame-pointers --enable-libunwind + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/gperftools/README b/main/gperftools/README new file mode 100644 index 00000000..60978fc6 --- /dev/null +++ b/main/gperftools/README @@ -0,0 +1,43 @@ +gperftools +________________________________________________________________________________ + +Fast, multi-threaded malloc and nifty performance analysis tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gperftools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/gperftools/gperftools diff --git a/main/gperftools/version b/main/gperftools/version new file mode 100644 index 00000000..2698b409 --- /dev/null +++ b/main/gperftools/version @@ -0,0 +1 @@ +2.15 1 diff --git a/main/gpgme/.PKGINFO b/main/gpgme/.PKGINFO new file mode 100644 index 00000000..8058d343 --- /dev/null +++ b/main/gpgme/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qgpgme-qt6 +pkgbase = gpgme +xdata = pkgtype=split +pkgver = 1.23.2-4 +pkgdesc = Qt6 bindings for GPGme +url = https://www.gnupg.org/related_software/gpgme/ +builddate = 1714401735 +packager = Developer +size = 1160636 +arch = x86_64 +license = LGPL +depend = gpgme +depend = qt6-base +makedepend = gnupg +makedepend = libgpg-error +makedepend = python +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +makedepend = qt6-base +makedepend = swig diff --git a/main/gpgme/PKGBUILD b/main/gpgme/PKGBUILD new file mode 100644 index 00000000..7c27c072 --- /dev/null +++ b/main/gpgme/PKGBUILD @@ -0,0 +1,119 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gpgme +pkgname=(gpgme qgpgme-qt5 qgpgme-qt6 python-gpgme) +pkgver=%version% +pkgrel=%release% +pkgdesc='A C wrapper library for GnuPG' +arch=('x86_64') +url='https://www.gnupg.org/related_software/gpgme/' +license=('LGPL') +makedepends=( + 'gnupg' + 'libgpg-error' + 'python' + 'python-build' + 'python-installer' + 'python-setuptools' + 'python-wheel' + 'qt5-base' + 'qt6-base' + 'swig' +) +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) + 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key) +source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}) +sha256sums=('9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224' + 'SKIP') + +prepare() { + cd ${pkgbase}-${pkgver}/ + + sed -i 's/-unknown//' autogen.sh + autoreconf -fi + + # Building qt5 and qt6 bindings in the same source tree is not supported + cp -r ${srcdir}/${pkgbase}-${pkgver}{,-qt6} +} + +build() { + cd ${pkgbase}-${pkgver} + + ./configure \ + --prefix=/usr \ + --disable-fd-passing \ + --disable-static \ + --disable-gpgsm-test + make + + ( + # use a PEP517 workflow to get a reproducible Python package + # NOTE: top_builddir is required so that the build takes place against local gpgme, not system gpgme + cd lang/python/ + top_builddir="$srcdir/$pkgbase-$pkgver" python -m build --wheel --no-isolation + ) + + cd ../${pkgbase}-${pkgver}-qt6 + ./configure \ + --prefix=/usr \ + --disable-fd-passing \ + --disable-static \ + --disable-gpgsm-test \ + --enable-languages=cpp,qt6 + make +} + +check() { + cd ${pkgbase}-${pkgver} + + # this test fails with gnupg (FS#66572) + sed -i 's#"t-keylist-secret",##' tests/json/t-json.c + + make check +} + +package_gpgme() { + depends=('libgpg-error' 'gnupg>=2') + options+=('!emptydirs') + provides=('libgpgme.so' + 'libgpgmepp.so') + + cd ${pkgbase}-${pkgver} + + make DESTDIR="${pkgdir}" install + + # split qgpgme + rm -r "${pkgdir}"/usr/lib/{cmake/QGpgme/,libqgpgme.*} + rm -r "${pkgdir}"/usr/lib/python* +} + +package_qgpgme-qt5() { + pkgdesc="Qt5 bindings for GPGme" + depends=('gpgme' 'qt5-base') + provides=('qgpgme') + replaces=('qgpgme') + + cd ${pkgbase}-${pkgver}/lang/qt + + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/include +} + +package_qgpgme-qt6() { + pkgdesc="Qt6 bindings for GPGme" + depends=('gpgme' 'qt6-base') + + cd ${pkgbase}-${pkgver}-qt6/lang/qt + + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/include +} + +package_python-gpgme() { + pkgdesc="Python bindings for GPGme" + depends=('gpgme' 'python') + + cd ${pkgbase}-${pkgver}/lang/python + python -m installer --destdir="$pkgdir" dist/*.whl +} diff --git a/main/gpgme/README b/main/gpgme/README new file mode 100644 index 00000000..95f9deb5 --- /dev/null +++ b/main/gpgme/README @@ -0,0 +1,43 @@ +gpgme +________________________________________________________________________________ + +A C wrapper library for GnuPG Qt5 bindings for GPGme Qt6 bindings for GPGme Python bindings for GPGme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gpgme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org/related_software/gpgme/ diff --git a/main/gpgme/version b/main/gpgme/version new file mode 100644 index 00000000..2a8065cc --- /dev/null +++ b/main/gpgme/version @@ -0,0 +1 @@ +1.23.2 4 diff --git a/main/gpm/PKGBUILD b/main/gpm/PKGBUILD new file mode 100644 index 00000000..ae96618b --- /dev/null +++ b/main/gpm/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gpm +pkgver=%version% +_commit='e82d1a653ca94aa4ed12441424da6ce780b1e530' +pkgrel=%release% +pkgdesc='A mouse server for the console and xterm' +arch=('x86_64') +url='https://www.nico.schottelius.org/software/gpm/' +license=('GPL') +depends=('bash' 'procps-ng') +makedepends=('git') +provides=('libgpm.so') +options=('!makeflags') +source=("git+https://github.com/telmich/gpm.git#commit=${_commit}" + 'gpm.sh' + 'gpm.path' + 'gpm.service') +sha256sums=('SKIP' + 'f41e90dcf6c0c6c4b8eff1c69039a20eb6b38ea851ffd1fa47ba311bf83d6ed8' + '1b8712650c70fd139f844fa754e288bfe05a8ed8044d118fda75a47d66034d23' + 'dbce5688b3ba1d5bc9c4f38bcc2d89a6d68d51b30fb5d6d29a02d0c011d3688e') + +pkgver() { + cd "${srcdir}/${pkgname}" + + GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)" + printf '%s.r%s.g%s' \ + "${GITTAG}" \ + "$(git rev-list --count ${GITTAG}..)" \ + "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/${pkgname}" + + ./autogen.sh +} + +build() { + cd "${srcdir}/${pkgname}" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin + make +} + +package() { + cd "${srcdir}/${pkgname}" + + make DESTDIR="${pkgdir}" install + install -D -m0644 ../gpm.sh "${pkgdir}/etc/profile.d/gpm.sh" + install -D -m0644 ../gpm.path "${pkgdir}/usr/lib/systemd/system/gpm.path" + install -D -m0644 ../gpm.service "${pkgdir}/usr/lib/systemd/system/gpm.service" + +# library fixes + cd "${pkgdir}/usr/lib/" + ln -s libgpm.so.2.* libgpm.so + chmod 0755 "${pkgdir}"/usr/lib/libgpm.so.* +} diff --git a/main/gpm/README b/main/gpm/README new file mode 100644 index 00000000..927de5cf --- /dev/null +++ b/main/gpm/README @@ -0,0 +1,43 @@ +gpm +________________________________________________________________________________ + +A mouse server for the console and xterm + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gpm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nico.schottelius.org/software/gpm/ diff --git a/main/gpm/gpm.path b/main/gpm/gpm.path new file mode 100644 index 00000000..900dff80 --- /dev/null +++ b/main/gpm/gpm.path @@ -0,0 +1,5 @@ +[Unit] +Description=Virtual console mouse server + +[Path] +PathExists=/dev/input/mice diff --git a/main/gpm/gpm.service b/main/gpm/gpm.service new file mode 100644 index 00000000..8cfe0422 --- /dev/null +++ b/main/gpm/gpm.service @@ -0,0 +1,13 @@ +[Unit] +Description=Virtual console mouse server +Requires=systemd-udevd.service +After=systemd-udevd.service +Wants=gpm.path +ConditionPathExists=/dev/input/mice + +[Service] +Type=forking +ExecStart=/usr/bin/gpm -m /dev/input/mice -t imps2 + +[Install] +WantedBy=multi-user.target diff --git a/main/gpm/gpm.sh b/main/gpm/gpm.sh new file mode 100755 index 00000000..1aea5725 --- /dev/null +++ b/main/gpm/gpm.sh @@ -0,0 +1,3 @@ +case $( /usr/bin/tty ) in + /dev/tty[0-9]*) [ -n "$(pidof -s gpm)" ] && /usr/bin/disable-paste ;; +esac diff --git a/main/gpm/version b/main/gpm/version new file mode 100644 index 00000000..bdc209ec --- /dev/null +++ b/main/gpm/version @@ -0,0 +1 @@ +1.20.7.r38.ge82d1a6 5 diff --git a/main/gptfdisk/PKGBUILD b/main/gptfdisk/PKGBUILD new file mode 100644 index 00000000..0baf4ee5 --- /dev/null +++ b/main/gptfdisk/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gptfdisk +pkgver=%version% +pkgrel=%release% +pkgdesc="A text-mode partitioning tool that works on GUID Partition Table (GPT) disks" +arch=('x86_64') +url="https://www.rodsbooks.com/gdisk/" +license=('GPL2') +depends=('gcc-libs' 'popt' 'libuuid.so' 'libncursesw.so') +provides=("gdisk=$pkgver") +conflicts=('gdisk') +replaces=('gdisk') +source=(https://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('2abed61bc6d2b9ec498973c0440b8b804b7a72d7144069b5a9209b2ad693a282') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # https://sourceforge.net/p/gptfdisk/discussion/939590/thread/bc29ca06f8/ + sed -i '/^#include /s:ncursesw/::' gptcurses.cc +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make test +} + +package () { + cd "$srcdir/$pkgname-$pkgver" + + install -d "$pkgdir"/usr/{bin,share/{doc/gdisk,man/man8}} + install -t "$pkgdir/usr/bin" {,c,s}gdisk fixparts + install -m644 -t "$pkgdir/usr/share/man/man8" {{,c,s}gdisk,fixparts}.8 + install -m644 -t "$pkgdir/usr/share/doc/gdisk" README NEWS +} diff --git a/main/gptfdisk/README b/main/gptfdisk/README new file mode 100644 index 00000000..40ed2545 --- /dev/null +++ b/main/gptfdisk/README @@ -0,0 +1,43 @@ +gptfdisk +________________________________________________________________________________ + +A text-mode partitioning tool that works on GUID Partition Table (GPT) disks + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gptfdisk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.rodsbooks.com/gdisk/ diff --git a/main/gptfdisk/version b/main/gptfdisk/version new file mode 100644 index 00000000..2d248d7e --- /dev/null +++ b/main/gptfdisk/version @@ -0,0 +1 @@ +1.0.10 1 diff --git a/main/graphene/PKGBUILD b/main/graphene/PKGBUILD new file mode 100644 index 00000000..292d59be --- /dev/null +++ b/main/graphene/PKGBUILD @@ -0,0 +1,54 @@ +# Packager = Developer +pkgname=graphene +pkgver=1.10.8 +pkgrel=1 +pkgdesc="A thin layer of graphic data types" +url="https://ebassi.github.io/graphene/" +arch=(x86_64) +license=(MIT) +makedepends=(git gtk-doc gobject-introspection meson glib2) +checkdepends=(python-gobject python-tappy) +_commit=4e2578450809c2099400cf85caf18eafcd7100aa # tags/1.10.8^0 +source=("git+https://github.com/ebassi/graphene#commit=$_commit" + "git+https://github.com/ebassi/mutest" + no-installed-tests.diff) +sha256sums=('SKIP' + 'SKIP' + 'fd7c41b25920077158d7de77f5d073e3a5a215c4d96c3b9bd016ffda615be4c4') + +pkgver() { + cd graphene + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd graphene + + # Don't install tests + git apply -3 ../no-installed-tests.diff + + git submodule init + git submodule set-url subprojects/mutest "$srcdir/mutest" + git submodule update +} + +build() { + arch-meson graphene build \ + -D gtk_doc=true \ + -D installed_tests=false + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + depends=(libg{lib,object}-2.0.so) + provides=(libgraphene-1.0.so) + + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 graphene/LICENSE.txt +} + +# vim:set sw=2 et: diff --git a/main/graphene/no-installed-tests.diff b/main/graphene/no-installed-tests.diff new file mode 100644 index 00000000..eca69e88 --- /dev/null +++ b/main/graphene/no-installed-tests.diff @@ -0,0 +1,15 @@ +diff --git i/tests/meson.build w/tests/meson.build +index 0a6a355..0120c29 100644 +--- i/tests/meson.build ++++ w/tests/meson.build +@@ -67,7 +67,9 @@ src_build_path = meson.current_build_dir() / '../src' + + if build_gir and host_system == 'linux' and not meson.is_cross_build() + foreach unit: ['introspection.py'] +- install_data(unit, install_dir: installed_test_bindir) ++ if get_option('installed_tests') ++ install_data(unit, install_dir: installed_test_bindir) ++ endif + + wrapper = '@0@.test'.format(unit) + custom_target(wrapper, diff --git a/main/graphene/version b/main/graphene/version new file mode 100644 index 00000000..cc5aa213 --- /dev/null +++ b/main/graphene/version @@ -0,0 +1 @@ +1.10.8 1 diff --git a/main/graphite/.nvchecker.toml b/main/graphite/.nvchecker.toml new file mode 100644 index 00000000..43df89d9 --- /dev/null +++ b/main/graphite/.nvchecker.toml @@ -0,0 +1,5 @@ +[graphite] +source = "github" +github = "silnrsi/graphite" +use_max_tag = true +#prefix = "v" diff --git a/main/graphite/PKGBUILD b/main/graphite/PKGBUILD new file mode 100644 index 00000000..f0581dd4 --- /dev/null +++ b/main/graphite/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=graphite +pkgname=(graphite graphite-docs) +pkgver=%version% +pkgrel=%release% +epoch=1 +arch=('x86_64') +url="https://github.com/silnrsi/graphite" +pkgdesc='reimplementation of the SIL Graphite text processing engine' +license=('LGPL' 'GPL' 'custom') +depends=('gcc-libs') +makedepends=('cmake' 'freetype2' 'python' + # for documentation + 'doxygen' 'dblatex' 'graphviz' 'asciidoc') +checkdepends=('python-fonttools') +# https://github.com/silnrsi/graphite/releases/download/1.3.14/graphite2-1.3.14.sha256sum +source=(https://github.com/silnrsi/graphite/releases/download/${pkgver}/graphite2-${pkgver}.tgz) +sha256sums=('f99d1c13aa5fa296898a181dff9b82fb25f6cc0933dbaa7a475d8109bd54209d') + +build() { + local cmake_options=( + -DCMAKE_BUILD_TYPE=None + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_SKIP_INSTALL_RPATH=ON + -DGRAPHITE2_COMPARE_RENDERER=OFF + -DGRAPHITE2_VM_TYPE=direct + ) + + cmake -S graphite2-${pkgver} -B build "${cmake_options[@]}" + cmake --build build + cmake --build build -t docs -j1 +} + +check() { + cd build + ctest --output-on-failure --stop-on-failure -j$(nproc) +} + +package_graphite() { + optdepends=('graphite-docs: Documentation') + provides=('libgraphite2.so') + + DESTDIR="$pkgdir" cmake --install build + + # licenses + install -Dm644 graphite2-${pkgver}/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_graphite-docs() { + pkgdesc+=" (documentation)" + depends=() + + local docdir="${pkgdir}/usr/share/doc/${pkgbase}" + mkdir -p "${docdir}/api" + cp -vrf build/doc/doxygen/{html,latex/refman.pdf} "${docdir}/api" + cp -vrf build/doc/{GTF,manual}.html "${docdir}" + + # licenses + install -Dm644 graphite2-${pkgver}/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/graphite/README b/main/graphite/README new file mode 100644 index 00000000..36c121ea --- /dev/null +++ b/main/graphite/README @@ -0,0 +1,43 @@ +graphite +________________________________________________________________________________ + +reimplementation of the SIL Graphite text processing engine reimplementation of the SIL Graphite text processing engine (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S graphite | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/silnrsi/graphite diff --git a/main/graphite/version b/main/graphite/version new file mode 100644 index 00000000..7187f1a4 --- /dev/null +++ b/main/graphite/version @@ -0,0 +1 @@ +1.3.14 3 diff --git a/main/grep/PKGBUILD b/main/grep/PKGBUILD new file mode 100644 index 00000000..06a179df --- /dev/null +++ b/main/grep/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=grep +pkgver=%version% +pkgrel=%release% +pkgdesc='A string search utility' +arch=('x86_64') +license=('GPL3') +url='https://www.gnu.org/software/grep/' +depends=('glibc' 'pcre2') +makedepends=('texinfo') +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + # configure option --without-included-regex removed in 3.7 + # see: https://lists.gnu.org/archive/html/bug-grep/2021-08/msg00028.html + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/grep/README b/main/grep/README new file mode 100644 index 00000000..01a851a1 --- /dev/null +++ b/main/grep/README @@ -0,0 +1,43 @@ +grep +________________________________________________________________________________ + +A string search utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S grep | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/grep/ diff --git a/main/grep/version b/main/grep/version new file mode 100644 index 00000000..96b09630 --- /dev/null +++ b/main/grep/version @@ -0,0 +1 @@ +3.11 1 diff --git a/main/grml-zsh-config/PKGBUILD b/main/grml-zsh-config/PKGBUILD new file mode 100644 index 00000000..a032b67f --- /dev/null +++ b/main/grml-zsh-config/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=grml-zsh-config +pkgver=%version% +pkgrel=%release% +pkgdesc="grml's zsh setup" +arch=('any') +url='https://grml.org/zsh/' +license=('GPL2') +provides=('grmlzshrc') +depends=('zsh' 'coreutils' 'grep' 'sed' 'procps') +makedepends=('txt2tags') +source=("https://deb.grml.org/pool/main/g/grml-etc-core/grml-etc-core_${pkgver}.tar.gz") +sha256sums=('1db01be33c9dd6aa62ab0982e2a566161ab7c474ee99466bfe89f34b642cb393') + +build() { + cd "${srcdir}/grml-etc-core-${pkgver}/doc" + make +} + +package() { + cd "${srcdir}/grml-etc-core-${pkgver}" + install -D -m644 etc/skel/.zshrc "${pkgdir}/etc/skel/.zshrc" + install -D -m644 etc/zsh/keephack "${pkgdir}/etc/zsh/keephack" + install -D -m644 etc/zsh/zshrc "${pkgdir}/etc/zsh/zshrc" + + install -D -m644 doc/grmlzshrc.5 "${pkgdir}/usr/share/man/man5/grmlzshrc.5" + ln -sf grmlzshrc.5.gz "${pkgdir}/usr/share/man/man5/grml-zsh-config.5.gz" +} diff --git a/main/grml-zsh-config/README b/main/grml-zsh-config/README new file mode 100644 index 00000000..9fa7d2bb --- /dev/null +++ b/main/grml-zsh-config/README @@ -0,0 +1,43 @@ +grml-zsh-config +________________________________________________________________________________ + +grml's zsh setup + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S grml-zsh-config | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://grml.org/zsh/ diff --git a/main/grml-zsh-config/version b/main/grml-zsh-config/version new file mode 100644 index 00000000..454fcd87 --- /dev/null +++ b/main/grml-zsh-config/version @@ -0,0 +1 @@ +0.19.7 1 diff --git a/main/groff/.PKGINFO b/main/groff/.PKGINFO new file mode 100644 index 00000000..079cf07b --- /dev/null +++ b/main/groff/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = groff +pkgbase = groff +xdata = pkgtype=pkg +pkgver = 1.23.0-6 +pkgdesc = GNU troff text-formatting system +url = https://www.gnu.org/software/groff/groff.html +builddate = 1718491522 +packager = Developer +size = 9254727 +arch = x86_64 +license = GPL-3.0-or-later +depend = perl +depend = gcc-libs +optdepend = netpbm: for use together with man -H command interaction in browsers +optdepend = psutils: for use together with man -H command interaction in browsers +optdepend = libxaw: for gxditview +optdepend = perl-file-homedir: for use with glilypond +makedepend = netpbm +makedepend = psutils +makedepend = libxaw +makedepend = perl-file-homedir diff --git a/main/groff/PKGBUILD b/main/groff/PKGBUILD new file mode 100644 index 00000000..4bbe7d50 --- /dev/null +++ b/main/groff/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=groff +pkgver=%version% +pkgrel=%release% +pkgdesc='GNU troff text-formatting system' +arch=('x86_64') +url='https://www.gnu.org/software/groff/groff.html' +license=('GPL') +depends=('perl' 'gcc-libs') +makedepends=('netpbm' 'psutils' 'libxaw' 'perl-file-homedir') +optdepends=('netpbm: for use together with man -H command interaction in browsers' + 'psutils: for use together with man -H command interaction in browsers' + 'libxaw: for gxditview' + 'perl-file-homedir: for use with glilypond') +options=('!docs' '!emptydirs' '!makeflags') +validpgpkeys=('2D0C08D2B0AD0D3D8626670272D23FBAC99D4E75') # Bertrand Garrigues +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig} + display-utc-times.patch + site.tmac) +sha256sums=('6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13' + 'SKIP' + '489bb32bbd1c7bced33bf187611219527914ae46ce05238fe80dc11c4b1bb909' + 'cbcfe19bc1271b91e2c3bb8864813118863a3d8d10e6ca341f82c0ca5dc37dff') + +prepare() { + cd $pkgname-$pkgver + # always use UTC times for display - using localtime is problematic for reproducible builds + # fixes FS#69123 - patch taken from Debian + patch -Np1 -i ../display-utc-times.patch +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --with-x \ + --with-appresdir=/usr/share/X11/app-defaults + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # add compatibility symlinks + ln -s eqn "$pkgdir"/usr/bin/geqn + ln -s tbl "$pkgdir"/usr/bin/gtbl + ln -s soelim "$pkgdir"/usr/bin/zsoelim + + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/man.local + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/mdoc.local +} +sha256sums=('6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13' + 'SKIP' + '489bb32bbd1c7bced33bf187611219527914ae46ce05238fe80dc11c4b1bb909' + '94f28b32775bcfebf1a50231a2df9791a194d571c1651b465d4875bdea181f96') diff --git a/main/groff/README b/main/groff/README new file mode 100644 index 00000000..518c3e6a --- /dev/null +++ b/main/groff/README @@ -0,0 +1,43 @@ +groff +________________________________________________________________________________ + +GNU troff text-formatting system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S groff | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/groff/groff.html diff --git a/main/groff/display-utc-times.patch b/main/groff/display-utc-times.patch new file mode 100644 index 00000000..fe79bf4b --- /dev/null +++ b/main/groff/display-utc-times.patch @@ -0,0 +1,86 @@ +From 69faba79256faeee8d564298855eebe8c5e9c870 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Fri, 6 Nov 2015 11:40:37 +0000 +Subject: Always use UTC times for display + +Using localtime is problematic for reproducible builds. For now, always +use UTC times (gmtime etc.) for display. (Note that this changes the +semantics of \n[hours] etc., so may need further work.) + +Forwarded: no +Last-Update: 2018-03-05 + +Patch-Name: display-utc-times.patch +--- + src/devices/grohtml/post-html.cpp | 4 ++-- + src/devices/gropdf/gropdf.pl | 4 ++-- + src/devices/grops/ps.cpp | 2 +- + src/roff/troff/input.cpp | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +--- a/src/devices/grohtml/post-html.cpp.orig 2023-07-06 18:28:18.581223060 +0200 ++++ b/src/devices/grohtml/post-html.cpp 2023-07-06 18:32:13.369103205 +0200 +@@ -5115,7 +5115,7 @@ + if (do_write_date_comment) { + t = current_time(); + html.begin_comment("CreationDate: ") +- .put_string(ctime(&t), strlen(ctime(&t))-1) ++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1) + .end_comment(); + } + +@@ -5240,7 +5240,7 @@ + if (do_write_date_comment) { + t = current_time(); + html.begin_comment("CreationDate: ") +- .put_string(ctime(&t), strlen(ctime(&t))-1) ++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1) + .end_comment(); + } + +diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl +index 2ec52d06..134b0962 100644 +--- a/src/devices/gropdf/gropdf.pl ++++ b/src/devices/gropdf/gropdf.pl +@@ -280,7 +280,7 @@ elsif (exists($ppsz{$papersz})) + @defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]); + } + +-my (@dt)=localtime($ENV{SOURCE_DATE_EPOCH} || time); ++my (@dt)=gmtime($ENV{SOURCE_DATE_EPOCH} || time); + my $dt=PDFDate(\@dt); + + my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})", +@@ -538,7 +538,7 @@ sub GetObj + sub PDFDate + { + my $dt=shift; +- return(sprintf("D:%04d%02d%02d%02d%02d%02d%+03d'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0],( localtime time() + 3600*( 12 - (gmtime)[2] ) )[2] - 12)); ++ return(sprintf("D:%04d%02d%02d%02d%02d%02d+00'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0])); + } + + sub ToPoints +diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp +index ab3b1d73..b0fb78e1 100644 +--- a/src/devices/grops/ps.cpp ++++ b/src/devices/grops/ps.cpp +@@ -1392,7 +1392,7 @@ ps_printer::~ps_printer() + time_t + #endif + t = current_time(); +- fputs(ctime(&t), out.get_file()); ++ fputs(asctime(gmtime(&t)), out.get_file()); + } + for (font_pointer_list *f = font_list; f; f = f->next) { + ps_font *psf = (ps_font *)(f->p); +--- a/src/roff/troff/input.cpp.orig 2023-07-06 18:35:52.483568895 +0200 ++++ b/src/roff/troff/input.cpp 2023-07-06 18:39:50.864850588 +0200 +@@ -8303,7 +8303,7 @@ + time_t + #endif /* not LONG_FOR_TIME_T */ + t = current_time(); +- struct tm *tt = localtime(&t); ++ struct tm *tt = gmtime(&t); + set_number_reg("seconds", int(tt->tm_sec)); + set_number_reg("minutes", int(tt->tm_min)); + set_number_reg("hours", int(tt->tm_hour)); diff --git a/main/groff/site.tmac b/main/groff/site.tmac new file mode 100644 index 00000000..66b8cbc7 --- /dev/null +++ b/main/groff/site.tmac @@ -0,0 +1,37 @@ +. +.if n \{\ +. \" Strictly, "-" is a hyphen while "\-" is a minus sign, and the +. \" former may not always be rendered in the form expected for things like +. \" command-line options. Uncomment this if you want to make sure that +. \" manual pages you're writing are clear of this problem. +. \" if '\*[.T]'utf8' \ +. \" char - \[hy] +. +. \" Character translations for non-keyboard +. \" characters - to make them searchable +. if '\*[.T]'utf8' \{\ +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +. \} +. +. \" groff 1.23.0 changed the "utf8" device to render "^" and "~" +. \" as U+02C6 and U+02DC respectively. This is likely to cause +. \" considerable disruption in manual pages, so preserve the old +. \" behaviour, at least for now. +. if '\*[.T]'utf8' \{\ +. char ^ \[ha] +. char ~ \[ti] +. \} +. +. \" "\-" is more commonly used for option dashes than for minus +. \" signs in manual pages, so map it to plain "-" for HTML/XHTML output +. \" rather than letting it be rendered as "−". +. ie '\*[.T]'html' \ +. char \- \N'45' +. el \{\ +. if '\*[.T]'xhtml' \ +. char \- \N'45' +. \} +.\} + diff --git a/main/groff/version b/main/groff/version new file mode 100644 index 00000000..ea1841fa --- /dev/null +++ b/main/groff/version @@ -0,0 +1 @@ +1.23.0 6 diff --git a/main/grub/PKGBUILD b/main/grub/PKGBUILD new file mode 100644 index 00000000..66cdd533 --- /dev/null +++ b/main/grub/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer + + +[[ "${CARCH}" == 'x86_64' ]] && _EFI_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EFI_ARCH='i386' + +[[ "${CARCH}" == 'x86_64' ]] && _EMU_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EMU_ARCH='i386' + +pkgname='grub' +pkgver=%version% +pkgrel=%release% +epoch=2 +pkgdesc='GNU GRand Unified Bootloader (2)' +url='https://www.gnu.org/software/grub/' +arch=('x86_64') +license=('GPL-3.0-or-later') +backup=('etc/default/grub' + 'etc/grub.d/40_custom') +install="${pkgname}.install" +options=('!makeflags') + +conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy') +replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") + +depends=('sh' 'xz' 'gettext' 'device-mapper') +optdepends=('freetype2: For grub-mkfont usage' + 'fuse3: For grub-mount usage' + 'dosfstools: For grub-mkrescue FAT FS and EFI support' + 'lzop: For grub-mkrescue LZO support' + 'efibootmgr: For grub-install EFI support' + 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' + 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' + 'mtools: For grub-mkrescue FAT FS support') + +source=("$pkgname-$pkgver-$pkgrel.tar.gz"::"https://geo.mirror.pkgbuild.com/pool/packages/$pkgname-$epoch:$pkgver-$pkgrel-x86_64.pkg.tar.zst" + "grub.default" + "sbat.csv") + +sha256sums=('SKIP' + 'SKIP' + 'SKIP') + +package() { + + cp -f $srcdir/grub.default $srcdir/etc/default/grub + cp -f $srcdir/sbat.csv $srcdir/usr/share/grub/sbat.csv + + mkdir -p "$pkgdir"/usr + mkdir -p "$pkgdir"/etc + # Install + cp -R $srcdir/*/ "$pkgdir"/ +} diff --git a/main/grub/README b/main/grub/README new file mode 100644 index 00000000..ece2947c --- /dev/null +++ b/main/grub/README @@ -0,0 +1,43 @@ +grub +________________________________________________________________________________ + +GNU GRand Unified Bootloader (2) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S grub | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/grub/ diff --git a/main/grub/grub.default b/main/grub/grub.default new file mode 100644 index 00000000..2af58b45 --- /dev/null +++ b/main/grub/grub.default @@ -0,0 +1,63 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="TuxCore" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +#GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `videoinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. +#GRUB_SAVEDEFAULT=true + +# Uncomment to disable submenus in boot menu +#GRUB_DISABLE_SUBMENU=y + +# Probing for other operating systems is disabled for security reasons. Read +# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this +# functionality install os-prober and uncomment to detect and include other +# operating systems. +GRUB_DISABLE_OS_PROBER=false diff --git a/main/grub/grub.install b/main/grub/grub.install new file mode 100644 index 00000000..79693428 --- /dev/null +++ b/main/grub/grub.install @@ -0,0 +1,38 @@ +#!/bin/sh + +post_upgrade() { + # We used to package /boot/grub/grub.cfg, but there is no reason to. + # Remove the file from package, but move real file back in place. + if [ ! -f /boot/grub/grub.cfg -a -f /boot/grub/grub.cfg.pacsave ]; then + mv /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg + fi + + # Give a hint to update installation and configuration one after another. + cat < 0 )) && return + + if [[ -e /sys/firmware/efi/efivars ]]; then + cat < +# Maintainer: Developer + +pkgname=gsettings-desktop-schemas +pkgver=%version% +pkgrel=%release% +pkgdesc="Shared GSettings schemas for the desktop" +url="https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas" +arch=(any) +license=(LGPL-2.1-or-later) +depends=( + adobe-source-code-pro-fonts + cantarell-fonts + dconf + glib2 +) +makedepends=( + git + gobject-introspection + meson +) +_commit=38196cc6692c3622d974466c7964a0263b4ff3b4 # tags/46.0^0 +source=("git+https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git#commit=$_commit") +b2sums=('af6475bdb556c9a82eb29e7d1f704c73ebc0b34e8fd23e68ec120d1667eeba8ece93228e7c9612a287782a8efb657ee735a87d6c9896661b9dcb56cfafb04c5e') + +pkgver() { + cd $pkgname + git describe --tags | sed -r 's/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/gsettings-desktop-schemas/README b/main/gsettings-desktop-schemas/README new file mode 100644 index 00000000..1640b861 --- /dev/null +++ b/main/gsettings-desktop-schemas/README @@ -0,0 +1,43 @@ +gsettings-desktop-schemas +________________________________________________________________________________ + +Shared GSettings schemas for the desktop + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gsettings-desktop-schemas | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas diff --git a/main/gsettings-desktop-schemas/version b/main/gsettings-desktop-schemas/version new file mode 100644 index 00000000..2947f781 --- /dev/null +++ b/main/gsettings-desktop-schemas/version @@ -0,0 +1 @@ +46.0 1 diff --git a/main/gsm/PKGBUILD b/main/gsm/PKGBUILD new file mode 100644 index 00000000..5da1b4de --- /dev/null +++ b/main/gsm/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gsm +pkgver=%version% +pkgrel=%release% +pkgdesc="Shared libraries for GSM 06.10 lossy speech compression" +arch=('x86_64') +url="https://www.quut.com/gsm/" +license=('custom') +depends=('glibc') +source=("https://www.quut.com/$pkgname/$pkgname-$pkgver.tar.gz" gsm-shared.patch gsm-fix-toast-install.patch) +sha512sums=('f4284f096ed4d606ddece5c1b28edb63feacc26a0b664f1350c040dbf50113d27bedfd9896bf1620cb4fc3a6c8f6a5244955a6c625ded833dcee607c63c97dd2' + '5833f9157ab5adf68b3ad0b6316ec563389fe39dd7b99ee04acc08a32bfccf9f517b9289ce3bfd32e191ab8a4b674c08ea1fbba9411e43c0d44f78f24bf885cd' + '88f3214e92d4f5b9dae9c5d67073abb36c7889cdcb90a00fb023794ae474c0560d8ea5098ce3e5424a1021fe44cd4f6b91d86c77e4b864fe97b51d69debf0c5d') + +prepare() { + cd $pkgname-${pkgver%.*}-pl${pkgver##*.} + + patch -p0 -i ../gsm-shared.patch + patch -p0 -i ../gsm-fix-toast-install.patch +} + +build() { + cd $pkgname-${pkgver%.*}-pl${pkgver##*.} + + make CCFLAGS="-c ${CFLAGS} -fPIC" +} + +package() { + cd $pkgname-${pkgver%.*}-pl${pkgver##*.} + + # Prepare directories + install -m755 -d "$pkgdir"/usr/{bin,lib,include/gsm,share/{licenses/$pkgname,man/man{1,3}}} + + make -j1 INSTALL_ROOT="$pkgdir"/usr \ + GSM_INSTALL_INC="$pkgdir"/usr/include/gsm \ + GSM_INSTALL_MAN="$pkgdir"/usr/share/man/man3 \ + TOAST_INSTALL_MAN="$pkgdir"/usr/share/man/man1 \ + install + + # Install license + install -m644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/license.txt +} diff --git a/main/gsm/README b/main/gsm/README new file mode 100644 index 00000000..3a56f585 --- /dev/null +++ b/main/gsm/README @@ -0,0 +1,43 @@ +gsm +________________________________________________________________________________ + +Shared libraries for GSM 06.10 lossy speech compression + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gsm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.quut.com/gsm/ diff --git a/main/gsm/gsm-fix-toast-install.patch b/main/gsm/gsm-fix-toast-install.patch new file mode 100644 index 00000000..d641ac76 --- /dev/null +++ b/main/gsm/gsm-fix-toast-install.patch @@ -0,0 +1,16 @@ +--- Makefile.orig 2022-08-02 00:11:31.493613903 +0300 ++++ Makefile 2022-08-02 00:11:40.203644903 +0300 +@@ -359,11 +359,11 @@ + + $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast + -rm $(RMFLAGS) $@ +- $(LN) $? $@ ++ $(LN) toast $@ + + $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast + -rm $(RMFLAGS) $@ +- $(LN) $? $@ ++ $(LN) toast $@ + + $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 + -rm $(RMFLAGS) $@ diff --git a/main/gsm/gsm-shared.patch b/main/gsm/gsm-shared.patch new file mode 100644 index 00000000..1e3dfaf8 --- /dev/null +++ b/main/gsm/gsm-shared.patch @@ -0,0 +1,130 @@ +--- Makefile 2006-04-26 15:14:26.000000000 -0400 ++++ Makefile 2010-06-19 16:53:25.000000000 -0400 +@@ -96,7 +96,7 @@ + # Other tools + + SHELL = /bin/sh +-LN = ln ++LN = ln -s -f + BASENAME = basename + AR = ar + ARFLAGS = cr +@@ -139,7 +139,7 @@ + + # Targets + +-LIBGSM = $(LIB)/libgsm.a ++LIBGSMSO = $(LIB)/libgsm.so + + TOAST = $(BIN)/toast + UNTOAST = $(BIN)/untoast +@@ -257,7 +257,7 @@ + # Install targets + + GSM_INSTALL_TARGETS = \ +- $(GSM_INSTALL_LIB)/libgsm.a \ ++ $(GSM_INSTALL_LIB)/libgsm.so \ + $(GSM_INSTALL_INC)/gsm.h \ + $(GSM_INSTALL_MAN)/gsm.3 \ + $(GSM_INSTALL_MAN)/gsm_explode.3 \ +@@ -279,7 +279,7 @@ + + # Target rules + +-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) ++all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) + @-echo $(ROOT): Done. + + tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result +@@ -299,24 +299,23 @@ + + # The basic API: libgsm + +-$(LIBGSM): $(LIB) $(GSM_OBJECTS) +- -rm $(RMFLAGS) $(LIBGSM) +- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) +- $(RANLIB) $(LIBGSM) +- ++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) ++ $(LD) $(LFLAGS) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.22 $(GSM_OBJECTS) ++ $(LN) libgsm.so.1.0.22 $(LIBGSMSO).1 ++ $(LN) libgsm.so.1.0.22 $(LIBGSMSO) + + # Toast, Untoast and Tcat -- the compress-like frontends to gsm. + +-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) +- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB) ++$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO) ++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB) + + $(UNTOAST): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(UNTOAST) +- $(LN) $(TOAST) $(UNTOAST) ++ $(LN) toast $(UNTOAST) + + $(TCAT): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(TCAT) +- $(LN) $(TOAST) $(TCAT) ++ $(LN) toast $(TCAT) + + + # The local bin and lib directories +@@ -351,10 +350,12 @@ + cp $? $@ + chmod 444 $@ + +-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) +- -rm $(RMFLAGS) $@ +- cp $? $@ +- chmod 444 $@ ++$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO) ++ -rm $(RMFLAGS) $@ $@.1 $@.1.0.22 ++ cp $?.1.0.22 $@.1.0.22 ++ chmod 755 $@.1.0.22 ++ $(LN) libgsm.so.1.0.22 $@ ++ $(LN) libgsm.so.1.0.22 $@.1 + + # Distribution + +@@ -425,7 +425,7 @@ + -print | xargs rm $(RMFLAGS) + + clean: semi-clean +- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ ++ -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \ + $(TOAST) $(TCAT) $(UNTOAST) \ + $(ROOT)/gsm-1.0.tar.Z + +@@ -473,22 +473,22 @@ + $(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run + ( cd $(TST); ./run ) + +-$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM) ++$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/lin2txt \ +- $(TST)/lin2txt.o $(LIBGSM) $(LDLIB) ++ $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM) ++$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/lin2cod \ +- $(TST)/lin2cod.o $(LIBGSM) $(LDLIB) ++ $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM) ++$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/gsm2cod \ +- $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB) ++ $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM) ++$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/cod2txt \ +- $(TST)/cod2txt.o $(LIBGSM) $(LDLIB) ++ $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB) + +-$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM) ++$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO) + $(LD) $(LFLAGS) -o $(TST)/cod2lin \ +- $(TST)/cod2lin.o $(LIBGSM) $(LDLIB) ++ $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB) diff --git a/main/gsm/version b/main/gsm/version new file mode 100644 index 00000000..cfd79168 --- /dev/null +++ b/main/gsm/version @@ -0,0 +1 @@ +1.0.22 1 diff --git a/main/gssproxy/.nvchecker.toml b/main/gssproxy/.nvchecker.toml new file mode 100644 index 00000000..8abf9ad2 --- /dev/null +++ b/main/gssproxy/.nvchecker.toml @@ -0,0 +1,5 @@ +[gssproxy] +source = "github" +github = "gssapi/gssproxy" +use_max_tag = true +prefix = "v" diff --git a/main/gssproxy/PKGBUILD b/main/gssproxy/PKGBUILD new file mode 100644 index 00000000..82e72397 --- /dev/null +++ b/main/gssproxy/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gssproxy +pkgver=%version% +pkgrel=%release% +pkgdesc="GSSAPI Proxy" +arch=(x86_64) +url="https://github.com/gssapi/gssproxy" +license=('custom: MIT') +depends=('libverto-module-base' 'popt' 'ding-libs' 'systemd-libs' + 'krb5' 'glibc') +makedepends=('libxslt' 'systemd' 'docbook-xsl' 'doxygen' 'po4a') +options=('emptydirs' 'makeflags') +backup=(etc/gssproxy/{gssproxy,24-nfs-server,80-httpd,99-network-fs-clients}.conf + etc/gss/mech.d/proxymech.conf) +source=(https://github.com/gssapi/gssproxy/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) +# https://github.com/gssapi/gssproxy/releases/download/v0.9.2/gssproxy-0.9.2.tar.gz.sha512sum.txt +sha512sums=('6de484c9c1715e8b845106e1b16e1c29805e4104db296eb44ea15e6b6973fd1df0b043d2cdc2798f04c7a0ce66279e356a285684bc3573ef847532ab2b87aca3') + +prepare() { + cd "$srcdir/gssproxy-$pkgver" + autoreconf -vfi +} + +build() { + cd gssproxy-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-pubconf-path=/etc/gssproxy \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --without-selinux \ + --with-initscript=systemd \ + --with-gpp-default-behavior=REMOTE_FIRST + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd "$pkgname"-$pkgver + make test_proxymech +} + + +package() { + cd gssproxy-$pkgver + make DESTDIR=$pkgdir install + + # cleanup empty directories + rm -rf "$pkgdir"/usr/include + rm -rf "$pkgdir"/usr/share/doc + + # install default config files + install -m644 examples/gssproxy.conf "$pkgdir"/etc/gssproxy/gssproxy.conf + # nfs services + install -m644 examples/24-nfs-server.conf "$pkgdir"/etc/gssproxy/24-nfs-server.conf + install -m644 examples/99-network-fs-clients.conf "$pkgdir"/etc/gssproxy/99-network-fs-clients.conf + # httpd service / use Arch UID/GID http/33 (by pkg filesystem) + install -m644 examples/80-httpd.conf "$pkgdir"/etc/gssproxy/80-httpd.conf + sed -i -e "s:euid = apache:euid = http:" "$pkgdir"/etc/gssproxy/80-httpd.conf + +# install -Dm644 examples/mech "$pkgdir"/etc/gss/mech.d/gssproxy.conf + + # FS#51574 + install -m700 -d ${pkgdir}/var/lib/gssproxy/rcache + + install -m755 -d ${pkgdir}/usr/share/licenses/$pkgname + install -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/ +} diff --git a/main/gssproxy/README b/main/gssproxy/README new file mode 100644 index 00000000..77052e4c --- /dev/null +++ b/main/gssproxy/README @@ -0,0 +1,43 @@ +gssproxy +________________________________________________________________________________ + +GSSAPI Proxy + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gssproxy | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/gssapi/gssproxy diff --git a/main/gssproxy/version b/main/gssproxy/version new file mode 100644 index 00000000..4004a6d4 --- /dev/null +++ b/main/gssproxy/version @@ -0,0 +1 @@ +0.9.2 1 diff --git a/main/gstreamer/.PKGINFO b/main/gstreamer/.PKGINFO new file mode 100644 index 00000000..6163942a --- /dev/null +++ b/main/gstreamer/.PKGINFO @@ -0,0 +1,156 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gst-plugins-bad-libs +pkgbase = gstreamer +xdata = pkgtype=split +pkgver = 1.24.3-1 +pkgdesc = Multimedia graph framework - bad +url = https://gstreamer.freedesktop.org/ +builddate = 1714618354 +packager = Developer +size = 12319831 +arch = x86_64 +license = LGPL-2.1-or-later +depend = gst-plugins-base-libs=1.24.3 +depend = libdrm +depend = libgudev +depend = libnice +depend = libusb +depend = libva +depend = libx11 +depend = libxkbcommon-x11 +depend = orc +depend = vulkan-icd-loader +depend = wayland +makedepend = git +makedepend = meson +makedepend = bash-completion +makedepend = gobject-introspection +makedepend = gtk3 +makedepend = libcap +makedepend = libelf +makedepend = libunwind +makedepend = python +makedepend = python-packaging +makedepend = rust +makedepend = valgrind +makedepend = alsa-lib +makedepend = cdparanoia +makedepend = graphene +makedepend = libdrm +makedepend = libglvnd +makedepend = libgudev +makedepend = libjpeg +makedepend = libpng +makedepend = libtheora +makedepend = libx11 +makedepend = libxi +makedepend = libxv +makedepend = mesa +makedepend = opus +makedepend = orc +makedepend = pango +makedepend = qt5-base +makedepend = qt5-tools +makedepend = sdl2 +makedepend = wayland +makedepend = wayland-protocols +makedepend = zlib +makedepend = aalib +makedepend = cairo +makedepend = flac +makedepend = gdk-pixbuf2 +makedepend = jack2 +makedepend = lame +makedepend = libavc1394 +makedepend = libcaca +makedepend = libdv +makedepend = libiec61883 +makedepend = libpulse +makedepend = libraw1394 +makedepend = libshout +makedepend = libsoup3 +makedepend = libvpx +makedepend = libxdamage +makedepend = libxtst +makedepend = mpg123 +makedepend = nasm +makedepend = nettle +makedepend = opencore-amr +makedepend = qt5-declarative +makedepend = qt5-wayland +makedepend = qt5-x11extras +makedepend = qt6-declarative +makedepend = qt6-shadertools +makedepend = qt6-tools +makedepend = qt6-wayland +makedepend = speex +makedepend = taglib +makedepend = twolame +makedepend = v4l-utils +makedepend = wavpack +makedepend = bluez-libs +makedepend = bzip2 +makedepend = chromaprint +makedepend = faac +makedepend = faad2 +makedepend = fluidsynth +makedepend = gsm +makedepend = json-glib +makedepend = ladspa +makedepend = libavtp +makedepend = libbs2b +makedepend = libdca +makedepend = libde265 +makedepend = libdvdnav +makedepend = libfdk-aac +makedepend = libfreeaptx +makedepend = libgme +makedepend = liblc3 +makedepend = libldac +makedepend = liblrdf +makedepend = libltc +makedepend = libmicrodns +makedepend = libmodplug +makedepend = libmpcdec +makedepend = libnice +makedepend = libopenmpt +makedepend = libsrtp +makedepend = libva +makedepend = libvpl +makedepend = libxkbcommon-x11 +makedepend = libxml2 +makedepend = lilv +makedepend = lv2 +makedepend = mjpegtools +makedepend = neon +makedepend = openal +makedepend = opencv +makedepend = qrencode +makedepend = rtmpdump +makedepend = sbc +makedepend = shaderc +makedepend = soundtouch +makedepend = spandsp +makedepend = svt-av1 +makedepend = svt-hevc +makedepend = vulkan-headers +makedepend = vulkan-icd-loader +makedepend = vulkan-validation-layers +makedepend = webrtc-audio-processing-1 +makedepend = wildmidi +makedepend = wpewebkit +makedepend = zbar +makedepend = zvbi +makedepend = zxing-cpp +makedepend = a52dec +makedepend = libcdio +makedepend = libdvdread +makedepend = libmpeg2 +makedepend = x264 +makedepend = ffmpeg +makedepend = opentimelineio +makedepend = libxrandr +makedepend = python-gobject +makedepend = python-setuptools +checkdepend = xorg-server-xvfb diff --git a/main/gstreamer/0001-HACK-meson-Disable-broken-tests.patch b/main/gstreamer/0001-HACK-meson-Disable-broken-tests.patch new file mode 100644 index 00000000..98b20e10 --- /dev/null +++ b/main/gstreamer/0001-HACK-meson-Disable-broken-tests.patch @@ -0,0 +1,135 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 6 Jun 2022 00:30:08 +0200 +Subject: [PATCH] HACK: meson: Disable broken tests + +--- + subprojects/gst-editing-services/tests/check/meson.build | 2 -- + subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c | 1 - + subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c | 1 - + subprojects/gst-plugins-bad/tests/check/elements/lc3.c | 3 --- + subprojects/gst-plugins-bad/tests/check/meson.build | 1 - + subprojects/gst-plugins-bad/tests/validate/meson.build | 3 --- + subprojects/gst-plugins-base/tests/validate/meson.build | 1 - + subprojects/gst-plugins-good/tests/check/elements/flvmux.c | 1 - + subprojects/gstreamer-vaapi/meson.build | 1 - + 9 files changed, 14 deletions(-) + +diff --git a/subprojects/gst-editing-services/tests/check/meson.build b/subprojects/gst-editing-services/tests/check/meson.build +index 784c592ba6f1..bbf9a2491a86 100644 +--- a/subprojects/gst-editing-services/tests/check/meson.build ++++ b/subprojects/gst-editing-services/tests/check/meson.build +@@ -144,7 +144,5 @@ if build_gir + env.set('GST_PLUGIN_PATH_1_0', [meson.global_build_root()] + pluginsdirs) + env.set('GI_TYPELIB_PATH', meson.current_build_dir() / '..' / '..' / 'ges') + +- test('pythontests', runtests, args: ['--pyunittest-dir', meson.current_source_dir(), 'pyunittest', '--dump-on-failure'], +- env: env) + endif + endif +diff --git a/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c b/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c +index d0901d5b23df..62b3bba4b614 100644 +--- a/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c ++++ b/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c +@@ -910,7 +910,6 @@ curlhttpsrc_suite (void) + tcase_add_test (tc_chain, test_forbidden); + tcase_add_test (tc_chain, test_cookies); + tcase_add_test (tc_chain, test_multiple_http_requests); +- tcase_add_test (tc_chain, test_range_get); + + return s; + } +diff --git a/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c b/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c +index 1d347b0a54ea..1ee4babf36ae 100644 +--- a/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c ++++ b/subprojects/gst-plugins-bad/tests/check/elements/dash_mpd.c +@@ -6659,7 +6659,6 @@ dash_suite (void) + tcase_add_test (tc_simpleMPD, dash_mpdparser_default_presentation_delay); + + /* tests checking xlink attributes */ +- tcase_add_test (tc_simpleMPD, dash_mpdparser_xlink_period); + + /* tests checking the MPD management + * (eg. setting active streams, obtaining attributes values) +diff --git a/subprojects/gst-plugins-bad/tests/check/elements/lc3.c b/subprojects/gst-plugins-bad/tests/check/elements/lc3.c +index 5ee2ca1efaac..a6a692ee26a1 100644 +--- a/subprojects/gst-plugins-bad/tests/check/elements/lc3.c ++++ b/subprojects/gst-plugins-bad/tests/check/elements/lc3.c +@@ -429,9 +429,6 @@ lc3_suite (void) + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); +- tcase_add_test (tc_chain, test_48k_8ch_10000us); +- tcase_add_test (tc_chain, test_48k_8ch_7500us); +- tcase_add_test (tc_chain, test_24k_4ch_10000us); + tcase_add_test (tc_chain, test_dec_plc); + + return s; +diff --git a/subprojects/gst-plugins-bad/tests/check/meson.build b/subprojects/gst-plugins-bad/tests/check/meson.build +index 40006d09bde6..bcd667d52d97 100644 +--- a/subprojects/gst-plugins-bad/tests/check/meson.build ++++ b/subprojects/gst-plugins-bad/tests/check/meson.build +@@ -153,7 +153,6 @@ if host_machine.system() != 'windows' + [['elements/jifmux.c'], + not exif_dep.found() or not cdata.has('HAVE_UNISTD_H'), [exif_dep]], + [['elements/jpegparse.c'], not cdata.has('HAVE_UNISTD_H')], +- [['elements/netsim.c']], + [['elements/shm.c'], not shm_enabled, shm_deps], + [['elements/unixfd.c'], not gio_unix_dep.found()], + [['elements/voaacenc.c'], +diff --git a/subprojects/gst-plugins-bad/tests/validate/meson.build b/subprojects/gst-plugins-bad/tests/validate/meson.build +index c09772a657f4..6dd292ea670a 100644 +--- a/subprojects/gst-plugins-bad/tests/validate/meson.build ++++ b/subprojects/gst-plugins-bad/tests/validate/meson.build +@@ -4,15 +4,12 @@ if not gst_tester.found() + endif + + tests = [ +- {'path': 'opencv/cvtracker'}, + {'path': 'testsrcbin/caps_spec'}, + {'path': 'codectimestamper/h264_propagate_caps'}, +- {'path': 'wpe/load_bytes_first', 'skip': not building_wpe}, + {'path': 'vtenc/vtenc_h264', 'skip': not applemedia_found_deps}, + {'path': 'vtenc/vtenc_h264_b_frames', 'skip': not applemedia_found_deps}, + {'path': 'vtenc/vtenc_h265', 'skip': not applemedia_found_deps}, + {'path': 'vtenc/vtenc_h265_b_frames', 'skip': not applemedia_found_deps}, +- {'path': 'autovideoconvert/renegotiate'}, + ] + + env = environment() +diff --git a/subprojects/gst-plugins-base/tests/validate/meson.build b/subprojects/gst-plugins-base/tests/validate/meson.build +index f732daae44c5..bc89d8caa676 100644 +--- a/subprojects/gst-plugins-base/tests/validate/meson.build ++++ b/subprojects/gst-plugins-base/tests/validate/meson.build +@@ -20,7 +20,6 @@ tests = [ + 'videorate/duplicate_on_eos', + 'videorate/duplicate_on_eos_disbaled', + 'videorate/duplicate_on_eos_half_sec', +- 'videorate/fill_segment_after_caps_changed_before_eos', + 'videorate/drop_out_of_segment', + 'compositor/renogotiate_failing_unsupported_src_format', + 'giosrc/read-growing-file', +diff --git a/subprojects/gst-plugins-good/tests/check/elements/flvmux.c b/subprojects/gst-plugins-good/tests/check/elements/flvmux.c +index 6efa928fb09b..1f1950ef323d 100644 +--- a/subprojects/gst-plugins-good/tests/check/elements/flvmux.c ++++ b/subprojects/gst-plugins-good/tests/check/elements/flvmux.c +@@ -1162,7 +1162,6 @@ flvmux_suite (void) + + tcase_add_test (tc_chain, test_speex_streamable); + tcase_add_test (tc_chain, test_increasing_timestamp_when_pts_none); +- tcase_add_test (tc_chain, test_video_caps_late); + tcase_add_test (tc_chain, test_audio_caps_change_streamable); + tcase_add_test (tc_chain, test_video_caps_change_streamable); + tcase_add_test (tc_chain, test_audio_caps_change_streamable_single); +diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build +index 68b022785b3f..da91beb0a8d8 100644 +--- a/subprojects/gstreamer-vaapi/meson.build ++++ b/subprojects/gstreamer-vaapi/meson.build +@@ -218,7 +218,6 @@ plugins = [] + + subdir('gst-libs') + subdir('gst') +-subdir('tests') + subdir('docs') + + # Set release date diff --git a/main/gstreamer/0002-libav-Fix-compatibility-with-ffmpeg-7.patch b/main/gstreamer/0002-libav-Fix-compatibility-with-ffmpeg-7.patch new file mode 100644 index 00000000..bec89091 --- /dev/null +++ b/main/gstreamer/0002-libav-Fix-compatibility-with-ffmpeg-7.patch @@ -0,0 +1,1958 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Thu, 30 May 2024 00:54:43 +0200 +Subject: [PATCH] libav: Fix compatibility with ffmpeg 7 + +Squash of the following commits: + + - avdemux: Remove typefinder implementation + - libav: Fix signature of avprotocol write function for ffmpeg 7 + - libav: Update AVCodecContext lifetime to work properly with ffmpeg 7 + - avdemux: Fix leak of demuxer input context in error cases + - avmux: Reset input context to NULL after closing in the muxer + - avvidenc: Only use 2 ticks per frame if encoding interlaced video + - avvidenc: Set the DTS to 0 if it is negative, not the PTS + - avviddec: Only use 2 ticks per frame if decoding interlaced video + - avvidenc: Make sure to pass always increasing PTS to the encoder + - typefind: Add typefinders for formats that were previously available via ffmpeg + +The latest commit was 39d2beac641315b8f53816d5f1fdcdfb5d14411c from +2024-05-01 18:05:35 +0300. + +Source: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 +--- + subprojects/gst-libav/ext/libav/gstav.c | 12 -- + subprojects/gst-libav/ext/libav/gstav.h | 1 - + subprojects/gst-libav/ext/libav/gstavauddec.c | 92 +++----- + subprojects/gst-libav/ext/libav/gstavauddec.h | 1 - + subprojects/gst-libav/ext/libav/gstavaudenc.c | 65 ++---- + subprojects/gst-libav/ext/libav/gstavaudenc.h | 1 - + subprojects/gst-libav/ext/libav/gstavcfg.c | 6 +- + .../gst-libav/ext/libav/gstavcodecmap.c | 24 +++ + .../gst-libav/ext/libav/gstavdeinterlace.c | 5 +- + subprojects/gst-libav/ext/libav/gstavdemux.c | 124 ++--------- + subprojects/gst-libav/ext/libav/gstavmux.c | 1 + + .../gst-libav/ext/libav/gstavprotocol.c | 4 + + subprojects/gst-libav/ext/libav/gstavviddec.c | 111 +++++----- + subprojects/gst-libav/ext/libav/gstavviddec.h | 1 - + subprojects/gst-libav/ext/libav/gstavvidenc.c | 127 ++++++----- + subprojects/gst-libav/ext/libav/gstavvidenc.h | 2 +- + .../gst/typefind/gsttypefindfunctions.c | 203 ++++++++++++++++++ + .../gst/typefind/gsttypefindfunctionsplugin.c | 10 + + .../gst/typefind/gsttypefindfunctionsplugin.h | 10 + + .../gst/typefind/gsttypefindfunctionsriff.c | 4 + + .../typefind/gsttypefindfunctionsstartwith.c | 2 + + 21 files changed, 457 insertions(+), 349 deletions(-) + +diff --git a/subprojects/gst-libav/ext/libav/gstav.c b/subprojects/gst-libav/ext/libav/gstav.c +index 00fcc6388137..0c9353f0c157 100644 +--- a/subprojects/gst-libav/ext/libav/gstav.c ++++ b/subprojects/gst-libav/ext/libav/gstav.c +@@ -72,18 +72,6 @@ gst_ffmpeg_avcodec_open (AVCodecContext * avctx, const AVCodec * codec) + return ret; + } + +-int +-gst_ffmpeg_avcodec_close (AVCodecContext * avctx) +-{ +- int ret; +- +- g_mutex_lock (&gst_avcodec_mutex); +- ret = avcodec_close (avctx); +- g_mutex_unlock (&gst_avcodec_mutex); +- +- return ret; +-} +- + int + gst_ffmpeg_av_find_stream_info (AVFormatContext * ic) + { +diff --git a/subprojects/gst-libav/ext/libav/gstav.h b/subprojects/gst-libav/ext/libav/gstav.h +index a7fbb019fd55..9cdb14503c3a 100644 +--- a/subprojects/gst-libav/ext/libav/gstav.h ++++ b/subprojects/gst-libav/ext/libav/gstav.h +@@ -46,7 +46,6 @@ extern gboolean gst_ffmpegdeinterlace_register (GstPlugin * plugin); + extern gboolean gst_ffmpegvidcmp_register (GstPlugin * plugin); + + int gst_ffmpeg_avcodec_open (AVCodecContext *avctx, const AVCodec *codec); +-int gst_ffmpeg_avcodec_close (AVCodecContext *avctx); + int gst_ffmpeg_av_find_stream_info(AVFormatContext *ic); + + G_END_DECLS +diff --git a/subprojects/gst-libav/ext/libav/gstavauddec.c b/subprojects/gst-libav/ext/libav/gstavauddec.c +index 48c4be6b6a14..2279e690ee5e 100644 +--- a/subprojects/gst-libav/ext/libav/gstavauddec.c ++++ b/subprojects/gst-libav/ext/libav/gstavauddec.c +@@ -145,136 +145,89 @@ gst_ffmpegauddec_class_init (GstFFMpegAudDecClass * klass) + static void + gst_ffmpegauddec_init (GstFFMpegAudDec * ffmpegdec) + { +- GstFFMpegAudDecClass *klass = +- (GstFFMpegAudDecClass *) G_OBJECT_GET_CLASS (ffmpegdec); +- +- /* some ffmpeg data */ +- ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); +- ffmpegdec->context->opaque = ffmpegdec; +- ffmpegdec->opened = FALSE; +- +- ffmpegdec->frame = av_frame_alloc (); +- + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (ffmpegdec)); + gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST + (ffmpegdec), TRUE); + + gst_audio_decoder_set_drainable (GST_AUDIO_DECODER (ffmpegdec), TRUE); + gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (ffmpegdec), TRUE); + } + + static void + gst_ffmpegauddec_finalize (GObject * object) + { + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) object; + + av_frame_free (&ffmpegdec->frame); + avcodec_free_context (&ffmpegdec->context); + + G_OBJECT_CLASS (parent_class)->finalize (object); + } + + /* With LOCK */ +-static gboolean +-gst_ffmpegauddec_close (GstFFMpegAudDec * ffmpegdec, gboolean reset) ++static void ++gst_ffmpegauddec_close (GstFFMpegAudDec * ffmpegdec) + { +- GstFFMpegAudDecClass *oclass; +- +- oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); +- + GST_LOG_OBJECT (ffmpegdec, "closing libav codec"); + + gst_caps_replace (&ffmpegdec->last_caps, NULL); +- +- gst_ffmpeg_avcodec_close (ffmpegdec->context); +- ffmpegdec->opened = FALSE; +- + av_freep (&ffmpegdec->context->extradata); +- +- if (reset) { +- avcodec_free_context (&ffmpegdec->context); +- ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegdec->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); +- return FALSE; +- } +- ffmpegdec->context->opaque = ffmpegdec; +- } +- +- return TRUE; ++ avcodec_free_context (&ffmpegdec->context); + } + + static gboolean + gst_ffmpegauddec_start (GstAudioDecoder * decoder) + { + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; +- GstFFMpegAudDecClass *oclass; +- +- oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_OBJECT_LOCK (ffmpegdec); ++ ffmpegdec->frame = av_frame_alloc (); + avcodec_free_context (&ffmpegdec->context); +- ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegdec->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); +- GST_OBJECT_UNLOCK (ffmpegdec); +- return FALSE; +- } +- ffmpegdec->context->opaque = ffmpegdec; +- +- /* FIXME: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474 */ +- if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) != 0 +- && (oclass->in_plugin->id == AV_CODEC_ID_WMAV1 +- || oclass->in_plugin->id == AV_CODEC_ID_WMAV2)) { +- ffmpegdec->context->flags2 |= AV_CODEC_FLAG2_SKIP_MANUAL; +- } +- + GST_OBJECT_UNLOCK (ffmpegdec); + + return TRUE; + } + + static gboolean + gst_ffmpegauddec_stop (GstAudioDecoder * decoder) + { + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + + GST_OBJECT_LOCK (ffmpegdec); +- gst_ffmpegauddec_close (ffmpegdec, FALSE); ++ av_frame_free (&ffmpegdec->frame); + g_free (ffmpegdec->padded); ++ gst_ffmpegauddec_close (ffmpegdec); + ffmpegdec->padded = NULL; + ffmpegdec->padded_size = 0; + GST_OBJECT_UNLOCK (ffmpegdec); + gst_audio_info_init (&ffmpegdec->info); + gst_caps_replace (&ffmpegdec->last_caps, NULL); + + return TRUE; + } + + /* with LOCK */ + static gboolean + gst_ffmpegauddec_open (GstFFMpegAudDec * ffmpegdec) + { + GstFFMpegAudDecClass *oclass; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0) + goto could_not_open; + +- ffmpegdec->opened = TRUE; +- + GST_LOG_OBJECT (ffmpegdec, "Opened libav codec %s, id %d", + oclass->in_plugin->name, oclass->in_plugin->id); + + gst_audio_info_init (&ffmpegdec->info); + + return TRUE; + + /* ERRORS */ + could_not_open: + { +- gst_ffmpegauddec_close (ffmpegdec, TRUE); ++ gst_ffmpegauddec_close (ffmpegdec); + GST_DEBUG_OBJECT (ffmpegdec, "avdec_%s: Failed to open libav codec", + oclass->in_plugin->name); + return FALSE; +@@ -321,14 +274,26 @@ gst_ffmpegauddec_set_format (GstAudioDecoder * decoder, GstCaps * caps) + gst_caps_replace (&ffmpegdec->last_caps, caps); + + /* close old session */ +- if (ffmpegdec->opened) { ++ if (ffmpegdec->context) { + GST_OBJECT_UNLOCK (ffmpegdec); + gst_ffmpegauddec_drain (ffmpegdec, FALSE); + GST_OBJECT_LOCK (ffmpegdec); +- if (!gst_ffmpegauddec_close (ffmpegdec, TRUE)) { +- GST_OBJECT_UNLOCK (ffmpegdec); +- return FALSE; +- } ++ gst_ffmpegauddec_close (ffmpegdec); ++ } ++ ++ ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); ++ if (ffmpegdec->context == NULL) { ++ GST_DEBUG_OBJECT (ffmpegdec, "Failed to allocate context"); ++ GST_OBJECT_UNLOCK (ffmpegdec); ++ return FALSE; ++ } ++ ffmpegdec->context->opaque = ffmpegdec; ++ ++ /* FIXME: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474 */ ++ if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) != 0 ++ && (oclass->in_plugin->id == AV_CODEC_ID_WMAV1 ++ || oclass->in_plugin->id == AV_CODEC_ID_WMAV2)) { ++ ffmpegdec->context->flags2 |= AV_CODEC_FLAG2_SKIP_MANUAL; + } + + /* get size and so */ +@@ -586,7 +551,7 @@ gst_ffmpegauddec_frame (GstFFMpegAudDec * ffmpegdec, GstFlowReturn * ret, + GstBuffer *outbuf = NULL; + gboolean got_frame = FALSE; + +- if (G_UNLIKELY (ffmpegdec->context->codec == NULL)) ++ if (G_UNLIKELY (!ffmpegdec->context)) + goto no_codec; + + *ret = GST_FLOW_OK; +@@ -630,6 +595,9 @@ gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec, gboolean force) + gboolean need_more_data = FALSE; + gboolean got_frame; + ++ if (!ffmpegdec->context) ++ return GST_FLOW_OK; ++ + if (avcodec_send_packet (ffmpegdec->context, NULL)) + goto send_packet_failed; + +@@ -672,32 +640,32 @@ gst_ffmpegauddec_flush (GstAudioDecoder * decoder, gboolean hard) + { + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + +- if (ffmpegdec->opened) { ++ if (ffmpegdec->context) { + avcodec_flush_buffers (ffmpegdec->context); + } + } + + static GstFlowReturn + gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) + { + GstFFMpegAudDec *ffmpegdec; + GstFFMpegAudDecClass *oclass; + guint8 *data; + GstMapInfo map; + gint size; + gboolean got_any_frames = FALSE; + gboolean got_frame; + GstFlowReturn ret = GST_FLOW_OK; + gboolean is_header; + AVPacket packet; + GstAudioClippingMeta *clipping_meta = NULL; + guint32 num_clipped_samples = 0; + gboolean fully_clipped = FALSE; + gboolean need_more_data = FALSE; + + ffmpegdec = (GstFFMpegAudDec *) decoder; + +- if (G_UNLIKELY (!ffmpegdec->opened)) ++ if (G_UNLIKELY (!ffmpegdec->context)) + goto not_negotiated; + + if (inbuf == NULL) { +diff --git a/subprojects/gst-libav/ext/libav/gstavauddec.h b/subprojects/gst-libav/ext/libav/gstavauddec.h +index d91de0d2b29e..93466ad99fb4 100644 +--- a/subprojects/gst-libav/ext/libav/gstavauddec.h ++++ b/subprojects/gst-libav/ext/libav/gstavauddec.h +@@ -34,7 +34,6 @@ struct _GstFFMpegAudDec + + /* decoding */ + AVCodecContext *context; +- gboolean opened; + + AVFrame *frame; + +diff --git a/subprojects/gst-libav/ext/libav/gstavaudenc.c b/subprojects/gst-libav/ext/libav/gstavaudenc.c +index 57f41fe617d0..6ff966d32cee 100644 +--- a/subprojects/gst-libav/ext/libav/gstavaudenc.c ++++ b/subprojects/gst-libav/ext/libav/gstavaudenc.c +@@ -161,92 +161,80 @@ gst_ffmpegaudenc_init (GstFFMpegAudEnc * ffmpegaudenc) + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (ffmpegaudenc)); + + /* ffmpeg objects */ +- ffmpegaudenc->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegaudenc->refcontext = avcodec_alloc_context3 (klass->in_plugin); +- ffmpegaudenc->opened = FALSE; +- ffmpegaudenc->frame = av_frame_alloc (); + + gst_audio_encoder_set_drainable (GST_AUDIO_ENCODER (ffmpegaudenc), TRUE); + } + + static void + gst_ffmpegaudenc_finalize (GObject * object) + { + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) object; + + /* clean up remaining allocated data */ + av_frame_free (&ffmpegaudenc->frame); + avcodec_free_context (&ffmpegaudenc->context); + avcodec_free_context (&ffmpegaudenc->refcontext); + + G_OBJECT_CLASS (parent_class)->finalize (object); + } + + static gboolean + gst_ffmpegaudenc_start (GstAudioEncoder * encoder) + { + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; +- GstFFMpegAudEncClass *oclass = +- (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); +- +- ffmpegaudenc->opened = FALSE; +- ffmpegaudenc->need_reopen = FALSE; + + avcodec_free_context (&ffmpegaudenc->context); +- ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegaudenc->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); +- return FALSE; +- } ++ av_frame_free (&ffmpegaudenc->frame); ++ ffmpegaudenc->need_reopen = FALSE; ++ ++ ffmpegaudenc->frame = av_frame_alloc (); + + return TRUE; + } + + static gboolean + gst_ffmpegaudenc_stop (GstAudioEncoder * encoder) + { + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + + /* close old session */ +- gst_ffmpeg_avcodec_close (ffmpegaudenc->context); +- ffmpegaudenc->opened = FALSE; ++ avcodec_free_context (&ffmpegaudenc->context); ++ av_frame_free (&ffmpegaudenc->frame); + ffmpegaudenc->need_reopen = FALSE; + + return TRUE; + } + + static void + gst_ffmpegaudenc_flush (GstAudioEncoder * encoder) + { + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + +- if (ffmpegaudenc->opened) { ++ if (ffmpegaudenc->context) { + avcodec_flush_buffers (ffmpegaudenc->context); + } + } + + static gboolean + gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) + { + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + GstCaps *other_caps; + GstCaps *allowed_caps; + GstCaps *icaps; + gsize frame_size; + GstFFMpegAudEncClass *oclass = + (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); + + ffmpegaudenc->need_reopen = FALSE; + + /* close old session */ +- if (ffmpegaudenc->opened) { +- avcodec_free_context (&ffmpegaudenc->context); +- ffmpegaudenc->opened = FALSE; +- ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegaudenc->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); +- return FALSE; +- } ++ avcodec_free_context (&ffmpegaudenc->context); ++ ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); ++ if (ffmpegaudenc->context == NULL) { ++ GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); ++ return FALSE; + } + + gst_ffmpeg_cfg_fill_context (G_OBJECT (ffmpegaudenc), ffmpegaudenc->context); +@@ -298,56 +286,48 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) + /* open codec */ + if (gst_ffmpeg_avcodec_open (ffmpegaudenc->context, oclass->in_plugin) < 0) { + gst_caps_unref (allowed_caps); +- avcodec_free_context (&ffmpegaudenc->context); + GST_DEBUG_OBJECT (ffmpegaudenc, "avenc_%s: Failed to open FFMPEG codec", + oclass->in_plugin->name); +- ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegaudenc->context == NULL) +- GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + + if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && + ffmpegaudenc->context->strict_std_compliance != + FF_COMPLIANCE_EXPERIMENTAL) { + GST_ELEMENT_ERROR (ffmpegaudenc, LIBRARY, SETTINGS, + ("Codec is experimental, but settings don't allow encoders to " + "produce output of experimental quality"), + ("This codec may not create output that is conformant to the specs " + "or of good quality. If you must use it anyway, set the " + "compliance property to experimental")); + } ++ avcodec_free_context (&ffmpegaudenc->context); + return FALSE; + } + + /* try to set this caps on the other side */ + other_caps = gst_ffmpeg_codecid_to_caps (oclass->in_plugin->id, + ffmpegaudenc->context, TRUE); + + if (!other_caps) { + gst_caps_unref (allowed_caps); + avcodec_free_context (&ffmpegaudenc->context); + GST_DEBUG ("Unsupported codec - no caps found"); +- ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegaudenc->context == NULL) +- GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + + icaps = gst_caps_intersect (allowed_caps, other_caps); + gst_caps_unref (allowed_caps); + gst_caps_unref (other_caps); + if (gst_caps_is_empty (icaps)) { + gst_caps_unref (icaps); ++ avcodec_free_context (&ffmpegaudenc->context); + return FALSE; + } + icaps = gst_caps_fixate (icaps); + + if (!gst_audio_encoder_set_output_format (GST_AUDIO_ENCODER (ffmpegaudenc), + icaps)) { + avcodec_free_context (&ffmpegaudenc->context); + gst_caps_unref (icaps); +- ffmpegaudenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegaudenc->context == NULL) +- GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + gst_caps_unref (icaps); +@@ -385,17 +365,14 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) + } + + /* success! */ +- ffmpegaudenc->opened = TRUE; +- ffmpegaudenc->need_reopen = FALSE; + + return TRUE; + } + + static void + gst_ffmpegaudenc_free_avpacket (gpointer pkt) + { +- av_packet_unref ((AVPacket *) pkt); +- g_free (pkt); ++ av_packet_free ((AVPacket **) & pkt); + } + + typedef struct +@@ -596,8 +573,7 @@ gst_ffmpegaudenc_receive_packet (GstFFMpegAudEnc * ffmpegaudenc, + + ctx = ffmpegaudenc->context; + +- pkt = g_new0 (AVPacket, 1); +- ++ pkt = av_packet_alloc (); + res = avcodec_receive_packet (ctx, pkt); + + if (res == 0) { +@@ -636,20 +612,23 @@ gst_ffmpegaudenc_receive_packet (GstFFMpegAudEnc * ffmpegaudenc, + *got_packet = TRUE; + } else { + GST_LOG_OBJECT (ffmpegaudenc, "no output produced"); +- g_free (pkt); ++ av_packet_free (&pkt); + ret = GST_FLOW_OK; + *got_packet = FALSE; + } + + return ret; + } + + static GstFlowReturn + gst_ffmpegaudenc_drain (GstFFMpegAudEnc * ffmpegaudenc) + { + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_packet; + ++ if (!ffmpegaudenc->context) ++ return GST_FLOW_OK; ++ + ret = gst_ffmpegaudenc_send_frame (ffmpegaudenc, NULL); + + if (ret == GST_FLOW_OK) { +@@ -683,7 +662,7 @@ gst_ffmpegaudenc_handle_frame (GstAudioEncoder * encoder, GstBuffer * inbuf) + + ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + +- if (G_UNLIKELY (!ffmpegaudenc->opened)) ++ if (G_UNLIKELY (!ffmpegaudenc->context)) + goto not_negotiated; + + if (!inbuf) +@@ -752,7 +731,7 @@ gst_ffmpegaudenc_set_property (GObject * object, + + ffmpegaudenc = (GstFFMpegAudEnc *) (object); + +- if (ffmpegaudenc->opened) { ++ if (ffmpegaudenc->context) { + GST_WARNING_OBJECT (ffmpegaudenc, + "Can't change properties once encoder is setup !"); + return; +diff --git a/subprojects/gst-libav/ext/libav/gstavaudenc.h b/subprojects/gst-libav/ext/libav/gstavaudenc.h +index 3c94aef4e061..e21de8337d6b 100644 +--- a/subprojects/gst-libav/ext/libav/gstavaudenc.h ++++ b/subprojects/gst-libav/ext/libav/gstavaudenc.h +@@ -38,7 +38,6 @@ struct _GstFFMpegAudEnc + + AVCodecContext *context; + AVCodecContext *refcontext; +- gboolean opened; + gboolean need_reopen; + + AVFrame *frame; +diff --git a/subprojects/gst-libav/ext/libav/gstavcfg.c b/subprojects/gst-libav/ext/libav/gstavcfg.c +index bcc501c39cc8..6092b086c474 100644 +--- a/subprojects/gst-libav/ext/libav/gstavcfg.c ++++ b/subprojects/gst-libav/ext/libav/gstavcfg.c +@@ -488,10 +488,8 @@ gst_ffmpeg_cfg_install_properties (GObjectClass * klass, AVCodec * in_plugin, + install_opts ((GObjectClass *) klass, &ctx->av_class, prop_id, flags, + " (Generic codec option, might have no effect)", generic_overrides); + +- if (ctx) { +- gst_ffmpeg_avcodec_close (ctx); +- av_free (ctx); +- } ++ if (ctx) ++ avcodec_free_context (&ctx); + } + + static gint +diff --git a/subprojects/gst-libav/ext/libav/gstavcodecmap.c b/subprojects/gst-libav/ext/libav/gstavcodecmap.c +index c9c0a0fa7730..3d5c19d67d64 100644 +--- a/subprojects/gst-libav/ext/libav/gstavcodecmap.c ++++ b/subprojects/gst-libav/ext/libav/gstavcodecmap.c +@@ -3833,6 +3833,18 @@ gst_ffmpeg_formatid_to_caps (const gchar * format_name) + caps = gst_caps_from_string ("audio/x-brstm"); + } else if (!strcmp (format_name, "bfstm")) { + caps = gst_caps_from_string ("audio/x-bfstm"); ++ } else if (!strcmp (format_name, "avs")) { ++ caps = gst_caps_from_string ("video/x-avs"); ++ } else if (!strcmp (format_name, "dsf")) { ++ caps = gst_caps_from_string ("audio/x-dsf"); ++ } else if (!strcmp (format_name, "ea")) { ++ caps = gst_caps_from_string ("video/x-ea"); ++ } else if (!strcmp (format_name, "film_cpk")) { ++ caps = gst_caps_from_string ("video/x-film-cpk"); ++ } else if (!strcmp (format_name, "xwma")) { ++ caps = gst_caps_from_string ("audio/x-xwma"); ++ } else if (!strcmp (format_name, "iff")) { ++ caps = gst_caps_from_string ("application/x-iff"); + } else { + gchar *name; + +@@ -4029,6 +4041,18 @@ gst_ffmpeg_formatid_get_codecids (const gchar * format_name, + + *video_codec_list = ivf_video_list; + *audio_codec_list = ivf_audio_list; ++ } else if ((!strcmp (format_name, "film_cpk"))) { ++ static enum AVCodecID cpk_video_list[] = { ++ AV_CODEC_ID_CINEPAK, ++ AV_CODEC_ID_NONE ++ }; ++ static enum AVCodecID cpk_audio_list[] = { ++ AV_CODEC_ID_PCM_S16BE, ++ AV_CODEC_ID_NONE ++ }; ++ ++ *video_codec_list = cpk_video_list; ++ *audio_codec_list = cpk_audio_list; + } else if ((plugin->audio_codec != AV_CODEC_ID_NONE) || + (plugin->video_codec != AV_CODEC_ID_NONE)) { + tmp_vlist[0] = plugin->video_codec; +diff --git a/subprojects/gst-libav/ext/libav/gstavdeinterlace.c b/subprojects/gst-libav/ext/libav/gstavdeinterlace.c +index 2d46c5090185..49dcdffb492f 100644 +--- a/subprojects/gst-libav/ext/libav/gstavdeinterlace.c ++++ b/subprojects/gst-libav/ext/libav/gstavdeinterlace.c +@@ -225,14 +225,13 @@ gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstObject * parent, + ctx->pix_fmt = AV_PIX_FMT_NB; + gst_ffmpeg_caps_with_codectype (AVMEDIA_TYPE_VIDEO, caps, ctx); + if (ctx->pix_fmt == AV_PIX_FMT_NB) { +- gst_ffmpeg_avcodec_close (ctx); +- av_free (ctx); ++ avcodec_free_context (&ctx); + return FALSE; + } + + deinterlace->pixfmt = ctx->pix_fmt; + +- av_free (ctx); ++ avcodec_free_context (&ctx); + + deinterlace->to_size = + av_image_get_buffer_size (deinterlace->pixfmt, deinterlace->width, +diff --git a/subprojects/gst-libav/ext/libav/gstavdemux.c b/subprojects/gst-libav/ext/libav/gstavdemux.c +index ab6ac1b5c944..2c68d622f1a8 100644 +--- a/subprojects/gst-libav/ext/libav/gstavdemux.c ++++ b/subprojects/gst-libav/ext/libav/gstavdemux.c +@@ -67,7 +67,6 @@ struct _GstFFMpegDemux + guint group_id; + + AVFormatContext *context; +- gboolean opened; + + GstFFStream *streams[MAX_STREAMS]; + +@@ -273,7 +272,6 @@ gst_ffmpegdemux_init (GstFFMpegDemux * demux) + demux->have_group_id = FALSE; + demux->group_id = G_MAXUINT; + +- demux->opened = FALSE; + demux->context = NULL; + + for (n = 0; n < MAX_STREAMS; n++) { +@@ -324,7 +322,7 @@ gst_ffmpegdemux_close (GstFFMpegDemux * demux) + gint n; + GstEvent **event_p; + +- if (!demux->opened) ++ if (!demux->context) + return; + + /* remove pads from ourselves */ +@@ -353,12 +351,8 @@ gst_ffmpegdemux_close (GstFFMpegDemux * demux) + gst_ffmpeg_pipe_close (demux->context->pb); + demux->context->pb = NULL; + avformat_close_input (&demux->context); +- if (demux->context) +- avformat_free_context (demux->context); +- demux->context = NULL; + + GST_OBJECT_LOCK (demux); +- demux->opened = FALSE; + event_p = &demux->seek_event; + gst_event_replace (event_p, NULL); + GST_OBJECT_UNLOCK (demux); +@@ -700,7 +694,7 @@ gst_ffmpegdemux_send_event (GstElement * element, GstEvent * event) + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_SEEK: + GST_OBJECT_LOCK (demux); +- if (!demux->opened) { ++ if (!demux->context) { + GstEvent **event_p; + + GST_DEBUG_OBJECT (demux, "caching seek event"); +@@ -1309,7 +1303,6 @@ gst_ffmpegdemux_open (GstFFMpegDemux * demux) + demux->segment.duration = demux->duration; + + GST_OBJECT_LOCK (demux); +- demux->opened = TRUE; + event = demux->seek_event; + demux->seek_event = NULL; + cached_events = demux->cached_events; +@@ -1366,88 +1359,40 @@ gst_ffmpegdemux_open (GstFFMpegDemux * demux) + /* ERRORS */ + beach: + { ++ if (demux->context->pb) { ++ if (demux->seekable) ++ gst_ffmpegdata_close (demux->context->pb); ++ else ++ gst_ffmpeg_pipe_close (demux->context->pb); ++ demux->context->pb = NULL; ++ } ++ avformat_close_input (&demux->context); ++ + GST_ELEMENT_ERROR (demux, LIBRARY, FAILED, (NULL), + ("%s", gst_ffmpegdemux_averror (res))); + return FALSE; + } + } + +-#define GST_FFMPEG_TYPE_FIND_SIZE 4096 +-#define GST_FFMPEG_TYPE_FIND_MIN_SIZE 256 +- +-static void +-gst_ffmpegdemux_type_find (GstTypeFind * tf, gpointer priv) +-{ +- const guint8 *data; +- AVInputFormat *in_plugin = (AVInputFormat *) priv; +- gint res = 0; +- guint64 length; +- GstCaps *sinkcaps; +- +- /* We want GST_FFMPEG_TYPE_FIND_SIZE bytes, but if the file is shorter than +- * that we'll give it a try... */ +- length = gst_type_find_get_length (tf); +- if (length == 0 || length > GST_FFMPEG_TYPE_FIND_SIZE) +- length = GST_FFMPEG_TYPE_FIND_SIZE; +- +- /* The ffmpeg typefinders assume there's a certain minimum amount of data +- * and will happily do invalid memory access if there isn't, so let's just +- * skip the ffmpeg typefinders if the data available is too short +- * (in which case it's unlikely to be a media file anyway) */ +- if (length < GST_FFMPEG_TYPE_FIND_MIN_SIZE) { +- GST_LOG ("not typefinding %" G_GUINT64_FORMAT " bytes, too short", length); +- return; +- } +- +- GST_LOG ("typefinding %" G_GUINT64_FORMAT " bytes", length); +- if (in_plugin->read_probe && +- (data = gst_type_find_peek (tf, 0, length)) != NULL) { +- AVProbeData probe_data; +- +- probe_data.filename = ""; +- probe_data.buf = (guint8 *) data; +- probe_data.buf_size = length; +- +- res = in_plugin->read_probe (&probe_data); +- if (res > 0) { +- res = MAX (1, res * GST_TYPE_FIND_MAXIMUM / AVPROBE_SCORE_MAX); +- /* Restrict the probability for MPEG-TS streams, because there is +- * probably a better version in plugins-base, if the user has a recent +- * plugins-base (in fact we shouldn't even get here for ffmpeg mpegts or +- * mpegtsraw typefinders, since we blacklist them) */ +- if (g_str_has_prefix (in_plugin->name, "mpegts")) +- res = MIN (res, GST_TYPE_FIND_POSSIBLE); +- +- sinkcaps = gst_ffmpeg_formatid_to_caps (in_plugin->name); +- +- GST_LOG ("libav typefinder '%s' suggests %" GST_PTR_FORMAT ", p=%u%%", +- in_plugin->name, sinkcaps, res); +- +- gst_type_find_suggest (tf, res, sinkcaps); +- gst_caps_unref (sinkcaps); +- } +- } +-} +- + /* Task */ + static void + gst_ffmpegdemux_loop (GstFFMpegDemux * demux) + { + GstFlowReturn ret; + gint res = -1; + AVPacket pkt; + GstPad *srcpad; + GstFFStream *stream; + AVStream *avstream; + GstBuffer *outbuf = NULL; + GstClockTime timestamp, duration; + gint outsize; + gboolean rawvideo; + GstFlowReturn stream_last_flow; + gint64 pts; + + /* open file if we didn't so already */ +- if (!demux->opened) ++ if (!demux->context) + if (!gst_ffmpegdemux_open (demux)) + goto open_failed; + +@@ -1782,7 +1727,7 @@ gst_ffmpegdemux_sink_event (GstPad * sinkpad, GstObject * parent, + * If the demuxer isn't opened, push straight away, since we'll + * be waiting against a cond that will never be signalled. */ + if (GST_EVENT_IS_SERIALIZED (event)) { +- if (demux->opened) { ++ if (demux->context) { + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + while (!ffpipe->needed) + GST_FFMPEG_PIPE_WAIT (ffpipe); +@@ -2055,7 +2000,6 @@ gst_ffmpegdemux_register (GstPlugin * plugin) + while ((in_plugin = av_demuxer_iterate (&i))) { + gchar *type_name, *typefind_name; + gint rank; +- gboolean register_typefind_func = TRUE; + + GST_LOG ("Attempting to handle libav demuxer plugin %s [%s]", + in_plugin->name, in_plugin->long_name); +@@ -2102,42 +2046,6 @@ gst_ffmpegdemux_register (GstPlugin * plugin) + !strcmp (in_plugin->name, "ffmetadata")) + continue; + +- /* Don't use the typefind functions of formats for which we already have +- * better typefind functions */ +- if (!strcmp (in_plugin->name, "mov,mp4,m4a,3gp,3g2,mj2") || +- !strcmp (in_plugin->name, "ass") || +- !strcmp (in_plugin->name, "avi") || +- !strcmp (in_plugin->name, "asf") || +- !strcmp (in_plugin->name, "mpegvideo") || +- !strcmp (in_plugin->name, "mp3") || +- !strcmp (in_plugin->name, "matroska") || +- !strcmp (in_plugin->name, "matroska_webm") || +- !strcmp (in_plugin->name, "matroska,webm") || +- !strcmp (in_plugin->name, "mpeg") || +- !strcmp (in_plugin->name, "wav") || +- !strcmp (in_plugin->name, "au") || +- !strcmp (in_plugin->name, "tta") || +- !strcmp (in_plugin->name, "rm") || +- !strcmp (in_plugin->name, "amr") || +- !strcmp (in_plugin->name, "ogg") || +- !strcmp (in_plugin->name, "aiff") || +- !strcmp (in_plugin->name, "ape") || +- !strcmp (in_plugin->name, "dv") || +- !strcmp (in_plugin->name, "flv") || +- !strcmp (in_plugin->name, "mpc") || +- !strcmp (in_plugin->name, "mpc8") || +- !strcmp (in_plugin->name, "mpegts") || +- !strcmp (in_plugin->name, "mpegtsraw") || +- !strcmp (in_plugin->name, "mxf") || +- !strcmp (in_plugin->name, "nuv") || +- !strcmp (in_plugin->name, "swf") || +- !strcmp (in_plugin->name, "voc") || +- !strcmp (in_plugin->name, "pva") || +- !strcmp (in_plugin->name, "gif") || +- !strcmp (in_plugin->name, "vc1test") || +- !strcmp (in_plugin->name, "ivf")) +- register_typefind_func = FALSE; +- + /* Set the rank of demuxers known to work to MARGINAL. + * Set demuxers for which we already have another implementation to NONE + * Set All others to NONE*/ +@@ -2214,11 +2122,7 @@ gst_ffmpegdemux_register (GstPlugin * plugin) + else + extensions = NULL; + +- if (!gst_element_register (plugin, type_name, rank, type) || +- (register_typefind_func == TRUE && +- !gst_type_find_register (plugin, typefind_name, rank, +- gst_ffmpegdemux_type_find, extensions, NULL, +- (gpointer) in_plugin, NULL))) { ++ if (!gst_element_register (plugin, type_name, rank, type)) { + g_warning ("Registration of type %s failed", type_name); + g_free (type_name); + g_free (typefind_name); +diff --git a/subprojects/gst-libav/ext/libav/gstavmux.c b/subprojects/gst-libav/ext/libav/gstavmux.c +index 60da7f0c29e1..389a873cf717 100644 +--- a/subprojects/gst-libav/ext/libav/gstavmux.c ++++ b/subprojects/gst-libav/ext/libav/gstavmux.c +@@ -796,6 +796,7 @@ gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition) + if (ffmpegmux->opened) { + ffmpegmux->opened = FALSE; + gst_ffmpegdata_close (ffmpegmux->context->pb); ++ ffmpegmux->context->pb = NULL; + } + break; + case GST_STATE_CHANGE_READY_TO_NULL: +diff --git a/subprojects/gst-libav/ext/libav/gstavprotocol.c b/subprojects/gst-libav/ext/libav/gstavprotocol.c +index 249b24064275..cb607d301299 100644 +--- a/subprojects/gst-libav/ext/libav/gstavprotocol.c ++++ b/subprojects/gst-libav/ext/libav/gstavprotocol.c +@@ -102,7 +102,11 @@ gst_ffmpegdata_read (void *priv_data, unsigned char *buf, int size) + } + + static int ++#if LIBAVUTIL_VERSION_MAJOR >= 59 ++gst_ffmpegdata_write (void *priv_data, const uint8_t * buf, int size) ++#else + gst_ffmpegdata_write (void *priv_data, uint8_t * buf, int size) ++#endif + { + GstProtocolInfo *info; + GstBuffer *outbuf; +diff --git a/subprojects/gst-libav/ext/libav/gstavviddec.c b/subprojects/gst-libav/ext/libav/gstavviddec.c +index fe1ea51aa61b..f70da082b0fb 100644 +--- a/subprojects/gst-libav/ext/libav/gstavviddec.c ++++ b/subprojects/gst-libav/ext/libav/gstavviddec.c +@@ -337,34 +337,29 @@ gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec) + static void + gst_ffmpegviddec_subinit (GstFFMpegVidDec * ffmpegdec) + { +- GstFFMpegVidDecClass *klass = +- (GstFFMpegVidDecClass *) G_OBJECT_GET_CLASS (ffmpegdec); +- + /* some ffmpeg data */ +- ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); +- ffmpegdec->context->opaque = ffmpegdec; +- ffmpegdec->picture = av_frame_alloc (); +- ffmpegdec->opened = FALSE; + ffmpegdec->skip_frame = ffmpegdec->lowres = 0; + ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING; + ffmpegdec->max_threads = DEFAULT_MAX_THREADS; + ffmpegdec->output_corrupt = DEFAULT_OUTPUT_CORRUPT; + ffmpegdec->thread_type = DEFAULT_THREAD_TYPE; + ffmpegdec->std_compliance = DEFAULT_STD_COMPLIANCE; + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec)); + gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST + (ffmpegdec), TRUE); + + gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (ffmpegdec), TRUE); + } + + static void + gst_ffmpegviddec_finalize (GObject * object) + { + GstFFMpegVidDec *ffmpegdec = GST_FFMPEGVIDDEC (object); + + av_frame_free (&ffmpegdec->picture); ++ if (ffmpegdec->context) ++ av_freep (&ffmpegdec->context->extradata); + avcodec_free_context (&ffmpegdec->context); + + G_OBJECT_CLASS (parent_class)->finalize (object); +@@ -395,72 +390,56 @@ gst_ffmpegviddec_context_set_flags2 (AVCodecContext * context, guint flags, + } + + /* with LOCK */ +-static gboolean +-gst_ffmpegviddec_close (GstFFMpegVidDec * ffmpegdec, gboolean reset) ++static void ++gst_ffmpegviddec_close (GstFFMpegVidDec * ffmpegdec) + { +- GstFFMpegVidDecClass *oclass; + guint i; + +- oclass = GST_FFMPEGVIDDEC_GET_CLASS (ffmpegdec); +- + GST_LOG_OBJECT (ffmpegdec, "closing ffmpeg codec"); + + gst_caps_replace (&ffmpegdec->last_caps, NULL); + +- gst_ffmpeg_avcodec_close (ffmpegdec->context); +- ffmpegdec->opened = FALSE; ++ if (ffmpegdec->context) ++ av_freep (&ffmpegdec->context->extradata); ++ avcodec_free_context (&ffmpegdec->context); + + for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++) + ffmpegdec->stride[i] = -1; + + gst_buffer_replace (&ffmpegdec->palette, NULL); +- +- av_freep (&ffmpegdec->context->extradata); +- if (reset) { +- avcodec_free_context (&ffmpegdec->context); +- ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegdec->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); +- return FALSE; +- } +- ffmpegdec->context->opaque = ffmpegdec; +- } +- return TRUE; + } + + /* with LOCK */ + static gboolean + gst_ffmpegviddec_open (GstFFMpegVidDec * ffmpegdec) + { + GstFFMpegVidDecClass *oclass; + guint i; + + oclass = GST_FFMPEGVIDDEC_GET_CLASS (ffmpegdec); + + if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0) + goto could_not_open; + + for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++) + ffmpegdec->stride[i] = -1; + +- ffmpegdec->opened = TRUE; +- + GST_LOG_OBJECT (ffmpegdec, "Opened libav codec %s, id %d", + oclass->in_plugin->name, oclass->in_plugin->id); + + gst_ffmpegviddec_context_set_flags (ffmpegdec->context, + AV_CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt); + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT (60, 31, 100) + gst_ffmpegviddec_context_set_flags (ffmpegdec->context, + AV_CODEC_FLAG_COPY_OPAQUE, TRUE); + #endif + + return TRUE; + + /* ERRORS */ + could_not_open: + { +- gst_ffmpegviddec_close (ffmpegdec, TRUE); ++ gst_ffmpegviddec_close (ffmpegdec); + GST_DEBUG_OBJECT (ffmpegdec, "avdec_%s: Failed to open libav codec", + oclass->in_plugin->name); + return FALSE; +@@ -537,29 +516,34 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder, + } + + /* close old session */ +- if (ffmpegdec->opened) { ++ if (ffmpegdec->context) { + GST_OBJECT_UNLOCK (ffmpegdec); + gst_ffmpegviddec_finish (decoder); + GST_OBJECT_LOCK (ffmpegdec); +- if (!gst_ffmpegviddec_close (ffmpegdec, TRUE)) { +- GST_OBJECT_UNLOCK (ffmpegdec); +- return FALSE; +- } ++ gst_ffmpegviddec_close (ffmpegdec); + ffmpegdec->pic_pix_fmt = 0; + ffmpegdec->pic_width = 0; + ffmpegdec->pic_height = 0; + ffmpegdec->pic_par_n = 0; + ffmpegdec->pic_par_d = 0; + ffmpegdec->pic_interlaced = 0; + ffmpegdec->pic_field_order = 0; + ffmpegdec->pic_field_order_changed = FALSE; + ffmpegdec->ctx_ticks = 0; + ffmpegdec->ctx_time_n = 0; + ffmpegdec->ctx_time_d = 0; + ffmpegdec->cur_multiview_mode = GST_VIDEO_MULTIVIEW_MODE_NONE; + ffmpegdec->cur_multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE; + } + ++ ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); ++ if (ffmpegdec->context == NULL) { ++ GST_DEBUG_OBJECT (ffmpegdec, "Failed to allocate context"); ++ GST_OBJECT_UNLOCK (ffmpegdec); ++ return FALSE; ++ } ++ ffmpegdec->context->opaque = ffmpegdec; ++ + gst_caps_replace (&ffmpegdec->last_caps, state->caps); + + /* set buffer functions */ +@@ -686,7 +670,9 @@ update_state: + const gint fps_n = ffmpegdec->context->time_base.den; + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + const gint ticks_per_frame = +- (ffmpegdec->context-> ++ (GST_VIDEO_INFO_IS_INTERLACED (&ffmpegdec->input_state->info) ++ && ffmpegdec->context->codec_descriptor ++ && ffmpegdec->context-> + codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; + #else + const gint ticks_per_frame = ffmpegdec->context->ticks_per_frame; +@@ -718,12 +704,18 @@ done: + open_failed: + { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to open"); ++ if (ffmpegdec->context) ++ av_freep (&ffmpegdec->context->extradata); ++ avcodec_free_context (&ffmpegdec->context); + goto done; + } + nal_only_slice: + { + GST_ERROR_OBJECT (ffmpegdec, + "Can't do NAL aligned H.264 with frame threading."); ++ if (ffmpegdec->context) ++ av_freep (&ffmpegdec->context->extradata); ++ avcodec_free_context (&ffmpegdec->context); + goto done; + } + } +@@ -1165,8 +1157,11 @@ static gboolean + context_changed (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context) + { + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) +- const gint ticks_per_frame = (context->codec_descriptor +- && context->codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; ++ const gint ticks_per_frame = ++ (GST_VIDEO_INFO_IS_INTERLACED (&ffmpegdec->input_state->info) ++ && ffmpegdec->context->codec_descriptor ++ && ffmpegdec->context-> ++ codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; + #else + const gint ticks_per_frame = context->ticks_per_frame; + #endif +@@ -1238,8 +1233,11 @@ update_video_context (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context, + ffmpegdec->pic_field_order_changed = FALSE; + + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) +- const gint ticks_per_frame = (context->codec_descriptor +- && context->codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; ++ const gint ticks_per_frame = ++ (GST_VIDEO_INFO_IS_INTERLACED (&ffmpegdec->input_state->info) ++ && ffmpegdec->context->codec_descriptor ++ && ffmpegdec->context-> ++ codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; + #else + const gint ticks_per_frame = context->ticks_per_frame; + #endif +@@ -2119,7 +2117,7 @@ gst_ffmpegviddec_frame (GstFFMpegVidDec * ffmpegdec, GstVideoCodecFrame * frame, + { + gboolean got_frame = FALSE; + +- if (G_UNLIKELY (ffmpegdec->context->codec == NULL)) ++ if (G_UNLIKELY (!ffmpegdec->context)) + goto no_codec; + + *ret = GST_FLOW_OK; +@@ -2149,7 +2147,7 @@ gst_ffmpegviddec_drain (GstVideoDecoder * decoder) + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_frame = FALSE; + +- if (!ffmpegdec->opened) ++ if (!ffmpegdec->context) + return GST_FLOW_OK; + + GST_VIDEO_DECODER_STREAM_UNLOCK (ffmpegdec); +@@ -2195,15 +2193,22 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, + GstFlowReturn ret = GST_FLOW_OK; + AVPacket *packet; + ++ if (G_UNLIKELY (!ffmpegdec->context)) { ++ gst_video_codec_frame_unref (frame); ++ GST_ERROR_OBJECT (ffmpegdec, "no codec context"); ++ return GST_FLOW_NOT_NEGOTIATED; ++ } ++ + GST_LOG_OBJECT (ffmpegdec, + "Received new data of size %" G_GSIZE_FORMAT ", dts %" GST_TIME_FORMAT + ", pts:%" GST_TIME_FORMAT ", dur:%" GST_TIME_FORMAT, + gst_buffer_get_size (frame->input_buffer), GST_TIME_ARGS (frame->dts), + GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->duration)); + + if (!gst_buffer_map (frame->input_buffer, &minfo, GST_MAP_READ)) { + GST_ELEMENT_ERROR (ffmpegdec, STREAM, DECODE, ("Decoding problem"), + ("Failed to map buffer for reading")); ++ gst_video_codec_frame_unref (frame); + return GST_FLOW_ERROR; + } + +@@ -2312,31 +2317,26 @@ static gboolean + gst_ffmpegviddec_start (GstVideoDecoder * decoder) + { + GstFFMpegVidDec *ffmpegdec = GST_FFMPEGVIDDEC (decoder); +- GstFFMpegVidDecClass *oclass; +- +- oclass = GST_FFMPEGVIDDEC_GET_CLASS (ffmpegdec); + + GST_OBJECT_LOCK (ffmpegdec); ++ av_frame_free (&ffmpegdec->picture); ++ if (ffmpegdec->context) ++ av_freep (&ffmpegdec->context->extradata); + avcodec_free_context (&ffmpegdec->context); +- ffmpegdec->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegdec->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); +- GST_OBJECT_UNLOCK (ffmpegdec); +- return FALSE; +- } +- ffmpegdec->context->opaque = ffmpegdec; ++ ffmpegdec->picture = av_frame_alloc (); + GST_OBJECT_UNLOCK (ffmpegdec); + + return TRUE; + } + + static gboolean + gst_ffmpegviddec_stop (GstVideoDecoder * decoder) + { + GstFFMpegVidDec *ffmpegdec = GST_FFMPEGVIDDEC (decoder); + + GST_OBJECT_LOCK (ffmpegdec); +- gst_ffmpegviddec_close (ffmpegdec, FALSE); ++ av_frame_free (&ffmpegdec->picture); ++ gst_ffmpegviddec_close (ffmpegdec); + GST_OBJECT_UNLOCK (ffmpegdec); + g_free (ffmpegdec->padded); + ffmpegdec->padded = NULL; +@@ -2390,7 +2390,7 @@ gst_ffmpegviddec_flush (GstVideoDecoder * decoder) + { + GstFFMpegVidDec *ffmpegdec = GST_FFMPEGVIDDEC (decoder); + +- if (ffmpegdec->opened) { ++ if (ffmpegdec->context) { + GST_LOG_OBJECT (decoder, "flushing buffers"); + GST_VIDEO_DECODER_STREAM_UNLOCK (ffmpegdec); + avcodec_flush_buffers (ffmpegdec->context); +@@ -2579,11 +2579,10 @@ gst_ffmpegviddec_set_property (GObject * object, + + switch (prop_id) { + case PROP_LOWRES: +- ffmpegdec->lowres = ffmpegdec->context->lowres = g_value_get_enum (value); ++ ffmpegdec->lowres = g_value_get_enum (value); + break; + case PROP_SKIPFRAME: +- ffmpegdec->skip_frame = ffmpegdec->context->skip_frame = +- g_value_get_enum (value); ++ ffmpegdec->skip_frame = g_value_get_enum (value); + break; + case PROP_DIRECT_RENDERING: + ffmpegdec->direct_rendering = g_value_get_boolean (value); +diff --git a/subprojects/gst-libav/ext/libav/gstavviddec.h b/subprojects/gst-libav/ext/libav/gstavviddec.h +index 0f713de5691c..14d5a9aff352 100644 +--- a/subprojects/gst-libav/ext/libav/gstavviddec.h ++++ b/subprojects/gst-libav/ext/libav/gstavviddec.h +@@ -54,7 +54,6 @@ struct _GstFFMpegVidDec + GstVideoMultiviewMode picture_multiview_mode; + GstVideoMultiviewFlags picture_multiview_flags; + gint stride[AV_NUM_DATA_POINTERS]; +- gboolean opened; + + /* current output pictures */ + enum AVPixelFormat pic_pix_fmt; +diff --git a/subprojects/gst-libav/ext/libav/gstavvidenc.c b/subprojects/gst-libav/ext/libav/gstavvidenc.c +index 461263b4f645..90c35d216dcf 100644 +--- a/subprojects/gst-libav/ext/libav/gstavvidenc.c ++++ b/subprojects/gst-libav/ext/libav/gstavvidenc.c +@@ -208,54 +208,47 @@ gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc) + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (ffmpegenc)); + +- ffmpegenc->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegenc->refcontext = avcodec_alloc_context3 (klass->in_plugin); +- ffmpegenc->picture = av_frame_alloc (); +- ffmpegenc->opened = FALSE; + ffmpegenc->file = NULL; + } + + static void + gst_ffmpegvidenc_finalize (GObject * object) + { + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) object; + + /* clean up remaining allocated data */ + av_frame_free (&ffmpegenc->picture); +- gst_ffmpeg_avcodec_close (ffmpegenc->context); +- gst_ffmpeg_avcodec_close (ffmpegenc->refcontext); +- av_freep (&ffmpegenc->context); +- av_freep (&ffmpegenc->refcontext); ++ avcodec_free_context (&ffmpegenc->context); ++ avcodec_free_context (&ffmpegenc->refcontext); + g_free (ffmpegenc->filename); + + G_OBJECT_CLASS (parent_class)->finalize (object); + } + + static gboolean + gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, + GstVideoCodecState * state) + { + GstCaps *other_caps; + GstCaps *allowed_caps; + GstCaps *icaps; + GstVideoCodecState *output_format; + enum AVPixelFormat pix_fmt; + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + GstFFMpegVidEncClass *oclass = + (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); + + ffmpegenc->need_reopen = FALSE; + + /* close old session */ +- if (ffmpegenc->opened) { +- avcodec_free_context (&ffmpegenc->context); +- ffmpegenc->opened = FALSE; +- ffmpegenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegenc->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); +- return FALSE; +- } ++ avcodec_free_context (&ffmpegenc->context); ++ ffmpegenc->context = avcodec_alloc_context3 (oclass->in_plugin); ++ if (ffmpegenc->context == NULL) { ++ GST_DEBUG_OBJECT (ffmpegenc, "Failed to allocate context"); ++ return FALSE; + } ++ ffmpegenc->last_pts_ff = G_MININT64; + + /* additional avcodec settings */ + gst_ffmpeg_cfg_fill_context (G_OBJECT (ffmpegenc), ffmpegenc->context); +@@ -402,89 +395,87 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, + + /* success! */ + ffmpegenc->pts_offset = GST_CLOCK_TIME_NONE; +- ffmpegenc->opened = TRUE; + + return TRUE; + + /* ERRORS */ + open_file_err: + { + GST_ELEMENT_ERROR (ffmpegenc, RESOURCE, OPEN_WRITE, + (("Could not open file \"%s\" for writing."), ffmpegenc->filename), + GST_ERROR_SYSTEM); ++ avcodec_free_context (&ffmpegenc->context); + return FALSE; + } + file_read_err: + { + GST_ELEMENT_ERROR (ffmpegenc, RESOURCE, READ, + (("Could not get contents of file \"%s\"."), ffmpegenc->filename), + GST_ERROR_SYSTEM); ++ avcodec_free_context (&ffmpegenc->context); + return FALSE; + } + + insane_timebase: + { + GST_ERROR_OBJECT (ffmpegenc, "Rejecting time base %d/%d", + ffmpegenc->context->time_base.den, ffmpegenc->context->time_base.num); +- goto cleanup_stats_in; ++ goto close_codec; + } + unsupported_codec: + { + GST_DEBUG ("Unsupported codec - no caps found"); +- goto cleanup_stats_in; ++ goto close_codec; + } + open_codec_fail: + { + GST_DEBUG_OBJECT (ffmpegenc, "avenc_%s: Failed to open libav codec", + oclass->in_plugin->name); + goto close_codec; + } + + pix_fmt_err: + { + GST_DEBUG_OBJECT (ffmpegenc, + "avenc_%s: AV wants different colourspace (%d given, %d wanted)", + oclass->in_plugin->name, pix_fmt, ffmpegenc->context->pix_fmt); + goto close_codec; + } + + bad_input_fmt: + { + GST_DEBUG_OBJECT (ffmpegenc, "avenc_%s: Failed to determine input format", + oclass->in_plugin->name); + goto close_codec; + } + close_codec: + { ++ if (ffmpegenc->context) ++ g_free (ffmpegenc->context->stats_in); ++ if (ffmpegenc->file) { ++ fclose (ffmpegenc->file); ++ ffmpegenc->file = NULL; ++ } + avcodec_free_context (&ffmpegenc->context); +- ffmpegenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegenc->context == NULL) +- GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); +- goto cleanup_stats_in; +- } +-cleanup_stats_in: +- { +- g_free (ffmpegenc->context->stats_in); + return FALSE; + } + } + + + static gboolean + gst_ffmpegvidenc_propose_allocation (GstVideoEncoder * encoder, + GstQuery * query) + { + gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); + + return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder, + query); + } + + static void + gst_ffmpegvidenc_free_avpacket (gpointer pkt) + { +- av_packet_unref ((AVPacket *) pkt); +- g_free (pkt); ++ av_packet_free ((AVPacket **) & pkt); + } + + typedef struct +@@ -560,6 +551,7 @@ gst_ffmpegvidenc_send_frame (GstFFMpegVidEnc * ffmpegenc, + gint res; + GstFlowReturn ret = GST_FLOW_ERROR; + AVFrame *picture = NULL; ++ GstClockTime pts, pts_running_time; + + if (!frame) + goto send_frame; +@@ -629,26 +621,46 @@ gst_ffmpegvidenc_send_frame (GstFFMpegVidEnc * ffmpegenc, + picture->width = GST_VIDEO_FRAME_WIDTH (&buffer_info->vframe); + picture->height = GST_VIDEO_FRAME_HEIGHT (&buffer_info->vframe); + ++ // Use the running time to calculate a PTS that is passed to the encoder. ++ // This ensures that it is increasing even if there are segment changes and ++ // makes it unnecessary to drain the encoder on every segment change. ++ pts = frame->pts; ++ pts_running_time = ++ gst_segment_to_running_time (&GST_VIDEO_ENCODER ++ (ffmpegenc)->input_segment, GST_FORMAT_TIME, pts); ++ + if (ffmpegenc->pts_offset == GST_CLOCK_TIME_NONE) { +- ffmpegenc->pts_offset = frame->pts; ++ ffmpegenc->pts_offset = pts_running_time; + } + +- if (frame->pts == GST_CLOCK_TIME_NONE) { ++ if (pts_running_time == GST_CLOCK_TIME_NONE) { + picture->pts = AV_NOPTS_VALUE; +- } else if (frame->pts < ffmpegenc->pts_offset) { ++ } else if (pts_running_time < ffmpegenc->pts_offset) { + GST_ERROR_OBJECT (ffmpegenc, "PTS is going backwards"); + picture->pts = AV_NOPTS_VALUE; + } else { + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) +- const gint ticks_per_frame = (ffmpegenc->context->codec_descriptor ++ const gint ticks_per_frame = ++ (GST_VIDEO_INFO_IS_INTERLACED (&ffmpegenc->input_state->info) ++ && ffmpegenc->context->codec_descriptor + && ffmpegenc->context-> + codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; + #else + const gint ticks_per_frame = ffmpegenc->context->ticks_per_frame; + #endif + picture->pts = +- gst_ffmpeg_time_gst_to_ff ((frame->pts - ffmpegenc->pts_offset) / ++ gst_ffmpeg_time_gst_to_ff ((pts_running_time - ffmpegenc->pts_offset) / + ticks_per_frame, ffmpegenc->context->time_base); ++ ++ // Certain codecs require always increasing PTS to work correctly. This ++ // affects at least all MPEG1/2/4 based encoders. ++ if (ffmpegenc->last_pts_ff == G_MININT64 ++ || picture->pts > ffmpegenc->last_pts_ff) { ++ ffmpegenc->last_pts_ff = picture->pts; ++ } else { ++ ffmpegenc->last_pts_ff += 1; ++ picture->pts = ffmpegenc->last_pts_ff; ++ } + } + + send_frame: +@@ -692,18 +704,18 @@ gst_ffmpegvidenc_receive_packet (GstFFMpegVidEnc * ffmpegenc, + + *got_packet = FALSE; + +- pkt = g_new0 (AVPacket, 1); +- ++ pkt = av_packet_alloc (); + res = avcodec_receive_packet (ffmpegenc->context, pkt); + + if (res == AVERROR (EAGAIN)) { +- g_free (pkt); ++ av_packet_free (&pkt); + goto done; + } else if (res == AVERROR_EOF) { +- g_free (pkt); ++ av_packet_free (&pkt); + ret = GST_FLOW_EOS; + goto done; + } else if (res < 0) { ++ av_packet_free (&pkt); + ret = GST_FLOW_ERROR; + goto done; + } +@@ -743,50 +755,52 @@ gst_ffmpegvidenc_receive_packet (GstFFMpegVidEnc * ffmpegenc, + ffmpegenc->context->time_base); + + if (gst_pts_dts_diff > frame->pts) +- frame->pts = 0; ++ frame->dts = 0; + else + frame->dts = frame->pts - gst_pts_dts_diff; + } else { + frame->dts = frame->pts + + gst_ffmpeg_time_ff_to_gst (pts_dts_diff, + ffmpegenc->context->time_base); + } + } + + ret = gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (ffmpegenc), frame); + + done: + return ret; + } + + static GstFlowReturn + gst_ffmpegvidenc_handle_frame (GstVideoEncoder * encoder, + GstVideoCodecFrame * frame) + { + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + GstFlowReturn ret; + gboolean got_packet; + +- /* endoder was drained or flushed, and ffmpeg encoder doesn't support ++ /* encoder was drained or flushed, and ffmpeg encoder doesn't support + * flushing. We need to re-open encoder then */ + if (ffmpegenc->need_reopen) { + gboolean reopen_ret; + GstVideoCodecState *input_state; + + GST_DEBUG_OBJECT (ffmpegenc, "Open encoder again"); + + if (!ffmpegenc->input_state) { + GST_ERROR_OBJECT (ffmpegenc, + "Cannot re-open encoder without input state"); ++ gst_video_codec_frame_unref (frame); + return GST_FLOW_NOT_NEGOTIATED; + } + + input_state = gst_video_codec_state_ref (ffmpegenc->input_state); + reopen_ret = gst_ffmpegvidenc_set_format (encoder, input_state); + gst_video_codec_state_unref (input_state); + + if (!reopen_ret) { + GST_ERROR_OBJECT (ffmpegenc, "Couldn't re-open encoder"); ++ gst_video_codec_frame_unref (frame); + return GST_FLOW_NOT_NEGOTIATED; + } + } +@@ -831,7 +845,7 @@ gst_ffmpegvidenc_flush_buffers (GstFFMpegVidEnc * ffmpegenc, gboolean send) + GST_DEBUG_OBJECT (ffmpegenc, "flushing buffers with sending %d", send); + + /* no need to empty codec if there is none */ +- if (!ffmpegenc->opened) ++ if (!ffmpegenc->context) + goto done; + + ret = gst_ffmpegvidenc_send_frame (ffmpegenc, NULL); +@@ -867,7 +881,7 @@ gst_ffmpegvidenc_set_property (GObject * object, + + ffmpegenc = (GstFFMpegVidEnc *) (object); + +- if (ffmpegenc->opened) { ++ if (ffmpegenc->context) { + GST_WARNING_OBJECT (ffmpegenc, + "Can't change properties once decoder is setup !"); + return; +@@ -921,45 +935,50 @@ gst_ffmpegvidenc_flush (GstVideoEncoder * encoder) + { + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + +- if (ffmpegenc->opened) { ++ if (ffmpegenc->context) { + avcodec_flush_buffers (ffmpegenc->context); + ffmpegenc->pts_offset = GST_CLOCK_TIME_NONE; + } + + return TRUE; + } + + static gboolean + gst_ffmpegvidenc_start (GstVideoEncoder * encoder) + { + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; +- GstFFMpegVidEncClass *oclass = +- (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); +- +- ffmpegenc->opened = FALSE; +- ffmpegenc->need_reopen = FALSE; + + /* close old session */ +- avcodec_free_context (&ffmpegenc->context); +- ffmpegenc->context = avcodec_alloc_context3 (oclass->in_plugin); +- if (ffmpegenc->context == NULL) { +- GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); +- return FALSE; ++ if (ffmpegenc->file) { ++ fclose (ffmpegenc->file); ++ ffmpegenc->file = NULL; + } ++ if (ffmpegenc->context) ++ g_free (ffmpegenc->context->stats_in); ++ avcodec_free_context (&ffmpegenc->context); ++ av_frame_free (&ffmpegenc->picture); ++ ffmpegenc->need_reopen = FALSE; + ++ ffmpegenc->picture = av_frame_alloc (); + gst_video_encoder_set_min_pts (encoder, GST_SECOND * 60 * 60 * 1000); + + return TRUE; + } + + static gboolean + gst_ffmpegvidenc_stop (GstVideoEncoder * encoder) + { + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + + gst_ffmpegvidenc_flush_buffers (ffmpegenc, FALSE); +- gst_ffmpeg_avcodec_close (ffmpegenc->context); +- ffmpegenc->opened = FALSE; ++ if (ffmpegenc->context) ++ g_free (ffmpegenc->context->stats_in); ++ if (ffmpegenc->file) { ++ fclose (ffmpegenc->file); ++ ffmpegenc->file = NULL; ++ } ++ avcodec_free_context (&ffmpegenc->context); ++ av_frame_free (&ffmpegenc->picture); + ffmpegenc->need_reopen = FALSE; + + if (ffmpegenc->input_state) { +diff --git a/subprojects/gst-libav/ext/libav/gstavvidenc.h b/subprojects/gst-libav/ext/libav/gstavvidenc.h +index 340fb2520421..3b1f2e848825 100644 +--- a/subprojects/gst-libav/ext/libav/gstavvidenc.h ++++ b/subprojects/gst-libav/ext/libav/gstavvidenc.h +@@ -41,7 +41,7 @@ struct _GstFFMpegVidEnc + AVCodecContext *context; + AVFrame *picture; + GstClockTime pts_offset; +- gboolean opened; ++ gint64 last_pts_ff; + gboolean need_reopen; + gboolean discont; + guint pass; +diff --git a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctions.c b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctions.c +index 805cb0a301b6..a10ef26028e8 100644 +--- a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctions.c ++++ b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctions.c +@@ -5512,6 +5512,195 @@ tap_type_find (GstTypeFind * tf, gpointer unused) + } + } + ++/*** audio/x-brstm ***/ ++ ++static GstStaticCaps brstm_caps = GST_STATIC_CAPS ("audio/x-brstm"); ++ ++#define BRSTM_CAPS (gst_static_caps_get(&brstm_caps)) ++static void ++brstm_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 8); ++ ++ if (data) { ++ if (GST_READ_UINT32_LE (data) != GST_MAKE_FOURCC ('R', 'S', 'T', 'M')) ++ return; ++ if (GST_READ_UINT32_LE (data + 4) != 0xfffe ++ && GST_READ_UINT32_LE (data + 4) != 0xfeff) ++ return; ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, BRSTM_CAPS); ++ } ++} ++ ++/*** audio/x-bfstm ***/ ++ ++static GstStaticCaps bfstm_caps = GST_STATIC_CAPS ("audio/x-bfstm"); ++ ++#define BFSTM_CAPS (gst_static_caps_get(&bfstm_caps)) ++static void ++bfstm_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 8); ++ ++ if (data) { ++ if (GST_READ_UINT32_LE (data) != GST_MAKE_FOURCC ('F', 'S', 'T', 'M') && ++ GST_READ_UINT32_LE (data) != GST_MAKE_FOURCC ('C', 'S', 'T', 'M')) ++ return; ++ if (GST_READ_UINT32_LE (data + 4) != 0xfffe ++ && GST_READ_UINT32_LE (data + 4) != 0xfeff) ++ return; ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, BFSTM_CAPS); ++ } ++} ++ ++/*** audio/x-dsf ***/ ++ ++static GstStaticCaps dsf_caps = GST_STATIC_CAPS ("audio/x-dsf"); ++ ++#define DSF_CAPS (gst_static_caps_get(&dsf_caps)) ++static void ++dsf_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 12); ++ ++ if (data) { ++ if (memcmp (data, "DSD ", 4) != 0) ++ return; ++ if (GST_READ_UINT64_BE (data + 4) == 28) ++ return; ++ ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, DSF_CAPS); ++ } ++} ++ ++/*** video/x-ea ***/ ++ ++static GstStaticCaps ea_caps = GST_STATIC_CAPS ("video/x-ea"); ++ ++#define EA_CAPS (gst_static_caps_get(&ea_caps)) ++static void ++ea_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 8); ++ ++ if (data) { ++ static const guint32 ea_fourccs[] = { ++ GST_MAKE_FOURCC ('I', 'S', 'N', 'h'), ++ GST_MAKE_FOURCC ('S', 'C', 'H', 'l'), ++ GST_MAKE_FOURCC ('S', 'E', 'A', 'D'), ++ GST_MAKE_FOURCC ('S', 'H', 'E', 'N'), ++ GST_MAKE_FOURCC ('k', 'V', 'G', 'T'), ++ GST_MAKE_FOURCC ('M', 'A', 'D', 'k'), ++ GST_MAKE_FOURCC ('M', 'P', 'C', 'h'), ++ GST_MAKE_FOURCC ('M', 'V', 'h', 'd'), ++ GST_MAKE_FOURCC ('M', 'V', 'I', 'h'), ++ GST_MAKE_FOURCC ('A', 'V', 'P', '6'), ++ }; ++ ++ guint32 fourcc = GST_READ_UINT32_LE (data); ++ gboolean found = FALSE; ++ ++ for (gsize i = 0; i < G_N_ELEMENTS (ea_fourccs); i++) { ++ if (fourcc == ea_fourccs[i]) { ++ found = TRUE; ++ break; ++ } ++ } ++ if (!found) ++ return; ++ ++ guint32 size = GST_READ_UINT32_LE (data + 4); ++ gboolean big_endian = size > 0x000fffff; ++ if (big_endian) ++ size = GUINT32_SWAP_LE_BE (size); ++ if (size > 0xfffff || size < 8) ++ return; ++ ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, EA_CAPS); ++ } ++} ++ ++/*** video/x-film-cpk ***/ ++ ++static GstStaticCaps film_cpk_caps = GST_STATIC_CAPS ("video/x-film-cpk"); ++ ++#define FILM_CPK_CAPS (gst_static_caps_get(&film_cpk_caps)) ++static void ++film_cpk_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 20); ++ ++ if (data) { ++ if (GST_READ_UINT32_LE (data) != GST_MAKE_FOURCC ('F', 'I', 'L', 'M')) ++ return; ++ if (GST_READ_UINT32_LE (data + 16) != GST_MAKE_FOURCC ('F', 'D', 'S', 'C')) ++ return; ++ ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, FILM_CPK_CAPS); ++ } ++} ++ ++/*** application/gxf ***/ ++ ++static GstStaticCaps gxf_caps = GST_STATIC_CAPS ("application/gxf"); ++ ++#define GXF_CAPS (gst_static_caps_get(&gxf_caps)) ++static void ++gxf_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 16); ++ ++ if (data) { ++ if (memcmp (data, "\x00\x00\x00\x00\x01\xbc", 6) != 0) ++ return; ++ if (memcmp (data + 10, "\x00\x00\x00\x00\xe1\xe2", 6) != 0) ++ return; ++ gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, GXF_CAPS); ++ } ++} ++ ++/*** application/x-iff ***/ ++ ++static GstStaticCaps iff_caps = GST_STATIC_CAPS ("application/x-iff"); ++ ++#define IFF_CAPS (gst_static_caps_get(&iff_caps)) ++static void ++iff_type_find (GstTypeFind * tf, gpointer unused) ++{ ++ const guint8 *data = gst_type_find_peek (tf, 0, 16); ++ ++ if (data) { ++ if (GST_READ_UINT32_LE (data) == GST_MAKE_FOURCC ('F', 'O', 'R', 'M') && ++ (GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('8', 'S', 'V', 'X') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('1', '6', 'S', ++ 'V') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('M', 'A', 'U', ++ 'D') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('P', 'B', 'M', ++ ' ') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('A', 'C', 'B', ++ 'M') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('D', 'E', 'E', ++ 'P') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('I', 'L', 'B', ++ 'M') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('R', 'G', 'B', ++ '8') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('A', 'N', 'I', ++ 'M') ++ || GST_READ_UINT32_LE (data + 8) == GST_MAKE_FOURCC ('R', 'G', 'B', ++ 'N'))) { ++ return gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, IFF_CAPS); ++ } ++ ++ if (GST_READ_UINT32_LE (data) == GST_MAKE_FOURCC ('F', 'R', 'M', '8') ++ && GST_READ_UINT32_LE (data + 12) == GST_MAKE_FOURCC ('D', 'S', 'D', ++ ' ')) { ++ return gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, IFF_CAPS); ++ } ++ } ++} ++ + /*** video/vivo ***/ + + static GstStaticCaps vivo_caps = GST_STATIC_CAPS ("video/vivo"); +@@ -6212,3 +6401,17 @@ GST_TYPE_FIND_REGISTER_DEFINE (aa, "audio/audible", GST_RANK_MARGINAL, + aa_type_find, "aa,aax", AA_CAPS, NULL, NULL); + GST_TYPE_FIND_REGISTER_DEFINE (tap, "audio/x-tap-tap", GST_RANK_PRIMARY, + tap_type_find, "tap", TAP_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (brstm, "audio/x-brstm", GST_RANK_SECONDARY, ++ brstm_type_find, "brstm", BRSTM_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (bfstm, "audio/x-bfstm", GST_RANK_SECONDARY, ++ bfstm_type_find, "bfstm,bcstm", BFSTM_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (dsf, "audio/x-dsf", GST_RANK_PRIMARY, ++ dsf_type_find, NULL, DSF_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (ea, "video/x-ea", GST_RANK_SECONDARY, ++ ea_type_find, NULL, EA_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (film_cpk, "video/x-film-cpk", GST_RANK_SECONDARY, ++ film_cpk_type_find, "cpk", FILM_CPK_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (gxf, "application/gxf", GST_RANK_SECONDARY, ++ gxf_type_find, NULL, GXF_CAPS, NULL, NULL); ++GST_TYPE_FIND_REGISTER_DEFINE (iff, "application/x-iff", GST_RANK_SECONDARY, ++ iff_type_find, NULL, IFF_CAPS, NULL, NULL); +diff --git a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.c b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.c +index c0e386aa2a28..998cfd4cf7fa 100644 +--- a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.c ++++ b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.c +@@ -42,15 +42,18 @@ plugin_init (GstPlugin * plugin) + /* must use strings, macros don't accept initializers */ + + /*Riff Type find register */ ++ GST_TYPE_FIND_REGISTER (fourxm, plugin); + GST_TYPE_FIND_REGISTER (avi, plugin); + GST_TYPE_FIND_REGISTER (qcp, plugin); + GST_TYPE_FIND_REGISTER (cdxa, plugin); + GST_TYPE_FIND_REGISTER (riff_mid, plugin); + GST_TYPE_FIND_REGISTER (wav, plugin); + GST_TYPE_FIND_REGISTER (webp, plugin); ++ GST_TYPE_FIND_REGISTER (xwma, plugin); + + /*'Start with' Type find register */ + GST_TYPE_FIND_REGISTER (asf, plugin); ++ GST_TYPE_FIND_REGISTER (avs, plugin); + GST_TYPE_FIND_REGISTER (vcd, plugin); + GST_TYPE_FIND_REGISTER (imelody, plugin); + GST_TYPE_FIND_REGISTER (scc, plugin); +@@ -203,6 +206,13 @@ plugin_init (GstPlugin * plugin) + GST_TYPE_FIND_REGISTER (pva, plugin); + GST_TYPE_FIND_REGISTER (aa, plugin); + GST_TYPE_FIND_REGISTER (tap, plugin); ++ GST_TYPE_FIND_REGISTER (brstm, plugin); ++ GST_TYPE_FIND_REGISTER (bfstm, plugin); ++ GST_TYPE_FIND_REGISTER (dsf, plugin); ++ GST_TYPE_FIND_REGISTER (ea, plugin); ++ GST_TYPE_FIND_REGISTER (film_cpk, plugin); ++ GST_TYPE_FIND_REGISTER (gxf, plugin); ++ GST_TYPE_FIND_REGISTER (iff, plugin); + + return TRUE; + } +diff --git a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.h b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.h +index 0dfbc700b00b..1ef0eff272a3 100644 +--- a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.h ++++ b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsplugin.h +@@ -41,9 +41,12 @@ GST_TYPE_FIND_REGISTER_DECLARE (cdxa); + GST_TYPE_FIND_REGISTER_DECLARE (riff_mid); + GST_TYPE_FIND_REGISTER_DECLARE (wav); + GST_TYPE_FIND_REGISTER_DECLARE (webp); ++GST_TYPE_FIND_REGISTER_DECLARE (fourxm); ++GST_TYPE_FIND_REGISTER_DECLARE (xwma); + + /*'Start with' type find declaration */ + GST_TYPE_FIND_REGISTER_DECLARE (asf); ++GST_TYPE_FIND_REGISTER_DECLARE (avs); + GST_TYPE_FIND_REGISTER_DECLARE (vcd); + GST_TYPE_FIND_REGISTER_DECLARE (imelody); + GST_TYPE_FIND_REGISTER_DECLARE (scc); +@@ -195,5 +198,12 @@ GST_TYPE_FIND_REGISTER_DECLARE (ssa); + GST_TYPE_FIND_REGISTER_DECLARE (pva); + GST_TYPE_FIND_REGISTER_DECLARE (aa); + GST_TYPE_FIND_REGISTER_DECLARE (tap); ++GST_TYPE_FIND_REGISTER_DECLARE (brstm); ++GST_TYPE_FIND_REGISTER_DECLARE (bfstm); ++GST_TYPE_FIND_REGISTER_DECLARE (dsf); ++GST_TYPE_FIND_REGISTER_DECLARE (ea); ++GST_TYPE_FIND_REGISTER_DECLARE (film_cpk); ++GST_TYPE_FIND_REGISTER_DECLARE (gxf); ++GST_TYPE_FIND_REGISTER_DECLARE (iff); + + #endif //__GST_TYPE_FIND_FUNCTIONS_PLUGIN_H__ +diff --git a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsriff.c b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsriff.c +index ba5521961102..98823c437000 100644 +--- a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsriff.c ++++ b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsriff.c +@@ -81,3 +81,7 @@ TYPE_FIND_REGISTER_RIFF_DEFINE (wav, "audio/x-wav", GST_RANK_PRIMARY, "wav", + "WAVE"); + TYPE_FIND_REGISTER_RIFF_DEFINE (webp, "image/webp", GST_RANK_PRIMARY, + "webp", "WEBP"); ++TYPE_FIND_REGISTER_RIFF_DEFINE (fourxm, "video/x-4xm", GST_RANK_PRIMARY, ++ NULL, "4XMV"); ++TYPE_FIND_REGISTER_RIFF_DEFINE (xwma, "audio/x-xwma", GST_RANK_PRIMARY, ++ NULL, "XWMA"); +diff --git a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsstartwith.c b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsstartwith.c +index 6109e9c9ab54..b65a6827a867 100644 +--- a/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsstartwith.c ++++ b/subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctionsstartwith.c +@@ -177,3 +177,5 @@ TYPE_FIND_REGISTER_START_WITH_DEFINE (xi, "audio/x-xi", GST_RANK_SECONDARY, + "xi", "Extended Instrument: ", 21, GST_TYPE_FIND_MAXIMUM); + TYPE_FIND_REGISTER_START_WITH_DEFINE (dmp, "audio/x-tap-dmp", + GST_RANK_SECONDARY, "dmp", "DC2N-TAP-RAW", 12, GST_TYPE_FIND_LIKELY); ++TYPE_FIND_REGISTER_START_WITH_DEFINE (avs, "video/x-avs", ++ GST_RANK_SECONDARY, NULL, "wW\x10\x00", 4, GST_TYPE_FIND_LIKELY); diff --git a/main/gstreamer/PKGBUILD b/main/gstreamer/PKGBUILD new file mode 100644 index 00000000..c68a735e --- /dev/null +++ b/main/gstreamer/PKGBUILD @@ -0,0 +1,845 @@ +# Packager = Developer +pkgbase=gstreamer +pkgname=( + gstreamer + gst-plugins-bad-libs # Split badaudio first + gst-plugins-base-libs + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugin-gtk + gst-plugin-msdk + gst-plugin-opencv + gst-plugin-qml6 + gst-plugin-qmlgl + gst-plugin-qsv + gst-plugin-va + gst-plugin-wpe + gst-plugins-ugly + gst-libav + gst-devtools-libs + gst-devtools + gst-rtsp-server + gst-editing-services + gstreamer-vaapi + gst-python + gstreamer-docs +) +pkgver=1.24.4 +pkgrel=1 +pkgdesc="Multimedia graph framework" +url="https://gstreamer.freedesktop.org/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +makedepends=( + # superproject + git meson + + # gstreamer + bash-completion gobject-introspection gtk3 libcap libelf libunwind python + python-packaging rust valgrind + + # gst-plugins-base + alsa-lib cdparanoia graphene libdrm libglvnd libgudev libjpeg libpng libtheora + libx11 libxi libxv mesa opus orc pango qt5-base qt5-tools sdl2 wayland + wayland-protocols zlib + + # gst-plugins-good + aalib cairo flac gdk-pixbuf2 jack2 lame libavc1394 libcaca libdv libiec61883 + libpulse libraw1394 libshout libsoup3 libvpx libxdamage libxtst mpg123 nasm + nettle opencore-amr qt5-declarative qt5-wayland qt5-x11extras qt6-declarative + qt6-shadertools qt6-tools qt6-wayland speex taglib twolame v4l-utils wavpack + + # gst-plugins-bad + bluez-libs bzip2 chromaprint faac faad2 fluidsynth gsm json-glib ladspa + libavtp libbs2b libdca libde265 libdvdnav libfdk-aac libfreeaptx libgme + liblc3 libldac liblrdf libltc libmicrodns libmodplug libmpcdec libnice + libopenmpt libsrtp libva libvpl libxkbcommon-x11 libxml2 lilv lv2 mjpegtools + neon openal opencv qrencode rtmpdump sbc shaderc soundtouch spandsp svt-av1 + svt-hevc vulkan-headers vulkan-icd-loader vulkan-validation-layers + webrtc-audio-processing-1 wildmidi wpewebkit zbar zvbi zxing-cpp + + # gst-plugins-ugly + a52dec libcdio libdvdread libmpeg2 x264 + + # gst-libav + ffmpeg + + # gst-editing-services + opentimelineio + + # gstreamer-vaapi + libxrandr + + # gst-python + python-gobject python-setuptools +) +checkdepends=(xorg-server-xvfb) +source=( + "git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver" + "https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc} + 0001-HACK-meson-Disable-broken-tests.patch + 0002-libav-Fix-compatibility-with-ffmpeg-7.patch +) +b2sums=('37d5e65358a9b7491c6076a814595c1da1b6d5478fc6b777e53e2966ad0eaf57802477315cbc8c4518abcdc7c908687e4397bcbd535ebff655cb96793a68d8fb' + 'e8163c2fb5206f4d100c640504d373bf0118ff90dc886168c2976429b230f4f3a154e77f46275c080f936fe3c78bc3c5018c47f21e816188dfab1df7b4c9ddce' + 'SKIP' + '11e4af4a3697ddfa1c671d2d965b3765e4dce7ea544b634e1062c8257d1e4777908ede233c0b021460f5e54931c48fe3666dde92c1a350cab194b414566a2239' + '4692623d2c7b0c6b2c81772abc11a385fad53b00476600e859b980f1c2925f43ffd71b4b8f55b0d61f3a6313530690c512f92eaa59a97b6a0aef735e1da8c8e6') + +prepare() { + cd gstreamer + + # Disable broken tests + git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch + + # Fixes for FFmpeg 7 + # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 + git apply -3 ../0002-libav-Fix-compatibility-with-ffmpeg-7.patch +} + +build() { + local meson_options=( + # Superproject options + -D examples=disabled + -D gobject-cast-checks=disabled + -D gpl=enabled + -D gst-examples=disabled + -D libnice=disabled + -D orc-source=system + -D package-name="Arch Linux GStreamer ${epoch:+$epoch:}$pkgver-$pkgrel" + -D package-origin="https://www.archlinux.org/" + -D vaapi=enabled + + # Subproject options + -D gstreamer:dbghelp=disabled + -D gstreamer:ptp-helper-permissions=capabilities + -D gst-plugins-base:libvisual=disabled + -D gst-plugins-base:tremor=disabled + -D gst-plugins-good:rpicamsrc=disabled + -D gst-plugins-bad:aja=disabled + -D gst-plugins-bad:amfcodec=disabled + -D gst-plugins-bad:directfb=disabled + -D gst-plugins-bad:directshow=disabled + -D gst-plugins-bad:directsound=disabled + -D gst-plugins-bad:flite=disabled + -D gst-plugins-bad:gs=disabled + -D gst-plugins-bad:iqa=disabled + -D gst-plugins-bad:isac=disabled + -D gst-plugins-bad:magicleap=disabled + -D gst-plugins-bad:mfx_api=oneVPL + -D gst-plugins-bad:onnx=disabled + -D gst-plugins-bad:openh264=disabled + -D gst-plugins-bad:openni2=disabled + -D gst-plugins-bad:opensles=disabled + -D gst-plugins-bad:qt6d3d11=disabled + -D gst-plugins-bad:tinyalsa=disabled + -D gst-plugins-bad:voaacenc=disabled + -D gst-plugins-bad:voamrwbenc=disabled + -D gst-plugins-bad:wasapi2=disabled + -D gst-plugins-bad:wasapi=disabled + -D gst-plugins-bad:wic=disabled + -D gst-plugins-bad:win32ipc=disabled + -D gst-plugins-ugly:sidplay=disabled + -D gst-devtools:debug_viewer=enabled + ) + + # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3197 + export GI_SCANNER_DISABLE_CACHE=1 + + arch-meson gstreamer build "${meson_options[@]}" + meson configure build --no-pager # Print config + meson compile -C build +} + +check() ( + export XDG_RUNTIME_DIR="$PWD/runtime-dir" + mkdir -p -m 700 "$XDG_RUNTIME_DIR" + + export NO_AT_BRIDGE=1 GTK_A11Y=none + + # Flaky due to timeouts + xvfb-run -s '-nolisten local' \ + meson test -C build --print-errorlogs -t 5 +) + +_install() { + local src dir + for src in "${files[@]}"; do + dir="$pkgdir/$(dirname "$src")" + mkdir -p "$dir" + mv -v "$src" "$dir" + done +} + +package_gstreamer() { + pkgdesc+=" - core" + depends=( + glib2 libcap libelf libunwind libxml2 + ) + optdepends=('python: gst-plugins-doc-cache-generator') + install=gstreamer.install + + meson install -C build --destdir "$srcdir/root" + + cd root; local files=( + usr/include/gstreamer-1.0/gst/{base,check,controller,net,*.h} + usr/lib/libgst{reamer,base,check,controller,net}-1.0.so* + usr/lib/pkgconfig/gstreamer{,-base,-check,-controller,-net}-1.0.pc + usr/lib/girepository-1.0/Gst{,Base,Check,Controller,Net}-1.0.typelib + usr/share/gir-1.0/Gst{,Base,Check,Controller,Net}-1.0.gir + + usr/lib/gstreamer-1.0/gst-{completion,ptp}-helper + usr/lib/gstreamer-1.0/gst-{hotdoc-plugins,plugin}-scanner + usr/lib/gstreamer-1.0/gst-plugins-doc-cache-generator + usr/lib/gstreamer-1.0/libgstcoreelements.so + usr/lib/gstreamer-1.0/libgstcoretracers.so + + usr/share/locale/*/LC_MESSAGES/gstreamer-1.0.mo + + usr/bin/gst-{inspect,launch,stats,tester,typefind}-1.0 + usr/share/man/man1/gst-{inspect,launch,stats,typefind}-1.0.1 + + usr/share/bash-completion/completions/gst-{inspect,launch}-1.0 + usr/share/bash-completion/helpers/gst + + usr/share/gdb/auto-load/usr/lib/libgstreamer-1.0.so*.py + usr/share/gstreamer-1.0/gdb/glib_gobject_helper.py + usr/share/gstreamer-1.0/gdb/gst_gdb.py + + usr/share/aclocal/gst-element-check-1.0.m4 + ); _install +} + +package_gst-plugins-bad-libs() { + pkgdesc+=" - bad" + depends=( + "gst-plugins-base-libs=$pkgver" + libdrm libgudev libnice libusb libva libx11 libxkbcommon-x11 orc + vulkan-icd-loader wayland + ) + + cd root; local files=( + usr/include/gstreamer-1.0/gst/audio/{audio-bad-prelude,gstnonstreamaudiodecoder,gstplanaraudioadapter}.h + usr/include/gstreamer-1.0/gst/{analytics,basecamerabinsrc,codecparsers,cuda,insertbin,interfaces,isoff,mpegts,mse,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc} + usr/lib/libgst{adaptivedemux,analytics,badaudio,basecamerabinsrc,codecparsers,codecs,cuda,dxva,insertbin,isoff,mpegts,mse}-1.0.so* + usr/lib/libgst{photography,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc,webrtcnice}-1.0.so* + usr/lib/pkgconfig/gstreamer-{analytics,bad-audio,codecparsers,cuda,insertbin,mpegts,mse,photography,play,player,sctp,transcoder,vulkan{,-wayland,-xcb},va,wayland,webrtc{,-nice}}-1.0.pc + usr/lib/girepository-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.typelib + usr/share/gir-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.gir + + usr/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc + usr/lib/gstreamer-1.0/libgstaccurip.so + usr/lib/gstreamer-1.0/libgstadpcmdec.so + usr/lib/gstreamer-1.0/libgstadpcmenc.so + usr/lib/gstreamer-1.0/libgstaiff.so + usr/lib/gstreamer-1.0/libgstasfmux.so + usr/lib/gstreamer-1.0/libgstaudiobuffersplit.so + usr/lib/gstreamer-1.0/libgstaudiofxbad.so + usr/lib/gstreamer-1.0/libgstaudiolatency.so + usr/lib/gstreamer-1.0/libgstaudiomixmatrix.so + usr/lib/gstreamer-1.0/libgstaudiovisualizers.so + usr/lib/gstreamer-1.0/libgstautoconvert.so + usr/lib/gstreamer-1.0/libgstbayer.so + usr/lib/gstreamer-1.0/libgstbluez.so + usr/lib/gstreamer-1.0/libgstcamerabin.so + usr/lib/gstreamer-1.0/libgstcodecalpha.so + usr/lib/gstreamer-1.0/libgstcodectimestamper.so + usr/lib/gstreamer-1.0/libgstcoloreffects.so + usr/lib/gstreamer-1.0/libgstdebugutilsbad.so + usr/lib/gstreamer-1.0/libgstdecklink.so + usr/lib/gstreamer-1.0/libgstdvb.so + usr/lib/gstreamer-1.0/libgstdvbsubenc.so + usr/lib/gstreamer-1.0/libgstdvbsuboverlay.so + usr/lib/gstreamer-1.0/libgstdvdspu.so + usr/lib/gstreamer-1.0/libgstfaceoverlay.so + usr/lib/gstreamer-1.0/libgstfbdevsink.so + usr/lib/gstreamer-1.0/libgstfestival.so + usr/lib/gstreamer-1.0/libgstfieldanalysis.so + usr/lib/gstreamer-1.0/libgstfreeverb.so + usr/lib/gstreamer-1.0/libgstfrei0r.so + usr/lib/gstreamer-1.0/libgstgaudieffects.so + usr/lib/gstreamer-1.0/libgstgdp.so + usr/lib/gstreamer-1.0/libgstgeometrictransform.so + usr/lib/gstreamer-1.0/libgstid3tag.so + usr/lib/gstreamer-1.0/libgstinsertbin.so + usr/lib/gstreamer-1.0/libgstinter.so + usr/lib/gstreamer-1.0/libgstinterlace.so + usr/lib/gstreamer-1.0/libgstipcpipeline.so + usr/lib/gstreamer-1.0/libgstivfparse.so + usr/lib/gstreamer-1.0/libgstivtc.so + usr/lib/gstreamer-1.0/libgstjp2kdecimator.so + usr/lib/gstreamer-1.0/libgstjpegformat.so + usr/lib/gstreamer-1.0/libgstkms.so + usr/lib/gstreamer-1.0/libgstlegacyrawparse.so + usr/lib/gstreamer-1.0/libgstmidi.so + usr/lib/gstreamer-1.0/libgstmpegpsdemux.so + usr/lib/gstreamer-1.0/libgstmpegpsmux.so + usr/lib/gstreamer-1.0/libgstmpegtsdemux.so + usr/lib/gstreamer-1.0/libgstmpegtsmux.so + usr/lib/gstreamer-1.0/libgstmse.so + usr/lib/gstreamer-1.0/libgstmxf.so + usr/lib/gstreamer-1.0/libgstnetsim.so + usr/lib/gstreamer-1.0/libgstnvcodec.so + usr/lib/gstreamer-1.0/libgstpcapparse.so + usr/lib/gstreamer-1.0/libgstpnm.so + usr/lib/gstreamer-1.0/libgstproxy.so + usr/lib/gstreamer-1.0/libgstremovesilence.so + usr/lib/gstreamer-1.0/libgstrfbsrc.so + usr/lib/gstreamer-1.0/libgstrist.so + usr/lib/gstreamer-1.0/libgstrtmp2.so + usr/lib/gstreamer-1.0/libgstrtpmanagerbad.so + usr/lib/gstreamer-1.0/libgstrtponvif.so + usr/lib/gstreamer-1.0/libgstsdpelem.so + usr/lib/gstreamer-1.0/libgstsegmentclip.so + usr/lib/gstreamer-1.0/libgstshm.so + usr/lib/gstreamer-1.0/libgstsiren.so + usr/lib/gstreamer-1.0/libgstsmooth.so + usr/lib/gstreamer-1.0/libgstspeed.so + usr/lib/gstreamer-1.0/libgstsubenc.so + usr/lib/gstreamer-1.0/libgstswitchbin.so + usr/lib/gstreamer-1.0/libgsttranscode.so + usr/lib/gstreamer-1.0/libgstunixfd.so + usr/lib/gstreamer-1.0/libgstuvcgadget.so + usr/lib/gstreamer-1.0/libgstuvch264.so + usr/lib/gstreamer-1.0/libgstv4l2codecs.so + usr/lib/gstreamer-1.0/libgstvideofiltersbad.so + usr/lib/gstreamer-1.0/libgstvideoframe_audiolevel.so + usr/lib/gstreamer-1.0/libgstvideoparsersbad.so + usr/lib/gstreamer-1.0/libgstvideosignal.so + usr/lib/gstreamer-1.0/libgstvmnc.so + usr/lib/gstreamer-1.0/libgstvulkan.so + usr/lib/gstreamer-1.0/libgstwaylandsink.so + usr/lib/gstreamer-1.0/libgsty4mdec.so + + usr/share/gstreamer-1.0/encoding-profiles + usr/share/gstreamer-1.0/presets/GstFreeverb.prs + + usr/share/locale/*/LC_MESSAGES/gst-plugins-bad-1.0.mo + + usr/bin/gst-transcoder-1.0 + ); _install +} + +package_gst-plugins-base-libs() { + pkgdesc+=" - base" + depends=( + "gstreamer=$pkgver" + iso-codes libdrm libgl libgudev libxi libxv mesa orc wayland + ) + + cd root; local files=( + usr/include/gstreamer-1.0/gst/{allocators,app,audio,fft,gl,pbutils,riff,rtp,rtsp,sdp,tag,video} + usr/lib/libgst{allocators,app,audio,fft,gl,pbutils,riff,rtp,rtsp,sdp,tag,video}-1.0.so* + usr/lib/pkgconfig/gstreamer-{allocators,app,audio,fft,gl{,-egl,-prototypes,-wayland,-x11},pbutils,riff,rtp,rtsp,sdp,tag,video}-1.0.pc + usr/lib/girepository-1.0/Gst{Allocators,App,Audio,GL{,EGL,Wayland,X11},Pbutils,Rtp,Rtsp,Sdp,Tag,Video}-1.0.typelib + usr/share/gir-1.0/Gst{Allocators,App,Audio,GL{,EGL,Wayland,X11},Pbutils,Rtp,Rtsp,Sdp,Tag,Video}-1.0.gir + + usr/lib/pkgconfig/gstreamer-plugins-base-1.0.pc + usr/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h + usr/lib/gstreamer-1.0/libgstadder.so + usr/lib/gstreamer-1.0/libgstapp.so + usr/lib/gstreamer-1.0/libgstaudioconvert.so + usr/lib/gstreamer-1.0/libgstaudiomixer.so + usr/lib/gstreamer-1.0/libgstaudiorate.so + usr/lib/gstreamer-1.0/libgstaudioresample.so + usr/lib/gstreamer-1.0/libgstaudiotestsrc.so + usr/lib/gstreamer-1.0/libgstbasedebug.so + usr/lib/gstreamer-1.0/libgstcompositor.so + usr/lib/gstreamer-1.0/libgstdsd.so + usr/lib/gstreamer-1.0/libgstencoding.so + usr/lib/gstreamer-1.0/libgstgio.so + usr/lib/gstreamer-1.0/libgstoverlaycomposition.so + usr/lib/gstreamer-1.0/libgstpbtypes.so + usr/lib/gstreamer-1.0/libgstplayback.so + usr/lib/gstreamer-1.0/libgstrawparse.so + usr/lib/gstreamer-1.0/libgstsubparse.so + usr/lib/gstreamer-1.0/libgsttcp.so + usr/lib/gstreamer-1.0/libgsttypefindfunctions.so + usr/lib/gstreamer-1.0/libgstvideoconvertscale.so + usr/lib/gstreamer-1.0/libgstvideorate.so + usr/lib/gstreamer-1.0/libgstvideotestsrc.so + usr/lib/gstreamer-1.0/libgstvolume.so + usr/lib/gstreamer-1.0/libgstximagesink.so + usr/lib/gstreamer-1.0/libgstxvimagesink.so + + usr/share/locale/*/LC_MESSAGES/gst-plugins-base-1.0.mo + + usr/bin/gst-{device-monitor,discoverer,play}-1.0 + usr/share/man/man1/gst-{device-monitor,discoverer,play}-1.0.1 + + usr/share/gst-plugins-base + ); _install +} + +package_gst-plugins-base() { + pkgdesc+=" - base plugins" + depends=( + "gst-plugins-base-libs=$pkgver" + alsa-lib cdparanoia graphene libjpeg libpng libtheora libvorbis opus pango + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstalsa.so + usr/lib/gstreamer-1.0/libgstcdparanoia.so + usr/lib/gstreamer-1.0/libgstogg.so + usr/lib/gstreamer-1.0/libgstopengl.so + usr/lib/gstreamer-1.0/libgstopus.so + usr/lib/gstreamer-1.0/libgstpango.so + usr/lib/gstreamer-1.0/libgsttheora.so + usr/lib/gstreamer-1.0/libgstvorbis.so + ); _install +} + +package_gst-plugins-good() { + pkgdesc+=" - good plugins" + depends=( + "gst-plugins-base-libs=$pkgver" + aalib cairo flac gdk-pixbuf2 lame libavc1394 libcaca libdv libgudev + libiec61883 libpulse libraw1394 libshout libsoup3 libvpx libxdamage libxtst + mpg123 nettle opencore-amr speex taglib twolame v4l-utils wavpack + ) + optdepends=('jack: JACK backend') + + cd root; local files=( + usr/lib/gstreamer-1.0/libgst1394.so + usr/lib/gstreamer-1.0/libgstaasink.so + usr/lib/gstreamer-1.0/libgstadaptivedemux2.so + usr/lib/gstreamer-1.0/libgstalaw.so + usr/lib/gstreamer-1.0/libgstalpha.so + usr/lib/gstreamer-1.0/libgstalphacolor.so + usr/lib/gstreamer-1.0/libgstamrnb.so + usr/lib/gstreamer-1.0/libgstamrwbdec.so + usr/lib/gstreamer-1.0/libgstapetag.so + usr/lib/gstreamer-1.0/libgstaudiofx.so + usr/lib/gstreamer-1.0/libgstaudioparsers.so + usr/lib/gstreamer-1.0/libgstauparse.so + usr/lib/gstreamer-1.0/libgstautodetect.so + usr/lib/gstreamer-1.0/libgstavi.so + usr/lib/gstreamer-1.0/libgstcacasink.so + usr/lib/gstreamer-1.0/libgstcairo.so + usr/lib/gstreamer-1.0/libgstcutter.so + usr/lib/gstreamer-1.0/libgstdebug.so + usr/lib/gstreamer-1.0/libgstdeinterlace.so + usr/lib/gstreamer-1.0/libgstdtmf.so + usr/lib/gstreamer-1.0/libgstdv.so + usr/lib/gstreamer-1.0/libgsteffectv.so + usr/lib/gstreamer-1.0/libgstequalizer.so + usr/lib/gstreamer-1.0/libgstflac.so + usr/lib/gstreamer-1.0/libgstflv.so + usr/lib/gstreamer-1.0/libgstflxdec.so + usr/lib/gstreamer-1.0/libgstgdkpixbuf.so + usr/lib/gstreamer-1.0/libgstgoom.so + usr/lib/gstreamer-1.0/libgstgoom2k1.so + usr/lib/gstreamer-1.0/libgsticydemux.so + usr/lib/gstreamer-1.0/libgstid3demux.so + usr/lib/gstreamer-1.0/libgstimagefreeze.so + usr/lib/gstreamer-1.0/libgstinterleave.so + usr/lib/gstreamer-1.0/libgstisomp4.so + usr/lib/gstreamer-1.0/libgstjack.so + usr/lib/gstreamer-1.0/libgstjpeg.so + usr/lib/gstreamer-1.0/libgstlame.so + usr/lib/gstreamer-1.0/libgstlevel.so + usr/lib/gstreamer-1.0/libgstmatroska.so + usr/lib/gstreamer-1.0/libgstmonoscope.so + usr/lib/gstreamer-1.0/libgstmpg123.so + usr/lib/gstreamer-1.0/libgstmulaw.so + usr/lib/gstreamer-1.0/libgstmultifile.so + usr/lib/gstreamer-1.0/libgstmultipart.so + usr/lib/gstreamer-1.0/libgstnavigationtest.so + usr/lib/gstreamer-1.0/libgstoss4.so + usr/lib/gstreamer-1.0/libgstossaudio.so + usr/lib/gstreamer-1.0/libgstpng.so + usr/lib/gstreamer-1.0/libgstpulseaudio.so + usr/lib/gstreamer-1.0/libgstreplaygain.so + usr/lib/gstreamer-1.0/libgstrtp.so + usr/lib/gstreamer-1.0/libgstrtpmanager.so + usr/lib/gstreamer-1.0/libgstrtsp.so + usr/lib/gstreamer-1.0/libgstshapewipe.so + usr/lib/gstreamer-1.0/libgstshout2.so + usr/lib/gstreamer-1.0/libgstsmpte.so + usr/lib/gstreamer-1.0/libgstsoup.so + usr/lib/gstreamer-1.0/libgstspectrum.so + usr/lib/gstreamer-1.0/libgstspeex.so + usr/lib/gstreamer-1.0/libgsttaglib.so + usr/lib/gstreamer-1.0/libgsttwolame.so + usr/lib/gstreamer-1.0/libgstudp.so + usr/lib/gstreamer-1.0/libgstvideo4linux2.so + usr/lib/gstreamer-1.0/libgstvideobox.so + usr/lib/gstreamer-1.0/libgstvideocrop.so + usr/lib/gstreamer-1.0/libgstvideofilter.so + usr/lib/gstreamer-1.0/libgstvideomixer.so + usr/lib/gstreamer-1.0/libgstvpx.so + usr/lib/gstreamer-1.0/libgstwavenc.so + usr/lib/gstreamer-1.0/libgstwavpack.so + usr/lib/gstreamer-1.0/libgstwavparse.so + usr/lib/gstreamer-1.0/libgstximagesrc.so + usr/lib/gstreamer-1.0/libgstxingmux.so + usr/lib/gstreamer-1.0/libgsty4menc.so + + usr/share/gstreamer-1.0/presets/GstIirEqualizer{3,10}Bands.prs + usr/share/gstreamer-1.0/presets/GstQTMux.prs + usr/share/gstreamer-1.0/presets/Gst{Amrnb,VP8}Enc.prs + + usr/share/locale/*/LC_MESSAGES/gst-plugins-good-1.0.mo + ); _install +} + +package_gst-plugins-bad() { + pkgdesc+=" - bad plugins" + depends=( + "gst-plugins-bad-libs=$pkgver" + aom bzip2 chromaprint curl faac faad2 fluidsynth gsm json-glib lcms2 libass + libavtp libbs2b libdc1394 libdca libde265 libdvdnav libdvdread libfdk-aac + libfreeaptx libgme liblc3 libldac liblrdf libltc libmicrodns libmodplug + libmpcdec libopenmpt librsvg libsndfile libsrtp libwebp libxml2 lilv + mjpegtools neon nettle openal openexr openjpeg2 openssl opus pango qrencode + rtmpdump sbc soundtouch spandsp srt svt-av1 svt-hevc + webrtc-audio-processing-1 wildmidi x265 zbar zvbi zxing-cpp + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstaes.so + usr/lib/gstreamer-1.0/libgstanalyticsoverlay.so + usr/lib/gstreamer-1.0/libgstaom.so + usr/lib/gstreamer-1.0/libgstassrender.so + usr/lib/gstreamer-1.0/libgstavtp.so + usr/lib/gstreamer-1.0/libgstbs2b.so + usr/lib/gstreamer-1.0/libgstbz2.so + usr/lib/gstreamer-1.0/libgstchromaprint.so + usr/lib/gstreamer-1.0/libgstclosedcaption.so + usr/lib/gstreamer-1.0/libgstcodec2json.so + usr/lib/gstreamer-1.0/libgstcolormanagement.so + usr/lib/gstreamer-1.0/libgstcurl.so + usr/lib/gstreamer-1.0/libgstdash.so + usr/lib/gstreamer-1.0/libgstdc1394.so + usr/lib/gstreamer-1.0/libgstde265.so + usr/lib/gstreamer-1.0/libgstdtls.so + usr/lib/gstreamer-1.0/libgstdtsdec.so + usr/lib/gstreamer-1.0/libgstfaac.so + usr/lib/gstreamer-1.0/libgstfaad.so + usr/lib/gstreamer-1.0/libgstfdkaac.so + usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so + usr/lib/gstreamer-1.0/libgstgme.so + usr/lib/gstreamer-1.0/libgstgsm.so + usr/lib/gstreamer-1.0/libgsthls.so + usr/lib/gstreamer-1.0/libgstladspa.so + usr/lib/gstreamer-1.0/libgstlc3.so + usr/lib/gstreamer-1.0/libgstldac.so + usr/lib/gstreamer-1.0/libgstlv2.so + usr/lib/gstreamer-1.0/libgstmicrodns.so + usr/lib/gstreamer-1.0/libgstmodplug.so + usr/lib/gstreamer-1.0/libgstmpeg2enc.so + usr/lib/gstreamer-1.0/libgstmplex.so + usr/lib/gstreamer-1.0/libgstmusepack.so + usr/lib/gstreamer-1.0/libgstneonhttpsrc.so + usr/lib/gstreamer-1.0/libgstopenal.so + usr/lib/gstreamer-1.0/libgstopenaptx.so + usr/lib/gstreamer-1.0/libgstopenexr.so + usr/lib/gstreamer-1.0/libgstopenjpeg.so + usr/lib/gstreamer-1.0/libgstopenmpt.so + usr/lib/gstreamer-1.0/libgstopusparse.so + usr/lib/gstreamer-1.0/libgstqroverlay.so + usr/lib/gstreamer-1.0/libgstresindvd.so + usr/lib/gstreamer-1.0/libgstrsvg.so + usr/lib/gstreamer-1.0/libgstrtmp.so + usr/lib/gstreamer-1.0/libgstsbc.so + usr/lib/gstreamer-1.0/libgstsctp.so + usr/lib/gstreamer-1.0/libgstsmoothstreaming.so + usr/lib/gstreamer-1.0/libgstsndfile.so + usr/lib/gstreamer-1.0/libgstsoundtouch.so + usr/lib/gstreamer-1.0/libgstspandsp.so + usr/lib/gstreamer-1.0/libgstsrt.so + usr/lib/gstreamer-1.0/libgstsrtp.so + usr/lib/gstreamer-1.0/libgstsvtav1.so + usr/lib/gstreamer-1.0/libgstsvthevcenc.so + usr/lib/gstreamer-1.0/libgstteletext.so + usr/lib/gstreamer-1.0/libgsttimecode.so + usr/lib/gstreamer-1.0/libgstttmlsubs.so + usr/lib/gstreamer-1.0/libgstwebp.so + usr/lib/gstreamer-1.0/libgstwebrtc.so + usr/lib/gstreamer-1.0/libgstwebrtcdsp.so + usr/lib/gstreamer-1.0/libgstwildmidi.so + usr/lib/gstreamer-1.0/libgstx265.so + usr/lib/gstreamer-1.0/libgstzbar.so + usr/lib/gstreamer-1.0/libgstzxing.so + ); _install +} + +package_gst-plugin-gtk() { + pkgdesc+=" - gtk plugin" + depends=( + "gst-plugins-bad-libs=$pkgver" + gtk3 + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstgtk.so + usr/lib/gstreamer-1.0/libgstgtkwayland.so + ); _install +} + +package_gst-plugin-msdk() { + pkgdesc+=" - msdk plugin" + depends=( + "gst-plugins-bad-libs=$pkgver" + libvpl + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstmsdk.so + ); _install +} + +package_gst-plugin-opencv() { + pkgdesc+=" - opencv plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + opencv + ) + + cd root; local files=( + usr/include/gstreamer-1.0/gst/opencv + usr/lib/libgstopencv-1.0.so* + + usr/lib/gstreamer-1.0/libgstopencv.so + ); _install +} + +package_gst-plugin-qml6() { + pkgdesc+=" - qml6 plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + qt6-declarative qt6-wayland + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstqml6.so + ); _install +} + +package_gst-plugin-qmlgl() { + pkgdesc+=" - qmlgl plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + qt5-declarative qt5-wayland qt5-x11extras + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstqmlgl.so + ); _install +} + +package_gst-plugin-qsv() { + pkgdesc+=" - qsv plugin" + depends=("gst-plugins-bad-libs=$pkgver") + optdepends=( + 'intel-media-sdk: runtime for legacy Intel GPUs' + 'onevpl-intel-gpu: runtime for Tiger Lake and newer GPUs' + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstqsv.so + ); _install +} + + +package_gst-plugin-va() { + pkgdesc+=" - va plugin" + depends=("gst-plugins-bad-libs=$pkgver") + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstva.so + ); _install +} + +package_gst-plugin-wpe() { + pkgdesc+=" - wpe plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + wpewebkit + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstwpe.so + usr/lib/gst-plugins-bad/wpe-extension/libgstwpeextension.so + ); _install +} + +package_gst-plugins-ugly() { + pkgdesc+=" - ugly plugins" + depends=( + "gst-plugins-base-libs=$pkgver" + a52dec libcdio libdvdread libmpeg2 x264 + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgsta52dec.so + usr/lib/gstreamer-1.0/libgstasf.so + usr/lib/gstreamer-1.0/libgstcdio.so + usr/lib/gstreamer-1.0/libgstdvdlpcmdec.so + usr/lib/gstreamer-1.0/libgstdvdread.so + usr/lib/gstreamer-1.0/libgstdvdsub.so + usr/lib/gstreamer-1.0/libgstmpeg2dec.so + usr/lib/gstreamer-1.0/libgstrealmedia.so + usr/lib/gstreamer-1.0/libgstx264.so + + usr/share/gstreamer-1.0/presets/GstX264Enc.prs + + usr/share/locale/*/LC_MESSAGES/gst-plugins-ugly-1.0.mo + ); _install +} + +package_gst-libav() { + pkgdesc+=" - libav plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + bzip2 ffmpeg + ) + provides=("gst-ffmpeg=$pkgver") + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstlibav.so + ); _install +} + +package_gst-devtools-libs() { + pkgdesc+=" - development and debugging libraries" + depends=( + "gst-plugins-base-libs=$pkgver" + json-glib + ) + + cd root; local files=( + usr/include/gstreamer-1.0/gst/validate + usr/lib/libgstvalidate-* + usr/lib/pkgconfig/gstreamer-validate-1.0.pc + usr/lib/girepository-1.0/GstValidate-1.0.typelib + usr/share/gir-1.0/GstValidate-1.0.gir + ); _install +} + +package_gst-devtools() { + pkgdesc+=" - development and debugging tools" + depends=( + "gst-devtools-libs=$pkgver" + "gst-plugins-bad-libs=$pkgver" + "gst-rtsp-server=$pkgver" + gtk3 python-gobject + ) + + cd root; local files=( + usr/bin/gst-validate-* + usr/lib/gst-validate-launcher + usr/lib/gstreamer-1.0/libgstvalidatetracer.so + usr/lib/gstreamer-1.0/validate + usr/share/gstreamer-1.0/validate + + usr/bin/gst-debug-viewer + usr/lib/python*/site-packages/GstDebugViewer + usr/share/applications/org.freedesktop.GstDebugViewer.desktop + usr/share/gst-debug-viewer + usr/share/icons/hicolor/*/apps/gst-debug-viewer.* + usr/share/metainfo/org.freedesktop.GstDebugViewer.appdata.xml + ); _install +} + +package_gst-rtsp-server() { + pkgdesc+=" - rtsp server" + depends=("gst-plugins-base-libs=$pkgver") + + cd root; local files=( + usr/include/gstreamer-1.0/gst/rtsp-server + usr/lib/libgstrtspserver-1.0.so* + usr/lib/pkgconfig/gstreamer-rtsp-server-1.0.pc + usr/lib/girepository-1.0/GstRtspServer-1.0.typelib + usr/share/gir-1.0/GstRtspServer-1.0.gir + + usr/lib/gstreamer-1.0/libgstrtspclientsink.so + ); _install +} + +package_gst-editing-services() { + pkgdesc+=" - editing services" + depends=( + "gst-devtools-libs=$pkgver" + "gst-plugins-base-libs=$pkgver" + "gst-python=$pkgver" + ) + optdepends=( + 'opentimelineio: Support for the OpenTimelineIO format' + ) + + cd root; local files=( + usr/include/gstreamer-1.0/ges + usr/lib/libges-1.0.so* + usr/lib/pkgconfig/gst-editing-services-1.0.pc + usr/lib/girepository-1.0/GES-1.0.typelib + usr/share/gir-1.0/GES-1.0.gir + + usr/lib/gstreamer-1.0/libgstges.so + usr/lib/gstreamer-1.0/libgstnle.so + + usr/lib/python*/site-packages/gi/overrides/GES.py + usr/lib/python*/site-packages/gi/overrides/__pycache__/GES.*.pyc + + usr/bin/ges-launch-1.0 + usr/share/man/man1/ges-launch-1.0.1 + + usr/share/bash-completion/completions/ges-launch-1.0 + ); _install +} + +package_gstreamer-vaapi() { + pkgdesc+=" - vaapi plugin" + depends=( + "gst-plugins-bad-libs=$pkgver" + libxrandr + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstvaapi.so + ); _install +} + +package_gst-python() { + pkgdesc+=" - python plugin" + depends=( + "gst-plugins-base-libs=$pkgver" + python-gobject + ) + + cd root; local files=( + usr/lib/gstreamer-1.0/libgstpython.so + usr/lib/python*/site-packages/gi/overrides + ); _install +} + +package_gstreamer-docs() { + pkgdesc+=" - documentation" + license=( + 'BSD-2-Clause OR MIT OR LGPL-2.1-or-later' + CC-BY-SA-4.0 + LGPL-2.1-or-later + MIT + OPUBL-1.0 + ) + options=( + !debug + !strip + ) + + # make sure there are no files left to install + find root -depth ! -type d + find root -depth -print0 | xargs -0 rmdir + + cd gstreamer-docs-${pkgver%%+*} + + mkdir -p "$pkgdir/usr/share/doc/$pkgbase" + cp -t "$pkgdir/usr/share" -a devhelp + cp -t "$pkgdir/usr/share/doc/$pkgbase" -a html README* + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING LICENSE* +} + +# vim:set sw=2 sts=-1 et tw=80: diff --git a/main/gstreamer/README b/main/gstreamer/README new file mode 100644 index 00000000..340717c1 --- /dev/null +++ b/main/gstreamer/README @@ -0,0 +1,43 @@ +gstreamer +________________________________________________________________________________ + +Multimedia graph framework Multimedia graph framework - core Multimedia graph framework - bad Multimedia graph framework - base Multimedia graph framework - base plugins Multimedia graph framework - good plugins Multimedia graph framework - bad plugins Multimedia graph framework - gtk plugin Multimedia graph framework - msdk plugin Multimedia graph framework - opencv plugin Multimedia graph framework - qml6 plugin Multimedia graph framework - qmlgl plugin Multimedia graph framework - qsv plugin Multimedia graph framework - va plugin Multimedia graph framework - wpe plugin Multimedia graph framework - ugly plugins Multimedia graph framework - libav plugin Multimedia graph framework - rtsp server Multimedia graph framework - editing services Multimedia graph framework - vaapi plugin Multimedia graph framework - python plugin Multimedia graph framework - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gstreamer | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gstreamer.freedesktop.org/ diff --git a/main/gstreamer/gstreamer.install b/main/gstreamer/gstreamer.install new file mode 100644 index 00000000..462051f1 --- /dev/null +++ b/main/gstreamer/gstreamer.install @@ -0,0 +1,7 @@ +post_install() { + post_upgrade $1 '' +} + +post_upgrade() { + setcap cap_net_bind_service,cap_net_admin+ep usr/lib/gstreamer-1.0/gst-ptp-helper +} diff --git a/main/gstreamer/version b/main/gstreamer/version new file mode 100644 index 00000000..bbc44aa5 --- /dev/null +++ b/main/gstreamer/version @@ -0,0 +1 @@ +1.24.3 1 diff --git a/main/gtest/PKGBUILD b/main/gtest/PKGBUILD new file mode 100644 index 00000000..661a342c --- /dev/null +++ b/main/gtest/PKGBUILD @@ -0,0 +1,65 @@ +# Packager = Developer +pkgname=gtest +pkgver=1.14.0 +pkgrel=1 +pkgdesc='Google Test - C++ testing utility' +url='https://github.com/google/googletest' +arch=('x86_64') +license=('BSD') +depends=('gcc-libs' 'sh') +makedepends=('python' 'cmake' 'gcc-libs' 'sh') +optdepends=('python: gmock generator') +conflicts=('gmock') +replaces=('gmock') +provides=('gmock') +_srcname=googletest-${pkgver} +source=(${_srcname}.tar.gz::https://github.com/google/googletest/archive/v${pkgver}.tar.gz + gtest-version.patch) +sha512sums=('765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c' + '8d426a1759a9931db5f8431d83d163fd1bc986be27f85c24222d69a18224451c5a745a29f783e55c83af1882bd0bbc2504f91668c38d6622810bb65888897799') + +prepare() { + cd ${_srcname} + sed "s|__GOOGLETEST_VERSION__|${pkgver}|g" -i ../gtest-version.patch + patch -Np1 -i ../gtest-version.patch +} + +build() { + cmake -H${_srcname} -Bbuild \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -Dgtest_build_tests=ON + cmake --build build +} + +check() { + cmake --build build --target test +} + +package() { + DESTDIR="${pkgdir}" cmake --build build --target install + + # Shouldn't be present + find "${pkgdir}" -name '*.pump' -printf 'Removing %P\n' -delete + + cd ${_srcname} + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 README.md CONTRIBUTORS -t "${pkgdir}/usr/share/doc/${pkgname}" + + cd googletest + install -Dm 644 cmake/* -t "${pkgdir}/usr/src/googletest/cmake" + install -Dm 644 src/* -t "${pkgdir}/usr/src/googletest/src" + install -Dm 644 CMakeLists.txt -t "${pkgdir}/usr/src/googletest" + + cd ../googlemock + install -Dm 644 cmake/* -t "${pkgdir}/usr/src/gmock/cmake" + install -Dm 644 src/* -t "${pkgdir}/usr/src/gmock/src" + install -Dm 644 CMakeLists.txt -t "${pkgdir}/usr/src/gmock" + + sed -i 's|src/||' "${pkgdir}/usr/src/gmock/src/gmock-all.cc" + + python -m compileall -d /usr/share/gmock "${pkgdir}/usr/share/gmock" + python -O -m compileall -d /usr/share/gmock "${pkgdir}/usr/share/gmock" +} + +# vim: ts=2 sw=2 et: diff --git a/main/gtest/gtest-version.patch b/main/gtest/gtest-version.patch new file mode 100644 index 00000000..ceff7557 --- /dev/null +++ b/main/gtest/gtest-version.patch @@ -0,0 +1,22 @@ +diff --unified --recursive --text googletest-release-1.11.0.orig/googlemock/CMakeLists.txt googletest-release-1.11.0/googlemock/CMakeLists.txt +--- googletest-release-1.11.0.orig/googlemock/CMakeLists.txt 2020-11-13 14:33:36.022632459 -0500 ++++ googletest-release-1.11.0/googlemock/CMakeLists.txt 2020-11-13 14:35:01.806861990 -0500 +@@ -40,6 +40,7 @@ + # ${gmock_BINARY_DIR}. + # Language "C" is required for find_package(Threads). + cmake_minimum_required(VERSION 3.13) ++ set(GOOGLETEST_VERSION __GOOGLETEST_VERSION__) + project(gmock VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) + + if (COMMAND set_up_hermetic_build) +diff --unified --recursive --text googletest-release-1.11.0.orig/googletest/CMakeLists.txt googletest-release-1.11.0/googletest/CMakeLists.txt +--- googletest-release-1.11.0.orig/googletest/CMakeLists.txt 2020-11-13 14:33:36.039299268 -0500 ++++ googletest-release-1.11.0/googletest/CMakeLists.txt 2020-11-13 14:37:10.274915300 -0500 +@@ -46,6 +46,7 @@ + # Project version: + + cmake_minimum_required(VERSION 3.13) ++set(GOOGLETEST_VERSION __GOOGLETEST_VERSION__) + project(gtest VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C) + + if (POLICY CMP0063) # Visibility diff --git a/main/gtest/version b/main/gtest/version new file mode 100644 index 00000000..c61b0fa5 --- /dev/null +++ b/main/gtest/version @@ -0,0 +1 @@ +1.14.0 1 diff --git a/main/gtk3/.PKGINFO b/main/gtk3/.PKGINFO new file mode 100644 index 00000000..648ec1bb --- /dev/null +++ b/main/gtk3/.PKGINFO @@ -0,0 +1,65 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = gtk3 +pkgbase = gtk3 +xdata = pkgtype=split +pkgver = 1:3.24.42-1 +pkgdesc = GObject-based multi-platform GUI toolkit +url = https://www.gtk.org/ +builddate = 1715991089 +packager = Developer +size = 54651783 +arch = x86_64 +license = LGPL-2.1-or-later +replaces = gtk3-print-backends<=3.22.26-1 +conflict = gtk3-print-backends +provides = gtk3-print-backends +provides = libgailutil-3.so=0-64 +provides = libgdk-3.so=0-64 +provides = libgtk-3.so=0-64 +depend = adwaita-icon-theme +depend = atk +depend = cairo +depend = cantarell-fonts +depend = dconf +depend = desktop-file-utils +depend = fontconfig +depend = fribidi +depend = gdk-pixbuf2 +depend = glib2 +depend = glibc +depend = harfbuzz +depend = iso-codes +depend = libcloudproviders +depend = libcolord +depend = libcups +depend = libegl +depend = libepoxy +depend = libgl +depend = librsvg +depend = libx11 +depend = libxcomposite +depend = libxcursor +depend = libxdamage +depend = libxext +depend = libxfixes +depend = libxi +depend = libxinerama +depend = libxkbcommon +depend = libxrandr +depend = libxrender +depend = pango +depend = shared-mime-info +depend = tracker3 +depend = wayland +depend = gtk-update-icon-cache +optdepend = evince: Default print preview command +makedepend = at-spi2-core +makedepend = git +makedepend = glib2-docs +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = hicolor-icon-theme +makedepend = meson +makedepend = sassc +makedepend = wayland-protocols diff --git a/main/gtk3/PKGBUILD b/main/gtk3/PKGBUILD new file mode 100644 index 00000000..80043085 --- /dev/null +++ b/main/gtk3/PKGBUILD @@ -0,0 +1,156 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gtk3 +pkgname=( + gtk3 + gtk3-demos + gtk3-docs +) +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="GObject-based multi-platform GUI toolkit" +url="https://www.gtk.org/" +arch=(x86_64) +license=(LGPL-2.0-only) +depends=( + adwaita-icon-theme + atk + cairo + cantarell-fonts + dconf + desktop-file-utils + fontconfig + fribidi + gdk-pixbuf2 + glib2 + harfbuzz + iso-codes + libcloudproviders + libcolord + libcups + libegl + libepoxy + libgl + librsvg + libxcomposite + libx11 + libxcursor + libxdamage + libxext + libxfixes + libxi + libxinerama + libxkbcommon + libxrandr + libxrender + pango + shared-mime-info + tracker3 + wayland +) +makedepends=( + git + glib2-docs + gobject-introspection + gtk-doc + meson + sassc + wayland-protocols +) +_commit=77ebdd85091833a7869ece48c3114fa6d9966321 # tags/3.24.41^0 +source=( + "git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit" + gtk-query-immodules-3.0.hook +) +b2sums=('SKIP' + '8e6a3906126749c6d853f582e3802254cdbba099c6af7190ad576eff6ea5425404a72b1b36950a87e3afdac82295cfe246003172c3e0341a73bd931a36f3b407') + +pkgver() { + cd gtk + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd gtk +} + +build() { + local meson_options=( + -D broadway_backend=true + -D cloudproviders=true + -D colord=yes + -D gtk_doc=true + -D introspection=true + -D man=true + -D tracker3=true + ) + + CFLAGS+=" -DG_DISABLE_CAST_CHECKS" + arch-meson gtk build "${meson_options[@]}" + meson compile -C build +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_gtk3() { + depends+=(gtk-update-icon-cache) + optdepends=('evince: Default print preview command') + provides=( + gtk3-print-backends + libgailutil-3.so + libgdk-3.so + libgtk-3.so + ) + conflicts=(gtk3-print-backends) + replaces=("gtk3-print-backends<=3.22.26-1") + install=gtk3.install + + meson install -C build --destdir "$pkgdir" + + install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-3.0/settings.ini" < +size = 41011 +arch = x86_64 +license = LGPL-2.1-or-later +depend = bash +depend = gdk-pixbuf2 +depend = glib2 +depend = glibc +depend = hicolor-icon-theme +depend = librsvg +makedepend = docbook-xsl +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = meson +makedepend = python-docutils +makedepend = python-gobject +makedepend = sassc +makedepend = shaderc +makedepend = vulkan-headers +makedepend = wayland-protocols +checkdepend = gst-plugin-pipewire +checkdepend = gst-plugins-base +checkdepend = mutter +checkdepend = noto-fonts +checkdepend = pipewire +checkdepend = python-pydbus +checkdepend = vulkan-swrast +checkdepend = weston +checkdepend = wireplumber diff --git a/main/gtk4/0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch b/main/gtk4/0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch new file mode 100644 index 00000000..b048f3ad --- /dev/null +++ b/main/gtk4/0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sat, 18 Nov 2023 06:59:03 +0100 +Subject: [PATCH] HACK: Don't use objcopy for resource embedding + +The build attempts to use objcopy to link in the resource data, but +loses the code protection flags `IBT` and `SHSTK` in the process. + +If we don't let it do that, it generates a C string literal for the data +instead. This is a bit slower to build but doesn't mess with the flags. + +See: https://gitlab.gnome.org/GNOME/gtk/-/issues/6153 +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 0c251000afe6..048b3b1578a4 100644 +--- a/meson.build ++++ b/meson.build +@@ -770,7 +770,7 @@ if ld.found() + endif + + if not meson.is_cross_build() and build_machine.cpu_family() == 'x86_64' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and objcopy_supports_section_alignment and ld.found() and ld_is_bfd +- can_use_objcopy_for_resources = true ++ can_use_objcopy_for_resources = false + else + can_use_objcopy_for_resources = false + endif diff --git a/main/gtk4/PKGBUILD b/main/gtk4/PKGBUILD new file mode 100644 index 00000000..a705cc49 --- /dev/null +++ b/main/gtk4/PKGBUILD @@ -0,0 +1,228 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=gtk4 +pkgname=( + gtk4 + gtk4-demos + gtk4-docs + gtk-update-icon-cache +) +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="GObject-based multi-platform GUI toolkit" +url="https://www.gtk.org/" +arch=(x86_64) +license=(LGPL-2.0-only) +depends=( + adwaita-icon-theme + cairo + cantarell-fonts + dconf + desktop-file-utils + fontconfig + fribidi + gdk-pixbuf2 + glib2 + graphene + gst-plugins-bad-libs + harfbuzz + iso-codes + libcloudproviders + libcolord + libcups + libegl + libepoxy + libgl + libjpeg + libpng + librsvg + libtiff + libx11 + libxcursor + libxdamage + libxext + libxfixes + libxi + libxinerama + libxkbcommon + libxrandr + libxrender + pango + shared-mime-info + tracker3 + wayland +) +makedepends=( + docbook-xsl + gi-docgen + git + gobject-introspection + meson + python-docutils + python-gobject + sassc + shaderc + vulkan-headers + wayland-protocols +) +checkdepends=( + gst-plugin-pipewire + gst-plugins-base + mutter + noto-fonts + pipewire + python-pydbus + vulkan-swrast + weston + wireplumber +) +source=( + "git+https://gitlab.gnome.org/GNOME/gtk.git#tag=$pkgver" + gtk-update-icon-cache.{hook,script} + gtk4-querymodules.{hook,script} + 0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch +) +b2sums=('4e7ddb5200d45c99479adce9541fe088edb99e29400f6d0d6c06a0b3959767ec90252ced37f987cdf5d5ae727d88c27d20711eabf601ee68b63878ce5d56bfaa' + '136bdb410c46daf769175e8e8837286576391797a4762b8cf388217e893dd6c5087c5c91c347cbdf7d3e9dcd2c978c2fb275b5af1f3425c9f7979fbc65a81324' + '6bcd839ef82296d864587e0cc7acc0145bdea8e5235af304747cf3c0e564c2757cc67c0373dc044bec83dccfc57dc899546c2fccea96cff2bba22f09978a3814' + 'dd589bd1ad2b13f0e06f6899776a083f20a1aac24d4308d666ffd0d1cff38457b8257b8366f92e767b4233b3d86b6b54fa50339faf84c4801a824986366dce30' + '4b90eb8d582509b09aab401313d4399cc139ad21b5dd7d45d79860d0764c7494c60714e0794e09823e51d1894ac032a994f27d79d1499abf24ee6f59bdb0c243' + 'ace2f8be09d5e20c3a694e6a9a397d8d87b61516601a96d998e89f7500874e98fee380b66c44fd5c8a717d3d89f99026e42f79df18a7a32feac724044e5b7341') + +prepare() { + cd gtk + + # Allow -fcf-protection to work + # https://gitlab.gnome.org/GNOME/gtk/-/issues/6153 + git apply -3 ../0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch +} + +build() { + local meson_options=( + -D broadway-backend=true + -D cloudproviders=enabled + -D colord=enabled + -D documentation=true + -D man-pages=true + -D tracker=enabled + ) + + CFLAGS+=" -DG_DISABLE_CAST_CHECKS" + arch-meson gtk build "${meson_options[@]}" + meson compile -C build +} + +check() ( + export XDG_RUNTIME_DIR="$PWD/runtime-dir" WAYLAND_DISPLAY=wayland-5 + + mkdir -p -m 700 "$XDG_RUNTIME_DIR" + weston --backend=headless-backend.so --socket=$WAYLAND_DISPLAY --idle-time=0 & + _w=$! + + trap "kill $_w; wait" EXIT + + # Test: GTK / templates fails - ignore it for now. + sed -i "s/{ 'name': 'templates' }/#{ 'name': 'templates' }/g" gtk/testsuite/gtk/meson.build + + # Comparison tests fail, because thes depend on driver and how mesa was build + # https://gitlab.gnome.org/GNOME/gtk/-/issues/6383 + meson test -C build --print-errorlogs --no-suite=headless --timeout-multiplier=3 ||: +) + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_gtk4() { + depends+=( + bash + glibc + gst-plugins-base-libs + gstreamer + gtk-update-icon-cache + vulkan-icd-loader + ) + optdepends=('evince: Default print preview command') + provides=(libgtk-4.so) + + meson install -C build --destdir "$pkgdir" + + install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-4.0/settings.ini" < +# Maintainer: Developer + +pkgname=guile +pkgver=%version% +pkgrel=%release% +pkgdesc='Portable, embeddable Scheme implementation written in C' +url='https://www.gnu.org/software/guile/' +arch=(x86_64) +license=(GPL) +depends=(gmp ncurses libunistring gc libffi libxcrypt) +makedepends=(texinfo) +source=(https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig}) +validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5' # Ludovic Courtès + 'FF478FB264DE32EC296725A3DDC0F5358812F8F2' # Andy Wingo + '4FD4D288D445934E0A14F9A5A8803732E4436885') # Andy Wingo " +sha256sums=('18525079ad29a0d46d15c76581b5d91c8702301bfd821666d2e1d13726162811' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-static \ + --disable-error-on-warning + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/libguile-3.?.so.*-gdb.scm +} diff --git a/main/guile/README b/main/guile/README new file mode 100644 index 00000000..72898b6f --- /dev/null +++ b/main/guile/README @@ -0,0 +1,43 @@ +guile +________________________________________________________________________________ + +Portable, embeddable Scheme implementation written in C + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S guile | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/guile/ diff --git a/main/guile/version b/main/guile/version new file mode 100644 index 00000000..ea95dfce --- /dev/null +++ b/main/guile/version @@ -0,0 +1 @@ +3.0.9 1 diff --git a/main/gzip/PKGBUILD b/main/gzip/PKGBUILD new file mode 100644 index 00000000..df2c4fef --- /dev/null +++ b/main/gzip/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=gzip +pkgver=%version% +pkgrel=%release% +pkgdesc='GNU compression utility' +arch=('x86_64') +url='https://www.gnu.org/software/gzip/' +license=('GPL-3.0-or-later') +depends=('glibc' 'bash' 'coreutils' 'sed' 'grep') +optdepends=('less: zless support' + 'util-linux: zmore support' + 'diffutils: zdiff/zcmp support' + ) +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig}) +sha256sums=('7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057' + 'SKIP') +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + echo "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make prefix="$pkgdir/usr" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/gzip/README b/main/gzip/README new file mode 100644 index 00000000..39fffac9 --- /dev/null +++ b/main/gzip/README @@ -0,0 +1,43 @@ +gzip +________________________________________________________________________________ + +GNU compression utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S gzip | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/gzip/ diff --git a/main/gzip/version b/main/gzip/version new file mode 100644 index 00000000..8d1d3fcc --- /dev/null +++ b/main/gzip/version @@ -0,0 +1 @@ +1.13 2 diff --git a/main/harfbuzz/.PKGINFO b/main/harfbuzz/.PKGINFO new file mode 100644 index 00000000..7a19734a --- /dev/null +++ b/main/harfbuzz/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = harfbuzz +pkgbase = harfbuzz +xdata = pkgtype=split +pkgver = 8.5.0-1 +pkgdesc = OpenType text shaping engine +url = https://harfbuzz.github.io/ +builddate = 1716253057 +packager = Developer +size = 4255986 +arch = x86_64 +license = MIT +provides = libharfbuzz.so=0-64 +provides = libharfbuzz-subset.so=0-64 +provides = libharfbuzz-gobject.so=0-64 +depend = freetype2 +depend = glib2 +depend = glibc +depend = graphite +depend = libfreetype.so=6-64 +depend = libgraphite2.so=3-64 +depend = libglib-2.0.so=0-64 +depend = libgobject-2.0.so=0-64 +optdepend = harfbuzz-utils: utilities +makedepend = cairo +makedepend = chafa +makedepend = git +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = icu +makedepend = meson +makedepend = python +makedepend = ragel +checkdepend = python-fonttools +checkdepend = python-setuptools diff --git a/main/harfbuzz/PKGBUILD b/main/harfbuzz/PKGBUILD new file mode 100644 index 00000000..d6d76df4 --- /dev/null +++ b/main/harfbuzz/PKGBUILD @@ -0,0 +1,163 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=harfbuzz +pkgname=( + harfbuzz + harfbuzz-cairo + harfbuzz-icu + harfbuzz-utils + harfbuzz-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="OpenType text shaping engine" +url="https://www.freedesktop.org/wiki/Software/HarfBuzz" +arch=(x86_64) +license=(MIT) +makedepends=( + cairo + chafa + freetype2 + git + glib2 + gobject-introspection + graphite + gtk-doc + icu + meson + python + ragel +) +checkdepends=( + python-fonttools + python-setuptools +) +_commit=63973005bc07aba599b47fdd4cf788647b601ccd # tags/8.4.0^0 +source=("git+https://github.com/harfbuzz/harfbuzz#commit=$_commit") +b2sums=('19f25dbf2ba6d90fdbb4ecb1039c8d0d72c55cff3dc3b30d6b75b626c15bf28a2118495837d80b7f622f0929dd7d4a07b5526963e1204bb9c90bc9f976c26977') + +pkgver() { + cd harfbuzz + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd harfbuzz +} + +build() { + local meson_options=( + -D graphite2=enabled + ) + + # Harfbuzz wants no exceptions + CFLAGS="${CFLAGS/-fexceptions/}" + CXXFLAGS="${CXXFLAGS/-fexceptions/}" + + arch-meson harfbuzz build "${meson_options[@]}" + meson compile -C build +} + +check() { + mkdir -p tmp + TMPDIR="$PWD/tmp" meson test -C build --print-errorlogs + rm -r tmp +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_harfbuzz() { + depends=( + libfreetype.so + libgraphite2.so + libg{lib,object}-2.0.so + ) + optdepends=('harfbuzz-utils: utilities') + provides=(libharfbuzz{,-subset,-gobject}.so) + + meson install -C build --destdir "$pkgdir" + + ( cd "$pkgdir" + + _pick hb-cairo usr/lib/libharfbuzz-cairo* + _pick hb-cairo usr/lib/pkgconfig/harfbuzz-cairo.pc + _pick hb-cairo usr/include/harfbuzz/hb-cairo.h + + _pick hb-icu usr/lib/libharfbuzz-icu* + _pick hb-icu usr/lib/pkgconfig/harfbuzz-icu.pc + _pick hb-icu usr/include/harfbuzz/hb-icu.h + + _pick hb-utils usr/bin + + _pick hb-docs usr/share/gtk-doc + ) + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING +} + +package_harfbuzz-cairo() { + pkgdesc+=" - Cairo integration" + depends=( + libcairo.so + libharfbuzz.so + ) + provides=(libharfbuzz-cairo.so) + + mv hb-cairo/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING +} + +package_harfbuzz-icu() { + pkgdesc+=" - ICU integration" + depends=( + libharfbuzz.so + libicuuc.so + ) + provides=(libharfbuzz-icu.so) + + mv hb-icu/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING +} + +package_harfbuzz-utils() { + pkgdesc+=" - Utilities" + depends=( + harfbuzz + harfbuzz-cairo + libcairo.so + libchafa.so + libfreetype.so + libglib-2.0.so + libgobject-2.0.so + libharfbuzz-cairo.so + libharfbuzz-gobject.so + libharfbuzz-subset.so + libharfbuzz.so + ) + + mv hb-utils/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING +} + +package_harfbuzz-docs() { + pkgdesc+=" - Documentation" + depends=() + + mv hb-docs/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 harfbuzz/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/harfbuzz/README b/main/harfbuzz/README new file mode 100644 index 00000000..89c7bf6f --- /dev/null +++ b/main/harfbuzz/README @@ -0,0 +1,43 @@ +harfbuzz +________________________________________________________________________________ + +OpenType text shaping engine OpenType text shaping engine - Cairo integration OpenType text shaping engine - ICU integration OpenType text shaping engine - Utilities OpenType text shaping engine - Documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S harfbuzz | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/HarfBuzz diff --git a/main/harfbuzz/version b/main/harfbuzz/version new file mode 100644 index 00000000..06899b96 --- /dev/null +++ b/main/harfbuzz/version @@ -0,0 +1 @@ +8.5.0 1 diff --git a/main/hdparm/PKGBUILD b/main/hdparm/PKGBUILD new file mode 100644 index 00000000..b0c9ba9a --- /dev/null +++ b/main/hdparm/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=hdparm +pkgver=%version% +pkgrel=%release% +pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" +arch=(x86_64) +depends=('glibc') +source=(https://downloads.sourceforge.net/sourceforge/hdparm/${pkgname}-${pkgver}.tar.gz + pass-ldflags.patch) +license=('BSD') +url="https://sourceforge.net/projects/hdparm/" +sha512sums=('4ffc8902b90cee10d68af8ddb9f3b9454d523ecd49cdaaed254b4d7a999462a8ad5ec1bb5d7684b09fefa41b5941ab533b167dad290003b51c795a633ca88913' + '4103276304a858a9540ce173f22c5eb64cadac36b5cd38d9396d63fa721a579e16d4d0f84e3c627d0620c42815c437abf14c9657fdb1a28e8263a52a0bb26c4f') + +prepare() { + cd ${pkgname}-${pkgver} + # Enable FULL RELRO + patch -Np1 -i "$srcdir"/pass-ldflags.patch +} + +build() { + cd ${pkgname}-${pkgver} + make +} + +package() { + cd ${pkgname}-${pkgver} + # install + mkdir -p "${pkgdir}"/usr/bin + make DESTDIR="${pkgdir}" sbindir=/usr/bin install + install -m755 contrib/idectl "${pkgdir}"/usr/bin + install -m755 contrib/ultrabayd "${pkgdir}"/usr/bin + + install -D -m 0644 $srcdir/$pkgname-$pkgver/wiper/README.txt "$pkgdir"/usr/share/doc/wiper/README.txt + install -D -m 0755 $srcdir/$pkgname-$pkgver/wiper/wiper.sh "$pkgdir"/usr/bin/wiper.sh + + #install license file + install -D -m 644 LICENSE.TXT "$pkgdir"/usr/share/licenses/hdparm/LICENSE.TXT +} diff --git a/main/hdparm/README b/main/hdparm/README new file mode 100644 index 00000000..42794629 --- /dev/null +++ b/main/hdparm/README @@ -0,0 +1,43 @@ +hdparm +________________________________________________________________________________ + +A shell utility for manipulating Linux IDE drive/driver parameters + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hdparm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/hdparm/ diff --git a/main/hdparm/pass-ldflags.patch b/main/hdparm/pass-ldflags.patch new file mode 100644 index 00000000..8db77a7e --- /dev/null +++ b/main/hdparm/pass-ldflags.patch @@ -0,0 +1,11 @@ +diff -aur hdparm-9.58/Makefile hdparm-9.58.new/Makefile +--- hdparm-9.60/Makefile 2017-05-01 21:08:42.000000000 +0200 ++++ hdparm-9.60.new/Makefile 2019-09-22 19:19:03.783229803 +0200 +@@ -15,6 +15,7 @@ + + CFLAGS := -O2 -W -Wall -Wbad-function-cast -Wcast-align -Wpointer-arith -Wcast-qual -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fkeep-inline-functions -Wwrite-strings -Waggregate-return -Wnested-externs -Wtrigraphs $(CFLAGS) + ++LDFLAGS := -s ${LDFLAGS} + INSTALL = install + INSTALL_DATA = $(INSTALL) -m 644 + INSTALL_DIR = $(INSTALL) -m 755 -d diff --git a/main/hdparm/version b/main/hdparm/version new file mode 100644 index 00000000..4d6e4706 --- /dev/null +++ b/main/hdparm/version @@ -0,0 +1 @@ +9.65 1 diff --git a/main/hicolor-icon-theme/PKGBUILD b/main/hicolor-icon-theme/PKGBUILD new file mode 100644 index 00000000..d4bd0faa --- /dev/null +++ b/main/hicolor-icon-theme/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=hicolor-icon-theme +pkgver=%version% +pkgrel=%release% +pkgdesc="Freedesktop.org Hicolor icon theme" +arch=('any') +url="https://www.freedesktop.org/wiki/Software/icon-theme/" +license=('GPL2') +source=("https://icon-theme.freedesktop.org/releases/${pkgname}-${pkgver}.tar.xz") +sha256sums=('317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/main/hicolor-icon-theme/README b/main/hicolor-icon-theme/README new file mode 100644 index 00000000..9d01ba0c --- /dev/null +++ b/main/hicolor-icon-theme/README @@ -0,0 +1,43 @@ +hicolor-icon-theme +________________________________________________________________________________ + +Freedesktop.org Hicolor icon theme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hicolor-icon-theme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/icon-theme/ diff --git a/main/hicolor-icon-theme/version b/main/hicolor-icon-theme/version new file mode 100644 index 00000000..457dbc6f --- /dev/null +++ b/main/hicolor-icon-theme/version @@ -0,0 +1 @@ +0.17 3 diff --git a/main/hidapi/PKGBUILD b/main/hidapi/PKGBUILD new file mode 100644 index 00000000..3ec595c3 --- /dev/null +++ b/main/hidapi/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=hidapi +pkgver=%version% +pkgrel=%release% +pkgdesc='Simple library for communicating with USB and Bluetooth HID devices' +arch=(x86_64) +url='https://github.com/libusb/hidapi' +license=('GPL3' 'BSD' 'custom') +depends=('systemd-libs') +optdepends=('libusb: for hidapi-libusb') +makedepends=('cmake' 'libusb') +provides=('libhidapi-hidraw.so' 'libhidapi-libusb.so') +source=("https://github.com/libusb/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz") +sha512sums=('66a045144f90b41438898b82f0398e80223323ebfe6e4f197d2713696bb3ae60f36aea5a37a9999b34b12294783fd7e4c28c6e785462559cbe21276009da1eac') + +build() { + cmake -B build -S ${pkgname}-${pkgname}-${pkgver} -DCMAKE_INSTALL_PREFIX=/usr + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build + install -Dm0644 ${pkgname}-${pkgname}-${pkgver}/LICENSE*.txt -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/hidapi/README b/main/hidapi/README new file mode 100644 index 00000000..5d02c7e3 --- /dev/null +++ b/main/hidapi/README @@ -0,0 +1,43 @@ +hidapi +________________________________________________________________________________ + +Simple library for communicating with USB and Bluetooth HID devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hidapi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libusb/hidapi diff --git a/main/hidapi/version b/main/hidapi/version new file mode 100644 index 00000000..187b6328 --- /dev/null +++ b/main/hidapi/version @@ -0,0 +1 @@ +0.14.0 2 diff --git a/main/highway/PKGBUILD b/main/highway/PKGBUILD new file mode 100644 index 00000000..0a90a0db --- /dev/null +++ b/main/highway/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=highway +pkgver=%version% +pkgrel=%release% +pkgdesc='A C++ library that provides portable SIMD/vector intrinsics' +arch=('x86_64') +url='https://github.com/google/highway/' +license=('Apache-2.0' 'BSD-3-Clause') +depends=('gcc-libs') +makedepends=('cmake' 'gtest') +source=("https://github.com/google/highway/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9') + +build() { + cmake -B build -S "${pkgname}-${pkgver}" \ + -G 'Unix Makefiles' \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_SHARED_LIBS:BOOL='ON' \ + -DHWY_SYSTEM_GTEST:BOOL='ON' \ + -Wno-dev + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -D -m644 "${pkgname}-${pkgver}/LICENSE-BSD3" -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/main/highway/README b/main/highway/README new file mode 100644 index 00000000..99de4cb4 --- /dev/null +++ b/main/highway/README @@ -0,0 +1,43 @@ +highway +________________________________________________________________________________ + +A C++ library that provides portable SIMD/vector intrinsics + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S highway | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/google/highway/ diff --git a/main/highway/version b/main/highway/version new file mode 100644 index 00000000..7281bb52 --- /dev/null +++ b/main/highway/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/main/hunspell/.nvchecker.toml b/main/hunspell/.nvchecker.toml new file mode 100644 index 00000000..4b1488b9 --- /dev/null +++ b/main/hunspell/.nvchecker.toml @@ -0,0 +1,5 @@ +[hunspell] +source = "github" +github = "hunspell/hunspell" +use_max_tag = true +prefix = "v" diff --git a/main/hunspell/PKGBUILD b/main/hunspell/PKGBUILD new file mode 100644 index 00000000..54c2b1b9 --- /dev/null +++ b/main/hunspell/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=hunspell +pkgver=%version% +pkgrel=%release% +pkgdesc="Spell checker and morphological analyzer library and program" +arch=('x86_64') +url="https://github.com/hunspell/hunspell" +license=('GPL' 'LGPL' 'MPL') +depends=('gcc-libs' 'readline') +optdepends=('perl: for ispellaff2myspell') +source=(https://github.com/hunspell/hunspell/releases/download/v${pkgver}/hunspell-${pkgver}.tar.gz) +sha256sums=('11ddfa39afe28c28539fe65fc4f1592d410c1e9b6dd7d8a91ca25d85e9ec65b8') + +build() { + cd hunspell-$pkgver + ./configure --prefix=/usr \ + --disable-static \ + --with-ui \ + --with-readline + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd hunspell-$pkgver + make check +} + +package() { + cd hunspell-$pkgver + make DESTDIR="$pkgdir" install + + # add generic hunspell.so for development and projects not using pkgconfig flags - FS#30592 + pushd "$pkgdir"/usr/lib + ln -s libhunspell-?.?.so libhunspell.so + popd +} diff --git a/main/hunspell/README b/main/hunspell/README new file mode 100644 index 00000000..59059cab --- /dev/null +++ b/main/hunspell/README @@ -0,0 +1,43 @@ +hunspell +________________________________________________________________________________ + +Spell checker and morphological analyzer library and program + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hunspell | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/hunspell/hunspell diff --git a/main/hunspell/version b/main/hunspell/version new file mode 100644 index 00000000..8a5282d1 --- /dev/null +++ b/main/hunspell/version @@ -0,0 +1 @@ +1.7.2 1 diff --git a/main/hwdata/.PKGINFO b/main/hwdata/.PKGINFO new file mode 100644 index 00000000..bf672a6c --- /dev/null +++ b/main/hwdata/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = hwdata +pkgbase = hwdata +xdata = pkgtype=pkg +pkgver = 0.383-1 +pkgdesc = hardware identification databases +url = https://github.com/vcrhonek/hwdata +builddate = 1718491524 +packager = Developer +size = 9587065 +arch = any +license = GPL-2.0-or-later +replaces = hwids +makedepend = git diff --git a/main/hwdata/PKGBUILD b/main/hwdata/PKGBUILD new file mode 100644 index 00000000..c1b3b27c --- /dev/null +++ b/main/hwdata/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=hwdata +pkgver=%version% +pkgrel=%release% +pkgdesc="hardware identification databases" +makedepends=('git') +replaces=('hwids') +url=https://github.com/vcrhonek/hwdata +license=('GPL-2.0-or-later') +arch=('any') +source=("git+https://github.com/vcrhonek/hwdata.git#tag=v${pkgver}?signed") +validpgpkeys=('3C40194FB79138CE0F78FD4919C2F062574F5403') # Vitezslav Crhonek +sha256sums=('SKIP') + +build() { + cd ${pkgname} + ./configure --prefix=/usr --disable-blacklist +} + +package() { + cd ${pkgname} + make DESTDIR="${pkgdir}" install +} diff --git a/main/hwdata/README b/main/hwdata/README new file mode 100644 index 00000000..80223f8c --- /dev/null +++ b/main/hwdata/README @@ -0,0 +1,43 @@ +hwdata +________________________________________________________________________________ + +hardware identification databases + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hwdata | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/vcrhonek/hwdata diff --git a/main/hwdata/version b/main/hwdata/version new file mode 100644 index 00000000..f857c2b7 --- /dev/null +++ b/main/hwdata/version @@ -0,0 +1 @@ +0.383 1 diff --git a/main/hwinfo/PKGBUILD b/main/hwinfo/PKGBUILD new file mode 100644 index 00000000..7173cd45 --- /dev/null +++ b/main/hwinfo/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=hwinfo +pkgver=%version% +pkgrel=%release% +pkgdesc='Hardware detection tool from openSUSE' +arch=(x86_64) +url='https://github.com/openSUSE/hwinfo' +license=(GPL2) +depends=('libx86emu=3.5' perl-xml-parser perl-xml-writer) +makedepends=(flex git sysfsutils) +options=(!emptydirs) +source=(custom_ioctl.patch + "git+$url#commit=c87f449f1d4882c71b0a1e6dc80638224a5baeed") # tag: 23.2 +b2sums=('2b1bd3b53bbfc1e545e1a70ffd6cca08f704639a104928b2c02ccca3e82000f07a470fbdf129566ece6dfb2b98fdad0e82f18cc5c2016ebfeed043b4edb295b4' + 'SKIP') + +prepare() { + cd $pkgname + patch -p1 -i ../custom_ioctl.patch + echo touch changelog > git2log + sed -i '/linux\/fs.h/d' src/hd/hd.c +} + +build() { + make -C $pkgname -j1 \ + CFLAGS+="-fPIC -I$srcdir/$pkgname/src/hd -w" \ + HWINFO_VERSION="$pkgver" \ + LIBDIR=/usr/lib +} + +package() { + cd $pkgname + + make DESTDIR="$pkgdir" LIBDIR=/usr/lib install + mv "$pkgdir/usr/sbin" "$pkgdir/usr/bin" + rmdir "$pkgdir/sbin" + + cd doc + for f in *.1; do install -Dm644 $f "$pkgdir/usr/share/man/man1/$f"; done + for f in *.8; do install -Dm644 $f "$pkgdir/usr/share/man/man8/$f"; done +} diff --git a/main/hwinfo/README b/main/hwinfo/README new file mode 100644 index 00000000..948c341f --- /dev/null +++ b/main/hwinfo/README @@ -0,0 +1,43 @@ +hwinfo +________________________________________________________________________________ + +Hardware detection tool from openSUSE + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S hwinfo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/openSUSE/hwinfo diff --git a/main/hwinfo/custom_ioctl.patch b/main/hwinfo/custom_ioctl.patch new file mode 100644 index 00000000..2fae9417 --- /dev/null +++ b/main/hwinfo/custom_ioctl.patch @@ -0,0 +1,20 @@ +diff --git a/src/hd/kbd.c b/src/hd/kbd.c +index fa08817..184ac08 100644 +--- a/src/hd/kbd.c ++++ b/src/hd/kbd.c +@@ -134,6 +134,7 @@ void add_serial_console(hd_data_t *hd_data) + } + + if(!dev && (fd = open(DEV_CONSOLE, O_RDWR | O_NONBLOCK | O_NOCTTY)) >= 0) { ++ /* Removing since TIOCGDEV is not supported by the mainline kernel + if(ioctl(fd, TIOCGDEV, &u) != -1) { + tty_major = (u >> 8) & 0xfff; + tty_minor = (u & 0xff) | ((u >> 12) & 0xfff00); +@@ -152,6 +153,7 @@ void add_serial_console(hd_data_t *hd_data) + free_mem(dev_link); + free_mem(dev_name); + } ++ */ + + if (dev) + ; diff --git a/main/hwinfo/version b/main/hwinfo/version new file mode 100644 index 00000000..a99ba9bb --- /dev/null +++ b/main/hwinfo/version @@ -0,0 +1 @@ +23.2 1 diff --git a/main/hwloc/PKGBUILD b/main/hwloc/PKGBUILD new file mode 100644 index 00000000..50d3cd3c --- /dev/null +++ b/main/hwloc/PKGBUILD @@ -0,0 +1,38 @@ +# Packager = Developer +pkgname=hwloc +pkgver=2.10.0 +pkgrel=1 +pkgdesc='Portable Hardware Locality is a portable abstraction of hierarchical architectures' +url='https://www.open-mpi.org/projects/hwloc/' +arch=('x86_64') +license=('BSD') +depends=('glibc' 'libtool' 'systemd-libs' 'libpciaccess') +makedepends=('cairo' 'libxml2' 'pciutils' 'systemd' 'libx11') +optdepends=('cairo' 'libxml2' 'pciutils' 'libx11') +options=('!docs') +source=(https://www.open-mpi.org/software/hwloc/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2) +sha512sums=('8fcf448ef16874862e5cf5a814ecc4885d53817369640bb8a0079b0c7d9294b3933a6a8cf2472e8e104a5c346e09e1fffab401a1976d7b2da0457f0c5271a18a') +b2sums=('ecb0e6158992a94e1c8b1555584803c576ab3dc09eb33c30033b986a4ec9586d5376d837629419d7b0787217d8692a22834133ccb0be2c5c38d46ef3b47ea129') + +build() { + cd hwloc-${pkgver} + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-plugins \ + --sysconfdir=/etc + make +} + +check() { + cd hwloc-${pkgver} + make check +} + +package() { + cd hwloc-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/hwloc/version b/main/hwloc/version new file mode 100644 index 00000000..ddcee052 --- /dev/null +++ b/main/hwloc/version @@ -0,0 +1 @@ +2.10.0 1 diff --git a/main/i2c-tools/.PKGINFO b/main/i2c-tools/.PKGINFO new file mode 100644 index 00000000..2784cfc1 --- /dev/null +++ b/main/i2c-tools/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = i2c-tools +pkgbase = i2c-tools +xdata = pkgtype=pkg +pkgver = 4.3-6 +pkgdesc = Heterogeneous set of I2C tools for Linux that used to be part of lm-sensors +url = https://i2c.wiki.kernel.org/index.php/I2C_Tools +builddate = 1714401148 +packager = Developer +size = 341648 +arch = x86_64 +license = GPL +depend = perl +optdepend = read-edid: for decode-edid script +optdepend = python: for smbus module +makedepend = python-setuptools +makedepend = python-build +makedepend = python-installer +makedepend = python-wheel diff --git a/main/i2c-tools/.nvchecker.toml b/main/i2c-tools/.nvchecker.toml new file mode 100644 index 00000000..77948f8c --- /dev/null +++ b/main/i2c-tools/.nvchecker.toml @@ -0,0 +1,5 @@ +[i2c-tools] +source = "git" +git = "https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/" +prefix = "v" +use_max_tag = true diff --git a/main/i2c-tools/45-i2c-tools.rules b/main/i2c-tools/45-i2c-tools.rules new file mode 100644 index 00000000..fd66f425 --- /dev/null +++ b/main/i2c-tools/45-i2c-tools.rules @@ -0,0 +1,2 @@ +# Assigns the i2c devices to group i2c, and gives that group RW access: +KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" diff --git a/main/i2c-tools/PKGBUILD b/main/i2c-tools/PKGBUILD new file mode 100644 index 00000000..d45c765f --- /dev/null +++ b/main/i2c-tools/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=i2c-tools +pkgver=%version% +pkgrel=%release% +pkgdesc="Heterogeneous set of I2C tools for Linux that used to be part of lm-sensors" +arch=('x86_64') +url="https://i2c.wiki.kernel.org/index.php/I2C_Tools" +license=('GPL') +depends=('perl') +makedepends=('python' 'git') +optdepends=('read-edid: for decode-edid script' + 'python: for smbus module') +source=( + "https://www.kernel.org/pub/software/utils/i2c-tools/$pkgname-$pkgver.tar.xz" + "https://www.kernel.org/pub/software/utils/i2c-tools/$pkgname-$pkgver.tar.sign" + "$pkgname.sysusers" + "45-i2c-tools.rules" + "python-makefile.patch" +) +sha256sums=('1f899e43603184fac32f34d72498fc737952dbc9c97a8dd9467fadfdf4600cf9' + 'SKIP' + 'bf5ee4f9876505628c5ce84e84e918c70d66be70b766d62bb138e294608ffbae' + 'af9dbdc771023cd04f5b0c638c30356e6a824b32f0c04ea61fe929c71122bccd' + '2f512928ae4ad5cd3e2388b2391378f70b1d5f537f64ff5a0636e018d02d540e') +validpgpkeys=( + '7CA69F4460F1BDC41FD2C858A5526B9BB3CD4E6A' # Jean Delvare +) + +prepare() { + cd "${pkgname}-${pkgver}" + patch -Np1 < "$srcdir/python-makefile.patch" +} + +build() { + cd ${pkgname}-${pkgver} + make EXTRA="eeprog py-smbus" +} + +package() { + cd ${pkgname}-${pkgver} + make EXTRA="eeprog py-smbus" PREFIX="${pkgdir}/usr" sbindir="$pkgdir/usr/bin" install + install -Dm644 "${srcdir}/$pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf" + install -Dm644 "${srcdir}/45-i2c-tools.rules" "${pkgdir}/usr/lib/udev/rules.d/45-i2c-tools.rules" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/i2c-tools/README b/main/i2c-tools/README new file mode 100644 index 00000000..121ca9ef --- /dev/null +++ b/main/i2c-tools/README @@ -0,0 +1,43 @@ +i2c-tools +________________________________________________________________________________ + +Heterogeneous set of I2C tools for Linux that used to be part of lm-sensors + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S i2c-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://i2c.wiki.kernel.org/index.php/I2C_Tools diff --git a/main/i2c-tools/i2c-tools.sysusers b/main/i2c-tools/i2c-tools.sysusers new file mode 100644 index 00000000..ddd57180 --- /dev/null +++ b/main/i2c-tools/i2c-tools.sysusers @@ -0,0 +1 @@ +g i2c - - diff --git a/main/i2c-tools/python-makefile.patch b/main/i2c-tools/python-makefile.patch new file mode 100644 index 00000000..d9213f32 --- /dev/null +++ b/main/i2c-tools/python-makefile.patch @@ -0,0 +1,13 @@ +diff --git a/py-smbus/Module.mk b/py-smbus/Module.mk +index 04ceb64..1e2ded1 100644 +--- a/py-smbus/Module.mk ++++ b/py-smbus/Module.mk +@@ -22,7 +22,7 @@ clean-python: + rm -rf py-smbus/build + + install-python: +- $(DISTUTILS) install ++ $(DISTUTILS) install --prefix="$(PREFIX)" + + all: all-python + diff --git a/main/i2c-tools/version b/main/i2c-tools/version new file mode 100644 index 00000000..9650552c --- /dev/null +++ b/main/i2c-tools/version @@ -0,0 +1 @@ +4.3 6 diff --git a/main/iana-etc/.PKGINFO b/main/iana-etc/.PKGINFO new file mode 100644 index 00000000..17cfc357 --- /dev/null +++ b/main/iana-etc/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = iana-etc +pkgbase = iana-etc +xdata = pkgtype=pkg +pkgver = 20240412-1 +pkgdesc = /etc/protocols and /etc/services provided by IANA +url = https://www.iana.org/protocols +builddate = 1713312575 +packager = Developer +size = 4174754 +arch = any +license = custom:none +backup = etc/protocols +backup = etc/services diff --git a/main/iana-etc/LICENSE b/main/iana-etc/LICENSE new file mode 100644 index 00000000..32da5f8d --- /dev/null +++ b/main/iana-etc/LICENSE @@ -0,0 +1 @@ +The contents of this package are inelligible for copyright protection. diff --git a/main/iana-etc/PKGBUILD b/main/iana-etc/PKGBUILD new file mode 100644 index 00000000..633840e8 --- /dev/null +++ b/main/iana-etc/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iana-etc +pkgver=%version% +_ports=service-names-port-numbers-${pkgver} +_protocols=protocol-numbers-20240108 +pkgrel=%release% +pkgdesc='/etc/protocols and /etc/services provided by IANA' +url='https://www.iana.org/protocols' +arch=('any') +license=('custom:none') +backup=('etc/'{protocols,services}) +source=("https://sources.archlinux.org/other/packages/iana-etc/${_ports}.xml" + "https://sources.archlinux.org/other/packages/iana-etc/${_protocols}.xml" + 'LICENSE') +sha256sums=('929d5704a023365a2e2e6660eee8cc496a2d9f2c84d9f8999fec181411dd2aea' + 'e64103b5e38f4ad69067f17269bc70b524f7cbf54ec97b7f0292c92f82ced2bd' + 'dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb') + +# Original but unversioned IANA files: +# https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml +# https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml + +package() { + cd "${srcdir}" + + install -d "${pkgdir}/etc" + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/iana-etc/LICENSE" + install -Dm644 ${_ports}.xml "${pkgdir}/usr/share/iana-etc/port-numbers.iana" + install -Dm644 ${_protocols}.xml "${pkgdir}/usr/share/iana-etc/protocol-numbers.iana" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/protocol-numbers.iana\n" } +(/ "${pkgdir}/etc/protocols" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/port-numbers.iana\n" } +(/ "${pkgdir}/etc/services" + +} diff --git a/main/iana-etc/README b/main/iana-etc/README new file mode 100644 index 00000000..0dc64ec8 --- /dev/null +++ b/main/iana-etc/README @@ -0,0 +1,43 @@ +iana-etc +________________________________________________________________________________ + +/etc/protocols and /etc/services provided by IANA + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iana-etc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.iana.org/protocols diff --git a/main/iana-etc/version b/main/iana-etc/version new file mode 100644 index 00000000..374a9e25 --- /dev/null +++ b/main/iana-etc/version @@ -0,0 +1 @@ +20240412 1 diff --git a/main/icu/.PKGINFO b/main/icu/.PKGINFO new file mode 100644 index 00000000..8126be51 --- /dev/null +++ b/main/icu/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = icu +pkgbase = icu +xdata = pkgtype=pkg +pkgver = 75.1-1 +pkgdesc = International Components for Unicode library +url = https://icu.unicode.org +builddate = 1716253059 +packager = Developer +size = 42592375 +arch = x86_64 +license = LicenseRef-Unicode-3.0 +license = BSD-2-Clause +license = BSD-3-Clause +provides = libicudata.so=75-64 +provides = libicui18n.so=75-64 +provides = libicuio.so=75-64 +provides = libicutest.so=75-64 +provides = libicutu.so=75-64 +provides = libicuuc.so=75-64 +depend = gcc-libs +depend = glibc +depend = sh +makedepend = python diff --git a/main/icu/.nvchecker.toml b/main/icu/.nvchecker.toml new file mode 100644 index 00000000..0b524685 --- /dev/null +++ b/main/icu/.nvchecker.toml @@ -0,0 +1,7 @@ +[icu] +source = "github" +github = "unicode-org/icu" +use_latest_release = true + +from_pattern = 'release-(\d+)-(\d+)' +to_pattern = '\1.\2' diff --git a/main/icu/ICU-22132.patch b/main/icu/ICU-22132.patch new file mode 100644 index 00000000..3b93c920 --- /dev/null +++ b/main/icu/ICU-22132.patch @@ -0,0 +1,25 @@ +diff -u a/i18n/vtzone.cpp a/i18n/vtzone.cpp +--- a/i18n/vtzone.cpp 2023-07-14 09:05:38.000000000 +0100 ++++ b/i18n/vtzone.cpp 2023-07-14 09:05:38.000000000 +0100 +@@ -1735,14 +1735,14 @@ + } + } + } else { +- UnicodeString icutzprop; +- UVector customProps(nullptr, uhash_compareUnicodeString, status); ++ UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status); + if (olsonzid.length() > 0 && icutzver.length() > 0) { +- icutzprop.append(olsonzid); +- icutzprop.append(u'['); +- icutzprop.append(icutzver); +- icutzprop.append(u']'); +- customProps.addElement(&icutzprop, status); ++ LocalPointer icutzprop(new UnicodeString(ICU_TZINFO_PROP), status); ++ icutzprop->append(olsonzid); ++ icutzprop->append(u'['); ++ icutzprop->append(icutzver); ++ icutzprop->append(u']'); ++ customProps.adoptElement(icutzprop.orphan(), status); + } + writeZone(writer, *tz, &customProps, status); + } \ No newline at end of file diff --git a/main/icu/LICENSE b/main/icu/LICENSE new file mode 100644 index 00000000..22472dc2 --- /dev/null +++ b/main/icu/LICENSE @@ -0,0 +1,519 @@ +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +See Terms of Use +for definitions of Unicode Inc.’s Data Files and Software. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2023 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +---------------------------------------------------------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +---------------------------------------------------------------------- + +ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +---------------------------------------------------------------------- + +Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyright (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +---------------------------------------------------------------------- + +Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (C) 2016 and later: Unicode, Inc. and others. + # License & terms of use: http://www.unicode.org/copyright.html + # Copyright (c) 2015 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: https://github.com/rober42539/lao-dictionary + # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt + # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary version of Nov 22, 2020 + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in binary + # form must reproduce the above copyright notice, this list of conditions and + # the following disclaimer in the documentation and/or other materials + # provided with the distribution. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +---------------------------------------------------------------------- + +Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +---------------------------------------------------------------------- + +Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +---------------------------------------------------------------------- + +Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- + +File: aclocal.m4 (only for ICU4C) +Section: pkg.m4 - Macros to locate and utilise pkg-config. + + +Copyright © 2004 Scott James Remnant . +Copyright © 2012-2015 Dan Nicholson + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. + +As a special exception to the GNU General Public License, if you +distribute this file as part of a program that contains a +configuration script generated by Autoconf, you may include it under +the same distribution terms that you use for the rest of that +program. + + +(The condition for the exception is fulfilled because +ICU4C includes a configuration script generated by Autoconf, +namely the `configure` script.) + +---------------------------------------------------------------------- + +File: config.guess (only for ICU4C) + + +This file is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, see . + +As a special exception to the GNU General Public License, if you +distribute this file as part of a program that contains a +configuration script generated by Autoconf, you may include it under +the same distribution terms that you use for the rest of that +program. This Exception is an additional permission under section 7 +of the GNU General Public License, version 3 ("GPLv3"). + + +(The condition for the exception is fulfilled because +ICU4C includes a configuration script generated by Autoconf, +namely the `configure` script.) + +---------------------------------------------------------------------- + +File: install-sh (only for ICU4C) + + +Copyright 1991 by the Massachusetts Institute of Technology + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of M.I.T. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. M.I.T. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. diff --git a/main/icu/PKGBUILD b/main/icu/PKGBUILD new file mode 100644 index 00000000..9efa1923 --- /dev/null +++ b/main/icu/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=icu +pkgver=%version% +pkgrel=%release% +pkgdesc="International Components for Unicode library" +arch=(x86_64) +url="https://icu.unicode.org" +license=('LicenseRef-Unicode-3.0' + 'BSD-2-Clause' + 'BSD-3-Clause') +depends=('gcc-libs' 'glibc' 'sh') +makedepends=('python') +provides=(libicu{data,i18n,io,test,tu,uc}.so) +source=(https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/icu4c-${pkgver//./_}-src.tgz{,.asc} + ICU-22132.patch + LICENSE) +# https://github.com/unicode-org/icu/releases/download/release-74-2/SHASUM512.txt +sha512sums=('e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0' + 'SKIP' + '1178062ccfcf7ecc698c64132b3612e73f9c4b0bbfaa668ae2039f3eb4cb2722d0b08a9f45b057da10def7a308d5c8d14c0c644892e7f11092c9cc488c850ab7' + 'c1c3b2deaf2aeb1d90c1ca85d57db921e140e5087c1eba579dabaca94568a840a0e105145b8016f3b7269216ddc1b0ac56e1d5d1753129a99367e51e2080a6b0') +#validpgpkeys=('BA90283A60D67BA0DD910A893932080F4FB419E3') # "Steven R. Loomis (filfla-signing) " +#validpgpkeys+=('9731166CD8E23A83BEE7C6D3ACA5DBE1FD8FABF1') # "Steven R. Loomis (ICU Project) " +#validpgpkeys+=('FFA9129A180D765B7A5BEA1C9B432B27D1BA20D7') # "Fredrik Roubert " +#validpgpkeys+=('E4098B78AFC94394F3F49AA903996C7C83F12F11') # "keybase.io/srl295 " +#validpgpkeys+=('4569BBC09DA846FC91CBD21CE1BBA44593CF2AE0') # "Steven R. Loomis (codesign-qormi) " +#validpgpkeys=('0E51E7F06EF719FBD072782A5F56E5AFA63CCD33') #"Craig Cornelius (For use with ICU releases) " +validpgpkeys=('3DA35301A7C330257B8755754058F67406EAA6AB') # Craig Cornelius + +prepare() { + cd icu/source + # Required fix for thunderbird 115 to show Calendar and sidebar properly + # https://bugzilla.mozilla.org/show_bug.cgi?id=1843007 + # https://unicode-org.atlassian.net/browse/ICU-22132 + patch -Np1 < "../../ICU-22132.patch" +} + +build() { + cd icu/source + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --sbindir=/usr/bin + make +} + +check() { + cd icu/source + make check +} + +package() { + cd icu/source + make DESTDIR="${pkgdir}" install + + # Install license + install -Dm644 "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/icu/README b/main/icu/README new file mode 100644 index 00000000..10d1afb1 --- /dev/null +++ b/main/icu/README @@ -0,0 +1,43 @@ +icu +________________________________________________________________________________ + +International Components for Unicode library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S icu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://icu.unicode.org diff --git a/main/icu/version b/main/icu/version new file mode 100644 index 00000000..8fecd125 --- /dev/null +++ b/main/icu/version @@ -0,0 +1 @@ +75.1 1 diff --git a/main/imath/.PKGINFO b/main/imath/.PKGINFO new file mode 100644 index 00000000..b75fcd99 --- /dev/null +++ b/main/imath/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = imath +pkgbase = imath +xdata = pkgtype=pkg +pkgver = 3.1.11-2 +pkgdesc = A C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +url = https://www.openexr.com/ +builddate = 1714401150 +packager = Developer +size = 26741689 +arch = x86_64 +license = BSD-3-Clause +depend = gcc-libs +depend = glibc +optdepend = boost-libs: python bindings +optdepend = python: python bindings +makedepend = boost +makedepend = cmake +makedepend = python diff --git a/main/imath/.nvchecker.toml b/main/imath/.nvchecker.toml new file mode 100644 index 00000000..71cbd060 --- /dev/null +++ b/main/imath/.nvchecker.toml @@ -0,0 +1,6 @@ +[imath] +source = 'github' +github = 'AcademySoftwareFoundation/Imath' +use_max_tag = true +prefix = 'v' +exclude_regex = '.*rc.*' diff --git a/main/imath/PKGBUILD b/main/imath/PKGBUILD new file mode 100644 index 00000000..f27553a3 --- /dev/null +++ b/main/imath/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=imath +pkgver=%version% +pkgrel=%release% +pkgdesc='A C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics' +url='https://www.openexr.com/' +arch=(x86_64) +license=(BSD-3-Clause) +depends=(gcc-libs + glibc) +optdepends=('boost-libs: python bindings' + 'python: python bindings') +makedepends=(boost + cmake + python) +source=(https://github.com/AcademySoftwareFoundation/Imath/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('9057849585e49b8b85abe7cc1e76e22963b01bfdc3b6d83eac90c499cd760063') + +build() { + cmake -B build -S Imath-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPYTHON=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 Imath-$pkgver/LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/imath/README b/main/imath/README new file mode 100644 index 00000000..ad391fc7 --- /dev/null +++ b/main/imath/README @@ -0,0 +1,43 @@ +imath +________________________________________________________________________________ + +A C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S imath | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.openexr.com/ diff --git a/main/imath/version b/main/imath/version new file mode 100644 index 00000000..a5f4cc50 --- /dev/null +++ b/main/imath/version @@ -0,0 +1 @@ +3.1.11 2 diff --git a/main/intel-media-sdk/.PKGINFO b/main/intel-media-sdk/.PKGINFO new file mode 100644 index 00000000..2e4ba96e --- /dev/null +++ b/main/intel-media-sdk/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libmfx +pkgbase = intel-media-sdk +xdata = pkgtype=split +pkgver = 23.2.2-3 +pkgdesc = Intel Media SDK dispatcher library +url = https://software.intel.com/en-us/media-sdk/ +builddate = 1715045243 +packager = Developer +size = 292866 +arch = x86_64 +license = MIT +depend = gcc-libs +makedepend = libdrm +makedepend = libva +makedepend = wayland +makedepend = intel-media-driver +makedepend = cmake +makedepend = libpciaccess +makedepend = libx11 +makedepend = libxcb +makedepend = python diff --git a/main/intel-media-sdk/020-intel-media-sdk-gcc13-fix.patch b/main/intel-media-sdk/020-intel-media-sdk-gcc13-fix.patch new file mode 100644 index 00000000..ad6867d0 --- /dev/null +++ b/main/intel-media-sdk/020-intel-media-sdk-gcc13-fix.patch @@ -0,0 +1,10 @@ +--- a/api/mfx_dispatch/linux/mfxparser.cpp ++++ b/api/mfx_dispatch/linux/mfxparser.cpp +@@ -19,6 +19,7 @@ + // SOFTWARE. + + #include ++#include + #include + #include + #include diff --git a/main/intel-media-sdk/PKGBUILD b/main/intel-media-sdk/PKGBUILD new file mode 100644 index 00000000..2e5d917a --- /dev/null +++ b/main/intel-media-sdk/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=intel-media-sdk +pkgname=('intel-media-sdk' 'libmfx') +pkgver=%version% +pkgrel=%release% +pkgdesc='Legacy API for hardware video acceleration on Intel GPUs (Broadwell to Rocket Lake)' +arch=('x86_64') +url='https://software.intel.com/en-us/media-sdk/' +license=('MIT') +makedepends=('libdrm' 'libva' 'wayland' 'intel-media-driver' + 'cmake' 'libpciaccess' 'libx11' 'libxcb' 'python') +source=("https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${pkgver}.tar.gz" + '010-intel-media-sdk-fix-reproducible-build.patch'::'https://github.com/Intel-Media-SDK/MediaSDK/commit/f6925886f27a39eed2e43c5b7b6c342d00f7a970.patch' + '020-intel-media-sdk-gcc13-fix.patch') +sha256sums=('12f23a78104edc1c9bfa755effd2723866d107ad752f72d3839fcc8db0503cec' + 'f1d8a4edf953cfec1516f1a8383c5ee033245aba16cfae0bc79b7de1a6365fcc' + '38535e43225b07674723f64a5bb14dcfe6036a3109f69ce5f52aa3dcc7ba8bea') + +prepare() { + patch -d "MediaSDK-intel-mediasdk-${pkgver}" -Np1 -i "${srcdir}/010-intel-media-sdk-fix-reproducible-build.patch" + patch -d "MediaSDK-intel-mediasdk-${pkgver}" -Np1 -i "${srcdir}/020-intel-media-sdk-gcc13-fix.patch" +} + +build() { + export CFLAGS+=' -DNDEBUG -ffat-lto-objects' + export CXXFLAGS+=' -DNDEBUG -ffat-lto-objects' + cmake -B build -S "MediaSDK-intel-mediasdk-${pkgver}" \ + -G 'Unix Makefiles' \ + -DBUILD_ALL:BOOL='ON' \ + -DBUILD_TOOLS:BOOL='ON' \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DENABLE_ITT:BOOL='OFF' \ + -DENABLE_OPENCL:BOOL='OFF' \ + -DENABLE_WAYLAND:BOOL='ON' \ + -DENABLE_X11_DRI3:BOOL='ON' \ + -DMFX_APPS_DIR='/usr/lib/mfx' \ + -Wno-dev + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package_intel-media-sdk() { + depends=('libdrm' 'libva' 'wayland' "libmfx=${pkgver}" 'intel-media-driver') + options=('!emptydirs') + + DESTDIR="$pkgdir" cmake --install build + ln -s mfx/samples/libcttmetrics.so "${pkgdir}/usr/lib/libcttmetrics.so" + install -D -m644 "MediaSDK-intel-mediasdk-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" + + [ -d 'libmfx' ] && rm -rf libmfx + mkdir -p libmfx/usr/{include,lib/pkgconfig} + mv "${pkgdir}/usr/include/mfx" libmfx/usr/include + mv "${pkgdir}/usr/lib"/libmfx.so* libmfx/usr/lib + mv "${pkgdir}/usr/lib/pkgconfig"/{,lib}mfx.pc libmfx/usr/lib/pkgconfig +} + +package_libmfx() { + pkgdesc='Intel Media SDK dispatcher library' + depends=('gcc-libs') + + mv -T libmfx "$pkgdir" + install -D -m644 "MediaSDK-intel-mediasdk-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/main/intel-media-sdk/README b/main/intel-media-sdk/README new file mode 100644 index 00000000..9be83845 --- /dev/null +++ b/main/intel-media-sdk/README @@ -0,0 +1,43 @@ +intel-media-sdk +________________________________________________________________________________ + +Legacy API for hardware video acceleration on Intel GPUs (Broadwell to Rocket Lake) Intel Media SDK dispatcher library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S intel-media-sdk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://software.intel.com/en-us/media-sdk/ diff --git a/main/intel-media-sdk/version b/main/intel-media-sdk/version new file mode 100644 index 00000000..409684a5 --- /dev/null +++ b/main/intel-media-sdk/version @@ -0,0 +1 @@ +23.2.2 3 diff --git a/main/intel-ucode/.PKGINFO b/main/intel-ucode/.PKGINFO new file mode 100644 index 00000000..3656d7fd --- /dev/null +++ b/main/intel-ucode/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = intel-ucode +pkgbase = intel-ucode +xdata = pkgtype=pkg +pkgver = 20240514-1 +pkgdesc = Microcode update files for Intel CPUs +url = https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files +builddate = 1715738924 +packager = Developer +size = 21059213 +arch = any +license = custom +replaces = microcode_ctl +makedepend = iucode-tool diff --git a/main/intel-ucode/PKGBUILD b/main/intel-ucode/PKGBUILD new file mode 100644 index 00000000..25c82dc6 --- /dev/null +++ b/main/intel-ucode/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=intel-ucode +pkgver=%version% +pkgrel=%release% +pkgdesc='Microcode update files for Intel CPUs' +arch=('any') +url='https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files' +replaces=('microcode_ctl') +makedepends=('iucode-tool') +license=('custom') +source=("${pkgname}-${pkgver/./}.tar.gz::https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${pkgver/./}.tar.gz") +sha256sums=('9575c6d74491058bbf998c359d7f25f23655d97a31663a8ed6a98def2b0aaf2b') + +build() { + cd Intel-Linux-Processor-Microcode-Data-Files-microcode-${pkgver/./} + + rm -f intel-ucode{,-with-caveats}/list + mkdir -p kernel/x86/microcode + iucode_tool --write-earlyfw=intel-ucode.img intel-ucode{,-with-caveats}/ +} + +package() { + cd Intel-Linux-Processor-Microcode-Data-Files-microcode-${pkgver/./} + + install -vDm 644 $pkgname/* -t "$pkgdir/usr/lib/firmware/$pkgname/" + + install -D -m0644 intel-ucode.img "${pkgdir}"/boot/intel-ucode.img + install -D -m0644 license "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/intel-ucode/README b/main/intel-ucode/README new file mode 100644 index 00000000..37b8b52e --- /dev/null +++ b/main/intel-ucode/README @@ -0,0 +1,43 @@ +intel-ucode +________________________________________________________________________________ + +Microcode update files for Intel CPUs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S intel-ucode | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files diff --git a/main/intel-ucode/version b/main/intel-ucode/version new file mode 100644 index 00000000..86525097 --- /dev/null +++ b/main/intel-ucode/version @@ -0,0 +1 @@ +20240514 1 diff --git a/main/iproute2/.PKGINFO b/main/iproute2/.PKGINFO new file mode 100644 index 00000000..7e74601f --- /dev/null +++ b/main/iproute2/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = iproute2 +pkgbase = iproute2 +xdata = pkgtype=pkg +pkgver = 6.9.0-1 +pkgdesc = IP Routing Utilities +url = https://git.kernel.org/pub/scm/network/iproute2/iproute2.git +builddate = 1715738935 +packager = Developer +size = 3047787 +arch = x86_64 +license = GPL2 +provides = iproute +depend = glibc +depend = iptables +depend = libcap +depend = libelf +depend = libbpf +optdepend = db5.3: userspace arp daemon +optdepend = linux-atm: ATM support +optdepend = python: for routel +makedepend = linux-atm diff --git a/main/iproute2/0001-make-iproute2-fhs-compliant.patch b/main/iproute2/0001-make-iproute2-fhs-compliant.patch new file mode 100644 index 00000000..2d6a9c96 --- /dev/null +++ b/main/iproute2/0001-make-iproute2-fhs-compliant.patch @@ -0,0 +1,103 @@ +From d8d8dd628302f5bde4f55f11137690bf40abaa88 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Thu, 28 Jul 2016 08:49:20 +0200 +Subject: [PATCH 1/1] make iproute2 fhs compliant + +--- + Makefile | 2 +- + netem/Makefile | 4 ++-- + tc/q_netem.c | 2 +- + tc/tc_util.c | 15 +++++++++++++++ + tc/tc_util.h | 1 + + 5 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index f6214534..f80f46c9 100644 +--- a/Makefile ++++ b/Makefile +@@ -32,7 +32,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include + + SHARED_LIBS = y + +-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" ++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\" + ifneq ($(SHARED_LIBS),y) + DEFINES+= -DNO_SHARED_LIBS + endif +diff --git a/netem/Makefile b/netem/Makefile +index ba4c5a76..cb197afa 100644 +--- a/netem/Makefile ++++ b/netem/Makefile +@@ -23,9 +23,9 @@ stats: stats.c + $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm + + install: all +- mkdir -p $(DESTDIR)$(LIBDIR)/tc ++ mkdir -p $(DESTDIR)$(DATADIR)/tc + for i in $(DISTDATA); \ +- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \ ++ do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \ + done + + clean: +diff --git a/tc/q_netem.c b/tc/q_netem.c +index f45a64b9..83fa952d 100644 +--- a/tc/q_netem.c ++++ b/tc/q_netem.c +@@ -128,7 +128,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata) + char *line = NULL; + char name[128]; + +- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type); ++ snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type); + f = fopen(name, "r"); + if (f == NULL) { + fprintf(stderr, "No distribution data for %s (%s: %s)\n", +diff --git a/tc/tc_util.c b/tc/tc_util.c +index ba34aed7..0adbb9ba 100644 +--- a/tc/tc_util.c ++++ b/tc/tc_util.c +@@ -31,6 +31,10 @@ + #define LIBDIR "/usr/lib" + #endif + ++#ifndef DATADIR ++#define DATADIR "/usr/share" ++#endif ++ + static struct db_names *cls_names; + + #define NAMES_DB "/etc/iproute2/tc_cls" +@@ -72,6 +76,17 @@ const char *get_tc_lib(void) + return lib_dir; + } + ++const char *get_tc_datadir(void) ++{ ++ const char *data_dir; ++ ++ data_dir = getenv("TC_DATA_DIR"); ++ if (!data_dir) ++ data_dir = DATADIR "/tc/"; ++ ++ return data_dir; ++} ++ + int get_qdisc_handle(__u32 *h, const char *str) + { + __u32 maj; +diff --git a/tc/tc_util.h b/tc/tc_util.h +index b197bcdd..e812b895 100644 +--- a/tc/tc_util.h ++++ b/tc/tc_util.h +@@ -71,6 +71,7 @@ struct exec_util { + }; + + const char *get_tc_lib(void); ++const char *get_tc_datadir(void); + + struct qdisc_util *get_qdisc_kind(const char *str); + struct filter_util *get_filter_kind(const char *str); +-- +2.35.1 + diff --git a/main/iproute2/0002-bdb-5-3.patch b/main/iproute2/0002-bdb-5-3.patch new file mode 100644 index 00000000..a1fad8ed --- /dev/null +++ b/main/iproute2/0002-bdb-5-3.patch @@ -0,0 +1,22 @@ +--- a/configure 2022-12-13 01:08:01.607329918 +0100 ++++ b/configure 2022-12-13 01:08:58.083857594 +0100 +@@ -433,7 +433,7 @@ + return 0; + } + EOF +- if $CC -I$INCLUDE -o $TMPDIR/dbtest $TMPDIR/dbtest.c -ldb >/dev/null 2>&1; then ++ if $CC -I$INCLUDE -I/usr/include/db5.3 -o $TMPDIR/dbtest $TMPDIR/dbtest.c -ldb-5.3 >/dev/null 2>&1; then + echo "HAVE_BERKELEY_DB:=y" >>$CONFIG + echo "yes" + else +--- a/misc/Makefile 2022-12-13 12:21:04.709608051 +0100 ++++ b/misc/Makefile 2022-12-13 12:21:19.966264418 +0100 +@@ -25,7 +25,7 @@ + $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm + + arpd: arpd.c +- $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(CPPFLAGS) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb ++ $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(CPPFLAGS) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb-5.3 + + ssfilter.tab.c: ssfilter.y + $(QUIET_YACC)$(YACC) -b ssfilter ssfilter.y diff --git a/main/iproute2/PKGBUILD b/main/iproute2/PKGBUILD new file mode 100644 index 00000000..1a981048 --- /dev/null +++ b/main/iproute2/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iproute2 +pkgver=%version% +pkgrel=%release% +pkgdesc='IP Routing Utilities' +arch=('x86_64') +license=('GPL2') +url='https://git.kernel.org/pub/scm/network/iproute2/iproute2.git' +depends=('glibc' 'iptables' 'libcap' 'libelf' 'libbpf') +makedepends=('db5.3') +optdepends=('db5.3: userspace arp daemon' + 'linux-atm: ATM support' + 'python: for routel') +provides=('iproute') +makedepends=('linux-atm') +options=('staticlibs') +validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger +source=("https://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign} + '0001-make-iproute2-fhs-compliant.patch' + '0002-bdb-5-3.patch') +sha256sums=('03a6cca3d71a908d1f15f7b495be2b8fe851f941458dc4664900d7f45fcf68ce' + 'SKIP' + '758b82bd61ed7512d215efafd5fab5ae7a28fbfa6161b85e2ce7373285e56a5d' + '611c1ad7946aab226a5f4059922d9430f51b3377e33911427f8fdf7f7d31f7d6') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # set correct fhs structure + patch -Np1 -i "${srcdir}"/0001-make-iproute2-fhs-compliant.patch + + # use Berkeley DB 5.3 + patch -Np1 -i "${srcdir}"/0002-bdb-5-3.patch + + # do not treat warnings as errors + sed -i 's/-Werror//' Makefile + +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export CFLAGS+=' -ffat-lto-objects' + + ./configure + make DBM_INCLUDE='/usr/include/db5.3' +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install + + # libnetlink isn't installed, install it FS#19385 + install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h" + install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a" +} diff --git a/main/iproute2/README b/main/iproute2/README new file mode 100644 index 00000000..4c7102ac --- /dev/null +++ b/main/iproute2/README @@ -0,0 +1,43 @@ +iproute2 +________________________________________________________________________________ + +IP Routing Utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iproute2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/network/iproute2/iproute2.git diff --git a/main/iproute2/version b/main/iproute2/version new file mode 100644 index 00000000..ffe86eee --- /dev/null +++ b/main/iproute2/version @@ -0,0 +1 @@ +6.9.0 1 diff --git a/main/iptables/PKGBUILD b/main/iptables/PKGBUILD new file mode 100644 index 00000000..af97029a --- /dev/null +++ b/main/iptables/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=iptables +pkgname=(iptables iptables-nft) +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='Linux kernel packet control tool' +arch=(x86_64) +license=(GPL2) +url='https://www.netfilter.org/projects/iptables/index.html' +depends=(libnftnl libpcap libnfnetlink libnetfilter_conntrack bash) +makedepends=(linux-api-headers) +backup=(etc/ethertypes etc/iptables/{ip,ip6}tables.rules) +source=(https://www.netfilter.org/projects/iptables/files/$pkgbase-$pkgver.tar.xz{,.sig} + empty.rules simple_firewall.rules empty-{filter,mangle,nat,raw,security}.rules + {arp,eb,ip,ip6}tables.service iptables-{legacy,nft}-flush + iptables-apply-default-path.patch) +sha256sums=('5cc255c189356e317d070755ce9371eb63a1b783c34498fb8c30264f3cc59c9c' + 'SKIP' + '630d774f089703c2c7370db6d7c188dae25d00c26feaa3d3de8eb52519033948' + '9e83d7ae39d31881790f814930d44acbaeab1520adb2fb4fcb80f0bbfab174b9' + '09b90da35c2c8cb0fbda63b300f06d2387a102ca53a40980ef0b49829e249528' + '92755648f456e235d17a8faeb5f46d27af66eb4db10ea4bac0abd3e35e2dae07' + '52bd70dff3e1e1a64127ad7ed86840834b79756c3bdb6947b7c6279ffe95dd48' + '5768a471c0559848635c39d270e456bfa5c43eda65f5f6f666fea2d277183a37' + '91161a73f323016a9efc5eabd16243d20f8ca2467995cf0eabfb95f845090121' + 'dd1a867085900eec1f1d4e12f97a1f44707c717246f6787ed42d4225343920d6' + '82e09b4151d5c1dd0fc212189c670f8f29e8ec85e7e9cdc57f49dcea00d7e9ca' + '78f090812b5bb9aec597ce2cf757da1c58ec772c60bf55f10267f06459aefd9b' + 'c37c69db5077a061fd72fc3b199712f1bed8688de8008f219223fadd6fa6c06f' + '40680b3c877926a2bac698ea58f52d1d4b3ab152ee68ccd7fa7ca51aeedc3b2d' + '6d3e7bdeebdaeaf83ed448f4d42a979c8c59fb5e919f6f860ed340c2c9afef1a' + '770ceaedce26d05eb1b9d0c4c65f5b8e92facd1dc0652a29c859336d6bc347f6') +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4' + '37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team + +prepare() { + mkdir build + cd $pkgbase-$pkgver + + # use system one + rm include/linux/types.h + + ln -rs libiptc/linux_list.h include/libiptc + + # use Arch path + patch -p0 -i ../iptables-apply-default-path.patch +} + +build() { + cd build + ../$pkgbase-$pkgver/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --enable-bpf-compiler \ + --enable-devel \ + --enable-libipq \ + --enable-shared + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' -i libtool + make +} + +package_iptables() { + pkgdesc+=' (using legacy interface)' + _package legacy +} + +package_iptables-nft() { + pkgdesc+=' (using nft interface)' + depends+=(nftables) + provides=(iptables arptables ebtables) + conflicts=(iptables arptables ebtables) + backup+=(etc/{arp,eb}tables.conf) + + _package nft + + install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {arp,eb}tables.service + touch "$pkgdir"/etc/{arp,eb}tables.conf +} + +_package() { + DESTDIR="$pkgdir" make -C build install + + for _x in {arp,eb,ip,ip6}tables{,-restore,-save} iptables-xml; do + if [[ $1 = nft || $_x = ip* ]]; then + ln -sf xtables-$1-multi "$pkgdir/usr/bin/$_x" + else + rm "$pkgdir/usr/bin/$_x" + fi + done + + install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {ip,ip6}tables.service + install -D iptables-$1-flush "$pkgdir/usr/lib/systemd/scripts/iptables-flush" + + install -Dm644 empty.rules "$pkgdir/etc/iptables/iptables.rules" + install -Dm644 empty.rules "$pkgdir/etc/iptables/ip6tables.rules" + install -Dt "$pkgdir/usr/share/iptables" -m644 *.rules + ln -srt "$pkgdir/etc/iptables" "$pkgdir"/usr/share/iptables/{empty,simple_firewall}.rules +} + +# vim:set sw=2 et: diff --git a/main/iptables/README b/main/iptables/README new file mode 100644 index 00000000..0ce943f6 --- /dev/null +++ b/main/iptables/README @@ -0,0 +1,43 @@ +iptables +________________________________________________________________________________ + +Linux kernel packet control tool Linux kernel packet control tool (using legacy interface) Linux kernel packet control tool (using nft interface) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iptables | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.netfilter.org/projects/iptables/index.html diff --git a/main/iptables/arptables.service b/main/iptables/arptables.service new file mode 100644 index 00000000..0e78e81d --- /dev/null +++ b/main/iptables/arptables.service @@ -0,0 +1,14 @@ +[Unit] +Description=ARP table +Before=network-pre.target +Wants=network-pre.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c 'arptables-restore < /etc/arptables.conf' +ExecReload=/bin/sh -c 'arptables-restore < /etc/arptables.conf' +ExecStop=/bin/sh -c 'arptables-restore < /dev/null' +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/main/iptables/ebtables.service b/main/iptables/ebtables.service new file mode 100644 index 00000000..795675b2 --- /dev/null +++ b/main/iptables/ebtables.service @@ -0,0 +1,14 @@ +[Unit] +Description=Ethernet bridge table +Before=network-pre.target +Wants=network-pre.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c 'ebtables-restore < /etc/ebtables.conf' +ExecReload=/bin/sh -c 'ebtables-restore < /etc/ebtables.conf' +ExecStop=/bin/sh -c 'ebtables-restore < /dev/null' +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/main/iptables/empty-filter.rules b/main/iptables/empty-filter.rules new file mode 100644 index 00000000..5a4de487 --- /dev/null +++ b/main/iptables/empty-filter.rules @@ -0,0 +1,6 @@ +# Empty iptables filter table rule file +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/main/iptables/empty-mangle.rules b/main/iptables/empty-mangle.rules new file mode 100644 index 00000000..49d493c4 --- /dev/null +++ b/main/iptables/empty-mangle.rules @@ -0,0 +1,8 @@ +# Empty iptables mangle table rules file +*mangle +:PREROUTING ACCEPT [0:0] +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:POSTROUTING ACCEPT [0:0] +COMMIT diff --git a/main/iptables/empty-nat.rules b/main/iptables/empty-nat.rules new file mode 100644 index 00000000..437e9641 --- /dev/null +++ b/main/iptables/empty-nat.rules @@ -0,0 +1,7 @@ +# Empty iptables nat table rules file +*nat +:PREROUTING ACCEPT [0:0] +:INPUT ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:POSTROUTING ACCEPT [0:0] +COMMIT diff --git a/main/iptables/empty-raw.rules b/main/iptables/empty-raw.rules new file mode 100644 index 00000000..8dc50d23 --- /dev/null +++ b/main/iptables/empty-raw.rules @@ -0,0 +1,5 @@ +# Empty iptables raw table rules file +*raw +:PREROUTING ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/main/iptables/empty-security.rules b/main/iptables/empty-security.rules new file mode 100644 index 00000000..4531fa13 --- /dev/null +++ b/main/iptables/empty-security.rules @@ -0,0 +1,6 @@ +# Empty iptables security table rules file +*security +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/main/iptables/empty.rules b/main/iptables/empty.rules new file mode 100644 index 00000000..e24e1aa3 --- /dev/null +++ b/main/iptables/empty.rules @@ -0,0 +1,6 @@ +# Empty iptables rule file +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/main/iptables/ip6tables.service b/main/iptables/ip6tables.service new file mode 100644 index 00000000..9dca6158 --- /dev/null +++ b/main/iptables/ip6tables.service @@ -0,0 +1,15 @@ +[Unit] +Description=IPv6 Packet Filtering Framework +Before=network-pre.target +Wants=network-pre.target +After=iptables.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/ip6tables-restore /etc/iptables/ip6tables.rules +ExecReload=/usr/bin/ip6tables-restore /etc/iptables/ip6tables.rules +ExecStop=/usr/lib/systemd/scripts/iptables-flush 6 +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/main/iptables/iptables-apply-default-path.patch b/main/iptables/iptables-apply-default-path.patch new file mode 100644 index 00000000..84089e09 --- /dev/null +++ b/main/iptables/iptables-apply-default-path.patch @@ -0,0 +1,53 @@ +--- iptables/iptables-apply.8.in.orig 2022-07-25 17:12:06.833791345 +0300 ++++ iptables/iptables-apply.8.in 2022-07-25 17:13:35.780742653 +0300 +@@ -21,11 +21,11 @@ + Successfully applied rules can also be written to savefile and later used + to roll back to this state. This can be used to implement a store last good + configuration mechanism when experimenting with an iptables setup script: +-iptables-apply \-w /etc/network/iptables.up.rules \-c /etc/network/iptables.up.run ++iptables-apply \-w /etc/iptables/iptables.rules \-c /etc/iptables/iptables.run + .PP + When called as ip6tables\-apply, the script will use + ip6tables\-save/\-restore and IPv6 default values instead. Default +-value for rulesfile is '/etc/network/iptables.up.rules'. ++value for rulesfile is '/etc/iptables/iptables.rules'. + .SH OPTIONS + .TP + \fB\-t\fP \fIseconds\fR, \fB\-\-timeout\fP \fIseconds\fR +@@ -34,11 +34,11 @@ + .TP + \fB\-w\fP \fIsavefile\fR, \fB\-\-write\fP \fIsavefile\fR + Specify the savefile where successfully applied rules will be written to +-(default if empty string is given: /etc/network/iptables.up.rules). ++(default if empty string is given: /etc/iptables/iptables.rules). + .TP + \fB\-c\fP \fIruncmd\fR, \fB\-\-command\fP \fIruncmd\fR + Run command runcmd to configure iptables instead of applying a rulesfile +-(default: /etc/network/iptables.up.run). ++(default: /etc/iptables/iptables.run). + .TP + \fB\-h\fP, \fB\-\-help\fP + Display usage information. +--- iptables/iptables-apply.orig 2022-07-25 17:12:11.713806961 +0300 ++++ iptables/iptables-apply 2022-07-25 17:12:34.573880116 +0300 +@@ -31,16 +31,16 @@ + (*6*) + SAVE=ip6tables-save + RESTORE=ip6tables-restore +- DEF_RULESFILE="/etc/network/ip6tables.up.rules" ++ DEF_RULESFILE="/etc/iptables/ip6tables.rules" + DEF_SAVEFILE="$DEF_RULESFILE" +- DEF_RUNCMD="/etc/network/ip6tables.up.run" ++ DEF_RUNCMD="/etc/iptables/ip6tables.run" + ;; + (*) + SAVE=iptables-save + RESTORE=iptables-restore +- DEF_RULESFILE="/etc/network/iptables.up.rules" ++ DEF_RULESFILE="/etc/iptables/iptables.rules" + DEF_SAVEFILE="$DEF_RULESFILE" +- DEF_RUNCMD="/etc/network/iptables.up.run" ++ DEF_RUNCMD="/etc/iptables/iptables.run" + ;; + esac + diff --git a/main/iptables/iptables-legacy-flush b/main/iptables/iptables-legacy-flush new file mode 100644 index 00000000..3d8ee893 --- /dev/null +++ b/main/iptables/iptables-legacy-flush @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Usage: iptables-flush [6] +# + +iptables=ip$1tables +if ! type -p "$iptables" &>/dev/null; then + echo "error: invalid argument" + exit 1 +fi + +while read -r table; do + tables+=("/usr/share/iptables/empty-$table.rules") +done <"/proc/net/ip$1_tables_names" + +if (( ${#tables[*]} )); then + cat "${tables[@]}" | "$iptables-restore" +fi diff --git a/main/iptables/iptables-nft-flush b/main/iptables/iptables-nft-flush new file mode 100644 index 00000000..5038d329 --- /dev/null +++ b/main/iptables/iptables-nft-flush @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Usage: iptables-flush [6] +# + +iptables=ip$1tables +if ! type -p "$iptables" &>/dev/null; then + echo "error: invalid argument" + exit 1 +fi + +while read -r table; do + tables+=("/usr/share/iptables/empty-$table.rules") +done < <(nft list tables | sed -n "s/table ip$1 //p") + +if (( ${#tables[*]} )); then + cat "${tables[@]}" | "$iptables-restore" +fi diff --git a/main/iptables/iptables.service b/main/iptables/iptables.service new file mode 100644 index 00000000..8a7a142d --- /dev/null +++ b/main/iptables/iptables.service @@ -0,0 +1,14 @@ +[Unit] +Description=IPv4 Packet Filtering Framework +Before=network-pre.target +Wants=network-pre.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/iptables-restore /etc/iptables/iptables.rules +ExecReload=/usr/bin/iptables-restore /etc/iptables/iptables.rules +ExecStop=/usr/lib/systemd/scripts/iptables-flush +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/main/iptables/simple_firewall.rules b/main/iptables/simple_firewall.rules new file mode 100644 index 00000000..63426b08 --- /dev/null +++ b/main/iptables/simple_firewall.rules @@ -0,0 +1,11 @@ +*filter +:INPUT DROP [0:0] +:FORWARD DROP [0:0] +:OUTPUT ACCEPT [0:0] +-A INPUT -p icmp -j ACCEPT +-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT +-A INPUT -i lo -j ACCEPT +-A INPUT -p tcp -j REJECT --reject-with tcp-reset +-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable +-A INPUT -j REJECT --reject-with icmp-proto-unreachable +COMMIT diff --git a/main/iptables/version b/main/iptables/version new file mode 100644 index 00000000..b7b9ed84 --- /dev/null +++ b/main/iptables/version @@ -0,0 +1 @@ +1.8.10 1 diff --git a/main/iputils/PKGBUILD b/main/iputils/PKGBUILD new file mode 100644 index 00000000..27490505 --- /dev/null +++ b/main/iputils/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iputils +# Commit date + git rev-parse --short origin/master +_rev=84cdf26 +pkgver=%version% +pkgrel=%release% +pkgdesc="Network monitoring tools, including ping" +arch=('x86_64') +license=('BSD-3-Clause' 'GPL-2.0-or-later') +url="https://github.com/iputils/iputils" +depends=('libcap' 'libidn2') +makedepends=('perl-sgmls' 'git' 'docbook-xsl' 'meson' 'systemd' 'iproute') +conflicts=('netkit-base' 'arping') +replaces=('netkit-base') +source=("git+https://github.com/iputils/iputils.git#tag=${pkgver}?signed") +validpgpkeys=('2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F') # Petr Vorel +sha256sums=('SKIP') + +build() { + mkdir -p build + cd build + + arch-meson ../$pkgname + ninja +} + +package() { + cd build + + DESTDIR="$pkgdir" ninja install + install -vDm 644 "../$pkgname/Documentation/LICENSE.BSD3" -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/iputils/README b/main/iputils/README new file mode 100644 index 00000000..181bcc72 --- /dev/null +++ b/main/iputils/README @@ -0,0 +1,43 @@ +iputils +________________________________________________________________________________ + +Network monitoring tools, including ping + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iputils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/iputils/iputils diff --git a/main/iputils/version b/main/iputils/version new file mode 100644 index 00000000..33154f4e --- /dev/null +++ b/main/iputils/version @@ -0,0 +1 @@ +20240117 1 diff --git a/main/irssi/.PKGINFO b/main/irssi/.PKGINFO new file mode 100644 index 00000000..b84093cb --- /dev/null +++ b/main/irssi/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = irssi +pkgbase = irssi +xdata = pkgtype=pkg +pkgver = 1.4.5-3 +pkgdesc = Modular text mode IRC client with Perl scripting +url = https://irssi.org/ +builddate = 1714618358 +packager = Developer +size = 2240916 +arch = x86_64 +license = GPL +replaces = irssi-otr +backup = etc/irssi.conf +depend = glibc +depend = glib2 +depend = openssl +depend = libotr +depend = perl +depend = ncurses +depend = libncursesw.so=6-64 +optdepend = perl-lwp-protocol-https: for the scriptassist script +makedepend = git +makedepend = meson +makedepend = ninja diff --git a/main/irssi/PKGBUILD b/main/irssi/PKGBUILD new file mode 100644 index 00000000..451050cf --- /dev/null +++ b/main/irssi/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=irssi +pkgver=%version% +pkgrel=%release% +pkgdesc='Modular text mode IRC client with Perl scripting' +url='https://irssi.org/' +arch=('x86_64') +license=('GPL') +depends=('glibc' 'glib2' 'openssl' 'libotr' 'perl' 'ncurses' 'libncursesw.so') +makedepends=('git' 'meson' 'ninja') +optdepends=('perl-lwp-protocol-https: for the scriptassist script') +replaces=('irssi-otr') +backup=('etc/irssi.conf') +source=(git+https://github.com/irssi/irssi.git#tag=${pkgver}) +#source=(https://github.com/irssi/irssi/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz{,.asc}) +sha512sums=('c9273d79543af66ec3d32e87b5b3ed76ddfb415dbe50cd4eb93200eebe941d7a090c3a22e7c8af42c90d7c66e699d6fa7b4ddf5e6bab2e6dff6afca6db1d05e0') +#validpgpkeys=('7EE65E3082A5FB06AC7C368D00CCB587DDBEF0E1') # The Irssi project + +build() { + cd ${pkgname} + arch-meson Build \ + -Dwith-perl-lib=vendor \ + -Dwith-proxy=yes \ + -Dwith-otr=yes \ + -Dwith-perl=yes \ + -Denable-true-color=yes + ninja -C Build +} + +package() { + cd ${pkgname} + DESTDIR="${pkgdir}" ninja -C Build install + install -Dm 644 irssi.conf "${pkgdir}"/etc/irssi.conf +} + +# vim: ts=2 sw=2 et: diff --git a/main/irssi/README b/main/irssi/README new file mode 100644 index 00000000..df141d5f --- /dev/null +++ b/main/irssi/README @@ -0,0 +1,43 @@ +irssi +________________________________________________________________________________ + +Modular text mode IRC client with Perl scripting + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S irssi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://irssi.org/ diff --git a/main/irssi/version b/main/irssi/version new file mode 100644 index 00000000..28a51640 --- /dev/null +++ b/main/irssi/version @@ -0,0 +1 @@ +1.4.5 3 diff --git a/main/iso-codes/.nvchecker.toml b/main/iso-codes/.nvchecker.toml new file mode 100644 index 00000000..9d1a42de --- /dev/null +++ b/main/iso-codes/.nvchecker.toml @@ -0,0 +1,6 @@ +[iso-codes] +source = 'gitlab' +gitlab = 'iso-codes-team/iso-codes' +host = 'salsa.debian.org' +use_max_tag = true +prefix = 'v' diff --git a/main/iso-codes/PKGBUILD b/main/iso-codes/PKGBUILD new file mode 100644 index 00000000..97057d8c --- /dev/null +++ b/main/iso-codes/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iso-codes +pkgver=%version% +pkgrel=%release% +pkgdesc='Lists of the country, language, and currency names' +url='https://salsa.debian.org/iso-codes-team/iso-codes' +arch=(any) +license=(LGPL) +makedepends=(python) +source=(https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v$pkgver/iso-codes-v$pkgver.tar.gz) +sha256sums=('7c990fc39a05975bedb0175e3ff09fc383048815f68b462abbf055a8032e66cc') + +build() { + cd $pkgname-v$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-v$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/iso-codes/README b/main/iso-codes/README new file mode 100644 index 00000000..42da4a1a --- /dev/null +++ b/main/iso-codes/README @@ -0,0 +1,43 @@ +iso-codes +________________________________________________________________________________ + +Lists of the country, language, and currency names + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iso-codes | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://salsa.debian.org/iso-codes-team/iso-codes diff --git a/main/iso-codes/version b/main/iso-codes/version new file mode 100644 index 00000000..5695e870 --- /dev/null +++ b/main/iso-codes/version @@ -0,0 +1 @@ +4.16.0 1 diff --git a/main/iw/.PKGINFO b/main/iw/.PKGINFO new file mode 100644 index 00000000..4fabf5ed --- /dev/null +++ b/main/iw/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = iw +pkgbase = iw +xdata = pkgtype=pkg +pkgver = 6.9-1 +pkgdesc = nl80211 based CLI configuration utility for wireless devices +url = https://wireless.wiki.kernel.org/en/users/documentation/iw +builddate = 1716337428 +packager = Developer +size = 282961 +arch = x86_64 +license = GPL +depend = libnl +makedepend = linux-api-headers diff --git a/main/iw/PKGBUILD b/main/iw/PKGBUILD new file mode 100644 index 00000000..a61bbf0e --- /dev/null +++ b/main/iw/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iw +pkgver=%version% +pkgrel=%release% +pkgdesc='nl80211 based CLI configuration utility for wireless devices' +arch=('x86_64') +url='https://wireless.wiki.kernel.org/en/users/documentation/iw' +license=('GPL') +depends=('libnl') +makedepends=('linux-api-headers') +validpgpkeys=('C0EBC440F6DA091C884D8532E0F373F37BF9099A') # Johannes Berg +source=("https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar."{xz,sign}) +sha256sums=('aacf49c266b29d500d73086798a1c652e760c19126a8599fd811850430789a35' + 'SKIP') + +build() { + cd "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" SBINDIR="/usr/bin" install +} diff --git a/main/iw/README b/main/iw/README new file mode 100644 index 00000000..7b588286 --- /dev/null +++ b/main/iw/README @@ -0,0 +1,43 @@ +iw +________________________________________________________________________________ + +nl80211 based CLI configuration utility for wireless devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iw | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wireless.wiki.kernel.org/en/users/documentation/iw diff --git a/main/iw/version b/main/iw/version new file mode 100644 index 00000000..3957d4e4 --- /dev/null +++ b/main/iw/version @@ -0,0 +1 @@ +6.9 1 diff --git a/main/iwd/.PKGINFO b/main/iwd/.PKGINFO new file mode 100644 index 00000000..b5a30faa --- /dev/null +++ b/main/iwd/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = iwd +pkgbase = iwd +xdata = pkgtype=pkg +pkgver = 2.18-1 +pkgdesc = Internet Wireless Daemon +url = https://git.kernel.org/cgit/network/wireless/iwd.git/ +builddate = 1718491529 +packager = Developer +size = 2215521 +arch = x86_64 +license = LGPL-2.1-or-later +depend = glibc +depend = readline +depend = libreadline.so=8-64 +depend = ell +depend = gcc-libs +optdepend = qrencode: for displaying QR code after DPP is started +makedepend = python-docutils +makedepend = dbus +makedepend = systemd diff --git a/main/iwd/.nvchecker.toml b/main/iwd/.nvchecker.toml new file mode 100644 index 00000000..218ab990 --- /dev/null +++ b/main/iwd/.nvchecker.toml @@ -0,0 +1,5 @@ +[iwd] +source = "git" +git = "https://git.kernel.org/pub/scm/network/wireless/iwd.git" + +use_max_tag = true diff --git a/main/iwd/0001-use-network-group-for-unprivileged-access.diff b/main/iwd/0001-use-network-group-for-unprivileged-access.diff new file mode 100644 index 00000000..d0c2605a --- /dev/null +++ b/main/iwd/0001-use-network-group-for-unprivileged-access.diff @@ -0,0 +1,22 @@ +--- iwd-2.13/src/iwd-dbus.conf 2023-11-19 18:55:17.000000000 +0100 ++++ iwd-2.13/src/iwd-dbus.conf.new 2024-01-16 22:13:06.696991823 +0100 +@@ -19,7 +19,7 @@ + + + +- ++ + + + +--- iwd-2.13/wired/ead-dbus.conf 2024-01-22 18:16:13.000000000 +0100 ++++ iwd-2.13/wired/ead-dbus.conf.new 2024-01-25 16:21:33.383168588 +0100 +@@ -17,7 +17,7 @@ + + + +- ++ + + + diff --git a/main/iwd/PKGBUILD b/main/iwd/PKGBUILD new file mode 100644 index 00000000..9a71270c --- /dev/null +++ b/main/iwd/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=iwd +pkgver=%version% +pkgrel=%release% +pkgdesc='Internet Wireless Daemon' +arch=('x86_64') +url='https://git.kernel.org/cgit/network/wireless/iwd.git/' +license=('LGPL-2.1-or-later') +depends=('glibc' 'readline' 'libreadline.so' 'ell' 'gcc-libs') +makedepends=('python-docutils' 'dbus' 'systemd') +optdepends=('qrencode: for displaying QR code after DPP is started') +source=(https://www.kernel.org/pub/linux/network/wireless/iwd-${pkgver}.tar{.xz,.sign} + 0001-use-network-group-for-unprivileged-access.diff) +# https://mirrors.edge.kernel.org/pub/linux/network/wireless/sha256sums.asc +sha256sums=('5901ab3fbb74bb75ec9adda35daeff595e4d238882fee7fc8c805b30ca79d943' + 'SKIP' + 'd5fb4fb864b7a0632117aa2039df535ab5c1d024ae618a1f09e34dfab8ee0cc7') +validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') +# https://lore.kernel.org/iwd/20240122104541.74f1a697@workstation64.local/T/#u +options=('!lto') + +prepare() { + cd ${pkgname}-${pkgver} + # replace Debian "netdev" group with existing "network" group + # for unprivileged access to iwd - avoid also log spam + # https://gitlab.archlinux.org/archlinux/packaging/packages/iwd/-/issues/2 + #3 + patch -Np1 -i ../0001-use-network-group-for-unprivileged-access.diff + + # https://lore.kernel.org/iwd/20240122105312.66fb4dbf@workstation64.local/T/#u + # disable one expected test failure - requires a kernel module we cannot load + # from inside the chroot + sed -i "s:unit/test-wsc::" Makefile.am + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + dbus-run-session ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/iwd \ + --enable-external-ell \ + --enable-wired \ + --enable-ofono \ + --enable-hwsim \ + --disable-tools + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make install DESTDIR="${pkgdir}" + install -Dm 644 README -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/main/iwd/README b/main/iwd/README new file mode 100644 index 00000000..8befc032 --- /dev/null +++ b/main/iwd/README @@ -0,0 +1,43 @@ +iwd +________________________________________________________________________________ + +Internet Wireless Daemon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S iwd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/cgit/network/wireless/iwd.git/ diff --git a/main/iwd/version b/main/iwd/version new file mode 100644 index 00000000..4fde9393 --- /dev/null +++ b/main/iwd/version @@ -0,0 +1 @@ +2.18 1 diff --git a/main/jack2/PKGBUILD b/main/jack2/PKGBUILD new file mode 100644 index 00000000..daa9d68e --- /dev/null +++ b/main/jack2/PKGBUILD @@ -0,0 +1,117 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=jack2 +pkgname=(jack2 jack2-dbus jack2-docs) +pkgdesc="The JACK low-latency audio server" +pkgver=%version% +_commit=80149e552b56d6d57d754dc04d119b8170d27313 # refs/tags/v1.9.22 +pkgrel=%release% +arch=(x86_64) +url="https://github.com/jackaudio/jack2" +license=(GPL2) +makedepends=(alsa-lib db5.3 dbus doxygen expat git libffado libsamplerate opus systemd waf) +# jack breaks when built with LTO: https://github.com/jackaudio/jack2/issues/485 +options=(!lto) +source=( + git+$url#tag=$_commit?signed + $pkgbase-1.9.22-db-5.3.patch +) +validpgpkeys=('62B11043D2F6EB6672D93103CDBAA37ABC74FBA0') # falkTX +sha512sums=('SKIP' + 'f5a5abaf6a0c0a7326b60b8bfe2eff84251d27037cfec7e6dc3194c7ceb296290779fdb26dca188cfbcf49f0a8a62707506584a1f7b0ed36c39f8a794154c4eb') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + patch -Np1 -d $pkgbase -i ../$pkgbase-1.9.22-db-5.3.patch + + # remove custom waflib, as we are using system provided waf + rm -rv $pkgbase/waflib +} + +build() { + local waf_options=( + --prefix=/usr + --htmldir=/usr/share/doc/$pkgbase/html + --autostart=none + --doxygen=yes + --systemd-unit + --classic + --dbus + ) + + cd $pkgbase + export CXXFLAGS="$CXXFLAGS -I/usr/include/db5.3" + export LDFLAGS="$LDFLAGS -ldb-5.3" + export LINKFLAGS="$LDFLAGS" + export PYTHONPATH="$PWD:$PYTHONPATH" + waf configure "${waf_options[@]}" + waf build +} + +package_jack2() { + license+=(LGPL2.1) + depends=( + alsa-lib libasound.so + db5.3 + dbus libdbus-1.so + gcc-libs + glibc + libsamplerate libsamplerate.so + opus libopus.so + systemd-libs libsystemd.so + ) + optdepends=( + 'a2jmidid: for ALSA MIDI to JACK MIDI bridging' + 'libffado: for firewire support using FFADO' + 'jack-example-tools: for official JACK example-clients and tools' + 'jack2-dbus: for dbus integration' + 'jack2-docs: for developer documentation' + 'realtime-privileges: for realtime privileges' + ) + conflicts=(jack) + provides=(jack libjack.so libjacknet.so libjackserver.so) + + cd $pkgbase + export PYTHONPATH="$PWD:$PYTHONPATH" + waf install --destdir="$pkgdir" + + ( + cd $pkgdir + + _pick jack2-dbus usr/bin/jack{dbus,_control} + _pick jack2-dbus usr/share/dbus-1/services/* + _pick jack2-docs usr/share/doc/$pkgbase/html + ) +} + +package_jack2-dbus() { + pkgdesc+=" (dbus integration)" + depends=( + dbus libdbus-1.so + expat libexpat.so + gcc-libs + glibc + jack2 libjackserver.so + python-dbus + ) + + mv -v jack2-dbus/* "$pkgdir" +} + +package_jack2-docs() { + pkgdesc+=" (documentation)" + + mv -v jack2-docs/* "$pkgdir" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/jack2/README b/main/jack2/README new file mode 100644 index 00000000..d21306f7 --- /dev/null +++ b/main/jack2/README @@ -0,0 +1,43 @@ +jack2 +________________________________________________________________________________ + +The JACK low-latency audio server The JACK low-latency audio server (dbus integration) The JACK low-latency audio server (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S jack2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/jackaudio/jack2 diff --git a/main/jack2/jack2-1.9.22-db-5.3.patch b/main/jack2/jack2-1.9.22-db-5.3.patch new file mode 100644 index 00000000..25fce344 --- /dev/null +++ b/main/jack2/jack2-1.9.22-db-5.3.patch @@ -0,0 +1,15 @@ +diff --git i/wscript w/wscript +index 86eb3954..bdd29dc3 100644 +--- i/wscript ++++ w/wscript +@@ -199,8 +199,8 @@ def options(opt): + db = opt.add_auto_option( + 'db', + help='Use Berkeley DB (metadata)') +- db.check(header_name='db.h') +- db.check(lib='db') ++ db.check(header_name='db5.3/db.h') ++ db.check(lib='db-5.3') + + # dbus options + opt.recurse('dbus') diff --git a/main/jack2/version b/main/jack2/version new file mode 100644 index 00000000..4f258c83 --- /dev/null +++ b/main/jack2/version @@ -0,0 +1 @@ +1.9.22 1 diff --git a/main/jansson/.PKGINFO b/main/jansson/.PKGINFO new file mode 100644 index 00000000..7536bbce --- /dev/null +++ b/main/jansson/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = jansson +pkgbase = jansson +xdata = pkgtype=pkg +pkgver = 2.14-4 +pkgdesc = C library for encoding, decoding and manipulating JSON data +url = https://www.digip.org/jansson/ +builddate = 1715045228 +packager = Developer +size = 192393 +arch = x86_64 +license = MIT +depend = glibc diff --git a/main/jansson/PKGBUILD b/main/jansson/PKGBUILD new file mode 100644 index 00000000..55c29643 --- /dev/null +++ b/main/jansson/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=jansson +pkgver=%version% +pkgrel=%release% +pkgdesc='C library for encoding, decoding and manipulating JSON data' +arch=('x86_64') +url='https://www.digip.org/jansson/' +depends=('glibc') +license=('MIT') +options=('staticlibs') +source=("https://github.com/akheron/jansson/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz"{,.asc}) +sha256sums=('5798d010e41cf8d76b66236cfb2f2543c8d082181d16bc3085ab49538d4b9929' + 'SKIP') +validpgpkeys=('B5D6953E6D5059ED7ADA0F2FD3657D24D058434C') # Petri Lehtinen + +build() { + cd "$srcdir/$pkgname-$pkgver" + CFLAGS+=' -ffat-lto-objects' \ + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/jansson/README b/main/jansson/README new file mode 100644 index 00000000..4d3752c7 --- /dev/null +++ b/main/jansson/README @@ -0,0 +1,43 @@ +jansson +________________________________________________________________________________ + +C library for encoding, decoding and manipulating JSON data + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S jansson | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.digip.org/jansson/ diff --git a/main/jansson/version b/main/jansson/version new file mode 100644 index 00000000..03def977 --- /dev/null +++ b/main/jansson/version @@ -0,0 +1 @@ +2.14 4 diff --git a/main/jbigkit/.PKGINFO b/main/jbigkit/.PKGINFO new file mode 100644 index 00000000..2b4bc413 --- /dev/null +++ b/main/jbigkit/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = jbigkit +pkgbase = jbigkit +xdata = pkgtype=pkg +pkgver = 2.1-8 +pkgdesc = Data compression library/utilities for bi-level high-resolution images +url = https://www.cl.cam.ac.uk/~mgk25/jbigkit/ +builddate = 1715303102 +packager = Developer +size = 170745 +arch = x86_64 +license = GPL-2.0-or-later +depend = glibc diff --git a/main/jbigkit/PKGBUILD b/main/jbigkit/PKGBUILD new file mode 100644 index 00000000..2565e349 --- /dev/null +++ b/main/jbigkit/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=jbigkit +pkgver=%version% +pkgrel=%release% +pkgdesc="Data compression library/utilities for bi-level high-resolution images" +arch=(x86_64) +url="https://www.cl.cam.ac.uk/~mgk25/jbigkit/" +license=(GPL-2.0-or-later) +depends=(glibc) +provides=( + libjbig85.so + libjbig.so +) +source=( + https://www.cl.cam.ac.uk/~mgk25/download/$pkgname-$pkgver.tar.gz + $pkgname-2.1-shared_lib.patch + $pkgname-2.1-build_warnings.patch + $pkgname-2.1-ldflags.patch + $pkgname-2.1-coverity.patch +) +sha512sums=('c4127480470ef90db1ef3bd2caa444df10b50ed8df0bc9997db7612cb48b49278baf44965028f1807a21028eb965d677e015466306b44683c4ec75a23e1922cf' + '9f46ee24f8b5eb57935c9b2cd9bd3d61b422c2352143c59a68adee8880511dd0bba0a057f0ed070dd0111c9eb0504df060343261c824c5a5734c06a1aedb14c8' + '9be32ccec414de5c5de7d508ff14e1f1f3a40f81a2de252ca66e0f2844a8546d353d6a7abe36895ac798816165b2c5d8a9d043ea3f0c832fecdd9170dd6f92bf' + 'fb0c1f35ba5469dd4f7f6bd2a933d3484191d2ecd8367ea865fd2396bc99825b3afa7fcd09fbf8e841acbf92ed01cf743a83df7991e7e03f9e6cf8fbe0925ae6' + '10f4f154c4f824c9361266f27bea231b35ed4cac680587c8659b6e12c0c06141f04a22cf72dd847abcb833578d25dfe5142d10d757f8c14c70d943c8eb3d5612') +b2sums=('7bd82f0e10a2d3794739ee85b77c5407d58753a00e014e937735f9af3043347de88a6e567609bc26de488887a6d61b0a162387fb72732b9be7e550e3f9b9539e' + '52c5f7384f499e15a636b8e0089153750ac02da4ac850260a3243ee06d1194133f1264abc3457e52c5a15ee1a4bfad0b31042975d80273bf741b75e634845745' + '6114609e5186e5fae1678de00f8c7336970c18923d3d3c01fbc431e95387bfe5696fe7914947ea3903c972eb54dfd24efe0d9ac3c7f4512de26f6ab138ce590c' + 'a8e36381543c0f701a589c115577da2509f02f3002926ab86b62e29e9f8a12db65b5d56387a61aa7a053e49d59e79e968c477ce096c73aa24ad3f94e28dff6b5' + '2650020ba8ef433a3b935917297c034f01f0296a2a7c9c23c47521b823cc79ac32df8a3695f57e885b91604b138fedc1fcfea1cda8d2a79e9fd3c9680f0c06a8') + +prepare() { + # instead of a static library, create a shared library + patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-2.1-shared_lib.patch + # fix build warnings + patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-2.1-build_warnings.patch + # apply distribution LDFLAGS + patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-2.1-ldflags.patch + # fix coverity issues + patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-2.1-coverity.patch +} + +build() { + export EXTRA_CFLAGS="$CFLAGS" + make -C $pkgname-$pkgver +} + +check() { + # NOTE: tests can not be parallelized + make test -C $pkgname-$pkgver -j1 +} + +package() { + cd $pkgname-$pkgver + install -vDm 644 libjbig/*.h -t "$pkgdir/usr/include/" + install -vDm 755 libjbig/*.so.* -t "$pkgdir/usr/lib/" + for lib in libjbig.so libjbig85.so; do + ln -sv "$lib.$pkgver" "$pkgdir/usr/lib/$lib" + done + install -vDm 755 pbmtools/{jbgtopbm{,85},pbmtojbg{,85}} -t "$pkgdir/usr/bin/" + install -vDm 644 pbmtools/*.1* -t "$pkgdir/usr/share/man/man1/" +} diff --git a/main/jbigkit/README b/main/jbigkit/README new file mode 100644 index 00000000..bbb1a947 --- /dev/null +++ b/main/jbigkit/README @@ -0,0 +1,43 @@ +jbigkit +________________________________________________________________________________ + +Data compression library/utilities for bi-level high-resolution images + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S jbigkit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.cl.cam.ac.uk/~mgk25/jbigkit/ diff --git a/main/jbigkit/jbigkit-2.1-build_warnings.patch b/main/jbigkit/jbigkit-2.1-build_warnings.patch new file mode 100644 index 00000000..9d2008da --- /dev/null +++ b/main/jbigkit/jbigkit-2.1-build_warnings.patch @@ -0,0 +1,77 @@ +diff -up jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings jbigkit-2.1/pbmtools/pbmtojbg85.c +--- jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings 2008-08-26 00:26:39.000000000 +0200 ++++ jbigkit-2.1/pbmtools/pbmtojbg85.c 2012-07-17 16:24:56.741332942 +0200 +@@ -72,9 +72,12 @@ static unsigned long getint(FILE *f) + while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ; + if (c != EOF) { + ungetc(c, f); +- fscanf(f, "%lu", &i); ++ if (fscanf(f, "%lu", &i) != 1) { ++ /* should never fail, since c must be a digit */ ++ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c); ++ exit(1); ++ } + } +- + return i; + } + +@@ -239,7 +242,9 @@ int main (int argc, char **argv) + break; + case '4': + /* PBM raw binary format */ +- fread(next_line, bpl, 1, fin); ++ if (fread(next_line, bpl, 1, fin) != 1) { ++ /* silence compiler warnings; ferror/feof checked below */ ++ } + break; + default: + fprintf(stderr, "Unsupported PBM type P%c!\n", type); +diff -up jbigkit-2.1/pbmtools/pbmtojbg.c.warnings jbigkit-2.1/pbmtools/pbmtojbg.c +--- jbigkit-2.1/pbmtools/pbmtojbg.c.warnings 2008-07-16 22:59:41.000000000 +0200 ++++ jbigkit-2.1/pbmtools/pbmtojbg.c 2012-07-17 16:23:46.584285686 +0200 +@@ -88,7 +88,11 @@ static unsigned long getint(FILE *f) + while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ; + if (c != EOF) { + ungetc(c, f); +- fscanf(f, "%lu", &i); ++ if (fscanf(f, "%lu", &i) != 1) { ++ /* should never fail, since c must be a digit */ ++ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c); ++ exit(1); ++ } + } + + return i; +@@ -302,7 +306,9 @@ int main (int argc, char **argv) + break; + case '4': + /* PBM raw binary format */ +- fread(bitmap[0], bitmap_size, 1, fin); ++ if (fread(bitmap[0], bitmap_size, 1, fin) != 1) { ++ /* silence compiler warnings; ferror/feof checked below */ ++ } + break; + case '2': + case '5': +@@ -314,8 +320,18 @@ int main (int argc, char **argv) + for (j = 0; j < bpp; j++) + image[x * bpp + (bpp - 1) - j] = v >> (j * 8); + } +- } else +- fread(image, width * height, bpp, fin); ++ } else { ++ if (fread(image, width * height, bpp, fin) != (size_t) bpp) { ++ if (ferror(fin)) { ++ fprintf(stderr, "Problem while reading input file '%s", fnin); ++ perror("'"); ++ exit(1); ++ } else { ++ fprintf(stderr, "Unexpected end of input file '%s'!\n", fnin); ++ exit(1); ++ } ++ } ++ } + jbg_split_planes(width, height, planes, encode_planes, image, bitmap, + use_graycode); + free(image); diff --git a/main/jbigkit/jbigkit-2.1-coverity.patch b/main/jbigkit/jbigkit-2.1-coverity.patch new file mode 100644 index 00000000..22282b90 --- /dev/null +++ b/main/jbigkit/jbigkit-2.1-coverity.patch @@ -0,0 +1,30 @@ +diff --git a/libjbig/jbig.c b/libjbig/jbig.c +index 751ceff..3c76e07 100644 +--- a/libjbig/jbig.c ++++ b/libjbig/jbig.c +@@ -889,7 +889,7 @@ void jbg_enc_options(struct jbg_enc_state *s, int order, int options, + if (order >= 0 && order <= 0x0f) s->order = order; + if (options >= 0) s->options = options; + if (l0 > 0) s->l0 = l0; +- if (mx >= 0 && my < 128) s->mx = mx; ++ if (mx >= 0 && mx < 128) s->mx = mx; + if (my >= 0 && my < 256) s->my = my; + + return; +diff --git a/pbmtools/Makefile b/pbmtools/Makefile +index 85e1783..6ae2d33 100644 +--- a/pbmtools/Makefile ++++ b/pbmtools/Makefile +@@ -56,9 +56,9 @@ test82: pbmtojbg jbgtopbm + make IMG=sandra "OPTIONSP=-o 2" OPTIONSJ= dotest2g + make IMG=multi OPTIONSP= OPTIONSJ= dotest2g + make IMG=multi OPTIONSP=-b OPTIONSJ=-b dotest2g +- make IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest1 +- make IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest2b +- make IMG=mx "OPTIONSP=-q -s 3 -m 128 -p 92" dotest2b ++ make IMG=mx "OPTIONSP=-q -s 3 -m 127" dotest1 ++ make IMG=mx "OPTIONSP=-q -s 3 -m 127" dotest2b ++ make IMG=mx "OPTIONSP=-q -s 3 -m 127 -p 92" dotest2b + make IMG=mx "OPTIONSP=-q -Y -1" dotest2b + make IMG=mx "OPTIONSP=-Y -1" dotest2b + rm -f test-*.jbg test-*.pbm test-*.pgm diff --git a/main/jbigkit/jbigkit-2.1-ldflags.patch b/main/jbigkit/jbigkit-2.1-ldflags.patch new file mode 100644 index 00000000..3d24f693 --- /dev/null +++ b/main/jbigkit/jbigkit-2.1-ldflags.patch @@ -0,0 +1,51 @@ +diff -up jbigkit-2.1/libjbig/Makefile.ldflags jbigkit-2.1/libjbig/Makefile +--- jbigkit-2.1/libjbig/Makefile.ldflags 2018-02-27 17:50:15.786038149 +0100 ++++ jbigkit-2.1/libjbig/Makefile 2018-02-27 17:55:44.042093437 +0100 +@@ -10,19 +10,19 @@ PICFLAGS := -fPIC -DPIC + all: libjbig.so.$(VERSION) tstcodec tstcodec85 + + tstcodec: tstcodec.o libjbig.so +- $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig ++ $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig $(LDFLAGS) + + tstcodec85: tstcodec85.o libjbig85.so +- $(CC) $(CFLAGS) -o tstcodec85 $< -L. -ljbig85 ++ $(CC) $(CFLAGS) -o tstcodec85 $< -L. -ljbig85 $(LDFLAGS) + + %.so: %.so.$(VERSION) + ln -sf $< $@ + + libjbig.so.$(VERSION): jbig.o jbig_ar.o +- $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ + + libjbig85.so.$(VERSION): jbig85.o jbig_ar.o +- $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ + + jbig.o jbig85.o jbig_ar.o: CFLAGS += $(PICFLAGS) + +diff -up jbigkit-2.1/pbmtools/Makefile.ldflags jbigkit-2.1/pbmtools/Makefile +--- jbigkit-2.1/pbmtools/Makefile.ldflags 2018-02-27 17:50:35.902857687 +0100 ++++ jbigkit-2.1/pbmtools/Makefile 2018-02-27 17:57:09.296328639 +0100 +@@ -15,16 +15,16 @@ all: pbmtojbg jbgtopbm pbmtojbg85 jbgtop + txt: pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt + + pbmtojbg: pbmtojbg.o ../libjbig/libjbig.so +- $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig ++ $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig $(LDFLAGS) + + jbgtopbm: jbgtopbm.o ../libjbig/libjbig.so +- $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig ++ $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig $(LDFLAGS) + + pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.so +- $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85 ++ $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85 $(LDFLAGS) + + jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.so +- $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85 ++ $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85 $(LDFLAGS) + + jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h + pbmtojbg.o: pbmtojbg.c ../libjbig/jbig.h diff --git a/main/jbigkit/jbigkit-2.1-shared_lib.patch b/main/jbigkit/jbigkit-2.1-shared_lib.patch new file mode 100644 index 00000000..00db81f3 --- /dev/null +++ b/main/jbigkit/jbigkit-2.1-shared_lib.patch @@ -0,0 +1,160 @@ +diff -Naur jbigkit-2.1.old/libjbig/Makefile jbigkit-2.1/libjbig/Makefile +--- jbigkit-2.1.old/libjbig/Makefile 2014-03-27 19:47:15.000000000 +0100 ++++ jbigkit-2.1/libjbig/Makefile 2014-08-04 10:45:31.865773710 +0200 +@@ -4,25 +4,27 @@ + CC = gcc + + # Options for the compiler: A high optimization level is suggested +-CFLAGS = -g -O -W -Wall -ansi -pedantic # --coverage ++CFLAGS = $(EXTRA_CFLAGS) -W -Wall -ansi -pedantic # --coverage ++PICFLAGS := -fPIC -DPIC + +-all: libjbig.a libjbig85.a tstcodec tstcodec85 ++all: libjbig.so.$(VERSION) tstcodec tstcodec85 + +-tstcodec: tstcodec.o jbig.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec tstcodec.o jbig.o jbig_ar.o ++tstcodec: tstcodec.o libjbig.so ++ $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig + +-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec85 tstcodec85.o jbig85.o jbig_ar.o ++tstcodec85: tstcodec85.o libjbig85.so ++ $(CC) $(CFLAGS) -o tstcodec85 $< -L. -ljbig85 + +-libjbig.a: jbig.o jbig_ar.o +- rm -f libjbig.a +- ar rc libjbig.a jbig.o jbig_ar.o +- -ranlib libjbig.a ++%.so: %.so.$(VERSION) ++ ln -sf $< $@ + +-libjbig85.a: jbig85.o jbig_ar.o +- rm -f libjbig85.a +- ar rc libjbig85.a jbig85.o jbig_ar.o +- -ranlib libjbig85.a ++libjbig.so.$(VERSION): jbig.o jbig_ar.o ++ $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ ++libjbig85.so.$(VERSION): jbig85.o jbig_ar.o ++ $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ ++jbig.o jbig85.o jbig_ar.o: CFLAGS += $(PICFLAGS) + + jbig.o: jbig.c jbig.h jbig_ar.h + jbig85.o: jbig85.c jbig85.h jbig_ar.h +@@ -43,11 +45,11 @@ + clang --analyze *.c + + test: tstcodec tstcodec85 +- ./tstcodec +- ./tstcodec85 ++ LD_LIBRARY_PATH=`pwd` ./tstcodec ++ LD_LIBRARY_PATH=`pwd` ./tstcodec85 + + t82test.pbm: tstcodec +- ./tstcodec $@ ++ LD_LIBRARY_PATH=`pwd` ./tstcodec $@ + + clean: + rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm +diff -Naur jbigkit-2.1.old/Makefile jbigkit-2.1/Makefile +--- jbigkit-2.1.old/Makefile 2014-03-27 19:47:15.000000000 +0100 ++++ jbigkit-2.1/Makefile 2014-08-04 10:52:09.242027746 +0200 +@@ -4,25 +4,26 @@ + CC = gcc + + # Options for the compiler: A high optimization level is suggested +-CFLAGS = -O2 -W -Wno-unused-result ++CFLAGS = $(EXTRA_CFLAGS) -W -Wno-unused-result + # CFLAGS = -O -g -W -Wall -Wno-unused-result -ansi -pedantic # -DDEBUG + + export CC CFLAGS + + VERSION=2.1 ++export VERSION + + all: lib pbm + @echo "Enter 'make test' in order to start some automatic tests." + + lib: +- cd libjbig && $(MAKE) -e ++ make -C libjbig + + pbm: lib +- cd pbmtools && $(MAKE) -e ++ make -C pbmtools + + test: lib pbm +- cd libjbig && $(MAKE) test +- cd pbmtools && $(MAKE) test ++ LD_LIBRARY_PATH=`pwd`/libjbig make -C libjbig test ++ LD_LIBRARY_PATH=`pwd`/libjbig make -C pbmtools test + + analyze: + cd libjbig && $(MAKE) analyze +@@ -30,8 +31,8 @@ + + clean: + rm -f *~ core +- cd libjbig && $(MAKE) clean +- cd pbmtools && $(MAKE) clean ++ make -C libjbig clean ++ make -C pbmtools clean + + distribution: + rm -rf jbigkit-$(VERSION) +diff -Naur jbigkit-2.1.old/pbmtools/Makefile jbigkit-2.1/pbmtools/Makefile +--- jbigkit-2.1.old/pbmtools/Makefile 2014-03-27 19:47:15.000000000 +0100 ++++ jbigkit-2.1/pbmtools/Makefile 2014-08-04 10:49:47.694581174 +0200 +@@ -4,26 +4,26 @@ + CC = gcc + + # Options for the compiler +-CFLAGS = -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage ++CFLAGS = $(EXTRA_CFLAGS) -W -Wall -Wno-unused-result -ansi -pedantic # --coverage + CPPFLAGS = -I../libjbig + + .SUFFIXES: .1 .5 .txt $(SUFFIXES) + .PHONY: txt test test82 test85 clean + +-all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 txt ++all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 # txt + + txt: pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt + +-pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a ++pbmtojbg: pbmtojbg.o ../libjbig/libjbig.so + $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig + +-jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a ++jbgtopbm: jbgtopbm.o ../libjbig/libjbig.so + $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig + +-pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a ++pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.so + $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85 + +-jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a ++jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.so + $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85 + + jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h +@@ -31,13 +31,13 @@ + jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h + pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h + +-../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \ ++../libjbig/libjbig.so: ../libjbig/jbig.c ../libjbig/jbig.h \ + ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h +- make -C ../libjbig libjbig.a ++ make -C ../libjbig libjbig.so + +-../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \ ++../libjbig/libjbig85.so: ../libjbig/jbig85.c ../libjbig/jbig85.h \ + ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h +- make -C ../libjbig libjbig85.a ++ make -C ../libjbig libjbig85.so + + analyze: + clang $(CPPFLAGS) --analyze *.c diff --git a/main/jbigkit/version b/main/jbigkit/version new file mode 100644 index 00000000..4b5f9265 --- /dev/null +++ b/main/jbigkit/version @@ -0,0 +1 @@ +2.1 8 diff --git a/main/jemalloc/.PKGINFO b/main/jemalloc/.PKGINFO new file mode 100644 index 00000000..9a1c0273 --- /dev/null +++ b/main/jemalloc/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = jemalloc +pkgbase = jemalloc +xdata = pkgtype=pkg +pkgver = 1:5.3.0-4 +pkgdesc = General-purpose scalable concurrent malloc implementation +url = http://www.canonware.com/jemalloc/ +builddate = 1715045229 +packager = Developer +size = 2478128 +arch = x86_64 +license = BSD +provides = libjemalloc.so=2-64 +depend = glibc +optdepend = perl: for jeprof +makedepend = clang diff --git a/main/jemalloc/PKGBUILD b/main/jemalloc/PKGBUILD new file mode 100644 index 00000000..222a1291 --- /dev/null +++ b/main/jemalloc/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=jemalloc +epoch=1 +pkgver=%version% +pkgrel=%release% +pkgdesc='General-purpose scalable concurrent malloc implementation' +arch=('x86_64') +license=('BSD') +url='http://www.canonware.com/jemalloc/' +depends=('glibc') +makedepends=('clang') +options=('!lto') +provides=('libjemalloc.so') +optdepends=('perl: for jeprof') +source=("https://github.com/jemalloc/jemalloc/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.bz2") +sha256sums=('2db82d1e7119df3e71b7640219b6dfe84789bc0537983c3b7ac4f7189aecfeaa') + +build() { + cd $pkgname-$pkgver + + # FS#71745: GCC-built jemalloc causes telegram-desktop to crash a lot. The reason is still not clear. + export CC=clang + export CXX=clang++ + + ./configure \ + --enable-prof \ + --enable-autogen \ + --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + chmod 644 "$pkgdir/usr/lib/libjemalloc_pic.a" +} diff --git a/main/jemalloc/README b/main/jemalloc/README new file mode 100644 index 00000000..789a7333 --- /dev/null +++ b/main/jemalloc/README @@ -0,0 +1,43 @@ +jemalloc +________________________________________________________________________________ + +General-purpose scalable concurrent malloc implementation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S jemalloc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.canonware.com/jemalloc/ diff --git a/main/jemalloc/version b/main/jemalloc/version new file mode 100644 index 00000000..16ce59ec --- /dev/null +++ b/main/jemalloc/version @@ -0,0 +1 @@ +1:5.3.0 4 diff --git a/main/jfsutils/PKGBUILD b/main/jfsutils/PKGBUILD new file mode 100644 index 00000000..e9b4fc07 --- /dev/null +++ b/main/jfsutils/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=jfsutils +pkgver=%version% +pkgrel=%release% +pkgdesc='JFS filesystem utilities' +url='http://jfs.sourceforge.net' +arch=('x86_64') +license=('GPL-3.0-or-later') +depends=('util-linux') +source=("http://jfs.sourceforge.net/project/pub/${pkgname}-${pkgver}.tar.gz" + 'jfsutils-1.1.15-missing-includes.patch' + 'jfsutils-1.1.15-sysmacros.patch' + 'jfsutils-1.1.15-gcc10.patch' + 'jfsutils-1.1.15-format-security-errors.patch') +sha256sums=('244a15f64015ce3ea17e49bdf6e1a0fb4f9af92b82fa9e05aa64cb30b5f07a4d' + '467f43ad5be91f57c01b3171b71d3c079f45d150290b02b06ebd32c6b22f5e2c' + 'fd1a4e794a3bf2ebdb4b81f582e147655d70aadd59689aacea0ccc32c6381a28' + '491c8e4b4d95cc296e4b87b730e252ce37dafbabaae48aa653ae002df26266f2' + '40e3ee196b139fec46b2df6047c2f052e7630d9c9e6669d4f70ca478165bc054') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../jfsutils-1.1.15-missing-includes.patch + patch -p1 -i ../jfsutils-1.1.15-sysmacros.patch + patch -p1 -i ../jfsutils-1.1.15-gcc10.patch + patch -p1 -i ../jfsutils-1.1.15-format-security-errors.patch +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/jfsutils/README b/main/jfsutils/README new file mode 100644 index 00000000..a3b61ba6 --- /dev/null +++ b/main/jfsutils/README @@ -0,0 +1,43 @@ +jfsutils +________________________________________________________________________________ + +JFS filesystem utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S jfsutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://jfs.sourceforge.net diff --git a/main/jfsutils/inttypes.patch b/main/jfsutils/inttypes.patch new file mode 100644 index 00000000..2018bb8a --- /dev/null +++ b/main/jfsutils/inttypes.patch @@ -0,0 +1,12 @@ +diff -Naur old/libfs/devices.h new/libfs/devices.h +--- old/libfs/devices.h 2005-11-23 07:43:55.000000000 +1100 ++++ new/libfs/devices.h 2013-01-06 11:30:25.381538024 +1100 +@@ -40,6 +40,8 @@ + #define ERROR_INVALID_PARAMETER 87 + #define ERROR_DISK_FULL 112 + ++#include ++ + struct stat; + + int ujfs_get_dev_size(FILE *, int64_t * size); diff --git a/main/jfsutils/jfsutils-1.1.15-format-security-errors.patch b/main/jfsutils/jfsutils-1.1.15-format-security-errors.patch new file mode 100644 index 00000000..ce36f65b --- /dev/null +++ b/main/jfsutils/jfsutils-1.1.15-format-security-errors.patch @@ -0,0 +1,37 @@ +--- a/fscklog/display.c ++++ b/fscklog/display.c +@@ -182,7 +182,7 @@ void dump_service_log() + } else { + /* the record looks ok */ + msg_txt = &log_entry[log_entry_pos]; +- printf(msg_txt); ++ printf("%s", msg_txt); + /* + * set up for the next record + */ +--- a/fscklog/fscklog.c ++++ b/fscklog/fscklog.c +@@ -252,8 +252,8 @@ int v_send_msg(int msg_num, const char *file_name, int line_number, ...) { + + sprintf(debug_detail, " [%s:%d]\n", basename(file_name), line_number); + +- printf(msg_string); +- printf(debug_detail); ++ printf("%s", msg_string); ++ printf("%s", debug_detail); + + return 0; + } +--- a/logdump/helpers.c ++++ b/logdump/helpers.c +@@ -95,8 +95,8 @@ int v_fsck_send_msg(int msg_num, const char *file_name, int line_number, ...) { + + sprintf(debug_detail, " [%s:%d]\n", file_name, line_number); + +- printf(msg_string); +- printf(debug_detail); ++ printf("%s", msg_string); ++ printf("%s", debug_detail); + + return 0; + } diff --git a/main/jfsutils/jfsutils-1.1.15-gcc10.patch b/main/jfsutils/jfsutils-1.1.15-gcc10.patch new file mode 100644 index 00000000..711c7c30 --- /dev/null +++ b/main/jfsutils/jfsutils-1.1.15-gcc10.patch @@ -0,0 +1,74 @@ +Submitted By: Pierre Labastie +Date: 2020-05-21 +Initial Package Version: 1.1.15 +Upstream Status: Unknown (no development since 2011) +Origin: self, adapted from opensuse +Description: Fixes building with GCC 10 + +--- jfsutils-1.1.15.old/fscklog/display.c 2005-11-22 21:43:54.000000000 +0100 ++++ jfsutils-1.1.15.new/fscklog/display.c 2020-05-21 18:15:13.410617620 +0200 +@@ -54,7 +54,7 @@ + * output: fsck extracted service log I/O buffer + * + */ +-char xchklog_buffer[XCHKLOG_BUFSIZE]; ++static char xchklog_buffer[XCHKLOG_BUFSIZE]; + + /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * +diff -ur --exclude '*.o' --exclude '*.a' jfsutils-1.1.15.old/libfs/logredo.c jfsutils-1.1.15.new/libfs/logredo.c +--- jfsutils-1.1.15.old/libfs/logredo.c 2005-11-22 21:43:55.000000000 +0100 ++++ jfsutils-1.1.15.new/libfs/logredo.c 2020-05-21 18:19:44.927703271 +0200 +@@ -87,9 +87,9 @@ + * S T U F F F O R T H E L O G + * + */ +-struct logsuper logsup; /* log super block */ +-int32_t numdoblk; /* number of do blocks used */ +-int32_t numnodofile; /* number of nodo file blocks used */ ++static struct logsuper logsup; /* log super block */ ++static int32_t numdoblk; /* number of do blocks used */ ++static int32_t numnodofile; /* number of nodo file blocks used */ + int32_t numExtDtPg = 0; /* number of extended dtpage blocks used */ + + /* +@@ -129,7 +129,7 @@ + */ + + /* buffer header table */ +-struct bufhdr { ++static struct bufhdr { + int16_t next; /* 2: next on free/lru list */ + int16_t prev; /* 2: previous on free/lru list */ + int16_t hnext; /* 2: next on hash chain */ +@@ -142,7 +142,7 @@ + } bufhdr[NBUFPOOL]; /* (24) */ + + /* buffer table */ +-struct bufpool { ++static struct bufpool { + char bytes[PSIZE]; + } buffer[NBUFPOOL - 1]; + +@@ -151,15 +151,16 @@ + * + * log has its own 4 page buffer pool. + */ +-uint8_t afterdata[LOGPSIZE * 2]; /* buffer to read in redopage data */ ++static uint8_t afterdata[LOGPSIZE * 2]; /* buffer to read in redopage data */ + + /* + * Miscellaneous + */ +-caddr_t prog; /* Program name */ +-int32_t mntcnt, bufsize; +-char *mntinfo; +-int32_t retcode; /* return code from logredo */ ++static caddr_t prog; /* Program name */ ++extern int32_t mntcnt; ++static int32_t bufsize; ++static char *mntinfo; ++static int32_t retcode; /* return code from logredo */ + int end_of_transaction = 0; + + /* diff --git a/main/jfsutils/jfsutils-1.1.15-missing-includes.patch b/main/jfsutils/jfsutils-1.1.15-missing-includes.patch new file mode 100644 index 00000000..cc2ec36b --- /dev/null +++ b/main/jfsutils/jfsutils-1.1.15-missing-includes.patch @@ -0,0 +1,17 @@ +Description: Add missing include to fix FTBFS with eglibc 2.17 +Origin: vendor, http://patches.ubuntu.com/j/jfsutils/jfsutils_1.1.15-2ubuntu1.patch +Bug-Debian: http://bugs.debian.org/701433 +Last-Update: 2013-07-05 + +Index: b/fscklog/extract.c +=================================================================== +--- a/fscklog/extract.c 2006-06-05 19:31:40.000000000 +0000 ++++ b/fscklog/extract.c 2013-04-02 07:13:08.737654963 +0000 +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include "devices.h" + #include "diskmap.h" diff --git a/main/jfsutils/jfsutils-1.1.15-sysmacros.patch b/main/jfsutils/jfsutils-1.1.15-sysmacros.patch new file mode 100644 index 00000000..82f9d632 --- /dev/null +++ b/main/jfsutils/jfsutils-1.1.15-sysmacros.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/580056 + +--- a/libfs/devices.c ++++ b/libfs/devices.c +@@ -30,6 +30,10 @@ + #include + #include + ++#if HAVE_SYS_SYSMACROS_H ++#include ++#endif ++ + #ifdef HAVE_SYS_MOUNT_H + #ifdef HAVE_SYS_PARAM_H + #include diff --git a/main/jfsutils/sysmacros.patch b/main/jfsutils/sysmacros.patch new file mode 100644 index 00000000..82f9d632 --- /dev/null +++ b/main/jfsutils/sysmacros.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/580056 + +--- a/libfs/devices.c ++++ b/libfs/devices.c +@@ -30,6 +30,10 @@ + #include + #include + ++#if HAVE_SYS_SYSMACROS_H ++#include ++#endif ++ + #ifdef HAVE_SYS_MOUNT_H + #ifdef HAVE_SYS_PARAM_H + #include diff --git a/main/jfsutils/version b/main/jfsutils/version new file mode 100644 index 00000000..ba593b06 --- /dev/null +++ b/main/jfsutils/version @@ -0,0 +1 @@ +1.1.15 9 diff --git a/main/json-c/PKGBUILD b/main/json-c/PKGBUILD new file mode 100644 index 00000000..b79ec16a --- /dev/null +++ b/main/json-c/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=json-c +pkgver=%version% +pkgrel=%release% +pkgdesc="A JSON implementation in C" +url="https://github.com/json-c/json-c/wiki" +license=(MIT) +arch=(x86_64) +depends=( + glibc +) +makedepends=( + cmake + git + ninja +) +provides=(libjson-c.so) +_commit=b4c371fa0cbc4dcbaccc359ce9e957a22988fb34 # tags/json-c-0.17-20230812^0 +source=("git+https://github.com/json-c/json-c#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd json-c + local tag="$(git describe --tags --abbrev=0)" + local ver="$(git describe --tags)" + echo "${tag%-*}${ver#$tag}" | sed 's/^json-c-//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd json-c +} + +build() { + local cmake_options=( + -DCMAKE_BUILD_TYPE=None + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_LIBDIR=/usr/lib + -DBUILD_STATIC_LIBS=OFF + -DENABLE_THREADING=ON + -DENABLE_RDRAND=OFF + ) + + cmake -S json-c -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +check() { + cd build + ctest --output-on-failure --stop-on-failure -j$(nproc) +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 json-c/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/json-c/README b/main/json-c/README new file mode 100644 index 00000000..ec0c6771 --- /dev/null +++ b/main/json-c/README @@ -0,0 +1,43 @@ +json-c +________________________________________________________________________________ + +A JSON implementation in C + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S json-c | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/json-c/json-c/wiki diff --git a/main/json-c/version b/main/json-c/version new file mode 100644 index 00000000..dc75c933 --- /dev/null +++ b/main/json-c/version @@ -0,0 +1 @@ +0.17 1 diff --git a/main/json-glib/PKGBUILD b/main/json-glib/PKGBUILD new file mode 100644 index 00000000..63ad348c --- /dev/null +++ b/main/json-glib/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=json-glib +pkgname=( + json-glib + json-glib-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="JSON library built on GLib" +url="https://wiki.gnome.org/Projects/JsonGlib" +arch=(x86_64) +license=(GPL) +depends=( + glib2 +) +makedepends=( + docbook-xsl + gi-docgen + git + gobject-introspection + meson +) +_commit=66413437f80f6bd935827eef51dde47c0a114144 # tags/1.8.0-actual^0 +source=("git+https://gitlab.gnome.org/GNOME/json-glib.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd json-glib + git describe --tags | sed 's/-actual//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd json-glib +} + +build() { + local meson_options=( + -D man=true + ) + + arch-meson json-glib build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_json-glib() { + depends+=(libg{lib,object,io}-2.0.so) + provides+=(libjson-glib-1.0.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + rm -r "$pkgdir"/usr/{lib,share}/installed-tests +} + +package_json-glib-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/json-glib/README b/main/json-glib/README new file mode 100644 index 00000000..42434cb9 --- /dev/null +++ b/main/json-glib/README @@ -0,0 +1,43 @@ +json-glib +________________________________________________________________________________ + +JSON library built on GLib JSON library built on GLib (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S json-glib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/JsonGlib diff --git a/main/json-glib/version b/main/json-glib/version new file mode 100644 index 00000000..ab764544 --- /dev/null +++ b/main/json-glib/version @@ -0,0 +1 @@ +1.8.0 1 diff --git a/main/kaccounts-integration/.PKGINFO b/main/kaccounts-integration/.PKGINFO new file mode 100644 index 00000000..ac9728b1 --- /dev/null +++ b/main/kaccounts-integration/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kaccounts-integration +pkgbase = kaccounts-integration +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = Online account management system and its Plasma integration components +url = https://www.kde.org/ +builddate = 1718491531 +packager = Developer +size = 593842 +arch = x86_64 +license = GPL-2.0-or-later +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kio +depend = kirigami +depend = kwallet +depend = libaccounts-qt +depend = qt6-base +depend = signon-kwallet-extension +depend = signon-plugin-oauth2 +depend = signon-ui +depend = signond +optdepend = qt6-declarative: QML plugin +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = qcoro-qt6 diff --git a/main/kaccounts-integration/PKGBUILD b/main/kaccounts-integration/PKGBUILD new file mode 100644 index 00000000..0702c92d --- /dev/null +++ b/main/kaccounts-integration/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kaccounts-integration +pkgver=%version% +pkgrel=%release% +pkgdesc='Online account management system and its Plasma integration components' +arch=(x86_64) +url='https://www.kde.org/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + kdbusaddons + ki18n + kio + kirigami + kwallet + libaccounts-qt + qt6-base + signon-kwallet-extension + signon-plugin-oauth2 + signon-ui + signond) +optdepends=('qt6-declarative: QML plugin') +makedepends=(extra-cmake-modules + kdoctools + qcoro-qt6) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('e568f11a97919c6edd311de93b201b153280393ed17b8e5a1886e9abf0c6e68c' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kaccounts-integration/README b/main/kaccounts-integration/README new file mode 100644 index 00000000..e7a61df7 --- /dev/null +++ b/main/kaccounts-integration/README @@ -0,0 +1,43 @@ +kaccounts-integration +________________________________________________________________________________ + +Online account management system and its Plasma integration components + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kaccounts-integration | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org/ diff --git a/main/kaccounts-integration/version b/main/kaccounts-integration/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/kaccounts-integration/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/kactivitymanagerd/.PKGINFO b/main/kactivitymanagerd/.PKGINFO new file mode 100644 index 00000000..11bd45f7 --- /dev/null +++ b/main/kactivitymanagerd/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kactivitymanagerd +pkgbase = kactivitymanagerd +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = System service to manage user activities and track the usage patterns +url = https://kde.org/plasma-desktop/ +builddate = 1713662698 +packager = Developer +size = 813664 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kglobalaccel +depend = ki18n +depend = kio +depend = kservice +depend = kwindowsystem +depend = kxmlgui +depend = qt6-base +makedepend = boost +makedepend = extra-cmake-modules diff --git a/main/kactivitymanagerd/PKGBUILD b/main/kactivitymanagerd/PKGBUILD new file mode 100644 index 00000000..47074598 --- /dev/null +++ b/main/kactivitymanagerd/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kactivitymanagerd +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='System service to manage user activities and track the usage patterns' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + kcrash + kglobalaccel + ki18n + kio + kservice + kwindowsystem + kxmlgui + qt6-base) +makedepends=(boost + extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('4f92314fc2117dc26ff671c3334e0076d5f2b7feca434f4e138bfdf574b67ce5' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kactivitymanagerd/README b/main/kactivitymanagerd/README new file mode 100644 index 00000000..0e86f959 --- /dev/null +++ b/main/kactivitymanagerd/README @@ -0,0 +1,43 @@ +kactivitymanagerd +________________________________________________________________________________ + +System service to manage user activities and track the usage patterns + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kactivitymanagerd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kactivitymanagerd/version b/main/kactivitymanagerd/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kactivitymanagerd/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/karchive/.PKGINFO b/main/karchive/.PKGINFO new file mode 100644 index 00000000..3f6b5541 --- /dev/null +++ b/main/karchive/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = karchive +pkgbase = karchive +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Qt addon providing access to numerous types of archives +url = https://community.kde.org/Frameworks +builddate = 1718491532 +packager = Developer +size = 1140993 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = bzip2 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = xz +depend = zlib +depend = zstd +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/karchive/PKGBUILD b/main/karchive/PKGBUILD new file mode 100644 index 00000000..492fc19e --- /dev/null +++ b/main/karchive/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=karchive +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt addon providing access to numerous types of archives' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(bzip2 + gcc-libs + glibc + qt6-base + xz + zlib + zstd) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('75a591d9648026eb86826974e6f3882e7f620592ecef8fabeb19206e63b04e50' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/karchive/README b/main/karchive/README new file mode 100644 index 00000000..6a81c935 --- /dev/null +++ b/main/karchive/README @@ -0,0 +1,43 @@ +karchive +________________________________________________________________________________ + +Qt addon providing access to numerous types of archives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S karchive | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/karchive/version b/main/karchive/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/karchive/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kauth/.PKGINFO b/main/kauth/.PKGINFO new file mode 100644 index 00000000..a198f293 --- /dev/null +++ b/main/kauth/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kauth +pkgbase = kauth +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Abstraction to system policy and authentication features +url = https://community.kde.org/Frameworks +builddate = 1718491533 +packager = Developer +size = 750169 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = kwindowsystem +depend = polkit-qt6 +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kauth/PKGBUILD b/main/kauth/PKGBUILD new file mode 100644 index 00000000..f03edaf6 --- /dev/null +++ b/main/kauth/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kauth +pkgver=%version% +pkgrel=%release% +pkgdesc='Abstraction to system policy and authentication features' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcoreaddons + kwindowsystem + polkit-qt6 + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('66046698d2584692d5397a6ec808b2c9f8b7882a0f85233be9cd69283d03c768' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kauth/README b/main/kauth/README new file mode 100644 index 00000000..055f8db4 --- /dev/null +++ b/main/kauth/README @@ -0,0 +1,43 @@ +kauth +________________________________________________________________________________ + +Abstraction to system policy and authentication features + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kauth | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kauth/version b/main/kauth/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kauth/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kbd/PKGBUILD b/main/kbd/PKGBUILD new file mode 100644 index 00000000..df4add51 --- /dev/null +++ b/main/kbd/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kbd +pkgver=%version% +pkgrel=%release% +pkgdesc="Keytable files and keyboard utilities" +arch=('x86_64') +url="http://www.kbd-project.org" +license=('GPL') +depends=('glibc' 'pam') +makedepends=('check' 'git') +#source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgname}-${pkgver}.tar.gz +# https://www.kernel.org/pub/linux/utils/kbd/${pkgname}-${pkgver}.tar.sign +source=(git+https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git#tag=v$pkgver?signed + 'fix-euro2.patch' + 'vlock.pam') +backup=('etc/pam.d/vlock') +provides=('vlock') +conflicts=('vlock') +replaces=('vlock') +sha256sums=('SKIP' + 'a5e0167b6a82a9eb4d581d56baab930c2d80f5541dc34630460b73e1115384b8' + '5c2d377a87121e7c399534fb91e2ffc0cc1e75d44a8f07ee6f55c9c089bc81e4') +validpgpkeys=( + '7F2A3D07298149A0793C9A4EA45ABA544CFFD434' #Alexey Gladkov + ) + +prepare() { + cd ${pkgname} + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) + # this should be removed when upstream adopts the change + mv data/keymaps/i386/qwertz/cz{,-qwertz}.map + mv data/keymaps/i386/olpc/es{,-olpc}.map + mv data/keymaps/i386/olpc/pt{,-olpc}.map + mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map + mv data/keymaps/i386/colemak/{en-latin9,colemak}.map + # fix euro2 #28213 + patch -Np1 -i ../fix-euro2.patch + autoreconf -if +} + +build() { + cd ${pkgname} + ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share/kbd --mandir=/usr/share/man --enable-optional-progs + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +check() { + cd ${pkgname} + +# This test is expected to fail since kbd-fix-loadkmap-compat.patch modifies the binary format + sed -e 's|dumpkeys-bkeymap ||' -i tests/Makefile + + make check +} + +package() { + cd ${pkgname} + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR="${pkgdir}" install + install -Dm644 ../vlock.pam "${pkgdir}"/etc/pam.d/vlock +} diff --git a/main/kbd/README b/main/kbd/README new file mode 100644 index 00000000..11545686 --- /dev/null +++ b/main/kbd/README @@ -0,0 +1,43 @@ +kbd +________________________________________________________________________________ + +Keytable files and keyboard utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kbd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.kbd-project.org diff --git a/main/kbd/fix-euro2.patch b/main/kbd/fix-euro2.patch new file mode 100644 index 00000000..572cba74 --- /dev/null +++ b/main/kbd/fix-euro2.patch @@ -0,0 +1,9 @@ +--- kbd-1.15.5/data/keymaps/i386/include/euro2.map.old 2013-05-08 15:00:25.917752313 +0200 ++++ kbd-1.15.5/data/keymaps/i386/include/euro2.map 2013-05-08 15:00:54.943957367 +0200 +@@ -2,5 +2,5 @@ + # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt) + # on the positions where many keyboards have E and C. + # To get it displayed, use a latin0 (i.e., latin9) font.] +-altgr keycode 18 = currency ++altgr keycode 18 = euro + altgr keycode 46 = cent diff --git a/main/kbd/kbd-fix-loadkmap-compat.patch b/main/kbd/kbd-fix-loadkmap-compat.patch new file mode 100644 index 00000000..d7143501 --- /dev/null +++ b/main/kbd/kbd-fix-loadkmap-compat.patch @@ -0,0 +1,22 @@ +diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c +index 83ac351..8531b5a 100644 +--- a/src/libkeymap/dump.c ++++ b/src/libkeymap/dump.c +@@ -72,9 +72,14 @@ int lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd) + continue; + + for (j = 0; j < NR_KEYS / 2; j++) { +- int v = lk_get_key(ctx, i, j); ++ int value = lk_get_key(ctx, i, j); + +- if (fwrite(&v, sizeof(v), 1, fd) != 1) ++ if (value < 0 || value > USHRT_MAX) { ++ ERR(ctx, _("can not bind key %d to value %d because it is too large"), j, value); ++ goto fail; ++ } ++ ++ if (fwrite(&value, sizeof(unsigned short), 1, fd) != 1) + goto fail; + } + } + diff --git a/main/kbd/version b/main/kbd/version new file mode 100644 index 00000000..c689264b --- /dev/null +++ b/main/kbd/version @@ -0,0 +1 @@ +2.6.4 1 diff --git a/main/kbd/vlock.pam b/main/kbd/vlock.pam new file mode 100644 index 00000000..dbda8331 --- /dev/null +++ b/main/kbd/vlock.pam @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth required pam_unix.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so diff --git a/main/kbookmarks/.PKGINFO b/main/kbookmarks/.PKGINFO new file mode 100644 index 00000000..1efbdc1f --- /dev/null +++ b/main/kbookmarks/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kbookmarks +pkgbase = kbookmarks +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Support for bookmarks and the XBEL format +url = https://community.kde.org/Frameworks +builddate = 1718491535 +packager = Developer +size = 1044362 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kwidgetsaddons +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kbookmarks/PKGBUILD b/main/kbookmarks/PKGBUILD new file mode 100644 index 00000000..731c9d2b --- /dev/null +++ b/main/kbookmarks/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kbookmarks +pkgver=%version% +pkgrel=%release% +pkgdesc='Support for bookmarks and the XBEL format' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kconfigwidgets + kcoreaddons + kwidgetsaddons + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('15b5436c3adbd517a014f33803c30bd60656bbccb9a2b2a6e46fd4e2237db9a5' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kbookmarks/README b/main/kbookmarks/README new file mode 100644 index 00000000..367978cd --- /dev/null +++ b/main/kbookmarks/README @@ -0,0 +1,43 @@ +kbookmarks +________________________________________________________________________________ + +Support for bookmarks and the XBEL format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kbookmarks | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kbookmarks/version b/main/kbookmarks/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kbookmarks/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcmutils/.PKGINFO b/main/kcmutils/.PKGINFO new file mode 100644 index 00000000..dfbff2ed --- /dev/null +++ b/main/kcmutils/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kcmutils +pkgbase = kcmutils +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Utilities for interacting with KCModules +url = https://community.kde.org/Frameworks +builddate = 1718491536 +packager = Developer +size = 1447671 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kguiaddons +depend = ki18n +depend = kio +depend = kirigami +depend = kitemviews +depend = kservice +depend = kwidgetsaddons +depend = kxmlgui +depend = qt6-base +depend = qt6-declarative +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcmutils/PKGBUILD b/main/kcmutils/PKGBUILD new file mode 100644 index 00000000..a0db7f2e --- /dev/null +++ b/main/kcmutils/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcmutils +pkgver=%version% +pkgrel=%release% +pkgdesc='Utilities for interacting with KCModules' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kconfigwidgets + kcoreaddons + kguiaddons + ki18n + kio + kirigami + kitemviews + kservice + kwidgetsaddons + kxmlgui + qt6-base + qt6-declarative) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('9b09b140c013d568a2ee357f824bfb64145e4dfdd1689da6fbfb4f418c5ba43b' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcmutils/README b/main/kcmutils/README new file mode 100644 index 00000000..3a23cf0a --- /dev/null +++ b/main/kcmutils/README @@ -0,0 +1,43 @@ +kcmutils +________________________________________________________________________________ + +Utilities for interacting with KCModules + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcmutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcmutils/version b/main/kcmutils/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcmutils/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcodecs/.PKGINFO b/main/kcodecs/.PKGINFO new file mode 100644 index 00000000..a5ce262c --- /dev/null +++ b/main/kcodecs/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kcodecs +pkgbase = kcodecs +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Provide a collection of methods to manipulate strings using various encodings +url = https://community.kde.org/Frameworks +builddate = 1718491537 +packager = Developer +size = 1061554 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = gperf +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcodecs/PKGBUILD b/main/kcodecs/PKGBUILD new file mode 100644 index 00000000..58b65066 --- /dev/null +++ b/main/kcodecs/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcodecs +pkgver=%version% +pkgrel=%release% +pkgdesc='Provide a collection of methods to manipulate strings using various encodings' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + gperf + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('ceba44dcdc251d443bbd6cb77d1219d876af8cc2ae4710472aace78122395abe' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcodecs/README b/main/kcodecs/README new file mode 100644 index 00000000..556de972 --- /dev/null +++ b/main/kcodecs/README @@ -0,0 +1,43 @@ +kcodecs +________________________________________________________________________________ + +Provide a collection of methods to manipulate strings using various encodings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcodecs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcodecs/version b/main/kcodecs/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcodecs/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcolorscheme/.PKGINFO b/main/kcolorscheme/.PKGINFO new file mode 100644 index 00000000..f6becf3a --- /dev/null +++ b/main/kcolorscheme/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kcolorscheme +pkgbase = kcolorscheme +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Classes to read and interact with KColorScheme +url = https://community.kde.org/Frameworks +builddate = 1718491539 +packager = Developer +size = 433813 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kguiaddons +depend = ki18n +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcolorscheme/PKGBUILD b/main/kcolorscheme/PKGBUILD new file mode 100644 index 00000000..9b783742 --- /dev/null +++ b/main/kcolorscheme/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcolorscheme +pkgver=%version% +pkgrel=%release% +pkgdesc='Classes to read and interact with KColorScheme' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kguiaddons + ki18n + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('de45822431755be39ab7aebfcb7cb6ff90b4924579c2a4d66ae28f91d70a260e' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcolorscheme/README b/main/kcolorscheme/README new file mode 100644 index 00000000..eeed028a --- /dev/null +++ b/main/kcolorscheme/README @@ -0,0 +1,43 @@ +kcolorscheme +________________________________________________________________________________ + +Classes to read and interact with KColorScheme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcolorscheme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcolorscheme/version b/main/kcolorscheme/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcolorscheme/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcompletion/.PKGINFO b/main/kcompletion/.PKGINFO new file mode 100644 index 00000000..ed6f45ea --- /dev/null +++ b/main/kcompletion/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kcompletion +pkgbase = kcompletion +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Text completion helpers and widgets +url = https://community.kde.org/Frameworks +builddate = 1718491540 +packager = Developer +size = 998577 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcodecs +depend = kconfig +depend = kwidgetsaddons +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcompletion/PKGBUILD b/main/kcompletion/PKGBUILD new file mode 100644 index 00000000..bd0cd099 --- /dev/null +++ b/main/kcompletion/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcompletion +pkgver=%version% +pkgrel=%release% +pkgdesc='Text completion helpers and widgets' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcodecs + kconfig + kwidgetsaddons + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('f6434014e7979b6545906d1ff7a2920cfab65641369921e69f00a818b8eee559' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcompletion/README b/main/kcompletion/README new file mode 100644 index 00000000..023470f8 --- /dev/null +++ b/main/kcompletion/README @@ -0,0 +1,43 @@ +kcompletion +________________________________________________________________________________ + +Text completion helpers and widgets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcompletion | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcompletion/version b/main/kcompletion/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcompletion/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kconfig/.PKGINFO b/main/kconfig/.PKGINFO new file mode 100644 index 00000000..377063e9 --- /dev/null +++ b/main/kconfig/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kconfig +pkgbase = kconfig +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Configuration system +url = https://community.kde.org/Frameworks +builddate = 1718491542 +packager = Developer +size = 3673440 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-declarative +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kconfig/PKGBUILD b/main/kconfig/PKGBUILD new file mode 100644 index 00000000..72266a94 --- /dev/null +++ b/main/kconfig/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kconfig +pkgver=%version% +pkgrel=%release% +pkgdesc='Configuration system' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base + qt6-declarative) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('3f7c1e6b048df4ab3d67fbef01a5ad1dd0289c9b158644668fba0225c050c050' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kconfig/README b/main/kconfig/README new file mode 100644 index 00000000..f8b97718 --- /dev/null +++ b/main/kconfig/README @@ -0,0 +1,43 @@ +kconfig +________________________________________________________________________________ + +Configuration system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kconfig | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kconfig/version b/main/kconfig/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kconfig/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kconfigwidgets/.PKGINFO b/main/kconfigwidgets/.PKGINFO new file mode 100644 index 00000000..74ce403d --- /dev/null +++ b/main/kconfigwidgets/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kconfigwidgets +pkgbase = kconfigwidgets +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Widgets for KConfig +url = https://community.kde.org/Frameworks +builddate = 1718491543 +packager = Developer +size = 1978364 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcodecs +depend = kcolorscheme +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kwidgetsaddons +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kconfigwidgets/PKGBUILD b/main/kconfigwidgets/PKGBUILD new file mode 100644 index 00000000..bcb764b0 --- /dev/null +++ b/main/kconfigwidgets/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kconfigwidgets +pkgver=%version% +pkgrel=%release% +pkgdesc='Widgets for KConfig' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcodecs + kcolorscheme + kconfig + kcoreaddons + ki18n + kwidgetsaddons + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('511bed0d95de186b3cf62c7192bbb6020450d4861f05c1a545356144f17de532' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kconfigwidgets/README b/main/kconfigwidgets/README new file mode 100644 index 00000000..9d2f8ffe --- /dev/null +++ b/main/kconfigwidgets/README @@ -0,0 +1,43 @@ +kconfigwidgets +________________________________________________________________________________ + +Widgets for KConfig + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kconfigwidgets | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kconfigwidgets/version b/main/kconfigwidgets/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kconfigwidgets/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcoreaddons/.PKGINFO b/main/kcoreaddons/.PKGINFO new file mode 100644 index 00000000..90ad5291 --- /dev/null +++ b/main/kcoreaddons/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kcoreaddons +pkgbase = kcoreaddons +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Addons to QtCore +url = https://community.kde.org/Frameworks +builddate = 1718491545 +packager = Developer +size = 3288599 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = systemd-libs +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcoreaddons/PKGBUILD b/main/kcoreaddons/PKGBUILD new file mode 100644 index 00000000..482a21ab --- /dev/null +++ b/main/kcoreaddons/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcoreaddons +pkgver=%version% +pkgrel=%release% +pkgdesc='Addons to QtCore' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base + systemd-libs) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('eab838201b45ac98c412f64d234e89d62357f275ae9ae966d073a64c67a526ef' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcoreaddons/README b/main/kcoreaddons/README new file mode 100644 index 00000000..c65a689c --- /dev/null +++ b/main/kcoreaddons/README @@ -0,0 +1,43 @@ +kcoreaddons +________________________________________________________________________________ + +Addons to QtCore + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcoreaddons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcoreaddons/version b/main/kcoreaddons/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcoreaddons/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kcrash/.PKGINFO b/main/kcrash/.PKGINFO new file mode 100644 index 00000000..3db59fd9 --- /dev/null +++ b/main/kcrash/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kcrash +pkgbase = kcrash +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Support for application crash analysis and bug report from apps +url = https://community.kde.org/Frameworks +builddate = 1718491547 +packager = Developer +size = 251168 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = libx11 +depend = qt6-base +optdepend = drkonqi: KDE crash handler application +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kcrash/PKGBUILD b/main/kcrash/PKGBUILD new file mode 100644 index 00000000..dc647139 --- /dev/null +++ b/main/kcrash/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kcrash +pkgver=%version% +pkgrel=%release% +pkgdesc='Support for application crash analysis and bug report from apps' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcoreaddons + libx11 + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +optdepends=('drkonqi: KDE crash handler application') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('f56f1ed44e494417b7046e4f94791ad4ddd07c6cb8f0f704f2053717a44296f9' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kcrash/README b/main/kcrash/README new file mode 100644 index 00000000..26796472 --- /dev/null +++ b/main/kcrash/README @@ -0,0 +1,43 @@ +kcrash +________________________________________________________________________________ + +Support for application crash analysis and bug report from apps + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kcrash | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kcrash/version b/main/kcrash/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kcrash/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kdbusaddons/.PKGINFO b/main/kdbusaddons/.PKGINFO new file mode 100644 index 00000000..56ee9f98 --- /dev/null +++ b/main/kdbusaddons/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdbusaddons +pkgbase = kdbusaddons +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Addons to QtDBus +url = https://community.kde.org/Frameworks +builddate = 1718491548 +packager = Developer +size = 453581 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kdbusaddons/PKGBUILD b/main/kdbusaddons/PKGBUILD new file mode 100644 index 00000000..68a8f199 --- /dev/null +++ b/main/kdbusaddons/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdbusaddons +pkgver=%version% +pkgrel=%release% +pkgdesc='Addons to QtDBus' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('11e70d0c7239bd818962d91cdb94aeba94748055c77003a4f64ff14dab0ae989' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdbusaddons/README b/main/kdbusaddons/README new file mode 100644 index 00000000..11189099 --- /dev/null +++ b/main/kdbusaddons/README @@ -0,0 +1,43 @@ +kdbusaddons +________________________________________________________________________________ + +Addons to QtDBus + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdbusaddons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kdbusaddons/version b/main/kdbusaddons/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kdbusaddons/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kde-cli-tools/.PKGINFO b/main/kde-cli-tools/.PKGINFO new file mode 100644 index 00000000..155df6d8 --- /dev/null +++ b/main/kde-cli-tools/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kde-cli-tools +pkgbase = kde-cli-tools +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Tools based on KDE Frameworks 5 to better interact with the system +url = https://kde.org/plasma-desktop/ +builddate = 1713662699 +packager = Developer +size = 3817267 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kcompletion +depend = kconfig +depend = kcoreaddons +depend = kdesu +depend = ki18n +depend = kiconthemes +depend = kio +depend = kparts +depend = kservice +depend = kwidgetsaddons +depend = kwindowsystem +depend = qt6-base +depend = qt6-svg +depend = sh +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/kde-cli-tools/PKGBUILD b/main/kde-cli-tools/PKGBUILD new file mode 100644 index 00000000..bc652d47 --- /dev/null +++ b/main/kde-cli-tools/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kde-cli-tools +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Tools based on KDE Frameworks 5 to better interact with the system' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kcompletion + kconfig + kcoreaddons + kdesu + ki18n + kiconthemes + kio + kparts + kservice + kwidgetsaddons + kwindowsystem + qt6-base + qt6-svg + sh) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('50de4abcaf2659ba8c1be857bcb7f1a09550d27cc47f25a0dee592110a559c42' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kde-cli-tools/README b/main/kde-cli-tools/README new file mode 100644 index 00000000..071a3aeb --- /dev/null +++ b/main/kde-cli-tools/README @@ -0,0 +1,43 @@ +kde-cli-tools +________________________________________________________________________________ + +Tools based on KDE Frameworks 5 to better interact with the system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kde-cli-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kde-cli-tools/version b/main/kde-cli-tools/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kde-cli-tools/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kde-gtk-config/.PKGINFO b/main/kde-gtk-config/.PKGINFO new file mode 100644 index 00000000..6fd43846 --- /dev/null +++ b/main/kde-gtk-config/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kde-gtk-config +pkgbase = kde-gtk-config +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Syncs KDE settings to GTK applications +url = https://kde.org/plasma-desktop/ +builddate = 1713662702 +packager = Developer +size = 319247 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glib2 +depend = glibc +depend = kcolorscheme +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kdecoration +depend = kguiaddons +depend = kwindowsystem +depend = qt6-base +depend = qt6-svg +depend = sh +depend = xsettingsd +optdepend = gtk3: GTK3 apps support +makedepend = extra-cmake-modules +makedepend = gtk3 +makedepend = sassc diff --git a/main/kde-gtk-config/PKGBUILD b/main/kde-gtk-config/PKGBUILD new file mode 100644 index 00000000..df872f46 --- /dev/null +++ b/main/kde-gtk-config/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kde-gtk-config +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Syncs KDE settings to GTK applications' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glib2 + glibc + kcolorscheme + kconfig + kcoreaddons + kdbusaddons + kdecoration + kguiaddons + kwindowsystem + qt6-base + qt6-svg + sh + xsettingsd) +makedepends=(extra-cmake-modules + gtk3 + sassc) +optdepends=('gtk3: GTK3 apps support') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('36d4cf4fe4acdec5d917c8ff3ff15748e6fcb356dcd3a4488c9e087e79b564c2' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kde-gtk-config/README b/main/kde-gtk-config/README new file mode 100644 index 00000000..1f6f123e --- /dev/null +++ b/main/kde-gtk-config/README @@ -0,0 +1,43 @@ +kde-gtk-config +________________________________________________________________________________ + +Syncs KDE settings to GTK applications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kde-gtk-config | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kde-gtk-config/version b/main/kde-gtk-config/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kde-gtk-config/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kdeclarative/.PKGINFO b/main/kdeclarative/.PKGINFO new file mode 100644 index 00000000..f873ed27 --- /dev/null +++ b/main/kdeclarative/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdeclarative +pkgbase = kdeclarative +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Provides integration of QML and KDE Frameworks +url = https://community.kde.org/Frameworks +builddate = 1718491549 +packager = Developer +size = 857620 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kguiaddons +depend = kglobalaccel +depend = kguiaddons +depend = ki18n +depend = kwidgetsaddons +depend = qt6-base +depend = qt6-declarative +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-shadertools +makedepend = qt6-tools diff --git a/main/kdeclarative/PKGBUILD b/main/kdeclarative/PKGBUILD new file mode 100644 index 00000000..eb36c01c --- /dev/null +++ b/main/kdeclarative/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdeclarative +pkgver=%version% +pkgrel=%release% +pkgdesc='Provides integration of QML and KDE Frameworks' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kguiaddons + kglobalaccel + kguiaddons + ki18n + kwidgetsaddons + qt6-base + qt6-declarative) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-shadertools + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('4671ebb7ee9ba2ed7a02d2c71dde90fe681be507e7d7913e79acb15dfce7b6f9' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdeclarative/README b/main/kdeclarative/README new file mode 100644 index 00000000..c013fdff --- /dev/null +++ b/main/kdeclarative/README @@ -0,0 +1,43 @@ +kdeclarative +________________________________________________________________________________ + +Provides integration of QML and KDE Frameworks + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdeclarative | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kdeclarative/version b/main/kdeclarative/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kdeclarative/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kdecoration/.PKGINFO b/main/kdecoration/.PKGINFO new file mode 100644 index 00000000..ceea1e6d --- /dev/null +++ b/main/kdecoration/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdecoration +pkgbase = kdecoration +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plugin based library to create window decorations +url = https://kde.org/plasma-desktop/ +builddate = 1713662701 +packager = Developer +size = 332919 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = ki18n +depend = qt6-base +makedepend = extra-cmake-modules diff --git a/main/kdecoration/PKGBUILD b/main/kdecoration/PKGBUILD new file mode 100644 index 00000000..ad8e7d54 --- /dev/null +++ b/main/kdecoration/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdecoration +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plugin based library to create window decorations' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + ki18n + qt6-base) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('3c91f65a9b1ea08cf203e79ec4edfea688c463d7d218c95296c0376bdf5956f9' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdecoration/README b/main/kdecoration/README new file mode 100644 index 00000000..3a5a90c8 --- /dev/null +++ b/main/kdecoration/README @@ -0,0 +1,43 @@ +kdecoration +________________________________________________________________________________ + +Plugin based library to create window decorations + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdecoration | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kdecoration/version b/main/kdecoration/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kdecoration/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kded/.PKGINFO b/main/kded/.PKGINFO new file mode 100644 index 00000000..d5454e64 --- /dev/null +++ b/main/kded/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kded +pkgbase = kded +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Extensible deamon for providing system level services +url = https://community.kde.org/Frameworks +builddate = 1718491551 +packager = Developer +size = 120035 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kservice +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/kded/PKGBUILD b/main/kded/PKGBUILD new file mode 100644 index 00000000..7124fd19 --- /dev/null +++ b/main/kded/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kded +pkgver=%version% +pkgrel=%release% +pkgdesc='Extensible deamon for providing system level services' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + kcrash + kdbusaddons + kservice + qt6-base) +makedepends=(extra-cmake-modules + kdoctools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c6243233f2827b27b1a42987a7a3058f13853f7d0e2bf289c055f245d0c5c625' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kded/README b/main/kded/README new file mode 100644 index 00000000..4fa3d36f --- /dev/null +++ b/main/kded/README @@ -0,0 +1,43 @@ +kded +________________________________________________________________________________ + +Extensible deamon for providing system level services + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kded | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kded/version b/main/kded/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kded/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kdeplasma-addons/.PKGINFO b/main/kdeplasma-addons/.PKGINFO new file mode 100644 index 00000000..2f16d179 --- /dev/null +++ b/main/kdeplasma-addons/.PKGINFO @@ -0,0 +1,55 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdeplasma-addons +pkgbase = kdeplasma-addons +xdata = pkgtype=pkg +pkgver = 6.0.4-2 +pkgdesc = All kind of addons to improve your Plasma experience +url = https://kde.org/plasma-desktop/ +builddate = 1716253075 +packager = Developer +size = 6245949 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = icu +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdeclarative +depend = kglobalaccel +depend = kholidays +depend = ki18n +depend = kiconthemes +depend = kio +depend = kirigami +depend = kirigami-addons +depend = kitemmodels +depend = kjobwidgets +depend = knewstuff +depend = knotifications +depend = kpackage +depend = krunner +depend = kservice +depend = ksvg +depend = kunitconversion +depend = kwidgetsaddons +depend = kwin +depend = kwindowsystem +depend = kxmlgui +depend = libplasma +depend = plasma-workspace +depend = plasma5support +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +depend = qt6-quick3d +depend = sonnet +optdepend = networkmanager-qt: POTD wallpaper +optdepend = qt6-webengine: dictionary and webbrowser applets +optdepend = quota-tools: disk quota applet +makedepend = extra-cmake-modules +makedepend = networkmanager-qt +makedepend = qt6-webengine diff --git a/main/kdeplasma-addons/PKGBUILD b/main/kdeplasma-addons/PKGBUILD new file mode 100644 index 00000000..1c876eae --- /dev/null +++ b/main/kdeplasma-addons/PKGBUILD @@ -0,0 +1,71 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdeplasma-addons +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='All kind of addons to improve your Plasma experience' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + icu + kcmutils + kconfig + kcoreaddons + kdeclarative + kglobalaccel + kholidays + ki18n + kiconthemes + kio + kirigami + kirigami-addons + kitemmodels + kjobwidgets + knewstuff + knotifications + kpackage + krunner + kservice + ksvg + kunitconversion + kwidgetsaddons + kwin + kwindowsystem + kxmlgui + libplasma + plasma-workspace + plasma5support + qt6-5compat + qt6-base + qt6-declarative + qt6-quick3d + sonnet) +makedepends=(extra-cmake-modules + networkmanager-qt + qt6-webengine) +optdepends=('networkmanager-qt: POTD wallpaper' + 'qt6-webengine: dictionary and webbrowser applets' + 'quota-tools: disk quota applet') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2dec1e005e2e87f3c8d383a0678b1bf98d488507d3de94a7df8cd93e3bb967c1' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdeplasma-addons/README b/main/kdeplasma-addons/README new file mode 100644 index 00000000..274b6d3b --- /dev/null +++ b/main/kdeplasma-addons/README @@ -0,0 +1,43 @@ +kdeplasma-addons +________________________________________________________________________________ + +All kind of addons to improve your Plasma experience + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdeplasma-addons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kdeplasma-addons/version b/main/kdeplasma-addons/version new file mode 100644 index 00000000..e1d42e64 --- /dev/null +++ b/main/kdeplasma-addons/version @@ -0,0 +1 @@ +6.0.4 2 diff --git a/main/kdesu/.PKGINFO b/main/kdesu/.PKGINFO new file mode 100644 index 00000000..ea6369a6 --- /dev/null +++ b/main/kdesu/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdesu +pkgbase = kdesu +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Integration with su for elevated privileges +url = https://community.kde.org/Frameworks +builddate = 1718491552 +packager = Developer +size = 543010 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kpty +depend = libx11 +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kdesu/PKGBUILD b/main/kdesu/PKGBUILD new file mode 100644 index 00000000..e3cb3d4b --- /dev/null +++ b/main/kdesu/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdesu +pkgver=%version% +pkgrel=%release% +pkgdesc='Integration with su for elevated privileges' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + ki18n + kpty + libx11 + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('24cca7ab6da9630799e5f0107b546d37ee635b1f9f4b7c12eb53a1b3619b2c0c' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdesu/README b/main/kdesu/README new file mode 100644 index 00000000..e1a359da --- /dev/null +++ b/main/kdesu/README @@ -0,0 +1,43 @@ +kdesu +________________________________________________________________________________ + +Integration with su for elevated privileges + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdesu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kdesu/version b/main/kdesu/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kdesu/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kdnssd/.PKGINFO b/main/kdnssd/.PKGINFO new file mode 100644 index 00000000..f14fd83f --- /dev/null +++ b/main/kdnssd/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kdnssd +pkgbase = kdnssd +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Abstraction to system DNSSD features +url = https://community.kde.org/Frameworks +builddate = 1718491553 +packager = Developer +size = 620611 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kdnssd/PKGBUILD b/main/kdnssd/PKGBUILD new file mode 100644 index 00000000..7e5c08a8 --- /dev/null +++ b/main/kdnssd/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdnssd +pkgver=%version% +pkgrel=%release% +pkgdesc='Abstraction to system DNSSD features' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('0694964ba4adb7e20bd0d1007694440a298b433f6da8647a24bc151dc348b679' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kdnssd/README b/main/kdnssd/README new file mode 100644 index 00000000..562340a4 --- /dev/null +++ b/main/kdnssd/README @@ -0,0 +1,43 @@ +kdnssd +________________________________________________________________________________ + +Abstraction to system DNSSD features + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdnssd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kdnssd/version b/main/kdnssd/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kdnssd/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kdsoap-ws-discovery-client/.nvchecker.toml b/main/kdsoap-ws-discovery-client/.nvchecker.toml new file mode 100644 index 00000000..5f4a1da2 --- /dev/null +++ b/main/kdsoap-ws-discovery-client/.nvchecker.toml @@ -0,0 +1,6 @@ +[kdsoap-ws-discovery-client] +source = 'gitlab' +gitlab = 'libraries/kdsoap-ws-discovery-client' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/kdsoap-ws-discovery-client/PKGBUILD b/main/kdsoap-ws-discovery-client/PKGBUILD new file mode 100644 index 00000000..4ff6b93d --- /dev/null +++ b/main/kdsoap-ws-discovery-client/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kdsoap-ws-discovery-client +pkgver=%version% +pkgrel=%release% +pkgdesc='WS-Discovery client library based on KDSoap' +license=(CC0-1.0 + GPL-3.0-or-later) +arch=(x86_64) +url='https://caspermeijn.gitlab.io/kdsoap-ws-discovery-client/' +depends=(gcc-libs + glibc + kdsoap-qt6 + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +source=(https://download.kde.org/stable/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2cd247c013e75f410659bac372aff93d22d71c5a54c059e137b9444af8b3427a' + 'SKIP') +validpgpkeys=(E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_QCH=ON \ + -DQT_MAJOR_VERSION=6 + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 $pkgname-$pkgver/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/kdsoap-ws-discovery-client/README b/main/kdsoap-ws-discovery-client/README new file mode 100644 index 00000000..bacb495f --- /dev/null +++ b/main/kdsoap-ws-discovery-client/README @@ -0,0 +1,43 @@ +kdsoap-ws-discovery-client +________________________________________________________________________________ + +WS-Discovery client library based on KDSoap + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdsoap-ws-discovery-client | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://caspermeijn.gitlab.io/kdsoap-ws-discovery-client/ diff --git a/main/kdsoap-ws-discovery-client/version b/main/kdsoap-ws-discovery-client/version new file mode 100644 index 00000000..6f3c0f7f --- /dev/null +++ b/main/kdsoap-ws-discovery-client/version @@ -0,0 +1 @@ +0.4.0 1 diff --git a/main/kdsoap/.nvchecker.toml b/main/kdsoap/.nvchecker.toml new file mode 100644 index 00000000..5860b709 --- /dev/null +++ b/main/kdsoap/.nvchecker.toml @@ -0,0 +1,5 @@ +[kdsoap] +source = 'github' +github = 'KDAB/KDSoap' +use_max_tag = true +prefix = 'kdsoap-' diff --git a/main/kdsoap/PKGBUILD b/main/kdsoap/PKGBUILD new file mode 100644 index 00000000..88384cc6 --- /dev/null +++ b/main/kdsoap/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=kdsoap +pkgname=(kdsoap-qt5 + kdsoap-qt6) +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt-based client-side and server-side SOAP component' +license=(GPL3 LGPL custom) +arch=(x86_64) +url='https://github.com/KDAB/KDSoap' +depends=(gcc-libs + glibc) +makedepends=(cmake + qt5-base + qt6-base) +source=(https://github.com/KDAB/KDSoap/releases/download/$pkgbase-$pkgver/$pkgbase-$pkgver.tar.gz{,.asc}) +sha256sums=('d9ef11948442197c9fa44bd6fbadc842b7280a60dfc40577af66fded637af356' + 'SKIP') +validpgpkeys=(E86C000370B1B9E2A9191AD53DBFB6882C9358FB) # KDAB Products (user for KDAB products) + +build() { + cmake -B build5 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DINSTALL_INCLUDE_DIR=/usr/include/KDSoap-qt5 + cmake --build build5 + + cmake -B build6 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DKDSoap_QT6=ON + cmake --build build6 +} + +package_kdsoap-qt5() { + depends+=(qt5-base) + conflicts=(kdsoap) + provides=(kdsoap) + replaces=(kdsoap) + + DESTDIR="$pkgdir" cmake --install build5 + install -Dm644 $pkgbase-$pkgver/LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname +} + +package_kdsoap-qt6() { + depends+=(qt6-base) + + DESTDIR="$pkgdir" cmake --install build6 + install -Dm644 $pkgbase-$pkgver/LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/kdsoap/README b/main/kdsoap/README new file mode 100644 index 00000000..9841cf0f --- /dev/null +++ b/main/kdsoap/README @@ -0,0 +1,43 @@ +kdsoap +________________________________________________________________________________ + +Qt-based client-side and server-side SOAP component + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kdsoap | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/KDAB/KDSoap diff --git a/main/kdsoap/version b/main/kdsoap/version new file mode 100644 index 00000000..d3291fa3 --- /dev/null +++ b/main/kdsoap/version @@ -0,0 +1 @@ +2.2.0 1 diff --git a/main/keyutils/PKGBUILD b/main/keyutils/PKGBUILD new file mode 100644 index 00000000..e561395e --- /dev/null +++ b/main/keyutils/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=keyutils +pkgver=%version% +pkgrel=%release% +pkgdesc='Linux Key Management Utilities' +arch=('x86_64') +url='https://www.kernel.org/' +license=('GPL2' 'LGPL2.1') +depends=('glibc' 'sh') +makedepends=('git') +provides=('libkeyutils.so') +backup=('etc/request-key.conf') +validpgpkeys=('A86E54B0D5E1B4E0AB7C640FFBB7576BA7CB0B6B') # David Howells +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git#tag=v${pkgver}?signed" + 'request-key.conf.patch' 'reproducible.patch') +sha256sums=('fb172bd1100b07e5ea3f4ba899ca369fd25dcd0ccadee88bd162a8e431e78d26' + '203c602c61ed94ccd423a0a453d74143d678c641a9a4486367576ee8af2cb8d6' + '7bb7400b2b8c8f0288c86ec9191f8964a1e682745a204013d5fc7c2e1a253d8e') +sha512sums=('1d7fa66cfa46f29e2a0e9c79b69a206986e437900b99c133e0be23bf8ec8f46a23064791a011f49189cf63c0e40c9453fadca83b261208a0b1c38e0e0680f5e2' + '2dcfa835ef13ce884cca34d0f061fe6514f07ecb7acb485812626c593e3a51e19b45f65c11ef5535fd35836135e96abed853f446098a0eaab740b793f16620dd' + '0f0ba7c6263ad1b710d3aa6166a041246517117ddc9e5ab7fe23f19993e3f52cf145d1767cca8bf4b8b7f49e37b793022ecd54c8091e73092167073d12d88fa9') + +prepare() { + cd ${pkgname} + # fix paths of binaries in /etc/request-key.conf + patch -Np0 -i ../request-key.conf.patch + + # make keyutils reproducible + patch -Np1 -i ../reproducible.patch +} + +build() { + cd ${pkgname} + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" SBINDIR='/usr/bin' BINDIR='/usr/bin' +} + +package() { + cd ${pkgname} + make DESTDIR="${pkgdir}" SBINDIR='/usr/bin' BINDIR='/usr/bin' LIBDIR='/usr/lib' USRLIBDIR='/usr/lib' install +} diff --git a/main/keyutils/README b/main/keyutils/README new file mode 100644 index 00000000..40530816 --- /dev/null +++ b/main/keyutils/README @@ -0,0 +1,43 @@ +keyutils +________________________________________________________________________________ + +Linux Key Management Utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S keyutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org/ diff --git a/main/keyutils/reproducible.patch b/main/keyutils/reproducible.patch new file mode 100644 index 00000000..db5cfe82 --- /dev/null +++ b/main/keyutils/reproducible.patch @@ -0,0 +1,24 @@ +Adhere to the SOURCE_DATE_EPOCH standard and use it's date when set +otherwise fall back to the default behaviour. + +Signed-off-by: Jelle van der Waa +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 33a451e..9066d5d 100644 +--- a/Makefile ++++ b/Makefile +@@ -108,7 +108,7 @@ all: keyctl request-key key.dns_resolver + ############################################################################### + #RPATH = -Wl,-rpath,$(LIBDIR) + +-VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" ++VCPPFLAGS := -DPKGBUILD="\"$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%F)\"" + VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" + VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" + +-- +2.21.0 + diff --git a/main/keyutils/request-key.conf.patch b/main/keyutils/request-key.conf.patch new file mode 100644 index 00000000..9ab47963 --- /dev/null +++ b/main/keyutils/request-key.conf.patch @@ -0,0 +1,21 @@ +--- request-key.conf.old 2013-05-28 15:34:10.966001242 +0200 ++++ request-key.conf 2013-05-28 15:35:34.857969598 +0200 +@@ -31,11 +31,11 @@ + + #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... + #====== ======= =============== =============== =============================== +-create dns_resolver * * /sbin/key.dns_resolver %k +-create user debug:* negate /bin/keyctl negate %k 30 %S +-create user debug:* rejected /bin/keyctl reject %k 30 %c %S +-create user debug:* expired /bin/keyctl reject %k 30 %c %S +-create user debug:* revoked /bin/keyctl reject %k 30 %c %S +-create user debug:loop:* * |/bin/cat ++create dns_resolver * * /usr/bin/key.dns_resolver %k ++create user debug:* negate /usr/bin/keyctl negate %k 30 %S ++create user debug:* rejected /usr/bin/keyctl reject %k 30 %c %S ++create user debug:* expired /usr/bin/keyctl reject %k 30 %c %S ++create user debug:* revoked /usr/bin/keyctl reject %k 30 %c %S ++create user debug:loop:* * |/usr/bin/cat + create user debug:* * /usr/share/keyutils/request-key-debug.sh %k %d %c %S +-negate * * * /bin/keyctl negate %k 30 %S ++negate * * * /usr/bin/keyctl negate %k 30 %S diff --git a/main/keyutils/version b/main/keyutils/version new file mode 100644 index 00000000..08dc2884 --- /dev/null +++ b/main/keyutils/version @@ -0,0 +1 @@ +1.6.3 2 diff --git a/main/kfilemetadata/.PKGINFO b/main/kfilemetadata/.PKGINFO new file mode 100644 index 00000000..a94401c2 --- /dev/null +++ b/main/kfilemetadata/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kfilemetadata +pkgbase = kfilemetadata +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = A library for extracting file metadata +url = https://community.kde.org/Frameworks +builddate = 1718491554 +packager = Developer +size = 1801767 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = ebook-tools +depend = exiv2 +depend = ffmpeg +depend = karchive +depend = kcodecs +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = poppler-qt6 +depend = qt6-base +depend = taglib +optdepend = catdoc: Extract text from Office 98 files +optdepend = kdegraphics-mobipocket: MOBI extractor +optdepend = libappimage: AppImage extractor +makedepend = catdoc +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kdegraphics-mobipocket +makedepend = libappimage +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kfilemetadata/PKGBUILD b/main/kfilemetadata/PKGBUILD new file mode 100644 index 00000000..8a61f7af --- /dev/null +++ b/main/kfilemetadata/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kfilemetadata +pkgver=%version% +pkgrel=%release% +pkgdesc='A library for extracting file metadata' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + ebook-tools + exiv2 + ffmpeg + karchive + kconfig + kcoreaddons + ki18n + poppler-qt6 + qt6-base + taglib) +optdepends=('catdoc: Extract text from Office 98 files' + 'kdegraphics-mobipocket: MOBI extractor' + 'libappimage: AppImage extractor') +makedepends=(catdoc + doxygen + extra-cmake-modules + kdegraphics-mobipocket + libappimage + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('cf130dc1b32a31a19213f3e1ac67f2180cb7931240e5c755211686e93792f393' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kfilemetadata/README b/main/kfilemetadata/README new file mode 100644 index 00000000..18b263b9 --- /dev/null +++ b/main/kfilemetadata/README @@ -0,0 +1,43 @@ +kfilemetadata +________________________________________________________________________________ + +A library for extracting file metadata + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kfilemetadata | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kfilemetadata/version b/main/kfilemetadata/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kfilemetadata/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kgamma/.PKGINFO b/main/kgamma/.PKGINFO new file mode 100644 index 00000000..a5652656 --- /dev/null +++ b/main/kgamma/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kgamma +pkgbase = kgamma +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Adjust your monitor gamma settings +url = https://kde.org/plasma-desktop/ +builddate = 1713662705 +packager = Developer +size = 377508 +arch = x86_64 +license = LGPL-2.0-or-later +replaces = kgamma5 +group = plasma +conflict = kgamma5 +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = libx11 +depend = libxxf86vm +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/kgamma/PKGBUILD b/main/kgamma/PKGBUILD new file mode 100644 index 00000000..e0bdf76f --- /dev/null +++ b/main/kgamma/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kgamma +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Adjust your monitor gamma settings' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + ki18n + libx11 + libxxf86vm + qt6-base) +makedepends=(extra-cmake-modules + kdoctools) +conflicts=(kgamma5) +replaces=(kgamma5) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('816e79b0992fa2ae6d4f6dd6b277f508562df84e0061d9c060955753b84224d3' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kgamma/README b/main/kgamma/README new file mode 100644 index 00000000..918963f5 --- /dev/null +++ b/main/kgamma/README @@ -0,0 +1,43 @@ +kgamma +________________________________________________________________________________ + +Adjust your monitor gamma settings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kgamma | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kgamma/version b/main/kgamma/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kgamma/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kglobalaccel/.PKGINFO b/main/kglobalaccel/.PKGINFO new file mode 100644 index 00000000..86db427c --- /dev/null +++ b/main/kglobalaccel/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kglobalaccel +pkgbase = kglobalaccel +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Add support for global workspace shortcuts +url = https://community.kde.org/Frameworks +builddate = 1718491555 +packager = Developer +size = 499500 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kglobalaccel/PKGBUILD b/main/kglobalaccel/PKGBUILD new file mode 100644 index 00000000..1e744633 --- /dev/null +++ b/main/kglobalaccel/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kglobalaccel +pkgver=%version% +pkgrel=%release% +pkgdesc='Add support for global workspace shortcuts' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('58009eb0d0b70c93dc0cb0886ae929f3756e972c841d7a3e465df8307e5b7149' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kglobalaccel/README b/main/kglobalaccel/README new file mode 100644 index 00000000..9e722369 --- /dev/null +++ b/main/kglobalaccel/README @@ -0,0 +1,43 @@ +kglobalaccel +________________________________________________________________________________ + +Add support for global workspace shortcuts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kglobalaccel | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kglobalaccel/version b/main/kglobalaccel/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kglobalaccel/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kglobalacceld/.PKGINFO b/main/kglobalacceld/.PKGINFO new file mode 100644 index 00000000..b4dc84eb --- /dev/null +++ b/main/kglobalacceld/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kglobalacceld +pkgbase = kglobalacceld +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Daemon providing Global Keyboard Shortcut (Accelerator) functionality +url = https://kde.org/plasma-desktop/ +builddate = 1713662706 +packager = Developer +size = 324226 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kglobalaccel +depend = kio +depend = kjobwidgets +depend = kservice +depend = kwindowsystem +depend = libx11 +depend = libxcb +depend = qt6-base +depend = xcb-util-keysyms +makedepend = extra-cmake-modules diff --git a/main/kglobalacceld/PKGBUILD b/main/kglobalacceld/PKGBUILD new file mode 100644 index 00000000..cd82cd5e --- /dev/null +++ b/main/kglobalacceld/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kglobalacceld +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Daemon providing Global Keyboard Shortcut (Accelerator) functionality' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + kcrash + kdbusaddons + kglobalaccel + kio + kjobwidgets + kservice + kwindowsystem + libx11 + libxcb + qt6-base + xcb-util-keysyms) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('12a137ee5052fdbf76c54c4efc07d550edca5a25a7b434d522c1418e3e35b2cc' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_LIBEXECDIR=lib + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kglobalacceld/README b/main/kglobalacceld/README new file mode 100644 index 00000000..9f2af2e0 --- /dev/null +++ b/main/kglobalacceld/README @@ -0,0 +1,43 @@ +kglobalacceld +________________________________________________________________________________ + +Daemon providing Global Keyboard Shortcut (Accelerator) functionality + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kglobalacceld | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kglobalacceld/version b/main/kglobalacceld/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kglobalacceld/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kguiaddons/.PKGINFO b/main/kguiaddons/.PKGINFO new file mode 100644 index 00000000..0dd5338e --- /dev/null +++ b/main/kguiaddons/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kguiaddons +pkgbase = kguiaddons +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Addons to QtGui +url = https://community.kde.org/Frameworks +builddate = 1718491557 +packager = Developer +size = 797847 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = libx11 +depend = qt6-base +depend = qt6-wayland +depend = wayland +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kguiaddons/PKGBUILD b/main/kguiaddons/PKGBUILD new file mode 100644 index 00000000..d927faa9 --- /dev/null +++ b/main/kguiaddons/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kguiaddons +pkgver=%version% +pkgrel=%release% +pkgdesc='Addons to QtGui' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + libx11 + qt6-base + qt6-wayland + wayland) +makedepends=(doxygen + extra-cmake-modules + plasma-wayland-protocols + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('20af58ab639ea99df09acbd74af0c867f22f1d9f91595623ab44fba5834eaa62' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kguiaddons/README b/main/kguiaddons/README new file mode 100644 index 00000000..431e95a0 --- /dev/null +++ b/main/kguiaddons/README @@ -0,0 +1,43 @@ +kguiaddons +________________________________________________________________________________ + +Addons to QtGui + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kguiaddons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kguiaddons/version b/main/kguiaddons/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kguiaddons/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kholidays/.PKGINFO b/main/kholidays/.PKGINFO new file mode 100644 index 00000000..83fdc6cb --- /dev/null +++ b/main/kholidays/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kholidays +pkgbase = kholidays +xdata = pkgtype=pkg +pkgver = 1:6.3.0-1 +pkgdesc = KDE library for regional holiday information +url = https://community.kde.org/Frameworks +builddate = 1718491558 +packager = Developer +size = 1215058 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kholidays/PKGBUILD b/main/kholidays/PKGBUILD new file mode 100644 index 00000000..5bc10204 --- /dev/null +++ b/main/kholidays/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kholidays +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='KDE library for regional holiday information' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('482f6375fe536a63b67bad45a0ad3880c74d74fc92a3a935ecb78b29830d9b7f' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kholidays/README b/main/kholidays/README new file mode 100644 index 00000000..e8f5b79e --- /dev/null +++ b/main/kholidays/README @@ -0,0 +1,43 @@ +kholidays +________________________________________________________________________________ + +KDE library for regional holiday information + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kholidays | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kholidays/version b/main/kholidays/version new file mode 100644 index 00000000..e6f0f3dc --- /dev/null +++ b/main/kholidays/version @@ -0,0 +1 @@ +1:6.3.0 1 diff --git a/main/ki18n/.PKGINFO b/main/ki18n/.PKGINFO new file mode 100644 index 00000000..a4f00ef3 --- /dev/null +++ b/main/ki18n/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ki18n +pkgbase = ki18n +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Advanced internationalization framework +url = https://community.kde.org/Frameworks +builddate = 1718491560 +packager = Developer +size = 18595856 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = iso-codes +depend = qt6-base +optdepend = python: to compile .ts files +optdepend = qt6-declarative: ktranscript plugin and QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = python +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/ki18n/PKGBUILD b/main/ki18n/PKGBUILD new file mode 100644 index 00000000..f490cf2e --- /dev/null +++ b/main/ki18n/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ki18n +pkgver=%version% +pkgrel=%release% +pkgdesc='Advanced internationalization framework' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + iso-codes + qt6-base) +makedepends=(doxygen + extra-cmake-modules + python + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('python: to compile .ts files' + 'qt6-declarative: ktranscript plugin and QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('15cbfb73ef1d3954d6206755b6e6a9c86ea27be4b4db0c843d38494851bcc354' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ki18n/README b/main/ki18n/README new file mode 100644 index 00000000..833ed066 --- /dev/null +++ b/main/ki18n/README @@ -0,0 +1,43 @@ +ki18n +________________________________________________________________________________ + +Advanced internationalization framework + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ki18n | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/ki18n/version b/main/ki18n/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/ki18n/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kiconthemes/.PKGINFO b/main/kiconthemes/.PKGINFO new file mode 100644 index 00000000..fc143dc6 --- /dev/null +++ b/main/kiconthemes/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kiconthemes +pkgbase = kiconthemes +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Support for icon themes +url = https://community.kde.org/Frameworks +builddate = 1718491562 +packager = Developer +size = 1261499 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = breeze-icons +depend = gcc-libs +depend = glibc +depend = karchive +depend = kcolorscheme +depend = kconfig +depend = kconfigwidgets +depend = ki18n +depend = kwidgetsaddons +depend = qt6-base +depend = qt6-svg +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kiconthemes/PKGBUILD b/main/kiconthemes/PKGBUILD new file mode 100644 index 00000000..1aee6a1c --- /dev/null +++ b/main/kiconthemes/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kiconthemes +pkgver=%version% +pkgrel=%release% +pkgdesc='Support for icon themes' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + karchive + kcolorscheme + kconfig + kconfigwidgets + ki18n + kwidgetsaddons + qt6-base + qt6-svg) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +optdepends=('breeze-icons: fallback icon theme' + 'qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('f557bd269fafe617eb8d4b7ac2959609f96cce3ea8b1b3ac231063a726927bb0' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kiconthemes/README b/main/kiconthemes/README new file mode 100644 index 00000000..f0ac533d --- /dev/null +++ b/main/kiconthemes/README @@ -0,0 +1,43 @@ +kiconthemes +________________________________________________________________________________ + +Support for icon themes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kiconthemes | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kiconthemes/version b/main/kiconthemes/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kiconthemes/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kidletime/.PKGINFO b/main/kidletime/.PKGINFO new file mode 100644 index 00000000..d4386350 --- /dev/null +++ b/main/kidletime/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kidletime +pkgbase = kidletime +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Monitoring user activity +url = https://community.kde.org/Frameworks +builddate = 1718491563 +packager = Developer +size = 400422 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = libx11: XCB plugin +optdepend = libxcb: XCB plugin +optdepend = libxext: XCB plugin +optdepend = libxss: XCB plugin +optdepend = qt6-wayland: Wayland plugin +optdepend = wayland: Wayland plugin +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = libxss +makedepend = plasma-wayland-protocols +makedepend = qt6-doc +makedepend = qt6-tools +makedepend = qt6-wayland +makedepend = wayland-protocols diff --git a/main/kidletime/PKGBUILD b/main/kidletime/PKGBUILD new file mode 100644 index 00000000..a86a042b --- /dev/null +++ b/main/kidletime/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kidletime +pkgver=%version% +pkgrel=%release% +pkgdesc='Monitoring user activity' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + libxss + plasma-wayland-protocols + qt6-doc + qt6-tools + qt6-wayland + wayland-protocols) +optdepends=('libx11: XCB plugin' + 'libxcb: XCB plugin' + 'libxext: XCB plugin' + 'libxss: XCB plugin' + 'qt6-wayland: Wayland plugin' + 'wayland: Wayland plugin') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('aa846b4cfcbc48d084350d1f525638fcf4766b0363bcde40fcefa88a8fbda7b3' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kidletime/README b/main/kidletime/README new file mode 100644 index 00000000..b1a4fd6a --- /dev/null +++ b/main/kidletime/README @@ -0,0 +1,43 @@ +kidletime +________________________________________________________________________________ + +Monitoring user activity + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kidletime | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kidletime/version b/main/kidletime/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kidletime/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kinfocenter/.PKGINFO b/main/kinfocenter/.PKGINFO new file mode 100644 index 00000000..5c6e37e6 --- /dev/null +++ b/main/kinfocenter/.PKGINFO @@ -0,0 +1,44 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kinfocenter +pkgbase = kinfocenter +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = A utility that provides information about a computer system +url = https://kde.org/plasma-desktop/ +builddate = 1713662707 +packager = Developer +size = 3085441 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = aha +depend = clinfo +depend = dmidecode +depend = gcc-libs +depend = glibc +depend = glu +depend = kauth +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdeclarative +depend = ki18n +depend = kio +depend = kirigami +depend = kservice +depend = kwidgetsaddons +depend = libusb +depend = mesa-utils +depend = qt6-base +depend = qt6-declarative +depend = sh +depend = solid +depend = systemsettings +depend = vulkan-tools +depend = wayland-utils +depend = xorg-xdpyinfo +optdepend = fwupd: firmware security module +makedepend = extra-cmake-modules +makedepend = fwupd +makedepend = kdoctools diff --git a/main/kinfocenter/PKGBUILD b/main/kinfocenter/PKGBUILD new file mode 100644 index 00000000..797b86d2 --- /dev/null +++ b/main/kinfocenter/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kinfocenter +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='A utility that provides information about a computer system' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(aha + clinfo + dmidecode + gcc-libs + glibc + glu + kauth + kcmutils + kconfig + kcoreaddons + kdeclarative + ki18n + kio + kirigami + kservice + kwidgetsaddons + libusb + mesa-utils + qt6-base + qt6-declarative + sh + solid + systemsettings + vulkan-tools + wayland-utils + xorg-xdpyinfo) +makedepends=(extra-cmake-modules + fwupd + kdoctools) +optdepends=('fwupd: firmware security module') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('ee9c2ddaee2c8bf453c38e82c3327dc83ad390042dd106c19ddf4b6251a8adfb' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kinfocenter/README b/main/kinfocenter/README new file mode 100644 index 00000000..612216ef --- /dev/null +++ b/main/kinfocenter/README @@ -0,0 +1,43 @@ +kinfocenter +________________________________________________________________________________ + +A utility that provides information about a computer system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kinfocenter | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kinfocenter/version b/main/kinfocenter/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kinfocenter/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kio-extras/.PKGINFO b/main/kio-extras/.PKGINFO new file mode 100644 index 00000000..8951a3a1 --- /dev/null +++ b/main/kio-extras/.PKGINFO @@ -0,0 +1,60 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kio-extras +pkgbase = kio-extras +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = Additional components to increase the functionality of KIO +url = https://www.kde.org/ +builddate = 1718491567 +packager = Developer +size = 7479408 +arch = x86_64 +license = LGPL-2.0-or-later +group = kde-applications +group = kde-network +depend = gcc-libs +depend = glibc +depend = karchive +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kdnssd +depend = kdsoap-qt6 +depend = kdsoap-ws-discovery-client +depend = ki18n +depend = kio +depend = kservice +depend = ktextwidgets +depend = kwidgetsaddons +depend = libimobiledevice +depend = libkexiv2 +depend = libmtp +depend = libplist +depend = libssh +depend = libxcursor +depend = phonon-qt6 +depend = plasma-activities +depend = qt6-5compat +depend = qt6-base +depend = qt6-svg +depend = smbclient +depend = solid +depend = syntax-highlighting +optdepend = icoutils: Windows executable thumbnails +optdepend = kimageformats: thumbnails for additional image formats +optdepend = libappimage: AppImage thumbnails +optdepend = openexr: EXR format thumbnails +optdepend = perl: info kioslave +optdepend = plasma-activities-stats: recently used kioslave +optdepend = qt6-imageformats: thumbnails for additional image formats +optdepend = taglib: audio file thumbnails +makedepend = extra-cmake-modules +makedepend = gperf +makedepend = kdoctools +makedepend = libappimage +makedepend = openexr +makedepend = plasma-activities-stats +makedepend = qcoro-qt6 +makedepend = taglib diff --git a/main/kio-extras/PKGBUILD b/main/kio-extras/PKGBUILD new file mode 100644 index 00000000..64918d51 --- /dev/null +++ b/main/kio-extras/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kio-extras +pkgver=%version% +pkgrel=%release% +pkgdesc='Additional components to increase the functionality of KIO' +arch=(x86_64) +url='https://www.kde.org/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + karchive + kcmutils + kconfig + kcoreaddons + kdbusaddons + kdnssd + kdsoap-qt6 + kdsoap-ws-discovery-client + ki18n + kio + kservice + ktextwidgets + kwidgetsaddons + libimobiledevice + libkexiv2 + libmtp + libplist + libssh + libxcursor + phonon-qt6 + plasma-activities + qt6-5compat + qt6-base + qt6-svg + smbclient + solid + syntax-highlighting) +makedepends=(extra-cmake-modules + gperf + kdoctools + libappimage + openexr + plasma-activities-stats + qcoro-qt6 + taglib) +optdepends=('icoutils: Windows executable thumbnails' + 'kimageformats: thumbnails for additional image formats' + 'libappimage: AppImage thumbnails' + 'openexr: EXR format thumbnails' + 'perl: info kioslave' + 'plasma-activities-stats: recently used kioslave' + 'qt6-imageformats: thumbnails for additional image formats' + 'taglib: audio file thumbnails') +groups=(kde-applications + kde-network) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('7f708a17453993db797df78d53b68af3586cba15e0db88828da9acb8320a0cc0' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DLIBAPPIMAGE_LIBRARIES=libappimage.so \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kio-extras/README b/main/kio-extras/README new file mode 100644 index 00000000..dea1a208 --- /dev/null +++ b/main/kio-extras/README @@ -0,0 +1,43 @@ +kio-extras +________________________________________________________________________________ + +Additional components to increase the functionality of KIO + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kio-extras | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org/ diff --git a/main/kio-extras/version b/main/kio-extras/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/kio-extras/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/kio-fuse/.nvchecker.toml b/main/kio-fuse/.nvchecker.toml new file mode 100644 index 00000000..d621b10c --- /dev/null +++ b/main/kio-fuse/.nvchecker.toml @@ -0,0 +1,6 @@ +[kio-fuse] +source = 'gitlab' +gitlab = 'system/kio-fuse' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/kio-fuse/PKGBUILD b/main/kio-fuse/PKGBUILD new file mode 100644 index 00000000..6f62c26a --- /dev/null +++ b/main/kio-fuse/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kio-fuse +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +pkgdesc='FUSE interface for KIO' +url='https://kde.org/' +license=(GPL) +depends=(fuse3 + gcc-libs + glibc + kcoreaddons + kio + qt6-base) +makedepends=(extra-cmake-modules) +source=(https://download.kde.org/stable/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('7d104581227d5a19b424b33f4168d181556b1015d6df2218e01a88d64449e94b' + 'SKIP') +validpgpkeys=('21EC3FD75D26B39E820BE6FBD27C2C1AF21D8BAD') # Fabian Vogt + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DQT_MAJOR_VERSION=6 \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kio-fuse/README b/main/kio-fuse/README new file mode 100644 index 00000000..003acab7 --- /dev/null +++ b/main/kio-fuse/README @@ -0,0 +1,43 @@ +kio-fuse +________________________________________________________________________________ + +FUSE interface for KIO + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kio-fuse | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/ diff --git a/main/kio-fuse/version b/main/kio-fuse/version new file mode 100644 index 00000000..c80021f0 --- /dev/null +++ b/main/kio-fuse/version @@ -0,0 +1 @@ +5.1.0 3 diff --git a/main/kirigami-addons/.PKGINFO b/main/kirigami-addons/.PKGINFO new file mode 100644 index 00000000..8b788a6b --- /dev/null +++ b/main/kirigami-addons/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kirigami-addons +pkgbase = kirigami-addons +xdata = pkgtype=pkg +pkgver = 1.2.1-1 +pkgdesc = Add-ons for the Kirigami framework +url = https://invent.kde.org/libraries/kirigami-addons +builddate = 1715991097 +packager = Developer +size = 2950684 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.1-or-later +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kirigami +depend = kitemmodels +depend = ksvg +depend = qt6-base +depend = qt6-declarative +depend = qt6-multimedia +makedepend = extra-cmake-modules diff --git a/main/kirigami-addons/.nvchecker.toml b/main/kirigami-addons/.nvchecker.toml new file mode 100644 index 00000000..4d0e89fa --- /dev/null +++ b/main/kirigami-addons/.nvchecker.toml @@ -0,0 +1,6 @@ +[kirigami-addons] +source = 'gitlab' +gitlab = 'libraries/kirigami-addons' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/kirigami-addons/PKGBUILD b/main/kirigami-addons/PKGBUILD new file mode 100644 index 00000000..a4908de4 --- /dev/null +++ b/main/kirigami-addons/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kirigami-addons +pkgver=%version% +pkgrel=%release% +pkgdesc='Add-ons for the Kirigami framework' +url='https://invent.kde.org/libraries/kirigami-addons' +arch=(x86_64) +license=(GPL-2.0-or-later + LGPL-2.1-or-later) +depends=(gcc-libs + glibc + kcoreaddons + kirigami + kitemmodels + ksvg + qt6-base + qt6-declarative + qt6-multimedia) +makedepends=(extra-cmake-modules) +source=(https://download.kde.org/stable/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('8ef352499139616b3142a6d7a92ab23749c568403ece8d854f064a941d085536' + 'SKIP') +validpgpkeys=(0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D # Bhushan Shah (mykolab address) + 39FFA93CAE9C6AFC212AD00202325448204E452A) # Carl Schwan + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kirigami-addons/README b/main/kirigami-addons/README new file mode 100644 index 00000000..c88d86d9 --- /dev/null +++ b/main/kirigami-addons/README @@ -0,0 +1,43 @@ +kirigami-addons +________________________________________________________________________________ + +Add-ons for the Kirigami framework + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kirigami-addons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://invent.kde.org/libraries/kirigami-addons diff --git a/main/kirigami-addons/version b/main/kirigami-addons/version new file mode 100644 index 00000000..cd3d02bc --- /dev/null +++ b/main/kirigami-addons/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/main/kitemmodels/.PKGINFO b/main/kitemmodels/.PKGINFO new file mode 100644 index 00000000..02b61ff9 --- /dev/null +++ b/main/kitemmodels/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kitemmodels +pkgbase = kitemmodels +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Models for Qt Model/View system +url = https://community.kde.org/Frameworks +builddate = 1718491570 +packager = Developer +size = 1067802 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kitemmodels/PKGBUILD b/main/kitemmodels/PKGBUILD new file mode 100644 index 00000000..17773940 --- /dev/null +++ b/main/kitemmodels/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kitemmodels +pkgver=%version% +pkgrel=%release% +pkgdesc='Models for Qt Model/View system' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('89b879981722821a911bba1765128820217944fa78e5452369158ed97a835b3a' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kitemmodels/README b/main/kitemmodels/README new file mode 100644 index 00000000..82fce590 --- /dev/null +++ b/main/kitemmodels/README @@ -0,0 +1,43 @@ +kitemmodels +________________________________________________________________________________ + +Models for Qt Model/View system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kitemmodels | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kitemmodels/version b/main/kitemmodels/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kitemmodels/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kitemviews/.PKGINFO b/main/kitemviews/.PKGINFO new file mode 100644 index 00000000..a275be72 --- /dev/null +++ b/main/kitemviews/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kitemviews +pkgbase = kitemviews +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Widget addons for Qt Model/View +url = https://community.kde.org/Frameworks +builddate = 1718491572 +packager = Developer +size = 768373 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kitemviews/PKGBUILD b/main/kitemviews/PKGBUILD new file mode 100644 index 00000000..30dfb233 --- /dev/null +++ b/main/kitemviews/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kitemviews +pkgver=%version% +pkgrel=%release% +pkgdesc='Widget addons for Qt Model/View' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('aded76af78d66bc3e90f3a1cada117d74783b519904d04a39591b9874df35243' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kitemviews/README b/main/kitemviews/README new file mode 100644 index 00000000..94d326b3 --- /dev/null +++ b/main/kitemviews/README @@ -0,0 +1,43 @@ +kitemviews +________________________________________________________________________________ + +Widget addons for Qt Model/View + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kitemviews | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kitemviews/version b/main/kitemviews/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kitemviews/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kitty/.PKGINFO b/main/kitty/.PKGINFO new file mode 100644 index 00000000..e09cd8fb --- /dev/null +++ b/main/kitty/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kitty-terminfo +pkgbase = kitty +xdata = pkgtype=split +pkgver = 0.33.1-4 +pkgdesc = Terminfo for kitty, an OpenGL-based terminal emulator +url = https://github.com/kovidgoyal/kitty +builddate = 1714401155 +packager = Developer +size = 3711 +arch = x86_64 +license = GPL3 +depend = ncurses +makedepend = libxinerama +makedepend = libxrandr +makedepend = wayland-protocols +makedepend = go +makedepend = simde diff --git a/main/kitty/PKGBUILD b/main/kitty/PKGBUILD new file mode 100644 index 00000000..31762116 --- /dev/null +++ b/main/kitty/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=kitty +pkgname=(kitty kitty-terminfo kitty-shell-integration) +pkgver=%version% +pkgrel=%release% +pkgdesc="A modern, hackable, featureful, OpenGL-based terminal emulator" +arch=('x86_64') +url="https://github.com/kovidgoyal/kitty" +license=('GPL3') +depends=('python3' 'freetype2' 'fontconfig' 'wayland' 'libx11' 'libxkbcommon-x11' 'libxcursor' 'libxi' + 'hicolor-icon-theme' 'libgl' 'dbus' 'lcms2' 'librsync' 'xxhash') +makedepends=('libxinerama' 'libxrandr' 'wayland-protocols' 'go' 'simde') +source=("${pkgname}-${pkgver}.tar.xz::https://github.com/kovidgoyal/${pkgbase}/releases/download/v${pkgver}/${pkgbase}-${pkgver}.tar.xz" + "${pkgname}-${pkgver}.tar.xz.sig::https://github.com/kovidgoyal/${pkgbase}/releases/download/v${pkgver}/${pkgbase}-${pkgver}.tar.xz.sig") +b2sums=('6592ae99f3e05bda5367186096804175f00f21770e7112bf45fa968d161e70d2fdcf956214e29e048e6973ee14457f5eaca753a761824f1c104ba32552122e33' + 'SKIP') +validpgpkeys=('3CE1780F78DD88DF45194FD706BC317B515ACE7C') # Kovid Goyal + +build() { + cd "$srcdir/$pkgname-$pkgver" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + python3 setup.py linux-package --update-check-interval=0 +} + +package_kitty() { + depends+=('kitty-terminfo' 'kitty-shell-integration') + optdepends=('imagemagick: viewing images with icat' + 'python-pygments: syntax highlighting in kitty +kitten diff' + 'libcanberra: playing "bell" sound on terminal bell') + + cd "$srcdir/$pkgname-$pkgver" + + cp -r linux-package "${pkgdir}"/usr + + # completions + linux-package/bin/kitten __complete__ setup bash | install -Dm644 /dev/stdin "${pkgdir}"/usr/share/bash-completion/completions/kitty + linux-package/bin/kitten __complete__ setup fish | install -Dm644 /dev/stdin "${pkgdir}"/usr/share/fish/vendor_completions.d/kitty.fish + linux-package/bin/kitten __complete__ setup zsh | install -Dm644 /dev/stdin "${pkgdir}"/usr/share/zsh/site-functions/_kitty + + install -Dm644 "${pkgdir}"/usr/share/icons/hicolor/256x256/apps/kitty.png "${pkgdir}"/usr/share/pixmaps/kitty.png + + rm -r "$pkgdir"/usr/share/terminfo + rm -r "$pkgdir"/usr/lib/kitty/shell-integration + + install -Dm644 docs/_build/html/_downloads/*/kitty.conf "${pkgdir}"/usr/share/doc/${pkgname}/kitty.conf +} + +package_kitty-terminfo() { + pkgdesc='Terminfo for kitty, an OpenGL-based terminal emulator' + depends=('ncurses') + + mkdir -p "$pkgdir/usr/share/terminfo" + tic -x -o "$pkgdir/usr/share/terminfo" $pkgbase-$pkgver/terminfo/kitty.terminfo +} + +package_kitty-shell-integration() { + pkgdesc='Shell integration scripts for kitty, an OpenGL-based terminal emulator' + + mkdir -p "$pkgdir/usr/lib/kitty/" + cp -r "$srcdir/$pkgbase-$pkgver/shell-integration" "$pkgdir/usr/lib/kitty/" +} diff --git a/main/kitty/README b/main/kitty/README new file mode 100644 index 00000000..6ae8f989 --- /dev/null +++ b/main/kitty/README @@ -0,0 +1,43 @@ +kitty +________________________________________________________________________________ + +A modern, hackable, featureful, OpenGL-based terminal emulator Terminfo for kitty, an OpenGL-based terminal emulator Shell integration scripts for kitty, an OpenGL-based terminal emulator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kitty | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/kovidgoyal/kitty diff --git a/main/kitty/version b/main/kitty/version new file mode 100644 index 00000000..673d69f0 --- /dev/null +++ b/main/kitty/version @@ -0,0 +1 @@ +0.33.1 4 diff --git a/main/kjobwidgets/.PKGINFO b/main/kjobwidgets/.PKGINFO new file mode 100644 index 00000000..c8f3fdf1 --- /dev/null +++ b/main/kjobwidgets/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kjobwidgets +pkgbase = kjobwidgets +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Widgets for tracking KJob instances +url = https://community.kde.org/Frameworks +builddate = 1718491573 +packager = Developer +size = 783103 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = knotifications +depend = kwidgetsaddons +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kjobwidgets/PKGBUILD b/main/kjobwidgets/PKGBUILD new file mode 100644 index 00000000..f5671102 --- /dev/null +++ b/main/kjobwidgets/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kjobwidgets +pkgver=%version% +pkgrel=%release% +pkgdesc='Widgets for tracking KJob instances' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcoreaddons + knotifications + kwidgetsaddons + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('5239d0d47af8118c962b59816fceeebbff930a43ab7923438982ac08dbcb84be' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kjobwidgets/README b/main/kjobwidgets/README new file mode 100644 index 00000000..4a2947ad --- /dev/null +++ b/main/kjobwidgets/README @@ -0,0 +1,43 @@ +kjobwidgets +________________________________________________________________________________ + +Widgets for tracking KJob instances + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kjobwidgets | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kjobwidgets/version b/main/kjobwidgets/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kjobwidgets/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kmenuedit/.PKGINFO b/main/kmenuedit/.PKGINFO new file mode 100644 index 00000000..a12c5fff --- /dev/null +++ b/main/kmenuedit/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kmenuedit +pkgbase = kmenuedit +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE menu editor +url = https://kde.org/plasma-desktop/ +builddate = 1713662709 +packager = Developer +size = 2022330 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcompletion +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kdbusaddons +depend = kglobalaccel +depend = ki18n +depend = kiconthemes +depend = kio +depend = kitemviews +depend = kservice +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = qt6-base +depend = sonnet +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/kmenuedit/PKGBUILD b/main/kmenuedit/PKGBUILD new file mode 100644 index 00000000..bdc4e5f1 --- /dev/null +++ b/main/kmenuedit/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kmenuedit +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE menu editor' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kglobalaccel + ki18n + kiconthemes + kio + kitemviews + kservice + kwidgetsaddons + kwindowsystem + kxmlgui + qt6-base + sonnet) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('7cf8d4e2aa9e2633a9d0f092025c48c0a731a14cf920a6b528d8ffe7b4d6c72c' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kmenuedit/README b/main/kmenuedit/README new file mode 100644 index 00000000..dd785849 --- /dev/null +++ b/main/kmenuedit/README @@ -0,0 +1,43 @@ +kmenuedit +________________________________________________________________________________ + +KDE menu editor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kmenuedit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kmenuedit/version b/main/kmenuedit/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kmenuedit/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kmod/PKGBUILD b/main/kmod/PKGBUILD new file mode 100644 index 00000000..aca6610b --- /dev/null +++ b/main/kmod/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kmod +pkgver=%version% +pkgrel=%release% +pkgdesc="Linux kernel module management tools and library" +arch=('x86_64') +url='https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git' +license=('GPL2') +depends=('glibc' 'zlib' 'openssl' 'xz' 'zstd') +checkdepends=('linux-headers' 'libelf') +options=('strip') +provides=('module-init-tools=3.16' 'libkmod.so') +conflicts=('module-init-tools') +replaces=('module-init-tools') +validpgpkeys=('EAB33C9690013C733916AC839BA2A5A630CBEA53') # Lucas DeMarchi +source=("https://www.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar."{xz,sign} + 'depmod-search.conf' + 'depmod.hook' + 'depmod.script') +md5sums=('1046fda48766fae905f83150d12eec78' + 'SKIP' + 'dd62cbf62bd8f212f51ef8c43bec9a77' + 'e179ace75721e92b04b2e145b69dab29' + 'b00253ca0d4ebfb2414e4596597bdebd') +sha256sums=('630ed0d92275a88cb9a7bf68f5700e911fdadaf02e051cf2e4680ff8480bd492' + 'SKIP' + '1a92bfeae870f61ce814577e69d2a147a9c0caf6aed1131243e4179241fcc4a8' + 'c11c2a0f66ea405493e8617689ca10818dc81dd1dddc19bdb220c8b2917119c1' + 'd2cd04a09feba30e1376144a8110ec7521892acb0940c3c4ba459aeecf0452ed') + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --sysconfdir=/etc \ + --with-module-directory=/usr/lib/modules \ + --with-xz \ + --with-zlib \ + --with-zstd \ + --with-openssl + + make +} + +check() { + # As of kmod v20, the test suite needs to build some kernel modules, and thus + # needs headers available in order to run. We depend on linux-headers, but + # this is really only to try and make sure that *some* useable tree of kernel + # headers exist. The first useable tree we find is good enough, as these + # modules will never be loaded by tests. + + local kdirs=(/usr/lib/modules/*/build/Makefile) + if [[ ! -f ${kdirs[0]} ]]; then + printf '==> Unable to find kernel headers to build modules for tests\n' >&2 + return 1 + fi + + local kver kdir=${kdirs[0]%/Makefile} + IFS=/ read _ _ _ kver _ <<<"$kdir" + + make -C "$pkgname-$pkgver" check KDIR="$kdir" KVER="$kver" +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # extra directories + install -dm755 "$pkgdir"/{etc,usr/lib}/{depmod,modprobe}.d + + # install depmod.d file for search/ dir + install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/usr/lib/depmod.d/search.conf" + + # hook + install -Dm644 "$srcdir/depmod.hook" "$pkgdir/usr/share/libalpm/hooks/60-depmod.hook" + install -Dm755 "$srcdir/depmod.script" "$pkgdir/usr/share/libalpm/scripts/depmod" +} + +# vim: ft=sh syn=sh et diff --git a/main/kmod/README b/main/kmod/README new file mode 100644 index 00000000..84455beb --- /dev/null +++ b/main/kmod/README @@ -0,0 +1,43 @@ +kmod +________________________________________________________________________________ + +Linux kernel module management tools and library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kmod | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git diff --git a/main/kmod/depmod-search.conf b/main/kmod/depmod-search.conf new file mode 100644 index 00000000..36f2cf7d --- /dev/null +++ b/main/kmod/depmod-search.conf @@ -0,0 +1,5 @@ +# +# /usr/lib/depmod.d/search.conf +# + +search updates extramodules built-in diff --git a/main/kmod/depmod.hook b/main/kmod/depmod.hook new file mode 100644 index 00000000..bbb39a95 --- /dev/null +++ b/main/kmod/depmod.hook @@ -0,0 +1,13 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/modules/*/ +Target = !usr/lib/modules/*/?* + +[Action] +Description = Updating module dependencies... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/depmod +NeedsTargets diff --git a/main/kmod/depmod.script b/main/kmod/depmod.script new file mode 100644 index 00000000..91c1f2ea --- /dev/null +++ b/main/kmod/depmod.script @@ -0,0 +1,13 @@ +#!/bin/bash + +while read -r f; do + if [[ -e ${f}modules.order ]]; then + depmod $(basename "$f") + elif [[ -d $f ]]; then + rm -f "${f}"modules.{alias,alias.bin,builtin.alias.bin,builtin.bin} \ + "${f}"modules.{dep,dep.bin,devname,softdep,symbols,symbols.bin} + rmdir --ignore-fail-on-non-empty "$f" + fi +done + +# vim:set ft=sh sw=2 et: diff --git a/main/kmod/version b/main/kmod/version new file mode 100644 index 00000000..4ebffbb2 --- /dev/null +++ b/main/kmod/version @@ -0,0 +1 @@ +32 1 diff --git a/main/knewstuff/.PKGINFO b/main/knewstuff/.PKGINFO new file mode 100644 index 00000000..b9451d19 --- /dev/null +++ b/main/knewstuff/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = knewstuff +pkgbase = knewstuff +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Support for downloading application assets from the network +url = https://community.kde.org/Frameworks +builddate = 1718491574 +packager = Developer +size = 3472442 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = attica +depend = gcc-libs +depend = glibc +depend = karchive +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kpackage +depend = kwidgetsaddons +depend = qt6-base +depend = syndication +optdepend = kirigami: QML components +optdepend = qt6-declarative: QML components +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kirigami +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/knewstuff/PKGBUILD b/main/knewstuff/PKGBUILD new file mode 100644 index 00000000..372f485f --- /dev/null +++ b/main/knewstuff/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=knewstuff +pkgver=%version% +pkgrel=%release% +pkgdesc='Support for downloading application assets from the network' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(attica + gcc-libs + glibc + karchive + kconfig + kcoreaddons + ki18n + kpackage + kwidgetsaddons + qt6-base + syndication) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('kirigami: QML components' + 'qt6-5compat: QML components' + 'qt6-declarative: QML components') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig} + https://invent.kde.org/frameworks/knewstuff/-/commit/4f01e2ff.patch + https://invent.kde.org/frameworks/knewstuff/-/commit/49f2037a.patch + https://invent.kde.org/frameworks/knewstuff/-/commit/8e80d1c0.patch) +sha256sums=('0299dba980590bd7c74870a74c6bb6ca732af478ab2c9ba414943f62ea0be0fa' + 'SKIP' + 'dec069302c5fd27594763ff4c67666c33625c3d63cb50f5ece39c14334cacc20' + 'bf428c232084233175d6d508c92711827011f68f73776a543dabc821619c51aa' + '44eb37d871531b9f8bdbea4cccd74b12f6b2711408cb8eb287716527b313b0b3') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +prepare() { + patch -d $pkgname-$pkgver -p1 < 4f01e2ff.patch # Fix Get New... buttons with Qt 6.7 + patch -d $pkgname-$pkgver -p1 < 49f2037a.patch # Fix link list dialog for installation button + patch -d $pkgname-$pkgver -p1 < 8e80d1c0.patch # Fix crash in Discover +} + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/knewstuff/README b/main/knewstuff/README new file mode 100644 index 00000000..4c2cb242 --- /dev/null +++ b/main/knewstuff/README @@ -0,0 +1,43 @@ +knewstuff +________________________________________________________________________________ + +Support for downloading application assets from the network + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S knewstuff | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/knewstuff/version b/main/knewstuff/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/knewstuff/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/knotifications/.PKGINFO b/main/knotifications/.PKGINFO new file mode 100644 index 00000000..d160e9c7 --- /dev/null +++ b/main/knotifications/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = knotifications +pkgbase = knotifications +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Abstraction for system notifications +url = https://community.kde.org/Frameworks +builddate = 1718491576 +packager = Developer +size = 688586 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = libcanberra +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/knotifications/PKGBUILD b/main/knotifications/PKGBUILD new file mode 100644 index 00000000..a27c5ca4 --- /dev/null +++ b/main/knotifications/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=knotifications +pkgver=%version% +pkgrel=%release% +pkgdesc='Abstraction for system notifications' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + libcanberra + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('35fed813fc594bbe808bc01b511b2d1eff9023977b7981137f3fec81984713e8' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/knotifications/README b/main/knotifications/README new file mode 100644 index 00000000..9e5e1d84 --- /dev/null +++ b/main/knotifications/README @@ -0,0 +1,43 @@ +knotifications +________________________________________________________________________________ + +Abstraction for system notifications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S knotifications | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/knotifications/version b/main/knotifications/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/knotifications/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/knotifyconfig/.PKGINFO b/main/knotifyconfig/.PKGINFO new file mode 100644 index 00000000..6aabcec4 --- /dev/null +++ b/main/knotifyconfig/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = knotifyconfig +pkgbase = knotifyconfig +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Configuration system for KNotify +url = https://community.kde.org/Frameworks +builddate = 1718491577 +packager = Developer +size = 375038 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = ki18n +depend = kio +depend = libcanberra +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/knotifyconfig/PKGBUILD b/main/knotifyconfig/PKGBUILD new file mode 100644 index 00000000..a483d094 --- /dev/null +++ b/main/knotifyconfig/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=knotifyconfig +pkgver=%version% +pkgrel=%release% +pkgdesc='Configuration system for KNotify' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + ki18n + kio + libcanberra + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('323fe757a01ecb2481d9ad04b0902efd3dde13cb1fc044ee1ac1b7f5a29369e6' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/knotifyconfig/README b/main/knotifyconfig/README new file mode 100644 index 00000000..e2f6d8cf --- /dev/null +++ b/main/knotifyconfig/README @@ -0,0 +1,43 @@ +knotifyconfig +________________________________________________________________________________ + +Configuration system for KNotify + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S knotifyconfig | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/knotifyconfig/version b/main/knotifyconfig/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/knotifyconfig/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/konsole/.PKGINFO b/main/konsole/.PKGINFO new file mode 100644 index 00000000..89e0a0c9 --- /dev/null +++ b/main/konsole/.PKGINFO @@ -0,0 +1,48 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = konsole +pkgbase = konsole +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = KDE terminal emulator +url = https://apps.kde.org/konsole/ +builddate = 1718491578 +packager = Developer +size = 9190262 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +group = kde-applications +group = kde-utilities +depend = glibc +depend = gcc-libs +depend = icu +depend = kbookmarks +depend = kcolorscheme +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kglobalaccel +depend = kguiaddons +depend = ki18n +depend = kiconthemes +depend = kio +depend = knewstuff +depend = knotifications +depend = knotifyconfig +depend = kparts +depend = kpty +depend = kservice +depend = ktextwidgets +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = qt6-5compat +depend = qt6-base +depend = qt6-multimedia +depend = sh +optdepend = keditbookmarks: to manage bookmarks +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/konsole/PKGBUILD b/main/konsole/PKGBUILD new file mode 100644 index 00000000..3bab8c94 --- /dev/null +++ b/main/konsole/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=konsole +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://apps.kde.org/konsole/' +pkgdesc='KDE terminal emulator' +license=(GPL-2.0-or-later LGPL-2.0-or-later) +groups=(kde-applications + kde-utilities) +depends=(glibc + gcc-libs + icu + kbookmarks + kcolorscheme + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + knewstuff + knotifications + knotifyconfig + kparts + kpty + kservice + ktextwidgets + kwidgetsaddons + kwindowsystem + kxmlgui + qt6-5compat + qt6-base + qt6-multimedia + sh) +makedepends=(extra-cmake-modules + kdoctools) +optdepends=('keditbookmarks: to manage bookmarks') +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c5a277db84a2f61751250b89c7f984dfdb7750d9ed5f68a4fae228d89ae72c85' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/konsole/README b/main/konsole/README new file mode 100644 index 00000000..151b7f0e --- /dev/null +++ b/main/konsole/README @@ -0,0 +1,43 @@ +konsole +________________________________________________________________________________ + +KDE terminal emulator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S konsole | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://apps.kde.org/konsole/ diff --git a/main/konsole/version b/main/konsole/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/konsole/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/kpackage/.PKGINFO b/main/kpackage/.PKGINFO new file mode 100644 index 00000000..01d93bc4 --- /dev/null +++ b/main/kpackage/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kpackage +pkgbase = kpackage +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Framework that lets applications manage user installable packages of non-binary assets +url = https://community.kde.org/Frameworks +builddate = 1718491580 +packager = Developer +size = 951064 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = karchive +depend = kcoreaddons +depend = ki18n +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kpackage/PKGBUILD b/main/kpackage/PKGBUILD new file mode 100644 index 00000000..f198a0bf --- /dev/null +++ b/main/kpackage/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kpackage +pkgver=%version% +pkgrel=%release% +pkgdesc='Framework that lets applications manage user installable packages of non-binary assets' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + karchive + kcoreaddons + ki18n + qt6-base) +makedepends=(doxygen + extra-cmake-modules + kdoctools + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('d2aec3df0dffb71e93acc03c46f2d4ca59c58263a9989df75107bf5223e9d1b7' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kpackage/README b/main/kpackage/README new file mode 100644 index 00000000..81b962e0 --- /dev/null +++ b/main/kpackage/README @@ -0,0 +1,43 @@ +kpackage +________________________________________________________________________________ + +Framework that lets applications manage user installable packages of non-binary assets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kpackage | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kpackage/version b/main/kpackage/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kpackage/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kparts/.PKGINFO b/main/kparts/.PKGINFO new file mode 100644 index 00000000..534bd84c --- /dev/null +++ b/main/kparts/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kparts +pkgbase = kparts +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Document centric plugin system +url = https://community.kde.org/Frameworks +builddate = 1718491581 +packager = Developer +size = 1093364 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kio +depend = kwidgetsaddons +depend = kxmlgui +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kparts/PKGBUILD b/main/kparts/PKGBUILD new file mode 100644 index 00000000..5aa3352a --- /dev/null +++ b/main/kparts/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kparts +pkgver=%version% +pkgrel=%release% +pkgdesc='Document centric plugin system' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + ki18n + kio + kwidgetsaddons + kxmlgui + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('f08308556eecd6db0be727ec1d27b3bb533880a530d112bb16ec2f08ead1f6e1' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kparts/README b/main/kparts/README new file mode 100644 index 00000000..91aba8de --- /dev/null +++ b/main/kparts/README @@ -0,0 +1,43 @@ +kparts +________________________________________________________________________________ + +Document centric plugin system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kparts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kparts/version b/main/kparts/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kparts/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kpipewire/.PKGINFO b/main/kpipewire/.PKGINFO new file mode 100644 index 00000000..32186937 --- /dev/null +++ b/main/kpipewire/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kpipewire +pkgbase = kpipewire +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Components relating to pipewire use in Plasma +url = https://kde.org/plasma-desktop/ +builddate = 1713662711 +packager = Developer +size = 445268 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = ffmpeg +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = ki18n +depend = libdrm +depend = libepoxy +depend = libpipewire +depend = libva +depend = mesa +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols diff --git a/main/kpipewire/PKGBUILD b/main/kpipewire/PKGBUILD new file mode 100644 index 00000000..347be203 --- /dev/null +++ b/main/kpipewire/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kpipewire +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Components relating to pipewire use in Plasma' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(ffmpeg + gcc-libs + glibc + kcoreaddons + ki18n + libdrm + libepoxy + libpipewire + libva + mesa + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + plasma-wayland-protocols) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1aba7a04bf35c8869068af387845121b5db4e7e61f1990e4deb86cb683a0527e' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kpipewire/README b/main/kpipewire/README new file mode 100644 index 00000000..5e07d8d3 --- /dev/null +++ b/main/kpipewire/README @@ -0,0 +1,43 @@ +kpipewire +________________________________________________________________________________ + +Components relating to pipewire use in Plasma + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kpipewire | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kpipewire/version b/main/kpipewire/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kpipewire/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kpmcore/.PKGINFO b/main/kpmcore/.PKGINFO new file mode 100644 index 00000000..9459505f --- /dev/null +++ b/main/kpmcore/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kpmcore +pkgbase = kpmcore +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = Library for managing partitions +url = https://apps.kde.org/partitionmanager/ +builddate = 1718491583 +packager = Developer +size = 4242627 +arch = x86_64 +license = GPL-2.0-or-later +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = ki18n +depend = kwidgetsaddons +depend = polkit-qt6 +depend = qt6-base +depend = smartmontools +depend = util-linux-libs +optdepend = bcachefs-tools: BCacheFS support +optdepend = dosfstools: FAT32 support +optdepend = e2fsprogs: ext2/3/4 support +optdepend = exfat-utils: exFAT support +optdepend = exfatprogs: exFAT support (alternative to exfat-utils) +optdepend = f2fs-tools: F2FS support +optdepend = fatresize: FAT resize support +optdepend = jfsutils: JFS support +optdepend = nilfs-utils: nilfs support +optdepend = ntfs-3g: NTFS support +optdepend = reiserfsprogs: Reiser support +optdepend = udftools: UDF support +optdepend = xfsprogs: XFS support +makedepend = extra-cmake-modules diff --git a/main/kpmcore/PKGBUILD b/main/kpmcore/PKGBUILD new file mode 100644 index 00000000..d525958e --- /dev/null +++ b/main/kpmcore/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kpmcore +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for managing partitions' +arch=(x86_64) +url='https://apps.kde.org/partitionmanager/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glibc + kcoreaddons + ki18n + kwidgetsaddons + polkit-qt6 + qt6-base + smartmontools + util-linux-libs) +makedepends=(extra-cmake-modules) +optdepends=('dosfstools: FAT32 support' + 'e2fsprogs: ext2/3/4 support' + 'exfat-utils: exFAT support' + 'exfatprogs: exFAT support (alternative to exfat-utils)' + 'f2fs-tools: F2FS support' + 'fatresize: FAT resize support' + 'jfsutils: JFS support' + 'nilfs-utils: nilfs support' + 'ntfs-3g: NTFS support' + 'reiserfsprogs: Reiser support' + 'udftools: UDF support' + 'xfsprogs: XFS support') +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('87358b3940f725bb7eed7cf2895bbbaf40bb7ca9ce4bfe83335b6480bbea5578' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kpmcore/README b/main/kpmcore/README new file mode 100644 index 00000000..2c1477cf --- /dev/null +++ b/main/kpmcore/README @@ -0,0 +1,43 @@ +kpmcore +________________________________________________________________________________ + +Library for managing partitions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kpmcore | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://apps.kde.org/partitionmanager/ diff --git a/main/kpmcore/version b/main/kpmcore/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/kpmcore/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/kpty/.PKGINFO b/main/kpty/.PKGINFO new file mode 100644 index 00000000..b39d7ddc --- /dev/null +++ b/main/kpty/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kpty +pkgbase = kpty +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Pty abstraction +url = https://community.kde.org/Frameworks +builddate = 1718491584 +packager = Developer +size = 413915 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = ki18n +depend = libutempter +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kpty/PKGBUILD b/main/kpty/PKGBUILD new file mode 100644 index 00000000..c5bee4b8 --- /dev/null +++ b/main/kpty/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kpty +pkgver=%version% +pkgrel=%release% +pkgdesc='Pty abstraction' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcoreaddons + ki18n + libutempter + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c5df357adfc1733593f6ceb3cd95ff7a3e587701f990b631dfaee0278e0df171' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kpty/README b/main/kpty/README new file mode 100644 index 00000000..bfc8cb30 --- /dev/null +++ b/main/kpty/README @@ -0,0 +1,43 @@ +kpty +________________________________________________________________________________ + +Pty abstraction + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kpty | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kpty/version b/main/kpty/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kpty/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kquickcharts/.PKGINFO b/main/kquickcharts/.PKGINFO new file mode 100644 index 00000000..973c26a8 --- /dev/null +++ b/main/kquickcharts/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kquickcharts +pkgbase = kquickcharts +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = A QtQuick plugin providing high-performance charts +url = https://community.kde.org/Frameworks +builddate = 1718491585 +packager = Developer +size = 667688 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kirigami +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = qt6-shadertools diff --git a/main/kquickcharts/PKGBUILD b/main/kquickcharts/PKGBUILD new file mode 100644 index 00000000..5abaf602 --- /dev/null +++ b/main/kquickcharts/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kquickcharts +pkgver=%version% +pkgrel=%release% +pkgdesc='A QtQuick plugin providing high-performance charts' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kirigami + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + qt6-shadertools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('ebd9a8f501b80e72a12f50d984847a698f7283be389644f7e24133484076a6a5' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kquickcharts/README b/main/kquickcharts/README new file mode 100644 index 00000000..46205eb6 --- /dev/null +++ b/main/kquickcharts/README @@ -0,0 +1,43 @@ +kquickcharts +________________________________________________________________________________ + +A QtQuick plugin providing high-performance charts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kquickcharts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kquickcharts/version b/main/kquickcharts/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kquickcharts/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/krb5/PKGBUILD b/main/krb5/PKGBUILD new file mode 100644 index 00000000..3c82b022 --- /dev/null +++ b/main/krb5/PKGBUILD @@ -0,0 +1,96 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=krb5 +_pkgvermajor=1.21 +pkgver=%version% +pkgrel=%release% +pkgdesc='The Kerberos network authentication system' +url='https://web.mit.edu/kerberos/' +arch=('x86_64') +license=('custom') +depends=('glibc' 'e2fsprogs' 'libldap' 'keyutils' 'libverto-module-base' + libkeyutils.so libss.so libcom_err.so libverto.so) +makedepends=('perl') +provides=( + libgssapi_krb5.so + libgssrpc.so + libk5crypto.so + libkadm5clnt_mit.so + libkadm5srv_mit.so + libkdb5.so + libkdb_ldap.so + libkrad.so + libkrb5.so + libkrb5support.so +) +backup=( + 'etc/krb5.conf' + 'var/lib/krb5kdc/kdc.conf' +) +options=('!emptydirs') +source=(https://web.mit.edu/kerberos/dist/krb5/${_pkgvermajor}/${pkgname}-${pkgver}.tar.gz{,.asc} + krb5-kadmind.service + krb5-kdc.service + krb5-kpropd.service + krb5-kpropd@.service + krb5-kpropd.socket) +sha512sums=('4e09296b412383d53872661718dbfaa90201e0d85f69db48e57a8d4bd73c95a90c7ec7b6f0f325f6bc967f8d203b256b071c0191facf080aca0e2caec5d0ac49' + 'SKIP' + 'ae1fa980e8e30a83dfef7fe233be70a9ec530ebaffc344a0e7eba61e7de4c800421b45cf203f1e526cc8351754038d6539184b30aa049a567e2a9e80f0d39841' + 'b137ff0154f9af4891e9e78cec692af47ecfd92ca9ce6e00b40ef137d942ba04e8caf483fc5d464b9559ad4a5c4e75ec57b6eab7fc35181115ca1606c0b316c1' + 'b57bbe55c19c92a04cd3e8ad569adcc5aedd4246075b2e6dbcc363e523853332a3e7650be85098b91e495799f8b728ea550495ab303f46ccd9298a2260120b2f' + 'a31ed42e988fed892dd3f1ca1942c3cd4bf391d894c9cebe5e91f52797392261e129727590ae06e2f727bb7b0f8d73a7aa35e8b983d6bad77f22a099091ee944' + '4e7ae175425e0787a1d5ff959471a88bf5af4cd6e213dc6d4048902fab7547c1186a082370b523f9549f5096acfab1fb03b4839e42bd80dc539130ae4bb3ea55') +validpgpkeys=('2C732B1C0DBEF678AB3AF606A32F17FD0055C305' # Tom Yu + 'C4493CB739F4A89F9852CBC20CBA08575F8372DF') # Greg Hudson + +prepare() { + cd ${pkgname}-${pkgver} + + # FS#25384 + sed -i "/KRB5ROOT=/s/\/local//" src/util/ac_check_krb5.m4 +} + +build() { + cd ${pkgname}-${pkgver}/src + export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" + export CPPFLAGS+=" -I/usr/include/et" + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --enable-shared \ + --with-system-et \ + --with-system-ss \ + --disable-rpath \ + --without-tcl \ + --enable-dns-for-realm \ + --with-ldap \ + --with-system-verto + make +} + +package() { + cd ${pkgname}-${pkgver}/src + make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install + + # Fix FS#29889 + install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} \ + "${pkgdir}/usr/share/doc/${pkgname}/examples" + + install -Dpm 644 config-files/krb5.conf -t "${pkgdir}/etc" + install -Dpm 644 config-files/kdc.conf -t "${pkgdir}/var/lib/krb5kdc" + + install -Dm 644 util/ac_check_krb5.m4 -t "${pkgdir}/usr/share/aclocal" + + install -Dm 644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + # systemd stuff + install -Dm 644 "${srcdir}"/krb5-{kadmind.service,kdc.service,kpropd.service,kpropd@.service,kpropd.socket} \ + -t "${pkgdir}/usr/lib/systemd/system" + +} + +# vim: ts=2 sw=2 et: diff --git a/main/krb5/README b/main/krb5/README new file mode 100644 index 00000000..be292a0e --- /dev/null +++ b/main/krb5/README @@ -0,0 +1,43 @@ +krb5 +________________________________________________________________________________ + +The Kerberos network authentication system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S krb5 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://web.mit.edu/kerberos/ diff --git a/main/krb5/krb5-kadmind.service b/main/krb5/krb5-kadmind.service new file mode 100644 index 00000000..4819e0df --- /dev/null +++ b/main/krb5/krb5-kadmind.service @@ -0,0 +1,8 @@ +[Unit] +Description=Kerberos 5 administration server + +[Service] +ExecStart=/usr/bin/kadmind -nofork + +[Install] +WantedBy=multi-user.target diff --git a/main/krb5/krb5-kdc.service b/main/krb5/krb5-kdc.service new file mode 100644 index 00000000..4918f600 --- /dev/null +++ b/main/krb5/krb5-kdc.service @@ -0,0 +1,9 @@ +[Unit] +Description=Kerberos 5 KDC + +[Service] +ExecStart=/usr/bin/krb5kdc -n +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/main/krb5/krb5-kpropd.service b/main/krb5/krb5-kpropd.service new file mode 100644 index 00000000..c6c32243 --- /dev/null +++ b/main/krb5/krb5-kpropd.service @@ -0,0 +1,8 @@ +[Unit] +Description=Kerberos 5 propagation server + +[Service] +ExecStart=/usr/bin/kpropd -S + +[Install] +WantedBy=multi-user.target diff --git a/main/krb5/krb5-kpropd.socket b/main/krb5/krb5-kpropd.socket new file mode 100644 index 00000000..4389290c --- /dev/null +++ b/main/krb5/krb5-kpropd.socket @@ -0,0 +1,9 @@ +[Unit] +Description=Kerberos 5 propagation server + +[Socket] +ListenStream=754 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/main/krb5/krb5-kpropd@.service b/main/krb5/krb5-kpropd@.service new file mode 100644 index 00000000..989270f1 --- /dev/null +++ b/main/krb5/krb5-kpropd@.service @@ -0,0 +1,8 @@ +[Unit] +Description=Kerberos 5 propagation server +Conflicts=krb5-kpropd.service + +[Service] +ExecStart=/usr/bin/kpropd +StandardInput=socket +StandardError=syslog diff --git a/main/krb5/version b/main/krb5/version new file mode 100644 index 00000000..9acadce3 --- /dev/null +++ b/main/krb5/version @@ -0,0 +1 @@ +1.21.2 2 diff --git a/main/krunner/.PKGINFO b/main/krunner/.PKGINFO new file mode 100644 index 00000000..ebcf1600 --- /dev/null +++ b/main/krunner/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = krunner +pkgbase = krunner +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Framework for providing different actions given a string query +url = https://community.kde.org/Frameworks +builddate = 1718491587 +packager = Developer +size = 831793 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kitemmodels +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/krunner/PKGBUILD b/main/krunner/PKGBUILD new file mode 100644 index 00000000..5f55f6e8 --- /dev/null +++ b/main/krunner/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=krunner +pkgver=%version% +pkgrel=%release% +pkgdesc='Framework for providing different actions given a string query' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + ki18n + kitemmodels + qt6-base) +makedepends=(doxygen + extra-cmake-modules + kdoctools + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('22d33fd27567a350ae4edae4fe5662b748e8fabd539863441794558e68f3313d' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/krunner/README b/main/krunner/README new file mode 100644 index 00000000..f15c6834 --- /dev/null +++ b/main/krunner/README @@ -0,0 +1,43 @@ +krunner +________________________________________________________________________________ + +Framework for providing different actions given a string query + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S krunner | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/krunner/version b/main/krunner/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/krunner/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kscreen/.PKGINFO b/main/kscreen/.PKGINFO new file mode 100644 index 00000000..8db59770 --- /dev/null +++ b/main/kscreen/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kscreen +pkgbase = kscreen +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE screen management software +url = https://kde.org/plasma-desktop/ +builddate = 1713662712 +packager = Developer +size = 1169593 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kdeclarative +depend = ki18n +depend = kirigami +depend = ksvg +depend = kwindowsystem +depend = layer-shell-qt +depend = libkscreen +depend = libx11 +depend = libxcb +depend = libxi +depend = libplasma +depend = plasma5support +depend = qt6-base +depend = qt6-declarative +depend = qt6-sensors +makedepend = extra-cmake-modules diff --git a/main/kscreen/PKGBUILD b/main/kscreen/PKGBUILD new file mode 100644 index 00000000..780db2f6 --- /dev/null +++ b/main/kscreen/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kscreen +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE screen management software' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + kdbusaddons + kdeclarative + ki18n + kirigami + ksvg + kwindowsystem + layer-shell-qt + libkscreen + libx11 + libxcb + libxi + libplasma + plasma5support + qt6-base + qt6-declarative + qt6-sensors) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('5916e086c2260040a54dda00fe32fa768540daba78915f2d76ba5df79d799a9e' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_LIBEXECDIR=lib + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kscreen/README b/main/kscreen/README new file mode 100644 index 00000000..f47be76d --- /dev/null +++ b/main/kscreen/README @@ -0,0 +1,43 @@ +kscreen +________________________________________________________________________________ + +KDE screen management software + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kscreen | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kscreen/version b/main/kscreen/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kscreen/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kscreenlocker/.PKGINFO b/main/kscreenlocker/.PKGINFO new file mode 100644 index 00000000..08bf777f --- /dev/null +++ b/main/kscreenlocker/.PKGINFO @@ -0,0 +1,48 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kscreenlocker +pkgbase = kscreenlocker +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Library and components for secure lock screen architecture +url = https://kde.org/plasma-desktop/ +builddate = 1713662713 +packager = Developer +size = 899722 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +backup = etc/pam.d/kde +backup = etc/pam.d/kde-fingerprint +backup = etc/pam.d/kde-smartcard +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kdeclarative +depend = kglobalaccel +depend = ki18n +depend = kidletime +depend = kio +depend = kirigami +depend = knotifications +depend = kpackage +depend = ksvg +depend = kwindowsystem +depend = kxmlgui +depend = layer-shell-qt +depend = libkscreen +depend = libx11 +depend = libxcb +depend = libxi +depend = pam +depend = libplasma +depend = qt6-base +depend = qt6-declarative +depend = wayland +depend = xcb-util-keysyms +optdepend = kcmutils: configuration module +makedepend = extra-cmake-modules +makedepend = kcmutils +makedepend = kdoctools diff --git a/main/kscreenlocker/PKGBUILD b/main/kscreenlocker/PKGBUILD new file mode 100644 index 00000000..8b2b79be --- /dev/null +++ b/main/kscreenlocker/PKGBUILD @@ -0,0 +1,74 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kscreenlocker +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Library and components for secure lock screen architecture' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +backup=(etc/pam.d/kde + etc/pam.d/kde-fingerprint + etc/pam.d/kde-smartcard) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + kcrash + kdeclarative + kglobalaccel + ki18n + kidletime + kio + kirigami + knotifications + kpackage + ksvg + kwindowsystem + kxmlgui + layer-shell-qt + libkscreen + libx11 + libxcb + libxi + pam + libplasma + qt6-base + qt6-declarative + wayland + xcb-util-keysyms) +makedepends=(extra-cmake-modules + kcmutils + kdoctools) +optdepends=('kcmutils: configuration module') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig} + kde.pam + kde-fingerprint.pam + kde-smartcard.pam) +sha256sums=('4afedb43a935241ff698e44905b4af6e1901440326868093163ca36f8398d669' + 'SKIP' + 'adba7bb7c27eb3a572e5e9d3cea0dbeebe59d3634472d1863d14fe892cb13b2b' + '32734b4e1ec8b7f7e32b6cb2d68285c5c4f15f53736bba085096e76095181241' + '5d9c31cbf66e8e455b9559c929f184efd598f714743d5a1e6ce20adb44dc4b2d') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 "$srcdir"/kde.pam "$pkgdir"/etc/pam.d/kde + install -Dm644 "$srcdir"/kde-fingerprint.pam "$pkgdir"/etc/pam.d/kde-fingerprint + install -Dm644 "$srcdir"/kde-smartcard.pam "$pkgdir"/etc/pam.d/kde-smartcard +} diff --git a/main/kscreenlocker/README b/main/kscreenlocker/README new file mode 100644 index 00000000..b651940c --- /dev/null +++ b/main/kscreenlocker/README @@ -0,0 +1,43 @@ +kscreenlocker +________________________________________________________________________________ + +Library and components for secure lock screen architecture + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kscreenlocker | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kscreenlocker/kde-fingerprint.pam b/main/kscreenlocker/kde-fingerprint.pam new file mode 100644 index 00000000..383ac408 --- /dev/null +++ b/main/kscreenlocker/kde-fingerprint.pam @@ -0,0 +1,14 @@ +#%PAM-1.0 + +auth required pam_shells.so +auth requisite pam_nologin.so +auth requisite pam_faillock.so preauth +-auth required pam_fprintd.so +auth optional pam_permit.so +auth required pam_env.so + +account include system-local-login + +password required pam_deny.so + +session include system-local-login diff --git a/main/kscreenlocker/kde-smartcard.pam b/main/kscreenlocker/kde-smartcard.pam new file mode 100644 index 00000000..cf389f93 --- /dev/null +++ b/main/kscreenlocker/kde-smartcard.pam @@ -0,0 +1,14 @@ +#%PAM-1.0 + +auth requisite pam_nologin.so +auth requisite pam_faillock.so preauth +-auth required pam_pkcs11.so wait_for_card card_only +auth required pam_shells.so +auth optional pam_permit.so +auth required pam_env.so + +account include system-local-login + +password required pam_deny.so + +session include system-local-login diff --git a/main/kscreenlocker/kde.pam b/main/kscreenlocker/kde.pam new file mode 100644 index 00000000..7c9c7dab --- /dev/null +++ b/main/kscreenlocker/kde.pam @@ -0,0 +1,9 @@ +#%PAM-1.0 + +auth include system-local-login + +account include system-local-login + +password include system-local-login + +session include system-local-login diff --git a/main/kscreenlocker/version b/main/kscreenlocker/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kscreenlocker/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kservice/.PKGINFO b/main/kservice/.PKGINFO new file mode 100644 index 00000000..fb17731a --- /dev/null +++ b/main/kservice/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kservice +pkgbase = kservice +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Advanced plugin and service introspection +url = https://community.kde.org/Frameworks +builddate = 1718491588 +packager = Developer +size = 1010372 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kservice/PKGBUILD b/main/kservice/PKGBUILD new file mode 100644 index 00000000..4d3581e4 --- /dev/null +++ b/main/kservice/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kservice +pkgver=%version% +pkgrel=%release% +pkgdesc='Advanced plugin and service introspection' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + ki18n + qt6-base) +makedepends=(doxygen + extra-cmake-modules + kdoctools + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('9b44acf51d280deaa3114ec59518a6af5d645cb1ec2ebadb5de74681c8891bfe' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kservice/README b/main/kservice/README new file mode 100644 index 00000000..8ee65d22 --- /dev/null +++ b/main/kservice/README @@ -0,0 +1,43 @@ +kservice +________________________________________________________________________________ + +Advanced plugin and service introspection + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kservice | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kservice/version b/main/kservice/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kservice/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/ksshaskpass/.PKGINFO b/main/ksshaskpass/.PKGINFO new file mode 100644 index 00000000..386ac615 --- /dev/null +++ b/main/ksshaskpass/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ksshaskpass +pkgbase = ksshaskpass +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = ssh-add helper that uses kwallet and kpassworddialog +url = https://kde.org/plasma-desktop/ +builddate = 1713662714 +packager = Developer +size = 112134 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +provides = x11-ssh-askpass +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = ki18n +depend = kwallet +depend = kwidgetsaddons +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/ksshaskpass/PKGBUILD b/main/ksshaskpass/PKGBUILD new file mode 100644 index 00000000..309656a4 --- /dev/null +++ b/main/ksshaskpass/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ksshaskpass +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='ssh-add helper that uses kwallet and kpassworddialog' +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +arch=(x86_64) +depends=(gcc-libs + glibc + kcoreaddons + ki18n + kwallet + kwidgetsaddons + qt6-base) +makedepends=(extra-cmake-modules + kdoctools) +provides=(x11-ssh-askpass) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +install=$pkgname.install +sha256sums=('b7ea4a5bbb50ab0c98f042d001a835f0fe84f2cb91e4f6f90f1be0c66a183209' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ksshaskpass/README b/main/ksshaskpass/README new file mode 100644 index 00000000..e49e10fa --- /dev/null +++ b/main/ksshaskpass/README @@ -0,0 +1,43 @@ +ksshaskpass +________________________________________________________________________________ + +ssh-add helper that uses kwallet and kpassworddialog + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ksshaskpass | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/ksshaskpass/ksshaskpass.install b/main/ksshaskpass/ksshaskpass.install new file mode 100644 index 00000000..8f976438 --- /dev/null +++ b/main/ksshaskpass/ksshaskpass.install @@ -0,0 +1,5 @@ +post_upgrade() { + if [[ $(vercmp 5.5.2-2 "$2") -eq 1 ]]; then + echo "The SSH_ASKPASS environment variable is not exported by default anymore. Set it in /etc/profile to revert to the previous behavior" + fi +} diff --git a/main/ksshaskpass/version b/main/ksshaskpass/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/ksshaskpass/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kstatusnotifieritem/.PKGINFO b/main/kstatusnotifieritem/.PKGINFO new file mode 100644 index 00000000..5031bff7 --- /dev/null +++ b/main/kstatusnotifieritem/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kstatusnotifieritem +pkgbase = kstatusnotifieritem +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Implementation of Status Notifier Items +url = https://community.kde.org/Frameworks +builddate = 1718491593 +packager = Developer +size = 599826 +arch = x86_64 +license = LGPL-2.0-or-later +group = kf6 +depend = gcc-libs +depend = glibc +depend = kwindowsystem +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kstatusnotifieritem/PKGBUILD b/main/kstatusnotifieritem/PKGBUILD new file mode 100644 index 00000000..b38cb6e4 --- /dev/null +++ b/main/kstatusnotifieritem/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kstatusnotifieritem +pkgver=%version% +pkgrel=%release% +pkgdesc='Implementation of Status Notifier Items' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kwindowsystem + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('b426176d2cbc6fe80c758b6c476a47341d89a92cbb3355c2be37428a41772907' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kstatusnotifieritem/README b/main/kstatusnotifieritem/README new file mode 100644 index 00000000..308b915c --- /dev/null +++ b/main/kstatusnotifieritem/README @@ -0,0 +1,43 @@ +kstatusnotifieritem +________________________________________________________________________________ + +Implementation of Status Notifier Items + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kstatusnotifieritem | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kstatusnotifieritem/version b/main/kstatusnotifieritem/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kstatusnotifieritem/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/ksvg/.PKGINFO b/main/ksvg/.PKGINFO new file mode 100644 index 00000000..3d8edc97 --- /dev/null +++ b/main/ksvg/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ksvg +pkgbase = ksvg +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Components for handling SVGs +url = https://community.kde.org/Frameworks +builddate = 1718491594 +packager = Developer +size = 813157 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = karchive +depend = kcolorscheme +depend = kconfig +depend = kcoreaddons +depend = kguiaddons +depend = qt6-base +depend = qt6-svg +optdepend = kirigami: QML bindings +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kirigami +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/ksvg/PKGBUILD b/main/ksvg/PKGBUILD new file mode 100644 index 00000000..57903612 --- /dev/null +++ b/main/ksvg/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ksvg +pkgver=%version% +pkgrel=%release% +pkgdesc='Components for handling SVGs' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + karchive + kcolorscheme + kconfig + kcoreaddons + kguiaddons + qt6-base + qt6-svg) +makedepends=(doxygen + extra-cmake-modules + kirigami + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('kirigami: QML bindings' + 'qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('d056cb96b06c1f1a8a8f39c134858cf1437c546b9d79a9eb1a92f8933d1e3579' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ksvg/README b/main/ksvg/README new file mode 100644 index 00000000..8ea677a4 --- /dev/null +++ b/main/ksvg/README @@ -0,0 +1,43 @@ +ksvg +________________________________________________________________________________ + +Components for handling SVGs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ksvg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/ksvg/version b/main/ksvg/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/ksvg/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/ksystemstats/.PKGINFO b/main/ksystemstats/.PKGINFO new file mode 100644 index 00000000..3ae628ef --- /dev/null +++ b/main/ksystemstats/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ksystemstats +pkgbase = ksystemstats +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = A plugin based system monitoring daemon +url = https://kde.org/plasma-desktop/ +builddate = 1713662715 +packager = Developer +size = 1184175 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = ki18n +depend = kio +depend = libksysguard +depend = lm_sensors +depend = qt6-base +depend = solid +optdepend = libnl: network usage monitor +optdepend = networkmanager-qt: network usage monitor +optdepend = systemd-libs: GPU monitor +makedepend = extra-cmake-modules +makedepend = libnl +makedepend = networkmanager-qt diff --git a/main/ksystemstats/PKGBUILD b/main/ksystemstats/PKGBUILD new file mode 100644 index 00000000..1c3c08f2 --- /dev/null +++ b/main/ksystemstats/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ksystemstats +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='A plugin based system monitoring daemon' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcoreaddons + ki18n + kio + libksysguard + lm_sensors + qt6-base + solid) +makedepends=(extra-cmake-modules + libnl + networkmanager-qt) +optdepends=('libnl: network usage monitor' + 'networkmanager-qt: network usage monitor' + 'systemd-libs: GPU monitor') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('7fec3a705dd06faff4f98ce94b505fca957e09d826192402f9643f818dcf4445' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ksystemstats/README b/main/ksystemstats/README new file mode 100644 index 00000000..66745e24 --- /dev/null +++ b/main/ksystemstats/README @@ -0,0 +1,43 @@ +ksystemstats +________________________________________________________________________________ + +A plugin based system monitoring daemon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ksystemstats | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/ksystemstats/version b/main/ksystemstats/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/ksystemstats/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/ktexteditor/.PKGINFO b/main/ktexteditor/.PKGINFO new file mode 100644 index 00000000..78a3a1db --- /dev/null +++ b/main/ktexteditor/.PKGINFO @@ -0,0 +1,44 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = ktexteditor +pkgbase = ktexteditor +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Advanced embeddable text editor +url = https://community.kde.org/Frameworks +builddate = 1718491596 +packager = Developer +size = 15007261 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = editorconfig-core-c +depend = gcc-libs +depend = glibc +depend = karchive +depend = kauth +depend = kcodecs +depend = kcolorscheme +depend = kcompletion +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kguiaddons +depend = ki18n +depend = kio +depend = kitemviews +depend = kparts +depend = ktextwidgets +depend = kwidgetsaddons +depend = kxmlgui +depend = qt6-declarative +depend = qt6-base +depend = qt6-speech +depend = sonnet +depend = syntax-highlighting +optdepend = git: git integration +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/ktexteditor/PKGBUILD b/main/ktexteditor/PKGBUILD new file mode 100644 index 00000000..a33cbe3e --- /dev/null +++ b/main/ktexteditor/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ktexteditor +pkgver=%version% +pkgrel=%release% +pkgdesc='Advanced embeddable text editor' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(editorconfig-core-c + gcc-libs + glibc + karchive + kauth + kcodecs + kcolorscheme + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kguiaddons + ki18n + kio + kitemviews + kparts + ktextwidgets + kwidgetsaddons + kxmlgui + qt6-declarative + qt6-base + qt6-speech + sonnet + syntax-highlighting) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +optdepends=('git: git integration') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('620266c1d288d09f7aee4d2bc8b141c73555d5f033c452bcd2e2db2064b8fd42' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ktexteditor/README b/main/ktexteditor/README new file mode 100644 index 00000000..201f3ac6 --- /dev/null +++ b/main/ktexteditor/README @@ -0,0 +1,43 @@ +ktexteditor +________________________________________________________________________________ + +Advanced embeddable text editor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ktexteditor | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/ktexteditor/version b/main/ktexteditor/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/ktexteditor/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/ktextwidgets/.PKGINFO b/main/ktextwidgets/.PKGINFO new file mode 100644 index 00000000..b885ba2a --- /dev/null +++ b/main/ktextwidgets/.PKGINFO @@ -0,0 +1,30 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ktextwidgets +pkgbase = ktextwidgets +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Advanced text editing widgets +url = https://community.kde.org/Frameworks +builddate = 1718491598 +packager = Developer +size = 1985362 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kcompletion +depend = kconfig +depend = kconfigwidgets +depend = ki18n +depend = kwidgetsaddons +depend = qt6-base +depend = qt6-speech +depend = sonnet +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/ktextwidgets/PKGBUILD b/main/ktextwidgets/PKGBUILD new file mode 100644 index 00000000..4dc2b8da --- /dev/null +++ b/main/ktextwidgets/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ktextwidgets +pkgver=%version% +pkgrel=%release% +pkgdesc='Advanced text editing widgets' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcolorscheme + kcompletion + kconfig + kconfigwidgets + ki18n + kwidgetsaddons + qt6-base + qt6-speech + sonnet) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('b093f570ea3c2d4320e41b575a540fb75acd5b5f818bc6215a5fdb57754b6c40' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ktextwidgets/README b/main/ktextwidgets/README new file mode 100644 index 00000000..9b73e489 --- /dev/null +++ b/main/ktextwidgets/README @@ -0,0 +1,43 @@ +ktextwidgets +________________________________________________________________________________ + +Advanced text editing widgets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ktextwidgets | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/ktextwidgets/version b/main/ktextwidgets/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/ktextwidgets/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kunitconversion/.PKGINFO b/main/kunitconversion/.PKGINFO new file mode 100644 index 00000000..b65116c0 --- /dev/null +++ b/main/kunitconversion/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kunitconversion +pkgbase = kunitconversion +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Support for unit conversion +url = https://community.kde.org/Frameworks +builddate = 1718491599 +packager = Developer +size = 11536076 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = ki18n +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kunitconversion/PKGBUILD b/main/kunitconversion/PKGBUILD new file mode 100644 index 00000000..857be6d9 --- /dev/null +++ b/main/kunitconversion/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kunitconversion +pkgver=%version% +pkgrel=%release% +pkgdesc='Support for unit conversion' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + ki18n + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c88494ac8971c25dc6bc9a1119ea44c0f8eda44e9d2883ade9aca651e9968d5e' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kunitconversion/README b/main/kunitconversion/README new file mode 100644 index 00000000..64ca2595 --- /dev/null +++ b/main/kunitconversion/README @@ -0,0 +1,43 @@ +kunitconversion +________________________________________________________________________________ + +Support for unit conversion + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kunitconversion | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kunitconversion/version b/main/kunitconversion/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kunitconversion/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kuserfeedback/.PKGINFO b/main/kuserfeedback/.PKGINFO new file mode 100644 index 00000000..c7c2cf99 --- /dev/null +++ b/main/kuserfeedback/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kuserfeedback +pkgbase = kuserfeedback +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Framework for collecting user feedback for applications via telemetry and surveys +url = https://community.kde.org/Frameworks +builddate = 1718491601 +packager = Developer +size = 2705913 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +replaces = kuserfeedback5 +conflict = kuserfeedback5 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-charts: Feedback console +optdepend = qt6-declarative: QML bindings +optdepend = qt6-svg: Feedback console +makedepend = clang +makedepend = extra-cmake-modules +makedepend = qt6-charts +makedepend = qt6-declarative +makedepend = qt6-svg +makedepend = qt6-tools diff --git a/main/kuserfeedback/PKGBUILD b/main/kuserfeedback/PKGBUILD new file mode 100644 index 00000000..09a7de92 --- /dev/null +++ b/main/kuserfeedback/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kuserfeedback +pkgver=%version% +pkgrel=%release% +pkgdesc='Framework for collecting user feedback for applications via telemetry and surveys' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(clang + extra-cmake-modules + qt6-charts + qt6-declarative + qt6-svg + qt6-tools) +optdepends=('qt6-charts: Feedback console' + 'qt6-declarative: QML bindings' + 'qt6-svg: Feedback console') +conflicts=(kuserfeedback5) +replaces=(kuserfeedback5) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('02f1af108e253c842526d31c997a1777b8f7a6e5b8698b5b1267ce1ec128af2b' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kuserfeedback/README b/main/kuserfeedback/README new file mode 100644 index 00000000..777ffb04 --- /dev/null +++ b/main/kuserfeedback/README @@ -0,0 +1,43 @@ +kuserfeedback +________________________________________________________________________________ + +Framework for collecting user feedback for applications via telemetry and surveys + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kuserfeedback | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kuserfeedback/version b/main/kuserfeedback/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kuserfeedback/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kwallet-pam/.PKGINFO b/main/kwallet-pam/.PKGINFO new file mode 100644 index 00000000..efc36cb0 --- /dev/null +++ b/main/kwallet-pam/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwallet-pam +pkgbase = kwallet-pam +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KWallet PAM integration +url = https://kde.org/plasma-desktop/ +builddate = 1713662716 +packager = Developer +size = 32335 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = glibc +depend = kwallet +depend = libgcrypt +depend = pam +depend = sh +depend = socat +makedepend = extra-cmake-modules diff --git a/main/kwallet-pam/PKGBUILD b/main/kwallet-pam/PKGBUILD new file mode 100644 index 00000000..3927ac24 --- /dev/null +++ b/main/kwallet-pam/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwallet-pam +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KWallet PAM integration' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(glibc + kwallet + libgcrypt + pam + sh + socat) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('22cd8b00ae17a92c473af6196a36855fc3eace9204b73f3bce2489d80f34e87f' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwallet-pam/README b/main/kwallet-pam/README new file mode 100644 index 00000000..497487b4 --- /dev/null +++ b/main/kwallet-pam/README @@ -0,0 +1,43 @@ +kwallet-pam +________________________________________________________________________________ + +KWallet PAM integration + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwallet-pam | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kwallet-pam/version b/main/kwallet-pam/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kwallet-pam/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kwayland/.PKGINFO b/main/kwayland/.PKGINFO new file mode 100644 index 00000000..8887877f --- /dev/null +++ b/main/kwayland/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwayland +pkgbase = kwayland +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Qt-style Client and Server library wrapper for the Wayland libraries +url = https://kde.org/plasma-desktop/ +builddate = 1713662717 +packager = Developer +size = 3532915 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-wayland +depend = wayland +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols +makedepend = qt6-doc +makedepend = qt6-tools +makedepend = wayland-protocols diff --git a/main/kwayland/PKGBUILD b/main/kwayland/PKGBUILD new file mode 100644 index 00000000..63599c0c --- /dev/null +++ b/main/kwayland/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwayland +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Qt-style Client and Server library wrapper for the Wayland libraries' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + qt6-base + qt6-wayland + wayland) +makedepends=(doxygen + extra-cmake-modules + plasma-wayland-protocols + qt6-doc + qt6-tools + wayland-protocols) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('fbb129acfba82bb0aa3a98790b5562bf3fca867ef41f4823c6f13c6605036698' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwayland/README b/main/kwayland/README new file mode 100644 index 00000000..545e01a7 --- /dev/null +++ b/main/kwayland/README @@ -0,0 +1,43 @@ +kwayland +________________________________________________________________________________ + +Qt-style Client and Server library wrapper for the Wayland libraries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwayland | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kwayland/version b/main/kwayland/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kwayland/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kwidgetsaddons/.PKGINFO b/main/kwidgetsaddons/.PKGINFO new file mode 100644 index 00000000..1e7e93f2 --- /dev/null +++ b/main/kwidgetsaddons/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwidgetsaddons +pkgbase = kwidgetsaddons +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Addons to QtWidgets +url = https://community.kde.org/Frameworks +builddate = 1718491604 +packager = Developer +size = 8414903 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kwidgetsaddons/PKGBUILD b/main/kwidgetsaddons/PKGBUILD new file mode 100644 index 00000000..759a2b45 --- /dev/null +++ b/main/kwidgetsaddons/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwidgetsaddons +pkgver=%version% +pkgrel=%release% +pkgdesc='Addons to QtWidgets' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('a7771c92310a21a8105ba64dd61c065ba74723899c7ccfc4de2b57b17e6a6b63' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwidgetsaddons/README b/main/kwidgetsaddons/README new file mode 100644 index 00000000..01e2266a --- /dev/null +++ b/main/kwidgetsaddons/README @@ -0,0 +1,43 @@ +kwidgetsaddons +________________________________________________________________________________ + +Addons to QtWidgets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwidgetsaddons | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kwidgetsaddons/version b/main/kwidgetsaddons/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kwidgetsaddons/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kwin/.PKGINFO b/main/kwin/.PKGINFO new file mode 100644 index 00000000..dbf92cbe --- /dev/null +++ b/main/kwin/.PKGINFO @@ -0,0 +1,83 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwin +pkgbase = kwin +xdata = pkgtype=pkg +pkgver = 6.0.4.1-1 +pkgdesc = An easy to use, but flexible, composited Window Manager +url = https://kde.org/plasma-desktop/ +builddate = 1714005739 +packager = Developer +size = 35304567 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = breeze +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kauth +depend = kcmutils +depend = kcolorscheme +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kdeclarative +depend = kdecoration +depend = kglobalaccel +depend = kglobalacceld +depend = kguiaddons +depend = ki18n +depend = kidletime +depend = kirigami +depend = kitemmodels +depend = knewstuff +depend = knotifications +depend = kpackage +depend = kquickcharts +depend = kscreenlocker +depend = kservice +depend = ksvg +depend = kwayland +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = lcms2 +depend = libdisplay-info +depend = libdrm +depend = libepoxy +depend = libinput +depend = libpipewire +depend = libqaccessibilityclient-qt6 +depend = libx11 +depend = libxcb +depend = libxcvt +depend = libxi +depend = libxkbcommon +depend = libxkbcommon-x11 +depend = mesa +depend = pipewire-session-manager +depend = python +depend = libplasma +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +depend = qt6-multimedia +depend = qt6-sensors +depend = qt6-tools +depend = qt6-wayland +depend = systemd-libs +depend = wayland +depend = xcb-util-cursor +depend = xcb-util-keysyms +depend = xcb-util-wm +optdepend = maliit-keyboard: virtual keyboard for kwin-wayland +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = krunner +makedepend = plasma-wayland-protocols +makedepend = python +makedepend = wayland-protocols +makedepend = xorg-xwayland diff --git a/main/kwin/PKGBUILD b/main/kwin/PKGBUILD new file mode 100644 index 00000000..2e164bea --- /dev/null +++ b/main/kwin/PKGBUILD @@ -0,0 +1,100 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwin +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='An easy to use, but flexible, composited Window Manager' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(breeze + gcc-libs + glibc + plasma-activities + kauth + kcmutils + kcolorscheme + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdeclarative + kdecoration + kglobalaccel + kglobalacceld + kguiaddons + ki18n + kidletime + kirigami + kitemmodels + knewstuff + knotifications + kpackage + kquickcharts + kscreenlocker + kservice + ksvg + kwayland + kwidgetsaddons + kwindowsystem + kxmlgui + lcms2 + libdisplay-info + libdrm + libepoxy + libinput + libpipewire + libqaccessibilityclient-qt6 + libx11 + libxcb + libxcvt + libxi + libxkbcommon + libxkbcommon-x11 + mesa + pipewire-session-manager + python + libplasma + qt6-5compat + qt6-base + qt6-declarative + qt6-multimedia + qt6-sensors + qt6-tools + qt6-wayland + systemd-libs + wayland + xcb-util-cursor + xcb-util-keysyms + xcb-util-wm) +makedepends=(extra-cmake-modules + kdoctools + krunner + plasma-wayland-protocols + python + wayland-protocols + xorg-xwayland) +optdepends=('maliit-keyboard: virtual keyboard for kwin-wayland') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +install=$pkgname.install +sha256sums=('f15108a993206b962a3c5835b988a0b4922c0a9bc9ab80faf6b36a334d321b33' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwin/README b/main/kwin/README new file mode 100644 index 00000000..f3b81e8e --- /dev/null +++ b/main/kwin/README @@ -0,0 +1,43 @@ +kwin +________________________________________________________________________________ + +An easy to use, but flexible, composited Window Manager + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwin | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kwin/kwin.install b/main/kwin/kwin.install new file mode 100644 index 00000000..73be0cb6 --- /dev/null +++ b/main/kwin/kwin.install @@ -0,0 +1,9 @@ +post_install() { +# this is executed by make install, but doesn't work since setcap can only be run as root + setcap CAP_SYS_NICE=+ep /usr/bin/kwin_wayland +} + +post_upgrade() { + post_install +} + diff --git a/main/kwin/version b/main/kwin/version new file mode 100644 index 00000000..62f2f9b4 --- /dev/null +++ b/main/kwin/version @@ -0,0 +1 @@ +6.0.4.1 1 diff --git a/main/kwindowsystem/.PKGINFO b/main/kwindowsystem/.PKGINFO new file mode 100644 index 00000000..b39b4622 --- /dev/null +++ b/main/kwindowsystem/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwindowsystem +pkgbase = kwindowsystem +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Access to the windowing system +url = https://community.kde.org/Frameworks +builddate = 1718491606 +packager = Developer +size = 1854127 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = libx11 +depend = libxcb +depend = libxfixes +depend = qt6-base +depend = qt6-wayland +depend = wayland +depend = xcb-util-keysyms +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools +makedepend = wayland-protocols diff --git a/main/kwindowsystem/PKGBUILD b/main/kwindowsystem/PKGBUILD new file mode 100644 index 00000000..635f1f61 --- /dev/null +++ b/main/kwindowsystem/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwindowsystem +pkgver=%version% +pkgrel=%release% +pkgdesc='Access to the windowing system' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + libx11 + libxcb + libxfixes + qt6-base + qt6-wayland + wayland + xcb-util-keysyms) +makedepends=(doxygen + extra-cmake-modules + plasma-wayland-protocols + qt6-declarative + qt6-doc + qt6-tools + wayland-protocols) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1906caa53b7d58fc0c4d78a3c8d99f25aa056fc6d09c5fc121ed5e1f80396a94' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwindowsystem/README b/main/kwindowsystem/README new file mode 100644 index 00000000..0a228530 --- /dev/null +++ b/main/kwindowsystem/README @@ -0,0 +1,43 @@ +kwindowsystem +________________________________________________________________________________ + +Access to the windowing system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwindowsystem | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kwindowsystem/version b/main/kwindowsystem/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kwindowsystem/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/kwrited/.PKGINFO b/main/kwrited/.PKGINFO new file mode 100644 index 00000000..72f4a0f7 --- /dev/null +++ b/main/kwrited/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = kwrited +pkgbase = kwrited +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE daemon listening for wall and write messages +url = https://kde.org/plasma-desktop/ +builddate = 1713662725 +packager = Developer +size = 45100 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = kdbusaddons +depend = knotifications +depend = kpty +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/kwrited/PKGBUILD b/main/kwrited/PKGBUILD new file mode 100644 index 00000000..ef323a86 --- /dev/null +++ b/main/kwrited/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kwrited +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE daemon listening for wall and write messages' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcoreaddons + kdbusaddons + knotifications + kpty + qt6-base) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('39dfa8fedeadf139abc610a88c517cab658d52cba50223a68b70760be1277bab' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kwrited/README b/main/kwrited/README new file mode 100644 index 00000000..a4b05d20 --- /dev/null +++ b/main/kwrited/README @@ -0,0 +1,43 @@ +kwrited +________________________________________________________________________________ + +KDE daemon listening for wall and write messages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kwrited | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/kwrited/version b/main/kwrited/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/kwrited/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/kxmlgui/.PKGINFO b/main/kxmlgui/.PKGINFO new file mode 100644 index 00000000..1489948f --- /dev/null +++ b/main/kxmlgui/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = kxmlgui +pkgbase = kxmlgui +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = User configurable main windows +url = https://community.kde.org/Frameworks +builddate = 1718491608 +packager = Developer +size = 4151804 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kglobalaccel +depend = kguiaddons +depend = ki18n +depend = kiconthemes +depend = kitemviews +depend = kwidgetsaddons +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/kxmlgui/PKGBUILD b/main/kxmlgui/PKGBUILD new file mode 100644 index 00000000..dc686048 --- /dev/null +++ b/main/kxmlgui/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=kxmlgui +pkgver=%version% +pkgrel=%release% +pkgdesc='User configurable main windows' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcolorscheme + kconfig + kconfigwidgets + kcoreaddons + kglobalaccel + kguiaddons + ki18n + kiconthemes + kitemviews + kwidgetsaddons + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('d26c62ce9f5be8643fed465531418fb67e4d13edf61797a946da301aeb9158f2' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/kxmlgui/README b/main/kxmlgui/README new file mode 100644 index 00000000..efadb455 --- /dev/null +++ b/main/kxmlgui/README @@ -0,0 +1,43 @@ +kxmlgui +________________________________________________________________________________ + +User configurable main windows + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S kxmlgui | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/kxmlgui/version b/main/kxmlgui/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/kxmlgui/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/l-smash/PKGBUILD b/main/l-smash/PKGBUILD new file mode 100644 index 00000000..b2f51f2d --- /dev/null +++ b/main/l-smash/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=l-smash +pkgver=%version% +pkgrel=%release% +pkgdesc='MP4 muxer and other tools' +arch=('x86_64') +url='https://github.com/l-smash/l-smash' +license=('custom') +depends=('glibc') +provides=('liblsmash.so') +source=("l-smash-${pkgver}.tar.gz::https://github.com/l-smash/l-smash/archive/v${pkgver}.tar.gz") +sha256sums=('e6f7c31de684f4b89ee27e5cd6262bf96f2a5b117ba938d2d606cf6220f05935') + +build() { + cd l-smash-${pkgver} + + ./configure \ + --prefix='/usr' \ + --enable-shared \ + --disable-static \ + --extra-cflags="$CFLAGS" \ + --extra-ldflags="$LDFLAGS" + make +} + +package() { + cd l-smash-${pkgver} + + make DESTDIR="${pkgdir}" install + + install -dm 755 "${pkgdir}"/usr/share/licenses/l-smash + install -m 644 LICENSE "${pkgdir}"/usr/share/licenses/l-smash/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/l-smash/README b/main/l-smash/README new file mode 100644 index 00000000..25e961b8 --- /dev/null +++ b/main/l-smash/README @@ -0,0 +1,43 @@ +l-smash +________________________________________________________________________________ + +MP4 muxer and other tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S l-smash | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/l-smash/l-smash diff --git a/main/l-smash/version b/main/l-smash/version new file mode 100644 index 00000000..a158a1ab --- /dev/null +++ b/main/l-smash/version @@ -0,0 +1 @@ +2.14.5 3 diff --git a/main/lame/PKGBUILD b/main/lame/PKGBUILD new file mode 100644 index 00000000..d7791621 --- /dev/null +++ b/main/lame/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lame +pkgver=%version% +pkgrel=%release% +pkgdesc='A high quality MPEG Audio Layer III (MP3) encoder' +arch=(x86_64) +url=http://lame.sourceforge.net/ +license=(LGPL) +depends=(ncurses) +makedepends=(nasm) +provides=(libmp3lame.so) +source=( + https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + $pkgname.pc.in +) +sha256sums=('ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e' + '5b746f51caeb202ae4fe3f09fc2db0b38096598d9496945d7fdfdd23c5868e93') +b2sums=('6954d30cfd3951ea07762ba5dd7ff27038b78455f423099a225ebf748abddf9970e444456ca5a6179bd381e2205b32293392cb757c203901674860710fe2c183' + '1a56722d730f0dff06fe756b089239d28781ec0300cb90fb014d25a7f92d40febff6ba18b621b6cbc4af7babfea90c7382e34787271b1cf2d82d239416837776') + +prepare() { + sed -e "s/VERSION/$pkgver/" $pkgname.pc.in > $pkgname.pc +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix='/usr' \ + --enable-nasm \ + --enable-mp3rtp \ + --enable-shared + make +} + +check() { + make test -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname.pc -t "$pkgdir/usr/lib/pkgconfig/" +} +# vim: ts=2 sw=2 et: diff --git a/main/lame/README b/main/lame/README new file mode 100644 index 00000000..675667c5 --- /dev/null +++ b/main/lame/README @@ -0,0 +1,43 @@ +lame +________________________________________________________________________________ + +A high quality MPEG Audio Layer III (MP3) encoder + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lame | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://lame.sourceforge.net/ diff --git a/main/lame/lame.pc.in b/main/lame/lame.pc.in new file mode 100644 index 00000000..1518e5d3 --- /dev/null +++ b/main/lame/lame.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib +includedir=${prefix}/include/lame + +Name: lame +Description: A high quality MPEG Audio Layer III (MP3) encoder +Version: VERSION +Cflags: -I${includedir} +Libs: -L${libdir} -lmp3lame +Libs.private: -lm -lncursesw diff --git a/main/lame/version b/main/lame/version new file mode 100644 index 00000000..fd4456e0 --- /dev/null +++ b/main/lame/version @@ -0,0 +1 @@ +3.100 4 diff --git a/main/lapack/PKGBUILD b/main/lapack/PKGBUILD new file mode 100644 index 00000000..7e437843 --- /dev/null +++ b/main/lapack/PKGBUILD @@ -0,0 +1,145 @@ +# Packager = Developer +pkgbase=lapack +pkgname=(blas + cblas + lapack + lapacke + blas64 + cblas64 + lapack64 + lapacke64 + lapack-doc) +pkgver=3.12.0 +pkgrel=5 +url='https://www.netlib.org/lapack' +pkgdesc='Linear Algebra PACKage' +makedepends=(cmake + doxygen + gcc-fortran + python) +arch=(x86_64) +license=(custom) +source=(https://github.com/Reference-LAPACK/lapack/archive/v$pkgver/$pkgbase-$pkgver.tar.gz) +sha256sums=('eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b') + +build() { + cmake -B build -S $pkgbase-$pkgver \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_Fortran_COMPILER=gfortran \ + -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ + -DBUILD_DEPRECATED=ON \ + -DBUILD_MAN_DOCUMENTATION=ON + cmake --build build + cmake --build build --target man + + cmake -B build64 -S $pkgbase-$pkgver \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_Fortran_COMPILER=gfortran \ + -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ + -DBUILD_DEPRECATED=ON \ + -DBUILD_INDEX64=ON + cmake --build build64 +} + +package_lapack() { + depends=(blas + gcc-libs + glibc) + + DESTDIR="$pkgdir" cmake --install build + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + + rm -r "$pkgdir"/usr/lib/{libblas.*,libcblas.*,liblapacke.*} + rm -r "$pkgdir"/usr/lib/pkgconfig/{blas.*,cblas.*,lapacke.*} + rm -r "$pkgdir"/usr/lib/cmake/{cblas*,lapacke*} + rm -r "$pkgdir"/usr/include +} + +package_blas() { + pkgdesc='Basic Linear Algebra Subprograms' + depends=(gcc-libs + glibc) + + DESTDIR="$pkgdir" cmake --install build/BLAS + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} + +package_cblas() { + pkgdesc='C interface to BLAS' + depends=(blas + glibc) + + DESTDIR="$pkgdir" cmake --install build/CBLAS + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} + +package_lapacke() { + pkgdesc='C interface to LAPACK' + depends=(glibc + lapack) + + DESTDIR="$pkgdir" cmake --install build/LAPACKE + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} + +package_lapack64() { + pkgdesc='Linear Algebra PACKage (64-bit integers)' + depends=(blas64 + gcc-libs + glibc) + + DESTDIR="$pkgdir" cmake --install build64 + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + + rm -r "$pkgdir"/usr/lib/{libblas64.*,libcblas64.*,liblapacke64.*} + rm -r "$pkgdir"/usr/lib/pkgconfig/{blas64.*,cblas64.*,lapacke64.*} + rm -r "$pkgdir"/usr/lib/cmake/{cblas*,lapacke*} + rm -r "$pkgdir"/usr/include +} + +package_blas64() { + pkgdesc='Basic Linear Algebra Subprograms (64-bit integers)' + depends=(gcc-libs + glibc) + + DESTDIR="$pkgdir" cmake --install build64/BLAS + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} + +package_cblas64() { + pkgdesc='C interface to BLAS (64-bit integers)' + depends=(blas64 + glibc) + optdepends=('cblas: development headers') + + DESTDIR="$pkgdir" cmake --install build64/CBLAS + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + rm -r "$pkgdir"/usr/include # Provided by cblas +} + +package_lapacke64() { + pkgdesc='C interface to LAPACK (64-bit integers)' + depends=(glibc + lapack64) + optdepends=('lapacke: development headers') + + DESTDIR="$pkgdir" cmake --install build64/LAPACKE + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + rm -r "$pkgdir"/usr/include # Provided by lapacke +} + +package_lapack-doc() { + pkgdesc='Man pages for BLAS/LAPACK' + + mkdir -p "$pkgdir"/usr/share + cp -r build/DOCS/man "$pkgdir"/usr/share + rm "$pkgdir"/usr/share/man/man3/isnan.3 # conflicts with man-pages +} diff --git a/main/lapack/version b/main/lapack/version new file mode 100644 index 00000000..cad10280 --- /dev/null +++ b/main/lapack/version @@ -0,0 +1 @@ +3.12.0 5 diff --git a/main/layer-shell-qt/.PKGINFO b/main/layer-shell-qt/.PKGINFO new file mode 100644 index 00000000..78ad03dc --- /dev/null +++ b/main/layer-shell-qt/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = layer-shell-qt +pkgbase = layer-shell-qt +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Qt component to allow applications to make use of the Wayland wl-layer-shell protocol +url = https://kde.org/plasma-desktop/ +builddate = 1713662726 +packager = Developer +size = 130252 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-wayland +depend = wayland +optdepend = qt6-declarative: QML bindings +makedepend = extra-cmake-modules +makedepend = wayland-protocols diff --git a/main/layer-shell-qt/PKGBUILD b/main/layer-shell-qt/PKGBUILD new file mode 100644 index 00000000..213766e3 --- /dev/null +++ b/main/layer-shell-qt/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=layer-shell-qt +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Qt component to allow applications to make use of the Wayland wl-layer-shell protocol' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later LGPL-2.0-or-later) +depends=(gcc-libs + glibc + qt6-base + qt6-wayland + wayland) +makedepends=(extra-cmake-modules + wayland-protocols) +optdepends=('qt6-declarative: QML bindings') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('3443c57a8f8be26efa40b3f2f748d130ac64d613f894e798d6fa52e29b59b517' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/layer-shell-qt/README b/main/layer-shell-qt/README new file mode 100644 index 00000000..c3269527 --- /dev/null +++ b/main/layer-shell-qt/README @@ -0,0 +1,43 @@ +layer-shell-qt +________________________________________________________________________________ + +Qt component to allow applications to make use of the Wayland wl-layer-shell protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S layer-shell-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/layer-shell-qt/version b/main/layer-shell-qt/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/layer-shell-qt/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/lbzip2/PKGBUILD b/main/lbzip2/PKGBUILD new file mode 100644 index 00000000..af9a3bdf --- /dev/null +++ b/main/lbzip2/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lbzip2 +pkgver=%version% +pkgrel=%release% +pkgdesc="A parallel, SMP-based, bzip2-compatible compression utility" +arch=('x86_64') +url="http://lbzip2.org" +license=('GPL3') +depends=('glibc') +makedepends=('patch') +source=(https://deb.debian.org/debian/pool/main/l/$pkgname/${pkgname}_${pkgver}.orig.tar.bz2 + lbzip2-gnulib-build-fix.patch) +sha256sums=('eec4ff08376090494fa3710649b73e5412c3687b4b9b758c93f73aa7be27555b' + '5eca4665b147655ce99f9ae5eff50e7db2714ba957e41e20b50d80533aeb6bef') + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + + patch -Np1 -i "${srcdir}"/lbzip2-gnulib-build-fix.patch +} + +build() { + cd "${srcdir}"/$pkgname-$pkgver + + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}"/$pkgname-$pkgver + + make check +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/main/lbzip2/README b/main/lbzip2/README new file mode 100644 index 00000000..0855416b --- /dev/null +++ b/main/lbzip2/README @@ -0,0 +1,43 @@ +lbzip2 +________________________________________________________________________________ + +A parallel, SMP-based, bzip2-compatible compression utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lbzip2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://lbzip2.org diff --git a/main/lbzip2/lbzip2-gnulib-build-fix.patch b/main/lbzip2/lbzip2-gnulib-build-fix.patch new file mode 100644 index 00000000..bfcc13b0 --- /dev/null +++ b/main/lbzip2/lbzip2-gnulib-build-fix.patch @@ -0,0 +1,30 @@ +diff --git a/lib/fseterr.c b/lib/fseterr.c +index 82649c3ac..adb637256 100644 +--- a/lib/fseterr.c ++++ b/lib/fseterr.c +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h +index 78d896e9f..05c5752a2 100644 +--- a/lib/stdio-impl.h ++++ b/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + diff --git a/main/lbzip2/version b/main/lbzip2/version new file mode 100644 index 00000000..66ad7452 --- /dev/null +++ b/main/lbzip2/version @@ -0,0 +1 @@ +2.5 5 diff --git a/main/lcms2/PKGBUILD b/main/lcms2/PKGBUILD new file mode 100644 index 00000000..0962c09a --- /dev/null +++ b/main/lcms2/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lcms2 +pkgver=%version% +pkgrel=%release% +pkgdesc='Small-footprint color management engine, version 2' +arch=('x86_64') +url='http://www.littlecms.com/' +license=('MIT') +depends=('libtiff') +provides=('liblcms2.so') +source=("https://github.com/mm2/Little-CMS/releases/download/lcms${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51') + +build() { + cd "${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + + make check +} + +package() { + cd "${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + install -D -m0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/lcms2/README b/main/lcms2/README new file mode 100644 index 00000000..e4f6da78 --- /dev/null +++ b/main/lcms2/README @@ -0,0 +1,43 @@ +lcms2 +________________________________________________________________________________ + +Small-footprint color management engine, version 2 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lcms2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.littlecms.com/ diff --git a/main/lcms2/version b/main/lcms2/version new file mode 100644 index 00000000..90d7d119 --- /dev/null +++ b/main/lcms2/version @@ -0,0 +1 @@ +2.16 1 diff --git a/main/ldb/.PKGINFO b/main/ldb/.PKGINFO new file mode 100644 index 00000000..48f1864f --- /dev/null +++ b/main/ldb/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ldb +pkgbase = ldb +xdata = pkgtype=pkg +pkgver = 2:2.9.0-3 +pkgdesc = Schema-less, ldap like, API and database +url = https://ldb.samba.org/ +builddate = 1714401157 +packager = Developer +size = 889529 +arch = x86_64 +license = GPL-3.0-or-later +provides = libldb.so=2-64 +depend = talloc +depend = libtevent.so=0-64 +depend = tdb +depend = libtdb.so=1-64 +depend = popt +depend = lmdb +optdepend = python: for python bindings +makedepend = python +makedepend = cmocka +makedepend = docbook-xsl +makedepend = tevent diff --git a/main/ldb/PKGBUILD b/main/ldb/PKGBUILD new file mode 100644 index 00000000..6f4256e7 --- /dev/null +++ b/main/ldb/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ldb +pkgver=%version% +pkgrel=%release% +epoch=2 +pkgdesc='Schema-less, ldap like, API and database' +arch=('x86_64') +url="https://ldb.samba.org/" +source=(https://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar{.gz,.asc}) +license=('GPL-3.0-or-later') +depends=('talloc' 'libtevent.so' 'tdb' 'libtdb.so' 'popt' 'lmdb') +makedepends=('python' 'cmocka' 'docbook-xsl' 'tevent') +optdepends=('python: for python bindings') +provides=(libldb.so) +validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key +sha512sums=('b5cfbbcb2c35d6830bf1a7c85e1d4363728ae474504441add54c4c8569316b26aedbf6fb9f561ec4f187eb5a847ac76af07396e38d00e6f7632b63e02d7b64a1' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --with-modulesdir=/usr/lib/ldb/modules \ + --with-privatelibdir=/usr/lib/ldb + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/ldb/README b/main/ldb/README new file mode 100644 index 00000000..573d8836 --- /dev/null +++ b/main/ldb/README @@ -0,0 +1,43 @@ +ldb +________________________________________________________________________________ + +Schema-less, ldap like, API and database + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ldb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://ldb.samba.org/ diff --git a/main/ldb/version b/main/ldb/version new file mode 100644 index 00000000..4b8aea86 --- /dev/null +++ b/main/ldb/version @@ -0,0 +1 @@ +2:2.9.0 3 diff --git a/main/ldns/PKGBUILD b/main/ldns/PKGBUILD new file mode 100644 index 00000000..92699dc8 --- /dev/null +++ b/main/ldns/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ldns +pkgver=%version% +pkgrel=%release% +pkgdesc='Fast DNS library supporting recent RFCs' +url='https://www.nlnetlabs.nl/projects/ldns/' +license=('custom:BSD') +arch=('x86_64') +depends=('openssl' 'dnssec-anchors') +optdepends=('libpcap: ldns-dpa tool') +makedepends=('libpcap') +source=("https://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc}) +sha256sums=('c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860' + 'SKIP') +validpgpkeys=('DC34EE5DB2417BCC151E5100E5F8F8212F77A498') # Willem Toorop + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-rpath \ + --with-drill \ + --with-examples \ + --with-trust-anchor=/etc/trusted-key.key \ + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/ldns/README b/main/ldns/README new file mode 100644 index 00000000..7e1c471a --- /dev/null +++ b/main/ldns/README @@ -0,0 +1,43 @@ +ldns +________________________________________________________________________________ + +Fast DNS library supporting recent RFCs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ldns | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nlnetlabs.nl/projects/ldns/ diff --git a/main/ldns/version b/main/ldns/version new file mode 100644 index 00000000..03bed2a7 --- /dev/null +++ b/main/ldns/version @@ -0,0 +1 @@ +1.8.3 2 diff --git a/main/less/.PKGINFO b/main/less/.PKGINFO new file mode 100644 index 00000000..52815161 --- /dev/null +++ b/main/less/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = less +pkgbase = less +xdata = pkgtype=pkg +pkgver = 1:643-2 +pkgdesc = A terminal based program for viewing text files +url = https://www.greenwoodsoftware.com/less/ +builddate = 1713066157 +packager = Developer +size = 274388 +arch = x86_64 +license = GPL-3.0-or-later +depend = glibc +depend = ncurses +depend = pcre2 diff --git a/main/less/PKGBUILD b/main/less/PKGBUILD new file mode 100644 index 00000000..ce23180e --- /dev/null +++ b/main/less/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=less +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='A terminal based program for viewing text files' +license=('GPL3') +arch=('x86_64') +url='https://www.greenwoodsoftware.com/less/' +depends=('glibc' 'ncurses' 'pcre2') +validpgpkeys=('AE27252BD6846E7D6EAE1DD6F153A7C833235259') # Mark Nudelman +source=("https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz" + "$pkgname-$pkgver.tar.gz.sig::https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.sig") +sha256sums=('2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + sh configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre2 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/less/README b/main/less/README new file mode 100644 index 00000000..29255d36 --- /dev/null +++ b/main/less/README @@ -0,0 +1,43 @@ +less +________________________________________________________________________________ + +A terminal based program for viewing text files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S less | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.greenwoodsoftware.com/less/ diff --git a/main/less/version b/main/less/version new file mode 100644 index 00000000..175b45d9 --- /dev/null +++ b/main/less/version @@ -0,0 +1 @@ +1:643 2 diff --git a/main/lftp/.nvchecker.toml b/main/lftp/.nvchecker.toml new file mode 100644 index 00000000..aa15ad60 --- /dev/null +++ b/main/lftp/.nvchecker.toml @@ -0,0 +1,5 @@ +[lftp] +source = "github" +github = "lavv17/lftp" +use_max_tag = true +prefix = "v" diff --git a/main/lftp/PKGBUILD b/main/lftp/PKGBUILD new file mode 100644 index 00000000..161d97ad --- /dev/null +++ b/main/lftp/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lftp +pkgver=%version% +pkgrel=%release% +pkgdesc="Sophisticated command line based FTP client" +arch=('x86_64') +license=('GPL3') +depends=('glibc' 'gcc-libs' 'readline' 'gnutls' 'expat' + 'zlib' 'libidn2' 'ncurses' 'sh' 'hicolor-icon-theme') +optdepends=('perl: needed for convert-netscape-cookies and verify-file') +url="https://lftp.yar.ru/" +backup=('etc/lftp.conf') +source=(https://lftp.yar.ru/ftp/${pkgname}-${pkgver}.tar.xz{,.asc} + lftp-4.9.2-gnutls-peers2.patch ) +sha256sums=('c517c4f4f9c39bd415d7313088a2b1e313b2d386867fe40b7692b83a20f0670d' + 'SKIP' + '85577ef131c795936aca039d18ece7ff62fdb03905d37087e5d03d53c8409a94') +validpgpkeys=('C027FA3148652A5513036413A824BB69F2A99A18') # "Alexander V. Lukyanov " + +prepare() { + cd "${pkgname}"-${pkgver} + # Use gnutls_certificate_verify_peers2 to verify server - FS#80239 + patch -Np1 -i ../lftp-4.9.2-gnutls-peers2.patch +} + +build() { + cd "${pkgname}"-${pkgver} + ./configure --prefix=/usr \ + --with-gnutls \ + --without-openssl \ + --without-included-regex \ + --disable-static + make +} + +package() { + cd "${pkgname}"-${pkgver} + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/usr/lib +} diff --git a/main/lftp/README b/main/lftp/README new file mode 100644 index 00000000..d7c008ff --- /dev/null +++ b/main/lftp/README @@ -0,0 +1,43 @@ +lftp +________________________________________________________________________________ + +Sophisticated command line based FTP client + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lftp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lftp.yar.ru/ diff --git a/main/lftp/lftp-4.9.2-gnutls-peers2.patch b/main/lftp/lftp-4.9.2-gnutls-peers2.patch new file mode 100644 index 00000000..ce9d07ee --- /dev/null +++ b/main/lftp/lftp-4.9.2-gnutls-peers2.patch @@ -0,0 +1,261 @@ +From 285c61cacb8ec0177a0b60224343dac2ec8af6b8 Mon Sep 17 00:00:00 2001 +From: Miao Wang +Date: Sat, 9 Oct 2021 18:13:30 +0800 +Subject: [PATCH] Use gnutls_certificate_verify_peers2 to verify server + certificates + +Fixes: #641 + +Signed-off-by: Miao Wang +--- + src/lftp_ssl.cc | 207 +++++++++++------------------------------------- + src/lftp_ssl.h | 2 - + 2 files changed, 48 insertions(+), 161 deletions(-) + +diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc +index 968d3fb26..26e91e4b9 100644 +--- a/src/lftp_ssl.cc ++++ b/src/lftp_ssl.cc +@@ -338,6 +338,16 @@ void lftp_ssl_gnutls::load_keys() + if(res<0) + Log::global->Format(0,"gnutls_certificate_set_x509_key_file(%s,%s): %s\n",cert_file,key_file,gnutls_strerror(res)); + } ++ res = gnutls_certificate_set_x509_trust(cred, instance->ca_list, instance->ca_list_size); ++ if(res < 0) ++ Log::global->Format(0, "gnutls_certificate_set_x509_trust: %s\n", gnutls_strerror(res)); ++ else ++ Log::global->Format(9, "Loaded %d CAs\n", res); ++ res = gnutls_certificate_set_x509_crl(cred, instance->crl_list, instance->crl_list_size); ++ if(res < 0) ++ Log::global->Format(0, "gnutls_certificate_set_x509_crl: %s\n", gnutls_strerror(res)); ++ else ++ Log::global->Format(9, "Loaded %d CRLs\n", res); + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cred); + } + void lftp_ssl_gnutls::shutdown() +@@ -358,174 +368,53 @@ lftp_ssl_gnutls::~lftp_ssl_gnutls() + */ + void lftp_ssl_gnutls::verify_certificate_chain(const gnutls_datum_t *cert_chain,int cert_chain_length) + { +- int i; +- gnutls_x509_crt_t *cert=(gnutls_x509_crt_t*)alloca(cert_chain_length*sizeof(gnutls_x509_crt_t)); +- +- /* Import all the certificates in the chain to +- * native certificate format. +- */ +- for (i = 0; i < cert_chain_length; i++) +- { +- gnutls_x509_crt_init(&cert[i]); +- gnutls_x509_crt_import(cert[i],&cert_chain[i],GNUTLS_X509_FMT_DER); ++ int err; ++ unsigned int status; ++ ++ gnutls_x509_crt_t leaf_cert; ++ err = gnutls_x509_crt_init(&leaf_cert); ++ if(err < 0){ ++ set_cert_error(xstring::format("GnuTLS Error: %s", gnutls_strerror(err)), NULL); ++ goto err_out; + } +- +- /* Now verify the certificates against their issuers +- * in the chain. +- */ +- for (i = 1; i < cert_chain_length; i++) +- verify_cert2(cert[i - 1], cert[i]); +- +- /* Here we must verify the last certificate in the chain against +- * our trusted CA list. +- */ +- verify_last_cert(cert[cert_chain_length - 1]); +- +- /* Check if the name in the first certificate matches our destination! +- */ +- bool check_hostname = ResMgr::QueryBool("ssl:check-hostname", hostname); +- if(check_hostname) { +- if(!gnutls_x509_crt_check_hostname(cert[0], hostname)) +- set_cert_error(xstring::format("certificate common name doesn't match requested host name %s",quote(hostname)),get_fp(cert[0])); +- } else { +- Log::global->Format(0, "WARNING: Certificate verification: hostname checking disabled\n"); ++ gnutls_x509_crt_import(leaf_cert, &cert_chain[0], GNUTLS_X509_FMT_DER); ++ if(err < 0){ ++ set_cert_error(xstring::format("GnuTLS Error: %s", gnutls_strerror(err)), NULL); ++ goto deinit_cert; + } + +- for (i = 0; i < cert_chain_length; i++) +- gnutls_x509_crt_deinit(cert[i]); +-} +- +- +-/* Verifies a certificate against an other certificate +- * which is supposed to be it's issuer. Also checks the +- * crl_list if the certificate is revoked. +- */ +-void lftp_ssl_gnutls::verify_cert2(gnutls_x509_crt_t crt,gnutls_x509_crt_t issuer) +-{ +- int ret; +- time_t now = SMTask::now; +- size_t name_size; +- char name[256]; +- +- /* Print information about the certificates to +- * be checked. +- */ +- name_size = sizeof(name); +- gnutls_x509_crt_get_dn(crt, name, &name_size); +- +- Log::global->Format(9, "Certificate: %s\n", name); +- +- name_size = sizeof(name); +- gnutls_x509_crt_get_issuer_dn(crt, name, &name_size); +- +- Log::global->Format(9, " Issued by: %s\n", name); +- +- /* Get the DN of the issuer cert. +- */ +- name_size = sizeof(name); +- gnutls_x509_crt_get_dn(issuer, name, &name_size); +- +- Log::global->Format(9, " Checking against: %s\n", name); +- +- /* Do the actual verification. +- */ +- unsigned crt_status=0; +- unsigned issuer_status=0; +- gnutls_x509_crt_verify(crt, &issuer, 1, 0, &crt_status); +- if(crt_status&GNUTLS_CERT_SIGNER_NOT_CA) +- { +- // recheck the issuer certificate against CA +- gnutls_x509_crt_verify(issuer, instance->ca_list, instance->ca_list_size, 0, &issuer_status); +- if(issuer_status==0) +- crt_status&=~GNUTLS_CERT_SIGNER_NOT_CA; +- if(crt_status==GNUTLS_CERT_INVALID) +- crt_status=0; ++ err = gnutls_certificate_verify_peers2 (session, &status); ++ if(err < 0){ ++ set_cert_error(xstring::format("Cerificate Verification Error: %s", gnutls_strerror(err)), get_fp(leaf_cert)); ++ goto deinit_cert; + } +- if (crt_status & GNUTLS_CERT_INVALID) +- { +- char msg[256]; +- strcpy(msg,"Not trusted"); +- if(crt_status & GNUTLS_CERT_SIGNER_NOT_FOUND) +- strcat(msg,": no issuer was found"); +- if(crt_status & GNUTLS_CERT_SIGNER_NOT_CA) +- strcat(msg,": issuer is not a CA"); +- set_cert_error(msg,get_fp(crt)); +- } +- else +- Log::global->Format(9, " Trusted\n"); + +- +- /* Now check the expiration dates. +- */ +- if (gnutls_x509_crt_get_activation_time(crt) > now) +- set_cert_error("Not yet activated",get_fp(crt)); +- +- if (gnutls_x509_crt_get_expiration_time(crt) < now) +- set_cert_error("Expired",get_fp(crt)); +- +- /* Check if the certificate is revoked. +- */ +- ret = gnutls_x509_crt_check_revocation(crt, instance->crl_list, instance->crl_list_size); +- if (ret == 1) { /* revoked */ +- set_cert_error("Revoked",get_fp(crt)); +- } +-} +- +- +-/* Verifies a certificate against the trusted CA list. +- * Also checks the crl_list if the certificate is revoked. +- */ +-void lftp_ssl_gnutls::verify_last_cert(gnutls_x509_crt_t crt) +-{ +- unsigned int crt_status; +- int ret; +- time_t now = SMTask::now; +- size_t name_size; +- char name[256]; +- +- /* Print information about the certificates to +- * be checked. +- */ +- name_size = sizeof(name); +- gnutls_x509_crt_get_dn(crt, name, &name_size); +- +- Log::global->Format(9, "Certificate: %s\n", name); +- +- name_size = sizeof(name); +- gnutls_x509_crt_get_issuer_dn(crt, name, &name_size); +- +- Log::global->Format(9, " Issued by: %s\n", name); +- +- /* Do the actual verification. +- */ +- gnutls_x509_crt_verify(crt, instance->ca_list, instance->ca_list_size, GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, &crt_status); +- +- if (crt_status & GNUTLS_CERT_INVALID) +- { +- char msg[256]; +- strcpy(msg,"Not trusted"); +- if (crt_status & GNUTLS_CERT_SIGNER_NOT_CA) +- strcat(msg,": Issuer is not a CA"); +- set_cert_error(msg,get_fp(crt)); ++ if(status != 0){ ++ gnutls_datum_t reason; ++ err = gnutls_certificate_verification_status_print(status, gnutls_certificate_type_get(session), &reason, 0); ++ if(err < 0){ ++ set_cert_error(xstring::format("Cerificate Verification Error: %s", gnutls_strerror(err)), get_fp(leaf_cert)); ++ goto deinit_cert; ++ } ++ set_cert_error((const char*)reason.data, get_fp(leaf_cert)); ++ gnutls_free(reason.data); ++ goto deinit_cert; + } +- else +- Log::global->Format(9, " Trusted\n"); + ++ if(ResMgr::QueryBool("ssl:check-hostname", hostname)) { ++ if(!gnutls_x509_crt_check_hostname(leaf_cert, hostname)){ ++ set_cert_error(xstring::format("certificate common name doesn't match requested host name %s",quote(hostname)),get_fp(leaf_cert)); ++ goto deinit_cert; ++ } ++ } else { ++ Log::global->Format(0, "WARNING: Certificate verification: hostname checking disabled\n"); ++ } + +- /* Now check the expiration dates. +- */ +- if(gnutls_x509_crt_get_activation_time(crt) > now) +- set_cert_error("Not yet activated",get_fp(crt)); +- +- if(gnutls_x509_crt_get_expiration_time(crt) < now) +- set_cert_error("Expired",get_fp(crt)); ++ deinit_cert: ++ gnutls_x509_crt_deinit(leaf_cert); + +- /* Check if the certificate is revoked. +- */ +- ret = gnutls_x509_crt_check_revocation(crt, instance->crl_list, instance->crl_list_size); +- if (ret == 1) { /* revoked */ +- set_cert_error("Revoked",get_fp(crt)); +- } ++ err_out: ++ return; + } + + bool lftp_ssl_gnutls::check_fatal(int res) +diff --git a/src/lftp_ssl.h b/src/lftp_ssl.h +index c37b047b4..87b92d4fa 100644 +--- a/src/lftp_ssl.h ++++ b/src/lftp_ssl.h +@@ -92,8 +92,6 @@ class lftp_ssl_gnutls : public lftp_ssl_base + gnutls_session_t session; + gnutls_certificate_credentials_t cred; + void verify_certificate_chain(const gnutls_datum_t *cert_chain,int cert_chain_length); +- void verify_cert2(gnutls_x509_crt_t crt,gnutls_x509_crt_t issuer); +- void verify_last_cert(gnutls_x509_crt_t crt); + int do_handshake(); + bool check_fatal(int res); + static const xstring& get_fp(gnutls_x509_crt_t crt); diff --git a/main/lftp/version b/main/lftp/version new file mode 100644 index 00000000..0de0f462 --- /dev/null +++ b/main/lftp/version @@ -0,0 +1 @@ +4.9.2 2 diff --git a/main/libaccounts-glib/.PKGINFO b/main/libaccounts-glib/.PKGINFO new file mode 100644 index 00000000..ef978b16 --- /dev/null +++ b/main/libaccounts-glib/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libaccounts-glib +pkgbase = libaccounts-glib +xdata = pkgtype=pkg +pkgver = 1.27-2 +pkgdesc = Glib-based client library for accessing the online accounts database +url = https://gitlab.com/accounts-sso/libaccounts-glib +builddate = 1714401193 +packager = Developer +size = 1010165 +arch = x86_64 +license = LGPL-2.1-or-later +depend = glib2 +depend = glibc +depend = libxml2 +depend = sqlite +makedepend = check +makedepend = gobject-introspection +makedepend = meson +makedepend = python-gobject +makedepend = python-packaging +makedepend = vala diff --git a/main/libaccounts-glib/.nvchecker.toml b/main/libaccounts-glib/.nvchecker.toml new file mode 100644 index 00000000..0c0ade6b --- /dev/null +++ b/main/libaccounts-glib/.nvchecker.toml @@ -0,0 +1,7 @@ +[libaccounts-glib] +source = 'gitlab' +gitlab = 'accounts-sso/libaccounts-glib' +use_max_tag = true +include_regex = 'VERSION_.*' +from_pattern = 'VERSION_' +to_pattern = '' diff --git a/main/libaccounts-glib/PKGBUILD b/main/libaccounts-glib/PKGBUILD new file mode 100644 index 00000000..ce794e6a --- /dev/null +++ b/main/libaccounts-glib/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libaccounts-glib +pkgver=%version% +pkgrel=%release% +pkgdesc='Glib-based client library for accessing the online accounts database' +arch=(x86_64) +url='https://gitlab.com/accounts-sso/libaccounts-glib' +license=(LGPL-2.1-or-later) +depends=(glib2 + glibc + libxml2 + sqlite) +makedepends=(check + gobject-introspection + meson + python-gobject + python-packaging + vala) +source=(https://gitlab.com/accounts-sso/libaccounts-glib/-/archive/VERSION_$pkgver/libaccounts-glib-VERSION_$pkgver.tar.gz) +sha256sums=('a8407a5897a2e425ea1aa955ecf88485dd2fd417919de275b27c781a5d0637a5') + +build() { + meson $pkgname-VERSION_$pkgver build \ + -Dprefix=/usr + meson compile -C build +} + +check() { + meson test -C build || true +} + +package() { + meson install -C build --destdir "$pkgdir" +} diff --git a/main/libaccounts-glib/README b/main/libaccounts-glib/README new file mode 100644 index 00000000..70071fa8 --- /dev/null +++ b/main/libaccounts-glib/README @@ -0,0 +1,43 @@ +libaccounts-glib +________________________________________________________________________________ + +Glib-based client library for accessing the online accounts database + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libaccounts-glib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/accounts-sso/libaccounts-glib diff --git a/main/libaccounts-glib/version b/main/libaccounts-glib/version new file mode 100644 index 00000000..12281419 --- /dev/null +++ b/main/libaccounts-glib/version @@ -0,0 +1 @@ +1.27 2 diff --git a/main/libaccounts-qt/.nvchecker.toml b/main/libaccounts-qt/.nvchecker.toml new file mode 100644 index 00000000..05833348 --- /dev/null +++ b/main/libaccounts-qt/.nvchecker.toml @@ -0,0 +1,6 @@ +[libaccounts-qt] +source = 'gitlab' +gitlab = 'accounts-sso/libaccounts-qt' +use_max_tag = true +prefix = 'VERSION_' +include_regex = 'VERSION.*' diff --git a/main/libaccounts-qt/PKGBUILD b/main/libaccounts-qt/PKGBUILD new file mode 100644 index 00000000..4716d559 --- /dev/null +++ b/main/libaccounts-qt/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libaccounts-qt +pkgdesc='Qt-based client library for accessing the online accounts database' +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://gitlab.com/accounts-sso/libaccounts-qt' +license=(LGPL-2.1-or-later) +depends=(gcc-libs + glib2 + glibc + libaccounts-glib + qt6-base) +makedepends=(doxygen + git) +source=(https://gitlab.com/accounts-sso/libaccounts-qt/-/archive/VERSION_$pkgver/libaccounts-qt-VERSION_$pkgver.tar.gz) +sha256sums=('6ed3e976133962c1c88f6c66928ba0d0a17a570843577d31e783dc891659e5d8') + +prepare() { + cd $pkgname-VERSION_$pkgver + sed -i 's|SUBDIRS += Accounts tests|SUBDIRS += Accounts|' accounts-qt.pro +} + +build() { + cd $pkgname-VERSION_$pkgver + qmake6 PREFIX=/usr LIBDIR=/usr/lib + make +} + +package() { + cd $pkgname-VERSION_$pkgver + make INSTALL_ROOT="$pkgdir" install + +# Remove docs + rm -r "$pkgdir"/usr/share +} diff --git a/main/libaccounts-qt/README b/main/libaccounts-qt/README new file mode 100644 index 00000000..9bf9a30d --- /dev/null +++ b/main/libaccounts-qt/README @@ -0,0 +1,43 @@ +libaccounts-qt +________________________________________________________________________________ + +Qt-based client library for accessing the online accounts database + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libaccounts-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/accounts-sso/libaccounts-qt diff --git a/main/libaccounts-qt/version b/main/libaccounts-qt/version new file mode 100644 index 00000000..0bbad115 --- /dev/null +++ b/main/libaccounts-qt/version @@ -0,0 +1 @@ +1.17 1 diff --git a/main/libaio/.nvchecker.toml b/main/libaio/.nvchecker.toml new file mode 100644 index 00000000..04d97f68 --- /dev/null +++ b/main/libaio/.nvchecker.toml @@ -0,0 +1,5 @@ +[libaio] +source = "git" +git = "https://pagure.io/libaio" +prefix = "libaio-" +include_regex = "(libaio)-([\\d.*]+)" diff --git a/main/libaio/PKGBUILD b/main/libaio/PKGBUILD new file mode 100644 index 00000000..8cc80ba1 --- /dev/null +++ b/main/libaio/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libaio +pkgver=%version% +pkgrel=%release% +pkgdesc="The Linux-native asynchronous I/O facility (aio) library" +arch=(x86_64) +url="https://pagure.io/libaio" +license=(LGPL-2.0-or-later) +depends=(glibc) +provides=(libaio.so) +# LTO is not supported: https://pagure.io/libaio/issue/10 +options=(!lto) +source=($url/archive/$pkgname-$pkgver/$pkgname-$pkgname-$pkgver.tar.gz) +sha512sums=('8058c927de0b5f7079fc232d2be23272537694bf271488af1dc0330b58afc307931792ab138512c5e00aa3ea921935a6d862f575fb0cc2bf323de63d8df208cd') +b2sums=('e06c1c1cc118c15f6bed1abfa97368d7ccc0d2e716a233cd4141936fb382e40909c340a6c882b18ee9461aaa23dd77a6644a38bdb5a00c1444538a2e0ab816d4') + +prepare() { + # -Werror, not even once + sed 's/-Werror//' -i $pkgname-$pkgname-$pkgver/harness/Makefile + + # remove failing test until upstream fixes it + rm -frv $pkgname-$pkgname-$pkgver/harness/cases/21.t +} + +build() { + make -C $pkgname-$pkgname-$pkgver +} + +check() { + make partcheck -k -C $pkgname-$pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgname-$pkgver + install -vDm 644 $pkgname-$pkgname-$pkgver/{ChangeLog,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 $pkgname-$pkgname-$pkgver/man/*.3 -t "$pkgdir/usr/share/man/man3/" +} + diff --git a/main/libaio/README b/main/libaio/README new file mode 100644 index 00000000..53ac3565 --- /dev/null +++ b/main/libaio/README @@ -0,0 +1,43 @@ +libaio +________________________________________________________________________________ + +The Linux-native asynchronous I/O facility (aio) library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libaio | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pagure.io/libaio diff --git a/main/libaio/version b/main/libaio/version new file mode 100644 index 00000000..526b3f27 --- /dev/null +++ b/main/libaio/version @@ -0,0 +1 @@ +0.3.113 3 diff --git a/main/libappindicator/PKGBUILD b/main/libappindicator/PKGBUILD new file mode 100644 index 00000000..28d1f50c --- /dev/null +++ b/main/libappindicator/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libappindicator +pkgname=("${pkgbase}-gtk"{2,3}) +_bzrtag=12.10.0 +_bzrrev=298 +pkgver=%version% +pkgrel=%release% +pkgdesc='Allow applications to extend a menu via Ayatana indicators in Unity, KDE or Systray' +url='https://launchpad.net/libappindicator' +arch=('x86_64') +license=('LGPL2.1' 'LGPL3') +makedepends=('breezy' 'dbus-glib' 'gnome-common' 'gobject-introspection' 'gtk-doc' 'libdbusmenu-gtk'{2,3} 'vala') +options=('!emptydirs') +source=($pkgbase::bzr+https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk#revision=$_bzrrev) +sha512sums=('SKIP') +validpgpkeys=('6FC05581A37D71FCECE165DB5BE41E162CD6358E') # Charles Kerr + +prepare() { + (cd ${pkgbase} + NOCONFIGURE=1 ./autogen.sh + ) + cp -ra ${pkgbase}{,-gtk2} +} + +build() { + msg2 'Building gtk3...' + (cd ${pkgbase} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=3 \ + --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + ) + + msg2 'Building gtk2...' + (cd ${pkgbase}-gtk2 + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=2 \ + --disable-introspection + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + ) +} + +package_libappindicator-gtk2() { + pkgdesc+=' (GTK+ 2 library)' + depends=('libdbusmenu-gtk2') + + cd ${pkgbase}-gtk2 + make -j1 DESTDIR="${pkgdir}" install +} + +package_libappindicator-gtk3() { + pkgdesc+=' (GTK+ 3 library)' + depends=('libdbusmenu-gtk3') + + cd ${pkgbase} + make -j1 DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libappindicator/README b/main/libappindicator/README new file mode 100644 index 00000000..1cda7741 --- /dev/null +++ b/main/libappindicator/README @@ -0,0 +1,43 @@ +libappindicator +________________________________________________________________________________ + +Allow applications to extend a menu via Ayatana indicators in Unity, KDE or Systray Allow applications to extend a menu via Ayatana indicators in Unity, KDE or Systray (GTK+ 2 library) Allow applications to extend a menu via Ayatana indicators in Unity, KDE or Systray (GTK+ 3 library) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libappindicator | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://launchpad.net/libappindicator diff --git a/main/libappindicator/version b/main/libappindicator/version new file mode 100644 index 00000000..968c4922 --- /dev/null +++ b/main/libappindicator/version @@ -0,0 +1 @@ +${_bzrtag}.r${_bzrrev} 3 diff --git a/main/libarchive/.PKGINFO b/main/libarchive/.PKGINFO new file mode 100644 index 00000000..0f6b27a5 --- /dev/null +++ b/main/libarchive/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libarchive +pkgbase = libarchive +xdata = pkgtype=pkg +pkgver = 3.7.4-1 +pkgdesc = Multi-format archive and compression library +url = https://libarchive.org/ +builddate = 1714401196 +packager = Developer +size = 1224398 +arch = x86_64 +license = BSD +provides = libarchive.so=13-64 +depend = acl +depend = libacl.so=1-64 +depend = bzip2 +depend = libbz2.so=1.0-64 +depend = libxml2 +depend = libxml2.so=2-64 +depend = lz4 +depend = openssl +depend = libcrypto.so=3-64 +depend = xz +depend = liblzma.so=5-64 +depend = zlib +depend = libz.so=1-64 +depend = zstd +depend = libzstd.so=1-64 diff --git a/main/libarchive/PKGBUILD b/main/libarchive/PKGBUILD new file mode 100644 index 00000000..8b580197 --- /dev/null +++ b/main/libarchive/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libarchive +pkgver=%version% +pkgrel=%release% +pkgdesc='Multi-format archive and compression library' +arch=('x86_64') +url='https://libarchive.org/' +license=('BSD') +depends=('acl' 'libacl.so' 'bzip2' 'expat' 'lz4' 'openssl' 'libcrypto.so' 'xz' + 'zlib' 'zstd') +provides=('libarchive.so') +validpgpkeys=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E' # Martin Matuska + 'DB2C7CF1B4C265FAEF56E3FC5848A18B8F14184B') # Martin Matuska +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc} + libarchive-tar-make-error-reporting-more-robust.patch::https://github.com/libarchive/libarchive/commit/6110e9c82d8ba830c3440f36b990483ceaaea52c.patch) +sha256sums=('04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb' + 'SKIP' + 'b677eae8f6fd1a9c3c2184dfd26a0d2862e0182dd295a376af10d18431299a41') + +prepare() { + cd "${pkgname}-${pkgver}" + patch -Np1 < ../libarchive-tar-make-error-reporting-more-robust.patch +} + +build() { + cd "${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --without-xml2 \ + --without-nettle \ + --disable-static + make +} + +check() { + cd "${pkgname}-${pkgver}" + + make check +} + +package() { + cd "${pkgname}-${pkgver}" + + make DESTDIR="$pkgdir" install + install -Dm0644 COPYING "$pkgdir/usr/share/licenses/libarchive/COPYING" +} diff --git a/main/libarchive/README b/main/libarchive/README new file mode 100644 index 00000000..870843bd --- /dev/null +++ b/main/libarchive/README @@ -0,0 +1,43 @@ +libarchive +________________________________________________________________________________ + +Multi-format archive and compression library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libarchive | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libarchive.org/ diff --git a/main/libarchive/version b/main/libarchive/version new file mode 100644 index 00000000..859dfa3f --- /dev/null +++ b/main/libarchive/version @@ -0,0 +1 @@ +3.7.4 1 diff --git a/main/libass/.PKGINFO b/main/libass/.PKGINFO new file mode 100644 index 00000000..cefe1de4 --- /dev/null +++ b/main/libass/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libass +pkgbase = libass +xdata = pkgtype=pkg +pkgver = 0.17.2-1 +pkgdesc = A portable library for SSA/ASS subtitles rendering +url = https://github.com/libass/libass/ +builddate = 1716337429 +packager = Developer +size = 305041 +arch = x86_64 +license = BSD +provides = libass.so=9-64 +depend = fontconfig +depend = fribidi +depend = glibc +depend = harfbuzz +depend = libfreetype.so=6-64 +depend = libunibreak +makedepend = git +makedepend = nasm diff --git a/main/libass/PKGBUILD b/main/libass/PKGBUILD new file mode 100644 index 00000000..9c768c75 --- /dev/null +++ b/main/libass/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libass +pkgver=%version% +pkgrel=%release% +pkgdesc='A portable library for SSA/ASS subtitles rendering' +arch=(x86_64) +url=https://github.com/libass/libass/ +license=(BSD) +depends=( + fontconfig + fribidi + glibc + harfbuzz + libfreetype.so + libunibreak +) +makedepends=( + git + nasm +) +provides=(libass.so) +_tag=915599d88e951e34079383cf926d2731bb45cea1 +source=(git+https://github.com/libass/libass.git?signed#tag=${_tag}) +validpgpkeys=( + 5458C3100671F252B0F4C7708079D18C21AAAAFF # Oleg Oshmyan (Chortos-2) + 5EE63F2A71BF132CFE3567E1DFFE615F2824C720 # Oneric +) +b2sums=(SKIP) + +prepare() { + cd libass + ./autogen.sh +} + +pkgver() { + cd libass + git describe --tags +} + +build() { + cd libass + ./configure \ + --prefix=/usr \ + --enable-fontconfig \ + --enable-libunibreak + make +} + +package() { + cd libass + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}"/usr/share/licenses/libass/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libass/README b/main/libass/README new file mode 100644 index 00000000..2e40b955 --- /dev/null +++ b/main/libass/README @@ -0,0 +1,43 @@ +libass +________________________________________________________________________________ + +A portable library for SSA/ASS subtitles rendering + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libass | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libass/libass/ diff --git a/main/libass/version b/main/libass/version new file mode 100644 index 00000000..eef3dff6 --- /dev/null +++ b/main/libass/version @@ -0,0 +1 @@ +0.17.2 1 diff --git a/main/libassuan/.nvchecker.toml b/main/libassuan/.nvchecker.toml new file mode 100644 index 00000000..6ffae617 --- /dev/null +++ b/main/libassuan/.nvchecker.toml @@ -0,0 +1,5 @@ +[libassuan] +source = "git" +git = "https://dev.gnupg.org/source/libassuan.git" +include_regex = "libassuan-([\\d.]+)" +prefix = "libassuan-" diff --git a/main/libassuan/PKGBUILD b/main/libassuan/PKGBUILD new file mode 100644 index 00000000..4808c3b0 --- /dev/null +++ b/main/libassuan/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libassuan +pkgver=%version% +pkgrel=%release% +pkgdesc='IPC library used by some GnuPG related software' +arch=(x86_64) +url="https://www.gnupg.org/related_software/libassuan/" +license=( + FSFULLR + GPL-2.0-or-later + LGPL-2.1-or-later +) +depends=( + glibc + libgpg-error + sh +) +provides=(libassuan.so) +source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) +sha512sums=('ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f' + 'SKIP') +b2sums=('67cb01b7ed9be13a52a37db439666bb8eb709cc63204fe250ff57854459aa8b36655479e887b285fe9ad799c49e66f176f971ab3a871e114cfb217a1f2968d16' + 'SKIP') +validpgpkeys=( + 6DAA6E64A76D2840571B4902528897B826403ADA # "Werner Koch (dist signing 2020)" + AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD # Niibe Yutaka (GnuPG Release Key) +) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + make check -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/libassuan/README b/main/libassuan/README new file mode 100644 index 00000000..486b598a --- /dev/null +++ b/main/libassuan/README @@ -0,0 +1,43 @@ +libassuan +________________________________________________________________________________ + +IPC library used by some GnuPG related software + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libassuan | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org/related_software/libassuan/ diff --git a/main/libassuan/version b/main/libassuan/version new file mode 100644 index 00000000..5f493d51 --- /dev/null +++ b/main/libassuan/version @@ -0,0 +1 @@ +2.5.7 2 diff --git a/main/libasyncns/PKGBUILD b/main/libasyncns/PKGBUILD new file mode 100644 index 00000000..ef8c87be --- /dev/null +++ b/main/libasyncns/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libasyncns +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="A C library for executing name service queries asynchronously" +url="https://0pointer.net/lennart/projects/libasyncns/" +arch=(x86_64) +license=(LGPL) +depends=(glibc) +makedepends=(git lynx) +_commit=68cd5aff1467638c086f1bedcc750e34917168e4 # master +source=("git+https://git.0pointer.net/clone/libasyncns.git#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd libasyncns + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libasyncns + NOCONFIGURE=1 ./bootstrap.sh +} + +build() { + cd libasyncns + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd libasyncns + make DESTDIR="$pkgdir" install +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libasyncns/README b/main/libasyncns/README new file mode 100644 index 00000000..55177ef1 --- /dev/null +++ b/main/libasyncns/README @@ -0,0 +1,43 @@ +libasyncns +________________________________________________________________________________ + +A C library for executing name service queries asynchronously + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libasyncns | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://0pointer.net/lennart/projects/libasyncns/ diff --git a/main/libasyncns/version b/main/libasyncns/version new file mode 100644 index 00000000..e667fecf --- /dev/null +++ b/main/libasyncns/version @@ -0,0 +1 @@ +0.8+r3+g68cd5af 2 diff --git a/main/libatasmart/0001-Dont-test-undefined-bits.patch b/main/libatasmart/0001-Dont-test-undefined-bits.patch new file mode 100644 index 00000000..9b32bba5 --- /dev/null +++ b/main/libatasmart/0001-Dont-test-undefined-bits.patch @@ -0,0 +1,28 @@ +Author: Phillip Susi +Subject: fix an incorrect IO error reading SMART status +Description: The read SMART status command's return status + was testing for a success/failure value that included 8 + bits that are "N/A" according to the standard, and required + that they be zeros. At least some drives do not fill them + with zeros, so correct this by masking off the undefined + bits. +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61998 +Bug-Ubuntu: https://launchpad.net/bugs/1143495 + +Index: b/atasmart.c +=================================================================== +--- a/atasmart.c ++++ b/atasmart.c +@@ -925,10 +925,10 @@ + /* SAT/USB bridges truncate packets, so we only check for 4F, + * not for 2C on those */ + if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x00C2U)) && +- cmd[4] == htons(0x4F00U)) ++ (cmd[4] & htons(0xFF00U)) == htons(0x4F00U)) + *good = TRUE; + else if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x002CU)) && +- cmd[4] == htons(0xF400U)) ++ (cmd[4] & htons(0xFF00U)) == htons(0xF400U)) + *good = FALSE; + else { + errno = EIO; diff --git a/main/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch b/main/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch new file mode 100644 index 00000000..0655ca48 --- /dev/null +++ b/main/libatasmart/0002-Drop-our-own-many-bad-sectors-heuristic.patch @@ -0,0 +1,93 @@ +From 6846b7c2431dbeaddd9f931c609b522c04e55732 Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Fri, 19 Mar 2010 14:56:06 +0100 +Subject: [PATCH 2/2] Drop our own "many bad sectors" heuristic + +This currently causes a lot of false positives, because in many cases our +threshold is either overly pessimistically low, or the raw value is implausibly +high. Just use the normalized values vs. threshold for now. + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=25772 +Bug-Ubuntu: https://launchpad.net/bugs/438136 +--- + atasmart.c | 33 +++++++++++---------------------- + 1 files changed, 11 insertions(+), 22 deletions(-) + +Index: libatasmart/atasmart.c +=================================================================== +--- libatasmart.orig/atasmart.c 2012-05-23 08:34:14.007836753 +0200 ++++ libatasmart/atasmart.c 2012-05-23 08:34:43.903835695 +0200 +@@ -130,6 +130,8 @@ + SkBool current_pending_sector_found:1; + uint64_t reallocated_sector_count; + uint64_t current_pending_sector; ++ SkBool reallocated_sector_count_bad:1; ++ SkBool current_pending_sector_bad:1; + + void *blob; + }; +@@ -2190,16 +2192,23 @@ + if (a->pretty_unit != SK_SMART_ATTRIBUTE_UNIT_SECTORS) + return; + ++ if (!a->current_value_valid) ++ return; ++ + if (!strcmp(a->name, "reallocated-sector-count")) { + if (a->pretty_value > d->reallocated_sector_count) + d->reallocated_sector_count = a->pretty_value; + d->reallocated_sector_count_found = TRUE; ++ if (a->good_now_valid && !a->good_now) ++ d->reallocated_sector_count_bad = TRUE; + } + + if (!strcmp(a->name, "current-pending-sector")) { + if (a->pretty_value > d->current_pending_sector) + d->current_pending_sector = a->pretty_value; + d->current_pending_sector_found = TRUE; ++ if (a->good_now_valid && !a->good_now) ++ d->current_pending_sector_bad = TRUE; + } + } + +@@ -2255,24 +2264,9 @@ + return _P(map[overall]); + } + +-static uint64_t u64log2(uint64_t n) { +- unsigned r; +- +- if (n <= 1) +- return 0; +- +- r = 0; +- for (;;) { +- n = n >> 1; +- if (!n) +- return r; +- r++; +- } +-} +- + int sk_disk_smart_get_overall(SkDisk *d, SkSmartOverall *overall) { + SkBool good; +- uint64_t sectors, sector_threshold; ++ uint64_t sectors; + + assert(d); + assert(overall); +@@ -2293,13 +2287,7 @@ + return -1; + sectors = 0; + } else { +- +- /* We use log2(n_sectors)*1024 as a threshold here. We +- * had to pick something, and this makes a bit of +- * sense, or doesn't it? */ +- sector_threshold = u64log2(d->size/512) * 1024; +- +- if (sectors >= sector_threshold) { ++ if (d->reallocated_sector_count_bad || d->current_pending_sector_bad) { + *overall = SK_SMART_OVERALL_BAD_SECTOR_MANY; + return 0; + } diff --git a/main/libatasmart/PKGBUILD b/main/libatasmart/PKGBUILD new file mode 100644 index 00000000..82b9fbee --- /dev/null +++ b/main/libatasmart/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libatasmart +pkgver=%version% +pkgrel=%release% +pkgdesc='ATA S.M.A.R.T. reader and parser library' +arch=('x86_64') +url='https://0pointer.de/blog/projects/being-smart.html' +license=('LGPL-2.1-or-later') +depends=('glibc' 'systemd-libs') +source=("https://0pointer.de/public/$pkgname-$pkgver.tar.xz" + '0001-Dont-test-undefined-bits.patch' + '0002-Drop-our-own-many-bad-sectors-heuristic.patch') +sha256sums=('61f0ea345f63d28ab2ff0dc352c22271661b66bf09642db3a4049ac9dbdb0f8d' + 'ab19d6985bb524774607280a2ee62c48de01785660ff5206d80f778b6404188c' + '9bb5ca3431f76c182c5b076e2db9378d696608c2ff1d53d01e55c530ba293ce1') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../0001-Dont-test-undefined-bits.patch + patch -Np1 -i ../0002-Drop-our-own-many-bad-sectors-heuristic.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libatasmart/README b/main/libatasmart/README new file mode 100644 index 00000000..7b8ab610 --- /dev/null +++ b/main/libatasmart/README @@ -0,0 +1,43 @@ +libatasmart +________________________________________________________________________________ + +ATA S.M.A.R.T. reader and parser library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libatasmart | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://0pointer.de/blog/projects/being-smart.html diff --git a/main/libatasmart/version b/main/libatasmart/version new file mode 100644 index 00000000..9ba25106 --- /dev/null +++ b/main/libatasmart/version @@ -0,0 +1 @@ +0.19 6 diff --git a/main/libavc1394/PKGBUILD b/main/libavc1394/PKGBUILD new file mode 100644 index 00000000..c92a3fda --- /dev/null +++ b/main/libavc1394/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libavc1394 +pkgver=%version% +pkgrel=%release% +pkgdesc='Library to control A/V devices using the 1394 TA AV/C commands' +arch=('x86_64') +url='https://sourceforge.net/projects/libavc1394/' +license=('GPL-2.0-or-later AND LGPL-2.1-or-later') +depends=('glibc' 'libraw1394') +source=("https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz") +sha256sums=('7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4215b53') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libavc1394/README b/main/libavc1394/README new file mode 100644 index 00000000..9e899fda --- /dev/null +++ b/main/libavc1394/README @@ -0,0 +1,43 @@ +libavc1394 +________________________________________________________________________________ + +Library to control A/V devices using the 1394 TA AV/C commands + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libavc1394 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/libavc1394/ diff --git a/main/libavc1394/version b/main/libavc1394/version new file mode 100644 index 00000000..6e96ae60 --- /dev/null +++ b/main/libavc1394/version @@ -0,0 +1 @@ +0.5.4 6 diff --git a/main/libb2/.nvchecker.toml b/main/libb2/.nvchecker.toml new file mode 100644 index 00000000..8ca8f2e8 --- /dev/null +++ b/main/libb2/.nvchecker.toml @@ -0,0 +1,5 @@ +[libb2] +source = 'github' +github = 'BLAKE2/libb2' +use_max_tag = true +prefix = 'v' diff --git a/main/libb2/PKGBUILD b/main/libb2/PKGBUILD new file mode 100644 index 00000000..817aec2b --- /dev/null +++ b/main/libb2/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libb2 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +pkgdesc='C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp hash functions' +url='https://blake2.net/' +license=(custom:CC0) +depends=(gcc-libs) +source=("https://github.com/BLAKE2/libb2/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('53626fddce753c454a3fea581cbbc7fe9bbcf0bc70416d48fdbbf5d87ef6c72e') + +# libb2's build system discards the $CFLAGS variable. +# We can get around this by putting those flags in $CC. +export CC="${CC-cc} $CFLAGS" + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static --enable-shared --disable-native --enable-fat + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/libb2/README b/main/libb2/README new file mode 100644 index 00000000..6d5b7a10 --- /dev/null +++ b/main/libb2/README @@ -0,0 +1,43 @@ +libb2 +________________________________________________________________________________ + +C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp hash functions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libb2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://blake2.net/ diff --git a/main/libb2/version b/main/libb2/version new file mode 100644 index 00000000..ab098567 --- /dev/null +++ b/main/libb2/version @@ -0,0 +1 @@ +0.98.1 2 diff --git a/main/libblockdev/.PKGINFO b/main/libblockdev/.PKGINFO new file mode 100644 index 00000000..0748439d --- /dev/null +++ b/main/libblockdev/.PKGINFO @@ -0,0 +1,48 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libblockdev-swap +pkgbase = libblockdev +xdata = pkgtype=split +pkgver = 3.1.1-2 +pkgdesc = A library for manipulating block devices - swap device support +url = https://github.com/storaged-project/libblockdev +builddate = 1714401212 +packager = Developer +size = 20363 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libbd_swap.so=3-64 +depend = gcc-libs +depend = glib2 +depend = libglib-2.0.so=0-64 +depend = glibc +depend = libblockdev=3.1.1 +depend = libbd_utils.so=3-64 +depend = util-linux-libs +depend = libblkid.so=1-64 +makedepend = autoconf-archive +makedepend = btrfs-progs +makedepend = cryptsetup +makedepend = device-mapper +makedepend = dosfstools +makedepend = e2fsprogs +makedepend = exfatprogs +makedepend = gcc-libs +makedepend = glib2 +makedepend = glibc +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = kmod +makedepend = keyutils +makedepend = libbytesize +makedepend = libnvme +makedepend = lvm2 +makedepend = mdadm +makedepend = ndctl +makedepend = nss +makedepend = parted +makedepend = python +makedepend = systemd-libs +makedepend = util-linux +makedepend = util-linux-libs +makedepend = volume_key diff --git a/main/libblockdev/.nvchecker.toml b/main/libblockdev/.nvchecker.toml new file mode 100644 index 00000000..b54a12e0 --- /dev/null +++ b/main/libblockdev/.nvchecker.toml @@ -0,0 +1,5 @@ +[libblockdev] +source = "git" +git = "https://github.com/storaged-project/libblockdev" +from_pattern = '([\d.]+)-\d' +to_pattern = '\1' diff --git a/main/libblockdev/PKGBUILD b/main/libblockdev/PKGBUILD new file mode 100644 index 00000000..a50d5c7e --- /dev/null +++ b/main/libblockdev/PKGBUILD @@ -0,0 +1,359 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libblockdev +pkgname=( + libblockdev + libblockdev-{btrfs,crypto,dm,fs,loop,lvm,mdraid,mpath,nvdimm,nvme,part,swap} + python-libblockdev +) +pkgver=%version% +pkgrel=%release% +pkgdesc="A library for manipulating block devices" +arch=('x86_64') +url="https://github.com/storaged-project/libblockdev" +license=(LGPL-2.1-or-later) +makedepends=( + 'autoconf-archive' + 'btrfs-progs' + 'cryptsetup' + 'device-mapper' + 'dosfstools' + 'e2fsprogs' + 'exfatprogs' + 'gcc-libs' + 'glib2' + 'glibc' + 'gobject-introspection' + 'gtk-doc' + 'kmod' + 'keyutils' + 'libbytesize' + 'libnvme' + 'lvm2' + 'mdadm' + 'ndctl' + 'nss' + 'parted' + 'python' + 'systemd-libs' + 'util-linux' + 'util-linux-libs' + 'volume_key' +) +source=( + "$url/releases/download/$pkgver-1/$pkgname-$pkgver.tar.gz" +) +sha512sums=('44628d9e68a467f8a5d5e65e12d5d6ffb4d9b953c846acd9f6da257eab5ccd79309651d6b20092fa700fb4340f1f718ceef11141203da676d088824aa9d03481') +b2sums=('b3dbdc7226524d544193b609ced8a9fee725268ba2201b639c22103fcae6d047c94fb1b848e489525300242cb235d688934193894a06279a4dc0e0b33dff6e96') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + # prevent libtool from overlinking everything + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package_libblockdev() { + depends=( + glib2 libglib-2.0.so libgio-2.0.so libgobject-2.0.so + glibc + kmod libkmod.so + systemd-libs libudev.so + ) + optdepends=( + 'libblockdev-btrfs: for BTRFS support' + 'libblockdev-crypto: for crypto support' + 'libblockdev-dm: for device-mapper support' + 'libblockdev-fs: for filesystem support' + 'libblockdev-loop: for loop device support' + 'libblockdev-lvm: for LVM support' + 'libblockdev-mdraid: for MDRAID support' + 'libblockdev-mpath: for multipath support' + 'libblockdev-nvdimm: for NVDIMM support' + 'libblockdev-nvme: for NVME support' + 'libblockdev-part: for partitioning support' + 'libblockdev-swap: for swap support' + 'python-libblockdev: for Python support' + ) + provides=( + libbd_utils.so + libblockdev.so + ) + conflicts=(libblockdev-utils) + replaces=(libblockdev-utils) + + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + + cd "$pkgdir" + + _pick $pkgbase-btrfs usr/include/blockdev/btrfs.h + _pick $pkgbase-btrfs usr/lib/libbd_btrfs.* + + _pick $pkgbase-crypto usr/include/blockdev/crypto.h + _pick $pkgbase-crypto usr/lib/libbd_crypto.* + + _pick $pkgbase-dm usr/include/blockdev/dm.h + _pick $pkgbase-dm usr/lib/libbd_dm.* + + _pick $pkgbase-fs usr/bin/vfat-resize # the libbd_fs.so library calls this executable + _pick $pkgbase-fs usr/include/blockdev/fs.h + _pick $pkgbase-fs usr/include/blockdev/fs/*.h + _pick $pkgbase-fs usr/lib/libbd_fs.* + + _pick $pkgbase-loop usr/include/blockdev/loop.h + _pick $pkgbase-loop usr/lib/libbd_loop.* + + _pick $pkgbase-lvm etc/libblockdev/3/conf.d/10-lvm-dbus.cfg + _pick $pkgbase-lvm usr/bin/lvm-cache-stats + _pick $pkgbase-lvm usr/include/blockdev/lvm.h + _pick $pkgbase-lvm usr/lib/libbd_lvm.* + _pick $pkgbase-lvm usr/lib/libbd_lvm-dbus.* + + _pick $pkgbase-mdraid usr/include/blockdev/mdraid.h + _pick $pkgbase-mdraid usr/lib/libbd_mdraid.* + + _pick $pkgbase-mpath usr/include/blockdev/mpath.h + _pick $pkgbase-mpath usr/lib/libbd_mpath.* + + _pick $pkgbase-nvdimm usr/include/blockdev/nvdimm.h + _pick $pkgbase-nvdimm usr/lib/libbd_nvdimm.* + + _pick $pkgbase-nvme usr/include/blockdev/nvme.h + _pick $pkgbase-nvme usr/lib/libbd_nvme.* + + _pick $pkgbase-part usr/include/blockdev/part.h + _pick $pkgbase-part usr/lib/libbd_part.* + + _pick $pkgbase-swap usr/include/blockdev/swap.h + _pick $pkgbase-swap usr/lib/libbd_swap.* + + _pick python-$pkgbase usr/lib/python* +} + +package_libblockdev-btrfs() { + pkgdesc+=" - BTRFS support" + depends=( + btrfs-progs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + libbytesize + ) + provides=(libbd_btrfs.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-crypto() { + pkgdesc+=" - crypto support" + depends=( + cryptsetup libcryptsetup.so + gcc-libs + glib2 libglib-2.0.so + glibc + keyutils libkeyutils.so + "libblockdev=$pkgver" libbd_utils.so + nss + util-linux-libs libblkid.so + volume_key + ) + provides=(libbd_crypto.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-dm() { + pkgdesc+=" - device mapper support" + depends=( + device-mapper libdevmapper.so + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + ) + provides=(libbd_dm.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-fs() { + pkgdesc+=" - filesystem support" + depends=( + e2fsprogs libext2fs.so libe2p.so + gcc-libs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + libbytesize + parted + util-linux-libs libblkid.so libmount.so libuuid.so + ) + optdepends=( + 'btrfs-progs: for BTRFS filesystem support' + 'dosfstools: for VFAT filesystem support' + 'exfatprogs: for exFAT filesystem support' + 'f2fs-tools: for F2FS filesystem support' + 'nilfs-utils: for nilfs filesystem support' + 'ntfs-3g: for NTFS filesystem support' + 'udftools: for UDF filesystem support' + 'xfsprogs: for XFS filesystem support' + ) + provides=(libbd_fs.so) + conflicts=(libblockdev-tools) + replaces=(libblockdev-tools) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-loop() { + pkgdesc+=" - loop device support" + depends=( + gcc-libs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + ) + provides=(libbd_loop.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-lvm() { + pkgdesc+=" - LVM support" + depends=( + device-mapper libdevmapper.so + gcc-libs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so libblockdev.so + libbytesize + ) + provides=( + libbd_lvm.so + libbd_lvm-dbus.so + ) + conflicts=( + libblockdev-lvm-dbus + libblockdev-tools + ) + replaces=( + libblockdev-lvm-dbus + libblockdev-tools + ) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-mdraid() { + pkgdesc+=" - MDRAID support" + depends=( + gcc-libs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + libbytesize + mdadm # the libbd_mdraid.so library calls the mdadm executable + ) + provides=(libbd_mdraid.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-mpath() { + pkgdesc+=" - multipath device support" + depends=( + device-mapper libdevmapper.so + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + ) + provides=(libbd_mpath.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-nvdimm() { + pkgdesc+=" - NVDIMM support" + depends=( + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + ndctl + util-linux-libs libuuid.so + ) + provides=(libbd_nvdimm.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-nvme() { + pkgdesc+=" - NVME support" + depends=( + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + libnvme + ) + provides=(libbd_nvme.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-part() { + pkgdesc+=" - partitioning support" + depends=( + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + util-linux-libs libfdisk.so + ) + provides=(libbd_part.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_libblockdev-swap() { + pkgdesc+=" - swap device support" + depends=( + gcc-libs + glib2 libglib-2.0.so + glibc + "libblockdev=$pkgver" libbd_utils.so + util-linux-libs libblkid.so + ) + provides=(libbd_swap.so) + + mv -v $pkgname/* "$pkgdir" +} + +package_python-libblockdev() { + pkgdesc+=" - Python support" + depends=( + python + gobject-introspection-runtime + libbytesize + ) + + mv -v $pkgname/* "$pkgdir" +} diff --git a/main/libblockdev/README b/main/libblockdev/README new file mode 100644 index 00000000..7e0291f9 --- /dev/null +++ b/main/libblockdev/README @@ -0,0 +1,43 @@ +libblockdev +________________________________________________________________________________ + +A library for manipulating block devices A library for manipulating block devices - BTRFS support A library for manipulating block devices - crypto support A library for manipulating block devices - device mapper support A library for manipulating block devices - filesystem support A library for manipulating block devices - loop device support A library for manipulating block devices - LVM support A library for manipulating block devices - MDRAID support A library for manipulating block devices - multipath device support A library for manipulating block devices - NVDIMM support A library for manipulating block devices - NVME support A library for manipulating block devices - partitioning support A library for manipulating block devices - swap device support A library for manipulating block devices - Python support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libblockdev | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/storaged-project/libblockdev diff --git a/main/libblockdev/version b/main/libblockdev/version new file mode 100644 index 00000000..4d638932 --- /dev/null +++ b/main/libblockdev/version @@ -0,0 +1 @@ +3.1.1 2 diff --git a/main/libbluray/PKGBUILD b/main/libbluray/PKGBUILD new file mode 100644 index 00000000..08bd44b8 --- /dev/null +++ b/main/libbluray/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libbluray +pkgver=%version% +pkgrel=%release% +pkgdesc='Library to access Blu-Ray disks for video playback' +arch=(x86_64) +url=https://www.videolan.org/developers/libbluray.html +license=(LGPL2.1) +depends=( + fontconfig + libfreetype.so + libxml2 +) +makedepends=( + apache-ant + git + java-environment +) +optdepends=('java-runtime: BD-J library') +provides=(libbluray.so) +_tag=bb5bc108ec695889855f06df338958004ff289ef +source=( + git+https://code.videolan.org/videolan/libbluray.git#tag=${_tag} + git+https://code.videolan.org/videolan/libudfread.git +) +b2sums=( + SKIP + SKIP +) + +pkgver() { + cd libbluray + git describe --tags +} + +prepare() { + cd libbluray + git config --global protocol.file.allow always + for submodule in contrib/libudfread; do + git submodule init ${submodule} + git config submodule.${submodule}.url ../${submodule#*/} + git submodule update ${submodule} + done + autoreconf -fiv +} + +build() { + cd libbluray + ./configure \ + --prefix=/usr + make +} + +package() { + make DESTDIR="${pkgdir}" -C libbluray install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libbluray/README b/main/libbluray/README new file mode 100644 index 00000000..6ec5d548 --- /dev/null +++ b/main/libbluray/README @@ -0,0 +1,43 @@ +libbluray +________________________________________________________________________________ + +Library to access Blu-Ray disks for video playback + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libbluray | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.videolan.org/developers/libbluray.html diff --git a/main/libbluray/version b/main/libbluray/version new file mode 100644 index 00000000..737bdf49 --- /dev/null +++ b/main/libbluray/version @@ -0,0 +1 @@ +1.3.4 1 diff --git a/main/libbpf/PKGBUILD b/main/libbpf/PKGBUILD new file mode 100644 index 00000000..8f90c58d --- /dev/null +++ b/main/libbpf/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libbpf +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for loading eBPF programs and reading and manipulating eBPF objects from user-space' +url='https://github.com/libbpf/libbpf' +arch=('x86_64') +license=('LGPL2.1') +depends=('glibc' 'libelf' 'linux-api-headers') +makedepends=('rsync') +provides=('libbpf.so') +source=(https://github.com/libbpf/libbpf/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('59990189538e47765542e9ed6e88bc78c9d29bc077b5666bb1303cf15579c90b3d35a0d631b9bbd4bff2708243dc91d901bd68c119fb74dfd10a3e1066aa9acc') +b2sums=('5ee0a45cd06be482c9523ec2a9bb26cf12b89df23f515b037badda868770069d5ffb751c011222b86b1d43034a1cdd537cb263883ed0645641548adc9c9896eb') + +build() { + cd ${pkgname}-${pkgver} + make -C src +} + +package() { + cd ${pkgname}-${pkgver} + make -C src DESTDIR="${pkgdir}" LIBSUBDIR=lib install install_headers + install -Dm 644 LICENSE* -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libbpf/README b/main/libbpf/README new file mode 100644 index 00000000..c2faa1bb --- /dev/null +++ b/main/libbpf/README @@ -0,0 +1,43 @@ +libbpf +________________________________________________________________________________ + +Library for loading eBPF programs and reading and manipulating eBPF objects from user-space + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libbpf | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libbpf/libbpf diff --git a/main/libbpf/version b/main/libbpf/version new file mode 100644 index 00000000..0a2d7f2b --- /dev/null +++ b/main/libbpf/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/main/libbs2b/PKGBUILD b/main/libbs2b/PKGBUILD new file mode 100644 index 00000000..a9c4dc44 --- /dev/null +++ b/main/libbs2b/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libbs2b +pkgver=%version% +pkgrel=%release% +pkgdesc="Bauer stereophonic-to-binaural DSP effect library" +url="http://bs2b.sourceforge.net" +arch=(x86_64) +license=(custom:MIT) +depends=(libsndfile gcc-libs) +source=("https://downloads.sourceforge.net/sourceforge/bs2b/$pkgname-$pkgver.tar.lzma" + formatsecurity.diff) +md5sums=('00d32ffa6461dde6a632c846da3e0a13' + 'af1c91f47bd7481cd71fc38a3a35f0e7') +sha1sums=('ec847e38a3a6f7eeed245b44e53f02cfff056df0' + 'f8206ca996894884a2989401feb1b7d1acd28f2e') +b2sums=('986b0df4faee05cd6659bf5e338752d795450af9543f6c24c93cfeaa537fefb125966e4311d3637856aa6c4959b2aeec68b46baaab9caba5829405ce4b69d9a3' + 'c111cf2f249261ec286fdb24e1f044ce2b3b9d078f3f139e1519ba4932bc35392b497882c0daf23c53c89199d0f3783b740cdf0e71175c6dedd408a9fb2d7cfd') + +prepare() { + cd $pkgname-$pkgver + + # Fix error: format not a string literal and no format arguments [-Werror=format-security] + patch -Np1 -i ../formatsecurity.diff + + sed -i 's/dist-lzma/dist-xz/g' configure.ac + + autoreconf -fvi +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + depends+=(libsndfile.so) + provides+=(libbs2b.so) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} diff --git a/main/libbs2b/README b/main/libbs2b/README new file mode 100644 index 00000000..87d47659 --- /dev/null +++ b/main/libbs2b/README @@ -0,0 +1,43 @@ +libbs2b +________________________________________________________________________________ + +Bauer stereophonic-to-binaural DSP effect library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libbs2b | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://bs2b.sourceforge.net diff --git a/main/libbs2b/formatsecurity.diff b/main/libbs2b/formatsecurity.diff new file mode 100644 index 00000000..2070d524 --- /dev/null +++ b/main/libbs2b/formatsecurity.diff @@ -0,0 +1,12 @@ +diff -u -r libbs2b-3.1.0/src/bs2bconvert.c libbs2b-3.1.0-formatsecurity/src/bs2bconvert.c +--- libbs2b-3.1.0/src/bs2bconvert.c 2009-06-04 18:01:15.000000000 +0000 ++++ libbs2b-3.1.0-formatsecurity/src/bs2bconvert.c 2022-07-18 19:02:24.764809592 +0000 +@@ -153,7 +153,7 @@ + if( ( infile = sf_open( infilename, SFM_READ, &sfinfo ) ) == NULL ) + { + printf( "Not able to open input file %s.\n", infilename ); +- printf( sf_strerror( NULL ) ); ++ printf( "%s", sf_strerror( NULL ) ); + return 1; + } + diff --git a/main/libbs2b/version b/main/libbs2b/version new file mode 100644 index 00000000..4233d37e --- /dev/null +++ b/main/libbs2b/version @@ -0,0 +1 @@ +3.1.0 8 diff --git a/main/libbsd/.PKGINFO b/main/libbsd/.PKGINFO new file mode 100644 index 00000000..58aaa14c --- /dev/null +++ b/main/libbsd/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libbsd +pkgbase = libbsd +xdata = pkgtype=pkg +pkgver = 0.12.2-2 +pkgdesc = Provides useful functions commonly found on BSD systems like strlcpy() +url = https://libbsd.freedesktop.org +builddate = 1714618360 +packager = Developer +size = 343936 +arch = x86_64 +license = custom +depend = glibc +depend = libmd +makedepend = git diff --git a/main/libbsd/PKGBUILD b/main/libbsd/PKGBUILD new file mode 100644 index 00000000..308fdeeb --- /dev/null +++ b/main/libbsd/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libbsd +pkgver=%version% +pkgrel=%release% +pkgdesc='Provides useful functions commonly found on BSD systems like strlcpy()' +arch=('x86_64') +url="https://libbsd.freedesktop.org" +license=('custom') +depends=('glibc' 'libmd') +makedepends=('git') +options=('staticlibs') +source=("git+https://gitlab.freedesktop.org/libbsd/libbsd.git?signed#tag=${pkgver}") +sha512sums=('cea336318d941992d0f624386d4d43828940de9b4ebbf580bb4771efb2cf00fd85e2d17c9006fe1b5fecaa277d25d5e6af15e7456722b172270e4a77e1a0299e') +validpgpkeys=('4F3E74F436050C10F5696574B972BF3EA4AE57A3') # Guillem Jover + +build() { + cd "$pkgname" + + autoreconf -vfi + CFLAGS+=' -ffat-lto-objects' \ + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname" + make check +} + +package() { + cd "$pkgname" + + make DESTDIR="$pkgdir" install + rm "${pkgdir}"/usr/lib/libbsd.a + install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # included now in man-pages, FS#53351 + rm -f "${pkgdir}"/usr/share/man/man3/explicit_bzero.3 +} diff --git a/main/libbsd/README b/main/libbsd/README new file mode 100644 index 00000000..04f023e2 --- /dev/null +++ b/main/libbsd/README @@ -0,0 +1,43 @@ +libbsd +________________________________________________________________________________ + +Provides useful functions commonly found on BSD systems like strlcpy() + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libbsd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libbsd.freedesktop.org diff --git a/main/libbsd/version b/main/libbsd/version new file mode 100644 index 00000000..8fae0c31 --- /dev/null +++ b/main/libbsd/version @@ -0,0 +1 @@ +0.12.2 2 diff --git a/main/libbytesize/.PKGINFO b/main/libbytesize/.PKGINFO new file mode 100644 index 00000000..77bc0299 --- /dev/null +++ b/main/libbytesize/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libbytesize +pkgbase = libbytesize +xdata = pkgtype=pkg +pkgver = 2.8-3 +pkgdesc = A tiny library providing a C "class" for working with arbitrary big sizes in bytes +url = https://github.com/rhinstaller/libbytesize +builddate = 1714401214 +packager = Developer +size = 94247 +arch = x86_64 +license = LGPL +depend = mpfr +depend = pcre2 +optdepend = python-six: for bscalc command +makedepend = python diff --git a/main/libbytesize/PKGBUILD b/main/libbytesize/PKGBUILD new file mode 100644 index 00000000..dd0f444b --- /dev/null +++ b/main/libbytesize/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libbytesize +pkgver=%version% +pkgrel=%release% +pkgdesc='A tiny library providing a C "class" for working with arbitrary big sizes in bytes' +arch=('x86_64') +url="https://github.com/rhinstaller/libbytesize" +license=('LGPL') +depends=('mpfr' 'pcre2') +makedepends=('python') +optdepends=('python-six: for bscalc command') +source=("$pkgname-$pkgver.tar.gz::https://github.com/rhinstaller/libbytesize/archive/$pkgver.tar.gz") +sha512sums=('c05c5adb0088247c91c50a9259d477f2e65b30aa8522112bb6955c7d082584e87b0167cd385c7161f2fa0c05bf9b9d870a00d5a700613db75c1d52822bca009d') + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./autogen.sh + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libbytesize/README b/main/libbytesize/README new file mode 100644 index 00000000..ed207df7 --- /dev/null +++ b/main/libbytesize/README @@ -0,0 +1,43 @@ +libbytesize +________________________________________________________________________________ + +A tiny library providing a C "class" for working with arbitrary big sizes in bytes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libbytesize | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/rhinstaller/libbytesize diff --git a/main/libbytesize/version b/main/libbytesize/version new file mode 100644 index 00000000..b72678d2 --- /dev/null +++ b/main/libbytesize/version @@ -0,0 +1 @@ +2.8 3 diff --git a/main/libcamera/PKGBUILD b/main/libcamera/PKGBUILD new file mode 100644 index 00000000..713af736 --- /dev/null +++ b/main/libcamera/PKGBUILD @@ -0,0 +1,206 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libcamera +pkgname=( + libcamera + libcamera-docs + libcamera-ipa + libcamera-tools + gst-plugin-libcamera +) +pkgver=%version% +_commit=a3690f601bf9a90e1a936d9f361aebd789e3b073 # refs/tags/v0.2.0 +pkgrel=%release% +pkgdesc="A complex camera support library for Linux, Android, and ChromeOS" +arch=(x86_64) +url="https://libcamera.org/" +_url=https://git.libcamera.org/libcamera/libcamera.git +makedepends=( + doxygen + git + glib2 + graphviz + gst-plugins-base + gtest + libdrm + libjpeg-turbo + libtiff + libyaml + meson + python-jinja + python-ply + python-sphinx + python-pyyaml + qt5-base + qt5-tools + sdl2 + systemd + texlive-core +) +source=( + "git+$_url#tag=$_commit" +) +sha512sums=('SKIP') +b2sums=('SKIP') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' +} + +prepare() { + cd $pkgbase + + # add version, so that utils/gen-version.sh may rely on it + printf "%s\n" "$pkgver" > .tarball-version +} + +build() { + local meson_options=( + -D v4l2=true + -D tracing=disabled + -D test=true + ) + + arch-meson $pkgbase build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build || echo "Tests require CLONE_NEWUSER/ CLONE_NEWNET." +} + +package_libcamera() { + license=( + Apache-2.0 + CC0-1.0 + 'GPL-2.0-only WITH Linux-syscall-note' + GPL-2.0-or-later + LGPL-2.1-or-later + 'GPL-2.0-or-later WITH Linux-syscall-note OR BSD-3-Clause' + 'GPL-2.0-or-later WITH Linux-syscall-note OR MIT' + ) + depends=( + gcc-libs + glibc + gnutls + libcamera-ipa + libelf + libunwind + libyaml + sh + systemd-libs libudev.so + ) + optdepends=( + 'gst-plugin-libcamera: GStreamer plugin' + 'libcamera-docs: for documentation' + 'libcamera-tools: for applications' + ) + provides=(libcamera.so libcamera-base.so) + + meson install -C build --destdir "$pkgdir" + install -vDm 644 $pkgbase/LICENSES/{BSD-3-Clause,Linux-syscall-note,MIT}.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + + ( + cd "$pkgdir" + _pick $pkgbase-docs usr/share/doc + _pick $pkgbase-ipa usr/lib/libcamera/ + _pick $pkgbase-tools usr/bin/{cam,qcam,lc-compliance} + _pick gst-plugin-$pkgbase usr/lib/gstreamer-* + ) +} + +package_libcamera-docs() { + pkgdesc+=" - documentation" + license=( + CC-BY-4.0 + CC-BY-SA-4.0 + CC0-1.0 + ) + + mv -v $pkgname/* "$pkgdir" + mv -v "$pkgdir/usr/share/doc/$pkgbase-$pkgver/" "$pkgdir/usr/share/doc/$pkgbase/" + rm -frv "$pkgdir/usr/share/doc/$pkgbase/html/.buildinfo" +} + +package_libcamera-ipa() { + pkgdesc+=" - signed IPA" + license=( + BSD-2-Clause + CC-BY-SA-4.0 + CC0-1.0 + GPL-2.0-or-later + LGPL-2.1-or-later + ) + depends=( + gcc-libs + glibc + libcamera libcamera.so libcamera-base.so + ) + # stripping requires re-signing of IPA libs, so we do it manually + options=(!strip) + + strip $pkgname/usr/lib/libcamera/*{.so,proxy} + for _lib in $pkgname/usr/lib/libcamera/*.so; do + $pkgbase/src/ipa/ipa-sign.sh "$(find build -type f -iname "*ipa-priv-key.pem")" "$_lib" "$_lib.sign" + done + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_libcamera-tools() { + pkgdesc+=" - tools" + license=( + BSD-2-Clause + CC0-1.0 + GPL-2.0-or-later + LGPL-2.1-or-later + ) + depends=( + gcc-libs + glibc + gtest + libcamera libcamera.so libcamera-base.so + libdrm + libevent libevent-2.1.so libevent_pthreads-2.1.so + libjpeg-turbo libjpeg.so + libtiff libtiff.so + libyaml + qt5-base + sdl2 + ) + conflicts=("$pkgbase-tests<0.0.1-2") + replaces=("$pkgbase-tests<0.0.1-2") + + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase/LICENSES/BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gst-plugin-libcamera() { + pkgdesc="Multimedia graph framework - libcamera plugin" + license=( + CC0-1.0 + LGPL-2.1-or-later + ) + depends=( + gcc-libs + glibc + glib2 libg{lib,object}-2.0.so + gstreamer + gst-plugins-base-libs + libcamera libcamera.so libcamera-base.so + ) + + mv -v $pkgname/* "$pkgdir" +} diff --git a/main/libcamera/README b/main/libcamera/README new file mode 100644 index 00000000..1c2c0e15 --- /dev/null +++ b/main/libcamera/README @@ -0,0 +1,43 @@ +libcamera +________________________________________________________________________________ + +A complex camera support library for Linux, Android, and ChromeOS A complex camera support library for Linux, Android, and ChromeOS - documentation A complex camera support library for Linux, Android, and ChromeOS - signed IPA A complex camera support library for Linux, Android, and ChromeOS - tools Multimedia graph framework - libcamera plugin + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libcamera | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libcamera.org/ diff --git a/main/libcamera/libcamera-0.0.5-sphinx.patch b/main/libcamera/libcamera-0.0.5-sphinx.patch new file mode 100644 index 00000000..4591f291 --- /dev/null +++ b/main/libcamera/libcamera-0.0.5-sphinx.patch @@ -0,0 +1,13 @@ +diff --git a/Documentation/theme/layout.html b/Documentation/theme/layout.html +index fcc6d221..339aacd6 100644 +--- a/Documentation/theme/layout.html ++++ b/Documentation/theme/layout.html +@@ -35,7 +35,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 + + {# RTD hosts this file, so just load on non RTD builds #} + {% if not READTHEDOCS %} +- ++ + {% endif %} + + {% for cssfile in css_files %} diff --git a/main/libcamera/version b/main/libcamera/version new file mode 100644 index 00000000..2f7905df --- /dev/null +++ b/main/libcamera/version @@ -0,0 +1 @@ +0.2.0 1 diff --git a/main/libcanberra/40-libcanberra-gtk-module.sh b/main/libcanberra/40-libcanberra-gtk-module.sh new file mode 100644 index 00000000..edc158e6 --- /dev/null +++ b/main/libcanberra/40-libcanberra-gtk-module.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +case "${DESKTOP_SESSION-}" in + gnome*) # Done by gnome-settings-daemon + ;; + *) + # Extra check in case DESKTOP_SESSION is not set correctly + if [ -z "${GNOME_DESKTOP_SESSION_ID-}" ]; then + GTK_MODULES="${GTK_MODULES:+$GTK_MODULES:}canberra-gtk-module" + export GTK_MODULES + fi + ;; +esac diff --git a/main/libcanberra/PKGBUILD b/main/libcanberra/PKGBUILD new file mode 100644 index 00000000..292f7ce1 --- /dev/null +++ b/main/libcanberra/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libcanberra +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="A small and lightweight implementation of the XDG Sound Theme Specification" +url="https://0pointer.net/lennart/projects/libcanberra/" +arch=(x86_64) +license=(LGPL) +depends=(libvorbis libltdl alsa-lib libpulse tdb sound-theme-freedesktop) +makedepends=(gtk-doc gtk2 gtk3 git) +optdepends=('gtk3: canberra-gtk-play') +provides=(libcanberra-pulse libcanberra{,-gtk,-gtk3}.so) +replaces=("libcanberra-pulse<0.30+2+gc0620e4-4") +options=(libtool) +_commit=c0620e432650e81062c1967cc669829dbd29b310 # master +source=("git+https://git.0pointer.net/clone/libcanberra.git#commit=$_commit" + 40-libcanberra-gtk-module.sh + libcanberra-multi-backend.patch) +sha256sums=('SKIP' + 'a0d0b135d3fea5c703a5f84208b79d66f671b082ae85f67b629ee2568a7ddc30' + 'de146cae3e40a16b38c8edb4f1a3a423c64eb9c5000e36c316b677e9909c9b06') + +pkgver() { + cd libcanberra + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libcanberra + + # https://bugs.archlinux.org/task/71341 + # https://bugs.freedesktop.org/show_bug.cgi?id=51662 + git apply -3 ../libcanberra-multi-backend.patch + + ./autogen.sh +} + +build() { + cd libcanberra + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --with-builtin=dso --enable-null --disable-oss \ + --enable-alsa --enable-pulse \ + --with-systemdsystemunitdir=/usr/lib/systemd/system --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd libcanberra + + make -j1 DESTDIR="$pkgdir" install + + rm "$pkgdir"/usr/lib/*.la + rm "$pkgdir"/usr/lib/gtk-{2,3}.0/modules/*.la + + # FS#52370: Remove login, logout and system-ready sounds. + # We have no sound themes that include these so do not play them. + rm -r "$pkgdir"/usr/share/{gnome,gdm} + + install -Dt "$pkgdir/etc/X11/xinit/xinitrc.d" ../40-libcanberra-gtk-module.sh +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libcanberra/README b/main/libcanberra/README new file mode 100644 index 00000000..af6842e7 --- /dev/null +++ b/main/libcanberra/README @@ -0,0 +1,43 @@ +libcanberra +________________________________________________________________________________ + +A small and lightweight implementation of the XDG Sound Theme Specification + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libcanberra | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://0pointer.net/lennart/projects/libcanberra/ diff --git a/main/libcanberra/libcanberra-multi-backend.patch b/main/libcanberra/libcanberra-multi-backend.patch new file mode 100644 index 00000000..c5462404 --- /dev/null +++ b/main/libcanberra/libcanberra-multi-backend.patch @@ -0,0 +1,26 @@ +Index: libcanberra-0.29/src/driver-order.c +=================================================================== +--- libcanberra-0.29.orig/src/driver-order.c ++++ libcanberra-0.29/src/driver-order.c +@@ -30,6 +30,7 @@ + #include "driver-order.h" + + const char* const ca_driver_order[] = { ++ "multi", + #ifdef HAVE_PULSE + "pulse", + #endif +Index: libcanberra-0.29/src/multi.c +=================================================================== +--- libcanberra-0.29.orig/src/multi.c ++++ libcanberra-0.29/src/multi.c +@@ -107,8 +107,7 @@ int driver_open(ca_context *c) { + int ret = CA_SUCCESS; + + ca_return_val_if_fail(c, CA_ERROR_INVALID); +- ca_return_val_if_fail(c->driver, CA_ERROR_NODRIVER); +- ca_return_val_if_fail(!strncmp(c->driver, "multi", 5), CA_ERROR_NODRIVER); ++ ca_return_val_if_fail(!c->driver || strncmp(c->driver, "multi", 5) == 0, CA_ERROR_NODRIVER); + ca_return_val_if_fail(!PRIVATE(c), CA_ERROR_STATE); + + if (!(c->private = p = ca_new0(struct private, 1))) diff --git a/main/libcanberra/version b/main/libcanberra/version new file mode 100644 index 00000000..29abb01c --- /dev/null +++ b/main/libcanberra/version @@ -0,0 +1 @@ +0.30+r2+gc0620e4 3 diff --git a/main/libcap-ng/.PKGINFO b/main/libcap-ng/.PKGINFO new file mode 100644 index 00000000..dbcf5095 --- /dev/null +++ b/main/libcap-ng/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-capng +pkgbase = libcap-ng +xdata = pkgtype=split +pkgver = 0.8.5-2 +pkgdesc = A library for Linux that makes using posix capabilities easy (Python bindings) +url = https://people.redhat.com/sgrubb/libcap-ng/ +builddate = 1714401559 +packager = Developer +size = 73848 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.1-or-later +provides = python-libcap-ng +depend = glibc +depend = libcap-ng +depend = libcap-ng.so=0-64 +depend = python +makedepend = python +makedepend = swig diff --git a/main/libcap-ng/PKGBUILD b/main/libcap-ng/PKGBUILD new file mode 100644 index 00000000..47eb11e1 --- /dev/null +++ b/main/libcap-ng/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libcap-ng +pkgname=( + libcap-ng + python-capng +) +pkgver=%version% +pkgrel=%release% +pkgdesc='A library for Linux that makes using posix capabilities easy' +arch=(x86_64) +url='https://people.redhat.com/sgrubb/libcap-ng/' +license=( + GPL-2.0-or-later + LGPL-2.1-or-later +) +depends=(glibc) +makedepends=( + python + swig +) +source=(https://github.com/stevegrubb/libcap-ng/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('3e640ba4bfa2d5b5d0eb463abca3b2c745b10e929571c0ec32eb068bdc41fd95e19f7131893a22ceebb4d1f1083d3d87d9a32f0808442d594ac5940791152acf') +b2sums=('f4ea9780b87cdd4f9fa85d4ad3960afe654bc8aa6f5aa298ec87b7d90c87dd981f81577e5113ed76d83aa39c959160bf4deee57be9b458a98f8715e6f7b8dd33') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + cd $pkgbase-$pkgver + # make stupid autotools happy -_- + touch NEWS + autoreconf -fiv +} + +build() { + local configure_options=( + --enable-static=no + --prefix=/usr + --with-python3 + --without-python + ) + + cd $pkgbase-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make check -C $pkgbase-$pkgver +} + +package_libcap-ng() { + provides=( + libcap-ng.so + libdrop_ambient.so + ) + + make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver + + ( + cd "$pkgdir" + _pick python-capng usr/lib/python* + ) +} + +package_python-capng() { + pkgdesc+=' (Python bindings)' + depends+=( + libcap-ng libcap-ng.so + python + ) + provides=( + python-libcap-ng + ) + + mv -v python-capng/* "$pkgdir" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libcap-ng/README b/main/libcap-ng/README new file mode 100644 index 00000000..ea62e29c --- /dev/null +++ b/main/libcap-ng/README @@ -0,0 +1,43 @@ +libcap-ng +________________________________________________________________________________ + +A library for Linux that makes using posix capabilities easy A library for Linux that makes using posix capabilities easy (Python bindings) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libcap-ng | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://people.redhat.com/sgrubb/libcap-ng/ diff --git a/main/libcap-ng/version b/main/libcap-ng/version new file mode 100644 index 00000000..76d2ba4a --- /dev/null +++ b/main/libcap-ng/version @@ -0,0 +1 @@ +0.8.5 2 diff --git a/main/libcbor/PKGBUILD b/main/libcbor/PKGBUILD new file mode 100644 index 00000000..cc658ede --- /dev/null +++ b/main/libcbor/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libcbor +pkgver=%version% +pkgrel=%release% +pkgdesc='C library for parsing and generating CBOR, the general-purpose schema-less binary data format' +url='https://github.com/PJK/libcbor' +arch=('x86_64') +license=('MIT') +depends=('glibc') +makedepends=('cmake' 'cmocka') +provides=('libcbor.so') +source=(https://github.com/PJK/libcbor/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('c14aaa55c0c82e09b9eb2cc6847951d1bac8a081a247776c507d5450367da5717b1056bad09fb0f0178311de8754e8f89c060e0fc0f400fafdc42de441421e66') +b2sums=('6ac400ee9cabb0ec68355c35f762ea61222152059e70bcf9dc3cf4e06a6599bb6a392197ee979821a0e50c22a5c9e94e5d11458178ed7e26b049c410fddfa24f') + +build() { + cd ${pkgname}-${pkgver} + cmake . \ + -Bbuild \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_FLAGS="${CFLAGS} ${CPPFLAGS}" \ + -DBUILD_SHARED_LIBS=ON \ + -DWITH_TESTS=1 + make -C build VERBOSE=1 + make -C build/test VERBOSE=1 +} + +check() { + cd ${pkgname}-${pkgver} + make -C build/test test +} + +package() { + cd ${pkgname}-${pkgver} + make -C build DESTDIR="${pkgdir}" install + install -Dm 644 README.md CHANGELOG.md -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libcbor/README b/main/libcbor/README new file mode 100644 index 00000000..2ed25ed6 --- /dev/null +++ b/main/libcbor/README @@ -0,0 +1,43 @@ +libcbor +________________________________________________________________________________ + +C library for parsing and generating CBOR, the general-purpose schema-less binary data format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libcbor | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/PJK/libcbor diff --git a/main/libcbor/version b/main/libcbor/version new file mode 100644 index 00000000..0a5c73f9 --- /dev/null +++ b/main/libcbor/version @@ -0,0 +1 @@ +0.11.0 1 diff --git a/main/libcloudproviders/PKGBUILD b/main/libcloudproviders/PKGBUILD new file mode 100644 index 00000000..869a41d3 --- /dev/null +++ b/main/libcloudproviders/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libcloudproviders +pkgver=%version% +pkgrel=%release% +pkgdesc="DBus API that allows cloud storage sync clients to expose their services" +url="https://gitlab.gnome.org/World/libcloudproviders" +arch=(x86_64) +license=(LGPL-3.0-or-later) +depends=(glib2) +makedepends=( + git + gobject-introspection + gtk-doc + meson + vala +) +_commit=9702091d5f77c2d1dfe1f8ca254c0910738da359 # tags/0.3.6^0 +source=("git+https://gitlab.gnome.org/World/libcloudproviders.git#commit=$_commit") +b2sums=('7006ffb2fbb4336f42fa003e24b1be546ae2700e3d375f6b8ab9f05ffff2c06c663997bb2f72ee5328548441ff5595e2ba55395303442e16d9feab9065f01ff3') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname +} + +build() { + local meson_options=( + -D enable-gtk-doc=true + ) + + arch-meson $pkgname build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libcloudproviders/README b/main/libcloudproviders/README new file mode 100644 index 00000000..9a94483c --- /dev/null +++ b/main/libcloudproviders/README @@ -0,0 +1,43 @@ +libcloudproviders +________________________________________________________________________________ + +DBus API that allows cloud storage sync clients to expose their services + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libcloudproviders | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/World/libcloudproviders diff --git a/main/libcloudproviders/version b/main/libcloudproviders/version new file mode 100644 index 00000000..47fd47f0 --- /dev/null +++ b/main/libcloudproviders/version @@ -0,0 +1 @@ +0.3.6 1 diff --git a/main/libdaemon/PKGBUILD b/main/libdaemon/PKGBUILD new file mode 100644 index 00000000..5b74d868 --- /dev/null +++ b/main/libdaemon/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdaemon +pkgver=%version% +pkgrel=%release% +pkgdesc='Lightweight C library that eases the writing of UNIX daemons' +url='http://0pointer.de/lennart/projects/libdaemon/' +license=('LGPL') +arch=('x86_64') +depends=('glibc') +makedepends=('git') +source=(http://0pointer.de/lennart/projects/libdaemon/libdaemon-${pkgver}.tar.gz) +sha512sums=('a96b25c09bd63cc192c1c5f8b5bf34cc6ad0c32d42ac14b520add611423b6ad3d64091a47e0c7ab9a94476a5e645529abccea3ed6b23596567163fba88131ff2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./bootstrap.sh + ./configure --prefix=/usr --localstatedir=/var --disable-lynx + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + diff --git a/main/libdaemon/README b/main/libdaemon/README new file mode 100644 index 00000000..b55082c7 --- /dev/null +++ b/main/libdaemon/README @@ -0,0 +1,43 @@ +libdaemon +________________________________________________________________________________ + +Lightweight C library that eases the writing of UNIX daemons + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdaemon | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://0pointer.de/lennart/projects/libdaemon/ diff --git a/main/libdaemon/version b/main/libdaemon/version new file mode 100644 index 00000000..4bcbc02a --- /dev/null +++ b/main/libdaemon/version @@ -0,0 +1 @@ +0.14 5 diff --git a/main/libdatrie/PKGBUILD b/main/libdatrie/PKGBUILD new file mode 100644 index 00000000..b85498e5 --- /dev/null +++ b/main/libdatrie/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdatrie +pkgver=%version% +pkgrel=%release% +pkgdesc='Double-array trie library' +arch=('x86_64') +url='https://linux.thai.net/projects/datrie' +license=('LGPL-2.1-or-later') +depends=('glibc') +makedepends=('doxygen') +source=("https://linux.thai.net/pub/thailinux/software/libthai/$pkgname-$pkgver.tar.xz") +sha256sums=('12231bb2be2581a7f0fb9904092d24b0ed2a271a16835071ed97bed65267f4be') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libdatrie/README b/main/libdatrie/README new file mode 100644 index 00000000..3da8d372 --- /dev/null +++ b/main/libdatrie/README @@ -0,0 +1,43 @@ +libdatrie +________________________________________________________________________________ + +Double-array trie library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdatrie | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://linux.thai.net/projects/datrie diff --git a/main/libdatrie/version b/main/libdatrie/version new file mode 100644 index 00000000..acaeb8cb --- /dev/null +++ b/main/libdatrie/version @@ -0,0 +1 @@ +0.2.13 4 diff --git a/main/libdbusmenu/PKGBUILD b/main/libdbusmenu/PKGBUILD new file mode 100644 index 00000000..33763507 --- /dev/null +++ b/main/libdbusmenu/PKGBUILD @@ -0,0 +1,79 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libdbusmenu +pkgname=("${pkgbase}-glib" "${pkgbase}-gtk"{2,3}) +_bzrtag=16.04.0 +_bzrrev=498 +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for passing menus over DBus' +url='https://launchpad.net/libdbusmenu' +arch=('x86_64') +license=('GPL3' 'LGPL2.1' 'LGPL3') +makedepends=('breezy' 'gnome-common' 'gobject-introspection' 'gtk2' 'gtk3' 'intltool' 'vala') +options=('!emptydirs') +source=($pkgbase::bzr+https://code.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10#revision=$_bzrrev) +sha512sums=('SKIP') +validpgpkeys=('45B1103FB93ACBD90296DBCAE83D089481836EBF') # Marco Trevisan (at 3v1n0.net) + +prepare() { + (cd ${pkgbase} + NOCONFIGURE=1 ./autogen.sh + ) + cp -ra ${pkgbase}{,-gtk2} +} + +build() { + msg2 "Building gtk3..." + (cd ${pkgbase} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=3 \ + --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + ) + + msg2 "Building gtk2..." + (cd ${pkgbase}-gtk2 + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-gtk=2 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + ) +} + +package_libdbusmenu-glib() { + depends=('glib2') + + cd ${pkgbase} + make -j1 -C libdbusmenu-glib DESTDIR="${pkgdir}" install + make -j1 -C docs/libdbusmenu-glib DESTDIR="${pkgdir}" install +} + +package_libdbusmenu-gtk2() { + pkgdesc+=" (GTK+ 2 library)" + depends=("${pkgbase}-glib" 'gtk2') + + cd ${pkgbase}-gtk2 + make -j1 -C libdbusmenu-glib DESTDIR="${pkgdir}" install + make -j1 -C libdbusmenu-gtk DESTDIR="${pkgdir}" install + make -j1 -C libdbusmenu-glib DESTDIR="${pkgdir}" uninstall +} + +package_libdbusmenu-gtk3() { + pkgdesc+=" (GTK+ 3 library)" + depends=("${pkgbase}-glib" 'gtk3') + + cd ${pkgbase} + make -j1 -C libdbusmenu-glib DESTDIR="${pkgdir}" install + make -j1 -C libdbusmenu-gtk DESTDIR="${pkgdir}" install + make -j1 -C libdbusmenu-glib DESTDIR="${pkgdir}" uninstall + make -j1 -C docs/libdbusmenu-gtk DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libdbusmenu/README b/main/libdbusmenu/README new file mode 100644 index 00000000..26b72b0c --- /dev/null +++ b/main/libdbusmenu/README @@ -0,0 +1,43 @@ +libdbusmenu +________________________________________________________________________________ + +Library for passing menus over DBus Library for passing menus over DBus (GTK+ 2 library) Library for passing menus over DBus (GTK+ 3 library) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdbusmenu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://launchpad.net/libdbusmenu diff --git a/main/libdbusmenu/version b/main/libdbusmenu/version new file mode 100644 index 00000000..71e4b46b --- /dev/null +++ b/main/libdbusmenu/version @@ -0,0 +1 @@ +${_bzrtag}.r${_bzrrev} 2 diff --git a/main/libdc1394/PKGBUILD b/main/libdc1394/PKGBUILD new file mode 100644 index 00000000..0a18049e --- /dev/null +++ b/main/libdc1394/PKGBUILD @@ -0,0 +1,32 @@ +# Packager = Developer +pkgname=libdc1394 +pkgver=2.2.7 +pkgrel=1 +pkgdesc='Library to control IEEE 1394 based cameras' +arch=('x86_64') +url='https://damien.douxchamps.net/ieee1394/libdc1394/' +license=('LGPL-2.1-or-later') +depends=('glibc' 'libraw1394' 'libusb') +makedepends=('doxygen' 'git' 'libxv' 'sdl') +source=("$pkgname::git+https://git.code.sf.net/p/libdc1394/code#tag=V_${pkgver//./_}") +b2sums=('2e4c03c6f7c96734230e452e9088abcc54907eabd81eebb0862f192e2d1c3c6d3f65d92a75cc95323f9bf4d1490b52043bbb0c1776619cac8cace44306e354d2') + +prepare() { + cd $pkgname + autoreconf -fi +} + +build() { + cd $pkgname + ./configure --prefix=/usr --enable-doxygen-html + make + make doc +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/usr/share/doc/$pkgname" + cp -r doc/html "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/libdc1394/version b/main/libdc1394/version new file mode 100644 index 00000000..f9692b64 --- /dev/null +++ b/main/libdc1394/version @@ -0,0 +1 @@ +2.2.7 1 diff --git a/main/libdca/PKGBUILD b/main/libdca/PKGBUILD new file mode 100644 index 00000000..25ec58f1 --- /dev/null +++ b/main/libdca/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdca +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for decoding DTS Coherent Acoustics streams' +arch=('x86_64') +url='https://www.videolan.org/developers/libdca.html' +license=('GPL-2.0-or-later') +depends=('bash' 'glibc') +source=("https://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2") +sha256sums=('3a0b13815f582c661d2388ffcabc2f1ea82f471783c400f765f2ec6c81065f6a') + +prepare() { + cd $pkgname-$pkgver + sed -i '/DESTDIR/ s/\.1/.1.gz/g' src/Makefile.am + sed -i '/libdts.a/d' libdca/Makefile.am + ./bootstrap +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libdca/README b/main/libdca/README new file mode 100644 index 00000000..05c1e370 --- /dev/null +++ b/main/libdca/README @@ -0,0 +1,43 @@ +libdca +________________________________________________________________________________ + +Library for decoding DTS Coherent Acoustics streams + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdca | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.videolan.org/developers/libdca.html diff --git a/main/libdca/version b/main/libdca/version new file mode 100644 index 00000000..d503a4df --- /dev/null +++ b/main/libdca/version @@ -0,0 +1 @@ +0.0.7 2 diff --git a/main/libdecor/PKGBUILD b/main/libdecor/PKGBUILD new file mode 100644 index 00000000..49b12c3a --- /dev/null +++ b/main/libdecor/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgdesc='Client-side decorations library for Wayland clients' +pkgname=libdecor +pkgver=%version% +pkgrel=%release% +url="https://gitlab.freedesktop.org/libdecor/libdecor" +license=('MIT') +arch=('x86_64') +depends=('wayland' 'pango' 'dbus') +makedepends=('cmake' 'ninja' 'meson' 'wayland-protocols' 'gtk3') +optdepends=('gtk3: gtk3 support') +source=("https://gitlab.freedesktop.org/libdecor/libdecor/-/archive/${pkgver}/libdecor-${pkgver}.tar.gz") +sha512sums=('ddaaa75f1dc983e6d59e168896f8044cf6ac761675db6af410c6d2186bdc66942c98f36eb7a6e2836ce02dbb98189a80db30b7cef3dbaf49c7aae47c3eee22cc') + +build() { + arch-meson -Ddemo=false build "${pkgname}-${pkgver}" + meson compile -C build +} + +package() { + meson install -C build --destdir "${pkgdir}" + install -Dm644 "${pkgname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/libdecor/README b/main/libdecor/README new file mode 100644 index 00000000..5549fe25 --- /dev/null +++ b/main/libdecor/README @@ -0,0 +1,43 @@ +libdecor +________________________________________________________________________________ + +Client-side decorations library for Wayland clients + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdecor | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/libdecor/libdecor diff --git a/main/libdecor/version b/main/libdecor/version new file mode 100644 index 00000000..103cc289 --- /dev/null +++ b/main/libdecor/version @@ -0,0 +1 @@ +0.2.2 1 diff --git a/main/libdeflate/.PKGINFO b/main/libdeflate/.PKGINFO new file mode 100644 index 00000000..c336cad6 --- /dev/null +++ b/main/libdeflate/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libdeflate +pkgbase = libdeflate +xdata = pkgtype=pkg +pkgver = 1.20-2 +pkgdesc = Heavily optimized library for DEFLATE/zlib/gzip compression and decompression +url = https://github.com/ebiggers/libdeflate +builddate = 1715045234 +packager = Developer +size = 138095 +arch = x86_64 +license = MIT +provides = libdeflate.so=0-64 +depend = glibc +makedepend = cmake +makedepend = git +makedepend = ninja diff --git a/main/libdeflate/PKGBUILD b/main/libdeflate/PKGBUILD new file mode 100644 index 00000000..c8df4e29 --- /dev/null +++ b/main/libdeflate/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdeflate +pkgver=%version% +pkgrel=%release% +pkgdesc='Heavily optimized library for DEFLATE/zlib/gzip compression and decompression' +arch=(x86_64) +url=https://github.com/ebiggers/libdeflate +license=(MIT) +depends=(glibc) +makedepends=( + cmake + git + ninja +) +provides=(libdeflate.so) +_tag=275aa5141db6eda3587214e0f1d3a134768f557d +source=(git+https://github.com/ebiggers/libdeflate.git#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd libdeflate + git describe --tags | sed 's/^v//' +} + +build() { + cmake -S libdeflate -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIBDEFLATE_BUILD_STATIC_LIB=OFF \ + -DLIBDEFLATE_BUILD_TESTS=ON + cmake --build build +} + +check() { + ctest --test-dir build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build + install -Dm 644 libdeflate/COPYING -t "${pkgdir}"/usr/share/licenses/libdeflate/ +} + +# vim ts=2 sw=2 et: diff --git a/main/libdeflate/README b/main/libdeflate/README new file mode 100644 index 00000000..3665f68a --- /dev/null +++ b/main/libdeflate/README @@ -0,0 +1,43 @@ +libdeflate +________________________________________________________________________________ + +Heavily optimized library for DEFLATE/zlib/gzip compression and decompression + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdeflate | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/ebiggers/libdeflate diff --git a/main/libdeflate/version b/main/libdeflate/version new file mode 100644 index 00000000..84490b8a --- /dev/null +++ b/main/libdeflate/version @@ -0,0 +1 @@ +1.20 2 diff --git a/main/libdisplay-info/.nvchecker.toml b/main/libdisplay-info/.nvchecker.toml new file mode 100644 index 00000000..baac55e9 --- /dev/null +++ b/main/libdisplay-info/.nvchecker.toml @@ -0,0 +1,5 @@ +[libdisplay-info] +source = "gitlab" +gitlab = "emersion/libdisplay-info" +host = "gitlab.freedesktop.org" +use_max_tag = true diff --git a/main/libdisplay-info/PKGBUILD b/main/libdisplay-info/PKGBUILD new file mode 100644 index 00000000..f43ddc1b --- /dev/null +++ b/main/libdisplay-info/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +# Enable checks in next release when edid-decode is not required for tests: +# https://gitlab.freedesktop.org/emersion/libdisplay-info/-/issues/35 +BUILDENV+=(!check) + +pkgname=libdisplay-info +pkgver=%version% +pkgrel=%release% +pkgdesc='EDID and DisplayID library' +url="https://gitlab.freedesktop.org/emersion/$pkgname" +arch=(x86_64) +license=(MIT) +depends=(glibc) +makedepends=(hwdata + meson + ninja + python) +provides=(libdisplay-info.so) +_archive="$pkgname-$pkgver" +source=("$url/-/releases/$pkgver/downloads/$_archive.tar.xz"{,.sig}) +sha256sums=('0d8731588e9f82a9cac96324a3d7c82e2ba5b1b5e006143fefe692c74069fb60' + 'SKIP') +validpgpkeys=('34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48') + +build() { + arch-meson "$_archive" build + ninja -C build +} + +check() { + meson test -C build --no-rebeuild --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" ninja -C build install + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" "$_archive/LICENSE" +} diff --git a/main/libdisplay-info/README b/main/libdisplay-info/README new file mode 100644 index 00000000..058e2c26 --- /dev/null +++ b/main/libdisplay-info/README @@ -0,0 +1,43 @@ +libdisplay-info +________________________________________________________________________________ + +EDID and DisplayID library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdisplay-info | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/emersion/libdisplay-info diff --git a/main/libdisplay-info/version b/main/libdisplay-info/version new file mode 100644 index 00000000..5b75d376 --- /dev/null +++ b/main/libdisplay-info/version @@ -0,0 +1 @@ +0.1.1 3 diff --git a/main/libdmtx/.nvchecker.toml b/main/libdmtx/.nvchecker.toml new file mode 100644 index 00000000..c4075dde --- /dev/null +++ b/main/libdmtx/.nvchecker.toml @@ -0,0 +1,5 @@ +[libdmtx] +source = 'github' +github = 'dmtx/libdmtx' +use_max_tag = true +prefix = 'v' diff --git a/main/libdmtx/PKGBUILD b/main/libdmtx/PKGBUILD new file mode 100644 index 00000000..1eecd689 --- /dev/null +++ b/main/libdmtx/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdmtx +pkgver=%version% +pkgrel=%release% +pkgdesc="A software for reading and writing Data Matrix 2D barcodes" +url="https://libdmtx.sourceforge.net/" +arch=(x86_64) +license=(GPL2) +depends=(glibc) +source=("https://github.com/dmtx/libdmtx/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('7aa62adcefdd6e24bdabeb82b3ce41a8d35f4a0c95ab0c4438206aecafd6e1a1') + +build() { + cd $pkgname-$pkgver + ./autogen.sh + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libdmtx/README b/main/libdmtx/README new file mode 100644 index 00000000..64677afe --- /dev/null +++ b/main/libdmtx/README @@ -0,0 +1,43 @@ +libdmtx +________________________________________________________________________________ + +A software for reading and writing Data Matrix 2D barcodes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdmtx | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libdmtx.sourceforge.net/ diff --git a/main/libdmtx/version b/main/libdmtx/version new file mode 100644 index 00000000..543d7acc --- /dev/null +++ b/main/libdmtx/version @@ -0,0 +1 @@ +0.7.7 1 diff --git a/main/libdnet/PKGBUILD b/main/libdnet/PKGBUILD new file mode 100644 index 00000000..24f372bb --- /dev/null +++ b/main/libdnet/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdnet +pkgver=%version% +pkgrel=%release% +pkgdesc='A simplified, portable interface to several low-level networking routines' +arch=('x86_64') +checkdepends=('check') +license=('BSD') +url='https://github.com/ofalk/libdnet' +source=("https://github.com/ofalk/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz") +sha256sums=('a4a82275c7d83b85b1daac6ebac9461352731922161f1dcdcccd46c318f583c9') + +prepare() { + cd "$srcdir"/$pkgname-$pkgname-$pkgver + + autoreconf -I config --force --install +} + +build() { + cd "$srcdir"/$pkgname-$pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + make +} + +check() { + cd "$srcdir"/$pkgname-$pkgname-$pkgver + + # fails in build container + #make check +} + +package() { + cd "$srcdir"/$pkgname-$pkgname-$pkgver + + make DESTDIR="$pkgdir/" install + + install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/libdnet/license +} diff --git a/main/libdnet/README b/main/libdnet/README new file mode 100644 index 00000000..a0a4d9ee --- /dev/null +++ b/main/libdnet/README @@ -0,0 +1,43 @@ +libdnet +________________________________________________________________________________ + +A simplified, portable interface to several low-level networking routines + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdnet | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/ofalk/libdnet diff --git a/main/libdnet/version b/main/libdnet/version new file mode 100644 index 00000000..f0fb559d --- /dev/null +++ b/main/libdnet/version @@ -0,0 +1 @@ +1.18.0 1 diff --git a/main/libdovi/.PKGINFO b/main/libdovi/.PKGINFO new file mode 100644 index 00000000..e6369e18 --- /dev/null +++ b/main/libdovi/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libdovi +pkgbase = libdovi +xdata = pkgtype=pkg +pkgver = 3.3.0-2 +pkgdesc = Library to read and write Dolby Vision metadata +url = https://github.com/quietvoid/dovi_tool/tree/main/dolby_vision +builddate = 1715045238 +packager = Developer +size = 566687 +arch = x86_64 +license = MIT +provides = libdovi.so=3-64 +depend = gcc-libs +depend = glibc +makedepend = cargo-c +makedepend = git +makedepend = rust diff --git a/main/libdovi/PKGBUILD b/main/libdovi/PKGBUILD new file mode 100644 index 00000000..1ef1bfb5 --- /dev/null +++ b/main/libdovi/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdovi +pkgver=%version% +pkgrel=%release% +pkgdesc='Library to read and write Dolby Vision metadata' +arch=(x86_64) +url=https://github.com/quietvoid/dovi_tool/tree/main/dolby_vision +license=(MIT) +depends=( + gcc-libs + glibc +) +makedepends=( + cargo-c + git + rust +) +provides=(libdovi.so) +_tag=108f7892fa9c5c5b24caec29f2289cf805e52119 +source=(git+https://github.com/quietvoid/dovi_tool.git#tag=${_tag}) +b2sums=(SKIP) + +prepare() { + cargo fetch \ + --manifest-path dovi_tool/dolby_vision/Cargo.toml +} + +#pkgver() { +# cd dovi_tool +# git describe --tags | sed 's/^libdovi-//' +#} + +build() { + cargo cbuild \ + --release \ + --frozen \ + --prefix=/usr \ + --manifest-path dovi_tool/dolby_vision/Cargo.toml +} + +check() { + cargo test \ + --release \ + --frozen \ + --all-features \ + --manifest-path dovi_tool/dolby_vision/Cargo.toml +} + +package() { + cd dovi_tool/dolby_vision + cargo cinstall \ + --release \ + --frozen \ + --prefix /usr \ + --destdir "${pkgdir}" + install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/libdovi/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libdovi/README b/main/libdovi/README new file mode 100644 index 00000000..8aeb3846 --- /dev/null +++ b/main/libdovi/README @@ -0,0 +1,43 @@ +libdovi +________________________________________________________________________________ + +Library to read and write Dolby Vision metadata + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdovi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/quietvoid/dovi_tool/tree/main/dolby_vision diff --git a/main/libdovi/version b/main/libdovi/version new file mode 100644 index 00000000..4b9f03b2 --- /dev/null +++ b/main/libdovi/version @@ -0,0 +1 @@ +3.3.0 2 diff --git a/main/libdrm/.PKGINFO b/main/libdrm/.PKGINFO new file mode 100644 index 00000000..05861819 --- /dev/null +++ b/main/libdrm/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libdrm +pkgbase = libdrm +xdata = pkgtype=pkg +pkgver = 2.4.121-1 +pkgdesc = Userspace interface to kernel DRM services +url = https://dri.freedesktop.org/ +builddate = 1718491611 +packager = Developer +size = 1286299 +arch = x86_64 +license = MIT +replaces = libdrm-new +replaces = libdrm-nouveau +depend = libpciaccess +depend = glibc +optdepend = cairo: needed for modetest tool +makedepend = python-docutils +makedepend = meson +checkdepend = cairo diff --git a/main/libdrm/.nvchecker.toml b/main/libdrm/.nvchecker.toml new file mode 100644 index 00000000..8b86c06f --- /dev/null +++ b/main/libdrm/.nvchecker.toml @@ -0,0 +1,6 @@ +[libdrm] +source = "gitlab" +gitlab = "mesa/drm" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "libdrm-" diff --git a/main/libdrm/COPYING b/main/libdrm/COPYING new file mode 100644 index 00000000..6e74c337 --- /dev/null +++ b/main/libdrm/COPYING @@ -0,0 +1,48 @@ + Copyright 2005 Adam Jackson. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation on the rights to use, copy, modify, merge, + publish, distribute, sub license, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------ + + Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. + Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS + SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff --git a/main/libdrm/PKGBUILD b/main/libdrm/PKGBUILD new file mode 100644 index 00000000..8f3163f1 --- /dev/null +++ b/main/libdrm/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdrm +pkgver=%version% +pkgrel=%release% +pkgdesc="Userspace interface to kernel DRM services" +url="https://dri.freedesktop.org/" +arch=(x86_64) +license=('custom') +depends=('libpciaccess' 'glibc') +makedepends=('python-docutils' 'meson') +checkdepends=('cairo') +optdepends=('cairo: needed for modetest tool') +replaces=('libdrm-new' 'libdrm-nouveau') +source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} + COPYING) +sha512sums=('6dc16e5134a669eeb59debb1dc2d15b857483ab7476dc2b94bd05a32d8953f046f5656f6cf9e1a63e97e7156fb65ebb58b6a29fe45cb6326058baaf820626e70' + 'SKIP' + 'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660') +#validpgpkeys=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # David Airlie +#validpgpkeys=('34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48') # emersion +#validpgpkeys=('E9E246A89E65374EB8355796B8B5FA0EFC1EC2FE') # "Leo Liu " +#validpgpkeys=('899A810900B815807742E6D895A677A230AC4AA9') # Bas Nieuwenhuizen +#validpgpkeys=('2617F6F8DEBB0A7A15C405C983FD600E340FB5FF') # Samuel Pitoiset +#validpgpkeys=('F3A52DB8ECE9EB9E33BC48C6917A3EE97A0FCD1A') # "Marek Olšák " +validpgpkeys=('34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48') # Simon Ser + +build() { + arch-meson $pkgname-$pkgver build \ + -D udev=true \ + -D etnaviv=disabled \ + -D freedreno=disabled \ + -D vc4=disabled \ + -D valgrind=disabled \ + -D install-test-programs=true + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} diff --git a/main/libdrm/README b/main/libdrm/README new file mode 100644 index 00000000..b2ef4ee1 --- /dev/null +++ b/main/libdrm/README @@ -0,0 +1,43 @@ +libdrm +________________________________________________________________________________ + +Userspace interface to kernel DRM services + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdrm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://dri.freedesktop.org/ diff --git a/main/libdrm/version b/main/libdrm/version new file mode 100644 index 00000000..ed7fcbca --- /dev/null +++ b/main/libdrm/version @@ -0,0 +1 @@ +2.4.121 1 diff --git a/main/libdvbpsi/PKGBUILD b/main/libdvbpsi/PKGBUILD new file mode 100644 index 00000000..3c4ee57a --- /dev/null +++ b/main/libdvbpsi/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libdvbpsi +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='Library designed for decoding and generation of MPEG TS and DVB PSI tables' +url='https://www.videolan.org/developers/libdvbpsi.html' +arch=('x86_64') +license=('LGPL2.1') +depends=('glibc') +provides=('libdvbpsi.so') +source=(https://code.videolan.org/videolan/libdvbpsi/-/archive/${pkgver}/${pkgname}-${pkgver}.tar.bz2) +sha512sums=('30bc8ce28754d6488b47f71e7e3adbb39e0d8927f7a8371fd146dbf42bb022fd2091bbf802c4554856de8c6a65a0773b0258e95a9c6b77e347fcf1b2e27261ee') + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libdvbpsi/README b/main/libdvbpsi/README new file mode 100644 index 00000000..7f6c9b80 --- /dev/null +++ b/main/libdvbpsi/README @@ -0,0 +1,43 @@ +libdvbpsi +________________________________________________________________________________ + +Library designed for decoding and generation of MPEG TS and DVB PSI tables + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libdvbpsi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.videolan.org/developers/libdvbpsi.html diff --git a/main/libdvbpsi/version b/main/libdvbpsi/version new file mode 100644 index 00000000..88a78d41 --- /dev/null +++ b/main/libdvbpsi/version @@ -0,0 +1 @@ +1.3.3 3 diff --git a/main/libebml/PKGBUILD b/main/libebml/PKGBUILD new file mode 100644 index 00000000..bab8df07 --- /dev/null +++ b/main/libebml/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libebml +pkgver=%version% +pkgrel=%release% +pkgdesc='Extensible Binary Meta Language library' +arch=(x86_64) +url=https://github.com/Matroska-Org/libebml +license=(LGPL2.1) +depends=(gcc-libs) +makedepends=( + cmake + git + ninja +) +provides=(libebml.so) +_tag=1878e784321673561039a6a37076b2736f4dc98f +source=(git+https://github.com/Matroska-Org/libebml.git#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd libebml + git describe --tags | sed 's/^release-//' +} + +build() { + cmake -S libebml -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build +} + +# vim: ts=2 sw=2 et: diff --git a/main/libebml/README b/main/libebml/README new file mode 100644 index 00000000..18329eeb --- /dev/null +++ b/main/libebml/README @@ -0,0 +1,43 @@ +libebml +________________________________________________________________________________ + +Extensible Binary Meta Language library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libebml | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/Matroska-Org/libebml diff --git a/main/libebml/version b/main/libebml/version new file mode 100644 index 00000000..1d49ae79 --- /dev/null +++ b/main/libebml/version @@ -0,0 +1 @@ +1.4.5 1 diff --git a/main/libedit/PKGBUILD b/main/libedit/PKGBUILD new file mode 100644 index 00000000..4d15c5fa --- /dev/null +++ b/main/libedit/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libedit +_pkgver=%version% +pkgver=${_pkgver/-/_} +pkgrel=%release% +pkgdesc='Command line editor library providing generic line editing, history, and tokenization functions' +url='https://thrysoee.dk/editline/' +arch=('x86_64') +license=('BSD') +depends=('glibc' 'ncurses' 'libncursesw.so') +provides=('libedit.so') +source=(${url}/${pkgname}-${_pkgver}.tar.gz) +sha256sums=('4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad') +b2sums=('bb54593e0d9b92c09027edf3f2ca25631d8684ad9dd6359744ad3b1121b16e2e9bc4e4dbf1d02524ed0605ccaab2564c115adb6da338984e831433a9af4c7cb9') + +build() { + cd ${pkgname}-${_pkgver} + ./configure --prefix=/usr + make V=1 +} + +package() { + cd ${pkgname}-${_pkgver} + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}"/usr/share/man/man3/history.3 # conflicts with readline + install -Dm 644 "${pkgdir}"/usr/share/man/man3/editline.3 "${pkgdir}"/usr/share/man/man3/el.3 + + install -Dm 644 ChangeLog -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libedit/README b/main/libedit/README new file mode 100644 index 00000000..8c2050ed --- /dev/null +++ b/main/libedit/README @@ -0,0 +1,43 @@ +libedit +________________________________________________________________________________ + +Command line editor library providing generic line editing, history, and tokenization functions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libedit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://thrysoee.dk/editline/ diff --git a/main/libedit/version b/main/libedit/version new file mode 100644 index 00000000..22ea6f44 --- /dev/null +++ b/main/libedit/version @@ -0,0 +1 @@ +20230828-3.1 1 diff --git a/main/libei/PKGBUILD b/main/libei/PKGBUILD new file mode 100644 index 00000000..ffee4ea8 --- /dev/null +++ b/main/libei/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libei +pkgver=%version% +pkgrel=%release% +pkgdesc="Library for Emulated Input" +url="https://libinput.pages.freedesktop.org/libei/" +arch=(x86_64) +license=(MIT) +depends=( + libevdev + systemd +) +makedepends=( + git + libxkbcommon + meson + python-attrs + python-dbusmock + python-jinja + python-pytest + python-structlog + python-yaml +) +checkdepends=( + python-pytest-xdist + valgrind +) +provides=( + lib{ei,eis,oeffis}.so +) +_commit=08f1d41085a6ae4bac7bc52abe2955d3354342cb # tags/1.2.1^0 +source=( + "git+https://gitlab.freedesktop.org/libinput/libei.git#commit=$_commit" + "git+https://github.com/nemequ/munit.git" +) +b2sums=('SKIP' + 'SKIP') + +pkgver() { + cd libei + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libei + ln -sr ../munit subprojects/munit +} + +build() { + arch-meson libei build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" --skip-subprojects + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libei/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libei/README b/main/libei/README new file mode 100644 index 00000000..a4709fb9 --- /dev/null +++ b/main/libei/README @@ -0,0 +1,43 @@ +libei +________________________________________________________________________________ + +Library for Emulated Input + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libei | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libinput.pages.freedesktop.org/libei/ diff --git a/main/libei/version b/main/libei/version new file mode 100644 index 00000000..cd3d02bc --- /dev/null +++ b/main/libei/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/main/libepoxy/PKGBUILD b/main/libepoxy/PKGBUILD new file mode 100644 index 00000000..1d01be2f --- /dev/null +++ b/main/libepoxy/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libepoxy +pkgname=(libepoxy libepoxy-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="Library handling OpenGL function pointer management" +url="https://github.com/anholt/libepoxy" +arch=(x86_64) +license=(MIT) +depends=(glibc libglvnd libx11) +makedepends=(git meson mesa-libgl systemd doxygen graphviz) +checkdepends=(xorg-server-xvfb) +_commit=c84bc9459357a40e46e2fec0408d04fbdde2c973 # tags/1.5.10^0 +source=("git+https://github.com/anholt/libepoxy#commit=$_commit") +sha256sums=('SKIP') +validpgpkeys=('53EF3DC3B63E2899271BD26322E8091EEA11BBB7') # Emmanuele Bassi + +pkgver() { + cd libepoxy + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libepoxy +} + +build() { + arch-meson libepoxy build -D docs=true + meson compile -C build +} + +check() { + xvfb-run -s '-nolisten local' \ + meson test -C build --print-errorlogs +} + +package_libepoxy() { + provides=(libepoxy.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libepoxy/COPYING +} + +package_libepoxy-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libepoxy/COPYING +} + +# vim:set sw=2 et: diff --git a/main/libepoxy/README b/main/libepoxy/README new file mode 100644 index 00000000..ea84c52b --- /dev/null +++ b/main/libepoxy/README @@ -0,0 +1,43 @@ +libepoxy +________________________________________________________________________________ + +Library handling OpenGL function pointer management Library handling OpenGL function pointer management (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libepoxy | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/anholt/libepoxy diff --git a/main/libepoxy/version b/main/libepoxy/version new file mode 100644 index 00000000..34915153 --- /dev/null +++ b/main/libepoxy/version @@ -0,0 +1 @@ +1.5.10 2 diff --git a/main/libevdev/.nvchecker.toml b/main/libevdev/.nvchecker.toml new file mode 100644 index 00000000..73ff14e4 --- /dev/null +++ b/main/libevdev/.nvchecker.toml @@ -0,0 +1,6 @@ +[libevdev] +source = "gitlab" +gitlab = "libevdev/libevdev" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "libevdev-" diff --git a/main/libevdev/PKGBUILD b/main/libevdev/PKGBUILD new file mode 100644 index 00000000..066ccb4e --- /dev/null +++ b/main/libevdev/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libevdev +pkgver=%version% +pkgrel=%release% +pkgdesc="Wrapper library for evdev devices" +arch=(x86_64) +url="https://www.freedesktop.org/wiki/Software/libevdev/" +license=(custom:MIT) +depends=('glibc') +makedepends=('python' 'check' 'valgrind' 'doxygen' 'meson') +provides=('libevdev.so') +source=(https://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f' + 'SKIP') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) + +build() { + arch-meson $pkgname-$pkgver build \ + -D documentation=disabled + meson compile -C build +} +check() { + meson test -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + + install -Dm644 $pkgname-$pkgver/COPYING \ + "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libevdev/README b/main/libevdev/README new file mode 100644 index 00000000..51f22a76 --- /dev/null +++ b/main/libevdev/README @@ -0,0 +1,43 @@ +libevdev +________________________________________________________________________________ + +Wrapper library for evdev devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libevdev | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/libevdev/ diff --git a/main/libevdev/version b/main/libevdev/version new file mode 100644 index 00000000..9c812821 --- /dev/null +++ b/main/libevdev/version @@ -0,0 +1 @@ +1.13.1 1 diff --git a/main/libevent/EVENT__SIZEOF_TIME_T.patch b/main/libevent/EVENT__SIZEOF_TIME_T.patch new file mode 100644 index 00000000..30089040 --- /dev/null +++ b/main/libevent/EVENT__SIZEOF_TIME_T.patch @@ -0,0 +1,37 @@ +From f5ad737d73ed18b95ce63f1d8e933a89a26653e9 Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin +Date: Sat, 9 Jul 2022 14:22:38 +0300 +Subject: [PATCH] Add -Wundef for cmake and fix EVENT__SIZEOF_TIME_T usage + +Note, autotools already supports it. +--- + CMakeLists.txt | 1 + + event-config.h.cmake | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ee0df2f7..9237252c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -295,6 +295,7 @@ if (${GNUC}) + + list(APPEND __FLAGS + -Wall -Wextra -Wno-unused-parameter -Wstrict-aliasing -Wstrict-prototypes ++ -Wundef + + -fno-strict-aliasing # gcc 2.9.5+ + -Wmissing-prototypes +diff --git a/event-config.h.cmake b/event-config.h.cmake +index 9fff34877..4a6267017 100644 +--- a/event-config.h.cmake ++++ b/event-config.h.cmake +@@ -485,6 +485,9 @@ + /* The size of 'void *', as computer by sizeof */ + #define EVENT__SIZEOF_VOID_P @EVENT__SIZEOF_VOID_P@ + ++/* The size of 'time_t', as computer by sizeof */ ++#define EVENT__SIZEOF_TIME_T @EVENT__SIZEOF_TIME_T@ ++ + /* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ + #ifndef __cplusplus diff --git a/main/libevent/PKGBUILD b/main/libevent/PKGBUILD new file mode 100644 index 00000000..936363bf --- /dev/null +++ b/main/libevent/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libevent +pkgname=(libevent libevent-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="Event notification library" +url="https://libevent.org/" +arch=(x86_64) +license=(BSD) +depends=(openssl) +makedepends=(cmake ninja python zlib doxygen) +source=( + https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/libevent-$pkgver-stable.tar.gz{,.asc} + EVENT__SIZEOF_TIME_T.patch + libevent-2.1.12-openssl-compat.patch +) +sha256sums=('92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb' + 'SKIP' + '945fc885b15692721bc7ae52f5774ef4fab8cc0f6108baa8860ab368de8675cf' + 'e41527c55f6dacc6453b13eeeea2664798496896b796abcd2a5c8304c9eb2bae') +validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA' + '9E3AC83A27974B84D1B3401DB86086848EF8686D') + +prepare() { + cd libevent-$pkgver-stable + + # Fix Firefox build + patch -Np1 -i ../EVENT__SIZEOF_TIME_T.patch + + # Fix build with OpenSSL 3.0 + patch -Np1 -i ../libevent-2.1.12-openssl-compat.patch +} + +build() { + cmake -S libevent-$pkgver-stable -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_INSTALL_RPATH=TRUE \ + -DEVENT__LIBRARY_TYPE=SHARED \ + -DEVENT__DISABLE_REGRESS=OFF \ + -DEVENT__DOXYGEN=ON + cmake --build build +} + +check() { + cd build + ctest --output-on-failure --stop-on-failure -j$(nproc) +} + +package_libevent() { + provides=(libevent{,_core,_extra,_openssl,_pthreads}-2.1.so) + optdepends=('python: event_rpcgen.py') + + DESTDIR="$pkgdir" cmake --install build + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libevent-$pkgver-stable/LICENSE +} + +package_libevent-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} diff --git a/main/libevent/README b/main/libevent/README new file mode 100644 index 00000000..d3ccbda0 --- /dev/null +++ b/main/libevent/README @@ -0,0 +1,43 @@ +libevent +________________________________________________________________________________ + +Event notification library Event notification library (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libevent | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libevent.org/ diff --git a/main/libevent/libevent-2.1.12-openssl-compat.patch b/main/libevent/libevent-2.1.12-openssl-compat.patch new file mode 100644 index 00000000..ba739308 --- /dev/null +++ b/main/libevent/libevent-2.1.12-openssl-compat.patch @@ -0,0 +1,74 @@ +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/main/libevent/version b/main/libevent/version new file mode 100644 index 00000000..52792ce7 --- /dev/null +++ b/main/libevent/version @@ -0,0 +1 @@ +2.1.12 4 diff --git a/main/libfdk-aac/PKGBUILD b/main/libfdk-aac/PKGBUILD new file mode 100644 index 00000000..80cf2354 --- /dev/null +++ b/main/libfdk-aac/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libfdk-aac +pkgver=%version% +pkgrel=%release% +pkgdesc='Fraunhofer FDK AAC codec library' +arch=(x86_64) +url=https://sourceforge.net/projects/opencore-amr/ +license=(custom) +depends=(glibc) +makedepends=(git) +provides=(libfdk-aac.so) +_tag=716f4394641d53f0d79c9ddac3fa93b03a49f278 +source=(git+https://github.com/mstorsjo/fdk-aac.git#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd fdk-aac + git describe --tags | sed 's/^v//' +} + +prepare() { + cd fdk-aac + ./autogen.sh +} + +build() { + cd fdk-aac + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +package () { + cd fdk-aac + make DESTDIR="${pkgdir}" install + install -Dm 644 NOTICE -t "${pkgdir}"/usr/share/licenses/libfdk-aac/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libfdk-aac/README b/main/libfdk-aac/README new file mode 100644 index 00000000..0fa91997 --- /dev/null +++ b/main/libfdk-aac/README @@ -0,0 +1,43 @@ +libfdk-aac +________________________________________________________________________________ + +Fraunhofer FDK AAC codec library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libfdk-aac | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/opencore-amr/ diff --git a/main/libfdk-aac/version b/main/libfdk-aac/version new file mode 100644 index 00000000..c103c3ec --- /dev/null +++ b/main/libfdk-aac/version @@ -0,0 +1 @@ +2.0.3 1 diff --git a/main/libffi/.nvchecker.toml b/main/libffi/.nvchecker.toml new file mode 100644 index 00000000..41dd46b5 --- /dev/null +++ b/main/libffi/.nvchecker.toml @@ -0,0 +1,4 @@ +[libffi] +source = "git" +git = "https://github.com/libffi/libffi" +prefix = "v" diff --git a/main/libffi/PKGBUILD b/main/libffi/PKGBUILD new file mode 100644 index 00000000..52efb5b7 --- /dev/null +++ b/main/libffi/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libffi +pkgver=%version% +pkgrel=%release% +pkgdesc='Portable foreign function interface library' +arch=(x86_64) +url='https://sourceware.org/libffi/' +license=(MIT) +depends=(glibc) +checkdepends=(dejagnu) +provides=(libffi.so) +source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz) +sha256sums=('b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e') +b2sums=('af8402a09bdbd59b4e9400d2d71bd5ce98f6f1d981d35d1ab40d77a831b13b32c5bd34ca54ff75999e39f0d8a9c066381fae7a8d6c5216d955e064f929f08b88') + +build() { + local configure_options=( + # remove --disable-exec-static-tramp once ghc and gobject-introspection + # work fine with it enabled (https://github.com/libffi/libffi/pull/647) + --disable-exec-static-tramp + --disable-multi-os-directory + --disable-static + --enable-pax_emutramp + --prefix=/usr + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libffi/README b/main/libffi/README new file mode 100644 index 00000000..dacac9f8 --- /dev/null +++ b/main/libffi/README @@ -0,0 +1,43 @@ +libffi +________________________________________________________________________________ + +Portable foreign function interface library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libffi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceware.org/libffi/ diff --git a/main/libffi/version b/main/libffi/version new file mode 100644 index 00000000..0b14d12f --- /dev/null +++ b/main/libffi/version @@ -0,0 +1 @@ +3.4.6 1 diff --git a/main/libfido2/PKGBUILD b/main/libfido2/PKGBUILD new file mode 100644 index 00000000..cc2b93f3 --- /dev/null +++ b/main/libfido2/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libfido2 +pkgver=%version% +pkgrel=%release% +pkgdesc='Library functionality for FIDO 2.0, including communication with a device over USB' +url='https://developers.yubico.com/libfido2/' +arch=('x86_64') +license=('BSD') +depends=('glibc' 'openssl' 'libcbor' 'libcbor.so' 'hidapi' 'systemd-libs' 'libudev.so' 'zlib') +makedepends=('cmake' 'systemd') +provides=('libfido2.so') +source=("https://developers.yubico.com/libfido2/Releases/libfido2-${pkgver}.tar.gz"{,.sig}) +sha512sums=('83454b0db0cc8546f377d0dd59f95785fe6b73cf28e499a6182a6ece4b7bce17c3e750155262adf71f339ec0b3b6c3d3d64a07b01c8428b4b91de97ae768f0e6' + 'SKIP') +b2sums=('244ad33f73e7aeb3e4523eeda8402c0fcb9de08d28d15d5881651ca5e05b78b4bec10fe58c33dda08e8b5f7be231bf36a85463ded2733d762e929414e4749765' + 'SKIP') +validpgpkeys=( + 'EE90AE0D19774C8386628FAAB428949EF7914718' # pedro martelletto + '1D7308B0055F5AEF36944A8F27A9C24D9588EA0F' # Aveen Ismail + '7FBB6186957496D58C751AC20E777DD85755AA4A' # Konstantinos Georgantas + '78D997D53E9C0A2A205392ED14A19784723C9988' # Ludvig Michaelsson +) + +build() { + cd ${pkgname}-${pkgver} + # do not use bundled udev rules superseded by systemd + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="${CFLAGS} ${CPPFLAGS}" \ + -Wno-dev \ + -S . + make -C build VERBOSE=1 +} + +package() { + cd ${pkgname}-${pkgver} + make -C build DESTDIR="${pkgdir}" install + install -Dm 644 NEWS README.adoc -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libfido2/README b/main/libfido2/README new file mode 100644 index 00000000..6e2a4864 --- /dev/null +++ b/main/libfido2/README @@ -0,0 +1,43 @@ +libfido2 +________________________________________________________________________________ + +Library functionality for FIDO 2.0, including communication with a device over USB + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libfido2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://developers.yubico.com/libfido2/ diff --git a/main/libfido2/version b/main/libfido2/version new file mode 100644 index 00000000..74781584 --- /dev/null +++ b/main/libfido2/version @@ -0,0 +1 @@ +1.14.0 2 diff --git a/main/libfontenc/.nvchecker.toml b/main/libfontenc/.nvchecker.toml new file mode 100644 index 00000000..47c95735 --- /dev/null +++ b/main/libfontenc/.nvchecker.toml @@ -0,0 +1,8 @@ +[libfontenc] +source = "gitlab" +gitlab = "xorg/lib/libfontenc" +host = "gitlab.freedesktop.org" + +include_regex = ".*libfontenc-.*" +use_max_tag = true +prefix = "libfontenc-" diff --git a/main/libfontenc/PKGBUILD b/main/libfontenc/PKGBUILD new file mode 100644 index 00000000..5208f6f0 --- /dev/null +++ b/main/libfontenc/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libfontenc +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 font encoding library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libfontenc" +license=('MIT') +depends=('zlib' 'glibc' 'xorg-fonts-encodings') +makedepends=('pkgconfig' 'xorgproto' 'xorg-util-macros') +source=(https://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha512sums=('c9ddea9c0c6c6f4933b5b8ed2044e3dc259a9edbb3070a32f0335a6ad4d47b1858cefc01fa2dff9f29808bee311e9c677b05861200d2f2c4552c92b33fe027e2' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --with-encodingsdir=/usr/share/fonts/encodings + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libfontenc/README b/main/libfontenc/README new file mode 100644 index 00000000..1fbed0da --- /dev/null +++ b/main/libfontenc/README @@ -0,0 +1,43 @@ +libfontenc +________________________________________________________________________________ + +X11 font encoding library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libfontenc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libfontenc diff --git a/main/libfontenc/version b/main/libfontenc/version new file mode 100644 index 00000000..7a39cf64 --- /dev/null +++ b/main/libfontenc/version @@ -0,0 +1 @@ +1.1.8 1 diff --git a/main/libfreeaptx/PKGBUILD b/main/libfreeaptx/PKGBUILD new file mode 100644 index 00000000..c4fcff3b --- /dev/null +++ b/main/libfreeaptx/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libfreeaptx +pkgver=%version% +pkgrel=%release% +pkgdesc="Open Source aptX codec library" +url="https://github.com/iamthehorker/libfreeaptx" +arch=(x86_64) +license=(LGPL) +depends=(glibc) +makedepends=(git) +provides=(libfreeaptx.so) +_commit=0485c73bc12f1f860d892bb7166730b3412395bd # tags/0.1.1^0 +source=("git+$url#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname +} + +_make() { + make CPPFLAGS="$CPPFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ + PREFIX=/usr "$@" +} + +build() { + cd $pkgname + _make +} + +package() { + cd $pkgname + _make DESTDIR="$pkgdir" install +} diff --git a/main/libfreeaptx/README b/main/libfreeaptx/README new file mode 100644 index 00000000..a8a6aedf --- /dev/null +++ b/main/libfreeaptx/README @@ -0,0 +1,43 @@ +libfreeaptx +________________________________________________________________________________ + +Open Source aptX codec library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libfreeaptx | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/iamthehorker/libfreeaptx diff --git a/main/libfreeaptx/version b/main/libfreeaptx/version new file mode 100644 index 00000000..57aa7884 --- /dev/null +++ b/main/libfreeaptx/version @@ -0,0 +1 @@ +0.1.1 1 diff --git a/main/libgcrypt/.nvchecker.toml b/main/libgcrypt/.nvchecker.toml new file mode 100644 index 00000000..3f7f24e4 --- /dev/null +++ b/main/libgcrypt/.nvchecker.toml @@ -0,0 +1,9 @@ +[libgcrypt] +#source = "git" +#git = "https://git.gnupg.org/libgcrypt.git" +#git = "git://git.gnupg.org/libgcrypt.git" +#use_max_tag = true + +source = "regex" +regex = "libgcrypt-([\\d.]+)\\." +url = "https://www.gnupg.org/download/integrity_check.html" diff --git a/main/libgcrypt/PKGBUILD b/main/libgcrypt/PKGBUILD new file mode 100644 index 00000000..e7a90732 --- /dev/null +++ b/main/libgcrypt/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +# after a .so bump first rebuild dirmngr +# with sudo testing-x86_64-build -- -I libgcrypt-1.6.0-1-x86_64.pkg.tar.xz +# then cp /usr/lib/libgcrypt.so.11 /var/lib/archbuild/staging-x86_64/root/usr/lib/ and do staging-x86_64-build + +pkgname=libgcrypt +pkgver=%version% +pkgrel=%release% +pkgdesc="General purpose cryptographic library based on the code from GnuPG" +arch=(x86_64) +url="https://www.gnupg.org" +license=('LGPL') +depends=('libgpg-error') +options=('!emptydirs') +# https://www.gnupg.org/download/integrity_check.html +source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) +sha256sums=('8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa' + 'SKIP') +#validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" +validpgpkeys=('AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key) + +prepare() { + cd "${pkgname}"-${pkgver} + + # tests fail due to systemd+libseccomp preventing memory syscalls when building in chroots + # t-secmem: line 176: gcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0) failed: General error + # FAIL: t-secmem + # t-sexp: line 1174: gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0) failed: General error + # FAIL: t-sexp + sed -i "s:t-secmem::" tests/Makefile.am + sed -i "s:t-sexp::" tests/Makefile.am + autoreconf -vfi +} + +build() { + cd "${pkgname}"-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --disable-padlock-support + make +} + +check() { + cd "${pkgname}"-${pkgver} + make check +} + +package() { + cd "${pkgname}"-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/main/libgcrypt/README b/main/libgcrypt/README new file mode 100644 index 00000000..8d653b24 --- /dev/null +++ b/main/libgcrypt/README @@ -0,0 +1,43 @@ +libgcrypt +________________________________________________________________________________ + +General purpose cryptographic library based on the code from GnuPG + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libgcrypt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org diff --git a/main/libgcrypt/version b/main/libgcrypt/version new file mode 100644 index 00000000..2dd72fdd --- /dev/null +++ b/main/libgcrypt/version @@ -0,0 +1 @@ +1.10.3 1 diff --git a/main/libglvnd/LICENSE b/main/libglvnd/LICENSE new file mode 100644 index 00000000..57bc4f48 --- /dev/null +++ b/main/libglvnd/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2013, NVIDIA CORPORATION. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +unaltered in all copies or substantial portions of the Materials. +Any additions, deletions, or changes to the original source files +must be clearly indicated in accompanying documentation. + +If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the +work of the Khronos Group." + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. \ No newline at end of file diff --git a/main/libglvnd/PKGBUILD b/main/libglvnd/PKGBUILD new file mode 100644 index 00000000..d1f147e0 --- /dev/null +++ b/main/libglvnd/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libglvnd +pkgver=%version% +pkgrel=%release% +pkgdesc="The GL Vendor-Neutral Dispatch library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/glvnd/libglvnd" +license=('custom:BSD-like') +makedepends=('libxext' 'libx11' 'xorgproto' 'python' 'meson') +provides=('libgl' 'libegl' 'libgles') +provides+=(libEGL.so libGL.so libGLESv2.so libGLX.so libGLdispatch.so libOpenGL.so) +source=("https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$pkgver/libglvnd-v$pkgver.tar.gz" + LICENSE) +sha512sums=('7b6eb8e075b48f1d915b892044adc3260547d74ed61d1e2fa6c5f0f8c3527754abea314181e088626d4fd58bb221085e5288c4758d828e171c7dcb0e4991745c' + 'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5') + +build() { + arch-meson $pkgname-v$pkgver build \ + -D gles1=false + + meson compile -C build +} + +package() { + # libglvnd needs mesa for indirect rendering + depends=('libxext' 'mesa' 'opengl-driver') + + meson install -C build --destdir "$pkgdir" + + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/libglvnd/README b/main/libglvnd/README new file mode 100644 index 00000000..bc0dd8e5 --- /dev/null +++ b/main/libglvnd/README @@ -0,0 +1,43 @@ +libglvnd +________________________________________________________________________________ + +The GL Vendor-Neutral Dispatch library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libglvnd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/glvnd/libglvnd diff --git a/main/libglvnd/version b/main/libglvnd/version new file mode 100644 index 00000000..abd32472 --- /dev/null +++ b/main/libglvnd/version @@ -0,0 +1 @@ +1.7.0 1 diff --git a/main/libgpg-error/.PKGINFO b/main/libgpg-error/.PKGINFO new file mode 100644 index 00000000..4d50853a --- /dev/null +++ b/main/libgpg-error/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libgpg-error +pkgbase = libgpg-error +xdata = pkgtype=pkg +pkgver = 1.49-1 +pkgdesc = Support library for libgcrypt +url = https://www.gnupg.org +builddate = 1714401232 +packager = Developer +size = 1108754 +arch = x86_64 +license = LGPL-2.1-or-later +license = BSD-3-Clause OR LGPL-2.1-or-later +license = FSFULLR +license = GPL-2.0-or-later +depend = glibc +depend = sh diff --git a/main/libgpg-error/.nvchecker.toml b/main/libgpg-error/.nvchecker.toml new file mode 100644 index 00000000..77803d5b --- /dev/null +++ b/main/libgpg-error/.nvchecker.toml @@ -0,0 +1,9 @@ +[libgpg-error] +#source = "git" +#git = "https://git.gnupg.org/libgpg-error.git" +#git = "git://git.gnupg.org/libgcrypt-error.git" +#use_max_tag = true + +source = "regex" +regex = "libgpg-error-([\\d.]+)\\." +url = "https://www.gnupg.org/download/integrity_check.html" diff --git a/main/libgpg-error/PKGBUILD b/main/libgpg-error/PKGBUILD new file mode 100644 index 00000000..014b4a17 --- /dev/null +++ b/main/libgpg-error/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libgpg-error +pkgver=%version% +pkgrel=%release% +pkgdesc="Support library for libgcrypt" +arch=(x86_64) +url="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) +depends=('glibc' 'sh') +source=(https://www.gnupg.org/ftp/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2{,.sig}) +# https://www.gnupg.org/download/integrity_check.html +sha256sums=('89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f' + 'SKIP') +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) +validpgpkeys+=('AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key) + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}/" install + install -vDm 644 COPYING{,.LIB} -t "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/main/libgpg-error/README b/main/libgpg-error/README new file mode 100644 index 00000000..61d1f619 --- /dev/null +++ b/main/libgpg-error/README @@ -0,0 +1,43 @@ +libgpg-error +________________________________________________________________________________ + +Support library for libgcrypt + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libgpg-error | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org diff --git a/main/libgpg-error/version b/main/libgpg-error/version new file mode 100644 index 00000000..878a1278 --- /dev/null +++ b/main/libgpg-error/version @@ -0,0 +1 @@ +1.49 1 diff --git a/main/libgudev/PKGBUILD b/main/libgudev/PKGBUILD new file mode 100644 index 00000000..2dd37625 --- /dev/null +++ b/main/libgudev/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libgudev +pkgver=%version% +pkgrel=%release% +pkgdesc="GObject bindings for libudev" +url="https://wiki.gnome.org/Projects/libgudev" +arch=(x86_64) +license=(LGPL2.1) +depends=( + glib2 + systemd +) +makedepends=( + git + gobject-introspection + gtk-doc + meson + umockdev + vala +) +_commit=df7c9c9940160307aaeb31347f4776a46f8736a9 # tags/238^0 +source=("git+https://gitlab.gnome.org/GNOME/libgudev.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libgudev + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libgudev + + # Use a locale with "," decimal separator that we + # actually have available in the build environments + sed -e 's/fr_FR\.UTF-8/de_DE.UTF-8/g' \ + -i tests/meson.build tests/test-double.c +} + +build() { + local meson_options=( + -D gtk_doc=true + ) + + arch-meson libgudev build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + depends+=(libg{lib,object}-2.0.so libudev.so) + provides+=(libgudev-1.0.so) + + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libgudev/README b/main/libgudev/README new file mode 100644 index 00000000..f3379870 --- /dev/null +++ b/main/libgudev/README @@ -0,0 +1,43 @@ +libgudev +________________________________________________________________________________ + +GObject bindings for libudev + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libgudev | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/libgudev diff --git a/main/libgudev/version b/main/libgudev/version new file mode 100644 index 00000000..86b6c3d9 --- /dev/null +++ b/main/libgudev/version @@ -0,0 +1 @@ +238 1 diff --git a/main/libice/.nvchecker.toml b/main/libice/.nvchecker.toml new file mode 100644 index 00000000..5cf2a89a --- /dev/null +++ b/main/libice/.nvchecker.toml @@ -0,0 +1,8 @@ +[libice] +source = "gitlab" +gitlab = "xorg/lib/libICE" +host = "gitlab.freedesktop.org" + +include_regex = ".*libICE-.*" +use_max_tag = true +prefix = "libICE-" diff --git a/main/libice/PKGBUILD b/main/libice/PKGBUILD new file mode 100644 index 00000000..ee6d10f3 --- /dev/null +++ b/main/libice/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libice +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Inter-Client Exchange library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +depends=('glibc' 'xorgproto') +makedepends=('xtrans' 'xorg-util-macros') +source=(${url}/releases/individual/lib/libICE-${pkgver}.tar.xz{,.sig}) +license=('custom') +sha512sums=('2f7833a25f31cc743ca95cb88f9a8403b50e19ffb5bf43bfef87ba405857d359789daaa9ec2391351237d958f16d35dbf082adb76d301e46d3a54162a6b452d3' + 'SKIP') +#validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " +validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner + +build() { + cd libICE-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd libICE-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libice/README b/main/libice/README new file mode 100644 index 00000000..c303d587 --- /dev/null +++ b/main/libice/README @@ -0,0 +1,43 @@ +libice +________________________________________________________________________________ + +X11 Inter-Client Exchange library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libice | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libice/version b/main/libice/version new file mode 100644 index 00000000..d9f65d2e --- /dev/null +++ b/main/libice/version @@ -0,0 +1 @@ +1.1.1 2 diff --git a/main/libidn/PKGBUILD b/main/libidn/PKGBUILD new file mode 100644 index 00000000..330fe402 --- /dev/null +++ b/main/libidn/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libidn +pkgver=%version% +pkgrel=%release% +pkgdesc="Implementation of the Stringprep, Punycode and IDNA specifications" +url="https://www.gnu.org/software/libidn/" +arch=('x86_64') +license=('GPL3' 'LGPL') +depends=('glibc') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}) +validpgpkeys=('9AA9BDB11BB1B99A21285A330664A76954265E8C' # Simon Josefsson + 'B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE' # Simon Josefsson + '1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen +sha256sums=('d6c199dcd806e4fe279360cb4b08349a0d39560ed548ffd1ccadda8cdecb4723' + 'SKIP') + +build() { + cd "${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + + make check +} + +package() { + cd "${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + # doc html installation - gtk-doc isn't supported anymore - FS#55151 + mkdir -p "${pkgdir}/usr/share/gtk-doc/html/${pkgname}" + cp -r -v doc/reference/html/* "${pkgdir}/usr/share/gtk-doc/html/${pkgname}" +} diff --git a/main/libidn/README b/main/libidn/README new file mode 100644 index 00000000..9eb4c046 --- /dev/null +++ b/main/libidn/README @@ -0,0 +1,43 @@ +libidn +________________________________________________________________________________ + +Implementation of the Stringprep, Punycode and IDNA specifications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libidn | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libidn/ diff --git a/main/libidn/version b/main/libidn/version new file mode 100644 index 00000000..8fce8e69 --- /dev/null +++ b/main/libidn/version @@ -0,0 +1 @@ +1.42 1 diff --git a/main/libidn2/PKGBUILD b/main/libidn2/PKGBUILD new file mode 100644 index 00000000..5890c0ae --- /dev/null +++ b/main/libidn2/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libidn2 +pkgver=%version% +pkgrel=%release% +pkgdesc="Free software implementation of IDNA2008, Punycode and TR46" +arch=('x86_64') +url="https://www.gnu.org/software/libidn/#libidn2" +license=('GPL2' 'LGPL3') +depends=('libunistring') +makedepends=('ruby-ronn-ng') +provides=('libidn2.so') +source=(https://ftp.gnu.org/gnu/libidn/$pkgname-$pkgver.tar.gz{,.sig}) +sha256sums=('4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64' + 'SKIP') +validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE') # Simon Josefsson + +prepare() { + cd $pkgname-$pkgver +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} +package() { + depends+=('libunistring.so') + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libidn2/README b/main/libidn2/README new file mode 100644 index 00000000..6ff9c469 --- /dev/null +++ b/main/libidn2/README @@ -0,0 +1,43 @@ +libidn2 +________________________________________________________________________________ + +Free software implementation of IDNA2008, Punycode and TR46 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libidn2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libidn/#libidn2 diff --git a/main/libidn2/version b/main/libidn2/version new file mode 100644 index 00000000..fc94c06b --- /dev/null +++ b/main/libidn2/version @@ -0,0 +1 @@ +2.3.7 1 diff --git a/main/libiec61883/PKGBUILD b/main/libiec61883/PKGBUILD new file mode 100644 index 00000000..b6a6d270 --- /dev/null +++ b/main/libiec61883/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libiec61883 +pkgver=%version% +pkgrel=%release% +pkgdesc='A higher level API for streaming DV, MPEG-2 and audio over Linux IEEE 1394' +arch=(x86_64) +url=https://www.kernel.org/pub/linux/libs/ieee1394/ +license=(LGPL) +depends=(libraw1394) +source=(https://www.kernel.org/pub/linux/libs/ieee1394/${pkgname}-${pkgver}.tar.xz) +b2sums=('c1fdd4d6fbfd96eea9f1c22b20a1e71e4cafbe064091ef6211d097342f8751955f2d8a68cb3e5235d733f7ecd3725144abb329331bfa3497be1911bb8773d4a9') + +build() { + cd libiec61883-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd libiec61883-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libiec61883/README b/main/libiec61883/README new file mode 100644 index 00000000..faae6ef6 --- /dev/null +++ b/main/libiec61883/README @@ -0,0 +1,43 @@ +libiec61883 +________________________________________________________________________________ + +A higher level API for streaming DV, MPEG-2 and audio over Linux IEEE 1394 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libiec61883 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org/pub/linux/libs/ieee1394/ diff --git a/main/libiec61883/version b/main/libiec61883/version new file mode 100644 index 00000000..c52c7492 --- /dev/null +++ b/main/libiec61883/version @@ -0,0 +1 @@ +1.2.0 7 diff --git a/main/libimobiledevice-glue/PKGBUILD b/main/libimobiledevice-glue/PKGBUILD new file mode 100644 index 00000000..3f21903b --- /dev/null +++ b/main/libimobiledevice-glue/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libimobiledevice-glue +pkgver=%version% +pkgrel=%release% +pkgdesc='A library with common code used by libraries and tools around the libimobiledevice project' +arch=('x86_64') +url='https://libimobiledevice.org/' +license=('LGPL-2.1-or-later') +depends=('glibc' 'libplist') +source=("https://github.com/libimobiledevice/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.bz2") +sha256sums=('ff9cbc240c9780edfa43914a057b86362054053721b65fb04f54a25023b92b62') + +build() ( + cd $pkgname-$pkgver + ./configure --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +) + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libimobiledevice-glue/README b/main/libimobiledevice-glue/README new file mode 100644 index 00000000..f41b61ca --- /dev/null +++ b/main/libimobiledevice-glue/README @@ -0,0 +1,43 @@ +libimobiledevice-glue +________________________________________________________________________________ + +A library with common code used by libraries and tools around the libimobiledevice project + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libimobiledevice-glue | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libimobiledevice.org/ diff --git a/main/libimobiledevice-glue/version b/main/libimobiledevice-glue/version new file mode 100644 index 00000000..8b9a47f0 --- /dev/null +++ b/main/libimobiledevice-glue/version @@ -0,0 +1 @@ +1.2.0 1 diff --git a/main/libinih/PKGBUILD b/main/libinih/PKGBUILD new file mode 100644 index 00000000..38ac2e72 --- /dev/null +++ b/main/libinih/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libinih +pkgver=%version% +pkgrel=%release% +pkgdesc='A simple .INI file parser written in C' +arch=(x86_64) +url=https://github.com/benhoyt/inih +license=(BSD) +depends=( + gcc-libs + glibc +) +makedepends=( + git + meson +) +provides=( + libinih.so + libINIReader.so +) +_tag=5cc5e2c24642513aaa5b19126aad42d0e4e0923e +source=(git+https://github.com/benhoyt/inih.git#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd inih + git describe --tags | sed 's/^r//' +} + +build() { + arch-meson inih build \ + -Ddefault_library=shared \ + -Ddistro_install=true \ + -Dwith_INIReader=true + meson compile -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -Dm 644 inih/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/libinih/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libinih/README b/main/libinih/README new file mode 100644 index 00000000..a4c8af8e --- /dev/null +++ b/main/libinih/README @@ -0,0 +1,43 @@ +libinih +________________________________________________________________________________ + +A simple .INI file parser written in C + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libinih | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/benhoyt/inih diff --git a/main/libinih/version b/main/libinih/version new file mode 100644 index 00000000..a9cad381 --- /dev/null +++ b/main/libinih/version @@ -0,0 +1 @@ +58 1 diff --git a/main/libinput/.PKGINFO b/main/libinput/.PKGINFO new file mode 100644 index 00000000..fbc3540c --- /dev/null +++ b/main/libinput/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libinput +pkgbase = libinput +xdata = pkgtype=pkg +pkgver = 1.26.0-1 +pkgdesc = Input device management and event handling library +url = https://gitlab.freedesktop.org/libinput/libinput +builddate = 1718491613 +packager = Developer +size = 1146844 +arch = x86_64 +license = MIT +depend = mtdev +depend = libevdev +depend = libwacom +depend = systemd-libs +depend = glibc +optdepend = gtk4: libinput debug-gui +optdepend = python-pyudev: libinput measure +optdepend = python-libevdev: libinput measure +optdepend = python-yaml: used by various tools +makedepend = gtk4 +makedepend = meson +makedepend = wayland-protocols +makedepend = check +checkdepend = python-pytest diff --git a/main/libinput/.nvchecker.toml b/main/libinput/.nvchecker.toml new file mode 100644 index 00000000..fefd86a9 --- /dev/null +++ b/main/libinput/.nvchecker.toml @@ -0,0 +1,5 @@ +[libinput] +source = "gitlab" +gitlab = "libinput/libinput" +host = "gitlab.freedesktop.org" +use_max_tag = true diff --git a/main/libinput/PKGBUILD b/main/libinput/PKGBUILD new file mode 100644 index 00000000..dd6faeec --- /dev/null +++ b/main/libinput/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libinput +pkgver=%version% +pkgrel=%release% +pkgdesc="Input device management and event handling library" +url="https://wayland.freedesktop.org/libinput/doc/$pkgver/" +arch=(x86_64) +license=(MIT) +depends=('mtdev' 'systemd' 'libevdev' 'libwacom' 'systemd-libs' 'glibc') +# upstream doesn't recommend building docs +makedepends=('gtk4' 'meson' 'wayland-protocols' 'check') # 'doxygen' 'graphviz' 'python-sphinx' 'python-recommonmark' +checkdepends=('python-pytest') +optdepends=('gtk4: libinput debug-gui' + 'python-pyudev: libinput measure' + 'python-libevdev: libinput measure' + 'python-yaml: used by various tools') +source=(https://gitlab.freedesktop.org/libinput/libinput/-/archive/$pkgver/$pkgname-$pkgver.tar.bz2) +sha256sums=('193bd592298bd9e369c0ef3e5d83a6a9d68ddc4cd3dfc84bbe77920a8d0d57df') +#validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) + +build() { + arch-meson $pkgname-$pkgver build \ + -D udev-dir=/usr/lib/udev \ + -D documentation=false + + # Print config + meson configure build + + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + + install -Dvm644 $pkgname-$pkgver/COPYING \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/libinput/README b/main/libinput/README new file mode 100644 index 00000000..0086bce2 --- /dev/null +++ b/main/libinput/README @@ -0,0 +1,43 @@ +libinput +________________________________________________________________________________ + +Input device management and event handling library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libinput | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wayland.freedesktop.org/libinput/doc/1.25.0/ diff --git a/main/libinput/version b/main/libinput/version new file mode 100644 index 00000000..98228036 --- /dev/null +++ b/main/libinput/version @@ -0,0 +1 @@ +1.26.0 1 diff --git a/main/libisl/.PKGINFO b/main/libisl/.PKGINFO new file mode 100644 index 00000000..10de9f8d --- /dev/null +++ b/main/libisl/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libisl +pkgbase = libisl +xdata = pkgtype=pkg +pkgver = 0.26-2 +pkgdesc = Library for manipulating sets and relations of integer points bounded by linear constraints +url = https://libisl.sourceforge.io +builddate = 1715045241 +packager = Developer +size = 5999177 +arch = x86_64 +license = MIT +replaces = isl +provides = isl +provides = libisl.so=23-64 +depend = gmp diff --git a/main/libisl/PKGBUILD b/main/libisl/PKGBUILD new file mode 100644 index 00000000..f3d10b7f --- /dev/null +++ b/main/libisl/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libisl +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for manipulating sets and relations of integer points bounded by linear constraints' +arch=('x86_64') +url='https://libisl.sourceforge.io' +license=('MIT') +depends=('gmp') +provides=('isl' 'libisl.so') +replaces=('isl') +options=(staticlibs) +source=("https://libisl.sourceforge.io/isl-${pkgver}.tar.xz") +b2sums=('2cfe2e0774a991d2385e66f58490c5454382cabc82d74eb4bbe5a603293b7bdc34ca3b087f0884f9da319c447747edc76275ecaf2f171237939f9c7d3c52ced7') + +build() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + make check || true +} + +package() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + + make DESTDIR="${pkgdir}" install + + install -dm755 "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + mv "${pkgdir}"/usr/lib/libisl.so.*-gdb.py "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/libisl/README b/main/libisl/README new file mode 100644 index 00000000..87f2892f --- /dev/null +++ b/main/libisl/README @@ -0,0 +1,43 @@ +libisl +________________________________________________________________________________ + +Library for manipulating sets and relations of integer points bounded by linear constraints + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libisl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libisl.sourceforge.io diff --git a/main/libisl/version b/main/libisl/version new file mode 100644 index 00000000..aba24060 --- /dev/null +++ b/main/libisl/version @@ -0,0 +1 @@ +0.26 2 diff --git a/main/libjpeg-turbo/.PKGINFO b/main/libjpeg-turbo/.PKGINFO new file mode 100644 index 00000000..f38dc51c --- /dev/null +++ b/main/libjpeg-turbo/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libjpeg-turbo +pkgbase = libjpeg-turbo +xdata = pkgtype=pkg +pkgver = 3.0.3-1 +pkgdesc = JPEG image codec with accelerated baseline compression and decompression +url = https://libjpeg-turbo.org/ +builddate = 1716419511 +packager = Developer +size = 2388585 +arch = x86_64 +license = BSD-3-Clause +license = IJG +provides = libjpeg +provides = libjpeg.so=8-64 +provides = libturbojpeg.so=0-64 +depend = glibc +optdepend = java-runtime>11: for TurboJPEG Java wrapper +makedepend = cmake +makedepend = ninja +makedepend = nasm +makedepend = java-environment>11 +makedepend = strip-nondeterminism diff --git a/main/libjpeg-turbo/PKGBUILD b/main/libjpeg-turbo/PKGBUILD new file mode 100644 index 00000000..f5a4498b --- /dev/null +++ b/main/libjpeg-turbo/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libjpeg-turbo +pkgver=%version% +pkgrel=%release% +pkgdesc="JPEG image codec with accelerated baseline compression and decompression" +url="https://libjpeg-turbo.org/" +_url="https://github.com/libjpeg-turbo/libjpeg-turbo/" +arch=(x86_64) +license=( + BSD-3-Clause + IJG +) +depends=(glibc) +makedepends=( + cmake + ninja + nasm + 'java-environment>11' +) +optdepends=('java-runtime>11: for TurboJPEG Java wrapper') +provides=( + libjpeg + libjpeg.so + libturbojpeg.so +) +source=( + $_url/releases/download/$pkgver/$pkgname-$pkgver.tar.gz{,.sig} +) +sha512sums=('f5eadda0712feb810a8c3bb2621fda24a4c30574998ce30f423b3ffa25225c7a87cb14b696232bc0270485f422a2853a5c32eafb65bc5eeab1b41d8aeb32ad29' + 'SKIP') +b2sums=('b6eff81657707852ee9ea81099179c6e20914f513fd32b12b1bfbf5233f850f54a1062a98150044aa34476f0c54e42a67c88633a59834a764d3f8bb394f374f0' + 'SKIP') +validpgpkeys=('0338C8D8D9FDA62CF9C421BD7EC2DBB6F4DBF434') # The libjpeg-turbo Project (Signing key for official binaries) + +build() { + local cmake_options=( + -B build + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_INSTALL_LIBDIR=/usr/lib + -D CMAKE_BUILD_TYPE=None + -D ENABLE_STATIC=OFF + -D WITH_JAVA=ON + -D WITH_JPEG8=ON + -G Ninja + -S $pkgname-$pkgver + -W no-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build -v +} + +check() { + ctest --test-dir build --output-on-failure --stop-on-failure -j$(nproc) +} + +package() { + DESTDIR="$pkgdir" cmake --install build -v + + # header required by some dependents + # https://bugs.archlinux.org/task/24787 + install -vDm 644 $pkgname-$pkgver/jpegint.h "$pkgdir/usr/include" + + install -vDm 644 $pkgname-$pkgver/LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/README.ijg -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/libjpeg-turbo/README b/main/libjpeg-turbo/README new file mode 100644 index 00000000..1f645cd4 --- /dev/null +++ b/main/libjpeg-turbo/README @@ -0,0 +1,43 @@ +libjpeg-turbo +________________________________________________________________________________ + +JPEG image codec with accelerated baseline compression and decompression + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libjpeg-turbo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libjpeg-turbo.org/ diff --git a/main/libjpeg-turbo/version b/main/libjpeg-turbo/version new file mode 100644 index 00000000..15049478 --- /dev/null +++ b/main/libjpeg-turbo/version @@ -0,0 +1 @@ +3.0.3 1 diff --git a/main/libjxl/PKGBUILD b/main/libjxl/PKGBUILD new file mode 100644 index 00000000..01b93dff --- /dev/null +++ b/main/libjxl/PKGBUILD @@ -0,0 +1,95 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libjxl +pkgname=('libjxl' 'libjxl-doc') +pkgver=%version% +pkgrel=%release% +pkgdesc='JPEG XL image format reference implementation' +arch=('x86_64') +url='https://jpeg.org/jpegxl/' +license=('BSD-3-Clause') +makedepends=('git' 'cmake' 'brotli' 'gdk-pixbuf2' 'giflib' 'gimp' + 'gperftools' 'highway' 'libjpeg-turbo' 'libpng' 'openexr' + 'gtest' 'java-environment' 'python' 'asciidoc' 'doxygen' + 'graphviz' 'xdg-utils') +source=("git+https://github.com/libjxl/libjxl.git#tag=v${pkgver}" + 'git+https://github.com/google/brotli.git' + 'git+https://github.com/mm2/Little-CMS.git' + 'git+https://github.com/google/googletest.git' + 'git+https://github.com/webmproject/sjpeg.git' + 'git+https://skia.googlesource.com/skcms.git' + 'git+https://github.com/google/highway.git' + 'git+https://github.com/glennrp/libpng.git' + 'git+https://github.com/madler/zlib.git' + 'libjxl-testdata'::'git+https://github.com/libjxl/testdata.git' + 'git+https://github.com/libjpeg-turbo/libjpeg-turbo.git') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare() { + git -C libjxl submodule init + local _submodule + for _submodule in brotli googletest sjpeg skcms highway libpng zlib libjpeg-turbo + do + git -C libjxl config --local "submodule.third_party/${_submodule}.url" "${srcdir}/${_submodule}" + done + git -C libjxl config --local submodule.third_party/lcms.url "${srcdir}/Little-CMS" + git -C libjxl config --local submodule.third_party/testdata.url "${srcdir}/libjxl-testdata" + git -C libjxl -c protocol.file.allow='always' submodule update +} + +build() { + export CFLAGS+=' -DNDEBUG -ffat-lto-objects' + export CXXFLAGS+=' -DNDEBUG -ffat-lto-objects' + cmake -B build -S libjxl \ + -G 'Unix Makefiles' \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DJPEGXL_ENABLE_BENCHMARK:BOOL='false' \ + -DJPEGXL_ENABLE_EXAMPLES:BOOL='false' \ + -DJPEGXL_ENABLE_FUZZERS:BOOL='false' \ + -DJPEGXL_ENABLE_PLUGINS:BOOL='true' \ + -DJPEGXL_ENABLE_VIEWERS:BOOL='false' \ + -DJPEGXL_FORCE_SYSTEM_BROTLI:BOOL='true' \ + -DJPEGXL_FORCE_SYSTEM_GTEST:BOOL='true' \ + -DJPEGXL_FORCE_SYSTEM_HWY:BOOL='true' \ + -DJPEGXL_BUNDLE_LIBPNG:BOOL='NO' \ + -DJPEGXL_INSTALL_JARDIR='/usr/share/java' \ + -Wno-dev + cmake --build build + make -C build doc +} + +check() { + ctest --test-dir build --output-on-failure +} + +package_libjxl() { + depends=('brotli' 'giflib' 'gperftools' 'highway' 'libjpeg-turbo' 'libpng' 'openexr') + optdepends=('gdk-pixbuf2: for gdk-pixbuf loader' + 'gimp: for gimp plugin' + 'java-runtime: for JNI bindings') + provides=('libjxl.so' 'libjxl_cms.so' 'libjxl_threads.so') + + DESTDIR="$pkgdir" cmake --install build + install -D -m644 libjxl/{LICENSE,PATENTS} -t "${pkgdir}/usr/share/licenses/${pkgname}" + mv "${pkgdir}/usr/share/java"/{org.jpeg.jpegxl,jpegxl}.jar +} + +package_libjxl-doc() { + pkgdesc+=' (documentation)' + + install -d -m755 "${pkgdir}/usr/share/doc" + install -D -m644 libjxl/{LICENSE,PATENTS} -t "${pkgdir}/usr/share/licenses/${pkgname}" + cp -dr --no-preserve='ownership' build/html "${pkgdir}/usr/share/doc/libjxl" +} diff --git a/main/libjxl/README b/main/libjxl/README new file mode 100644 index 00000000..6745e06b --- /dev/null +++ b/main/libjxl/README @@ -0,0 +1,43 @@ +libjxl +________________________________________________________________________________ + +JPEG XL image format reference implementation JPEG XL image format reference implementation (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libjxl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://jpeg.org/jpegxl/ diff --git a/main/libjxl/version b/main/libjxl/version new file mode 100644 index 00000000..3c98898a --- /dev/null +++ b/main/libjxl/version @@ -0,0 +1 @@ +0.10.2 1 diff --git a/main/libkexiv2/.PKGINFO b/main/libkexiv2/.PKGINFO new file mode 100644 index 00000000..c3cda592 --- /dev/null +++ b/main/libkexiv2/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libkexiv2 +pkgbase = libkexiv2 +xdata = pkgtype=split +pkgver = 24.05.1-1 +pkgdesc = A library to manipulate pictures metadata +url = https://www.kde.org/ +builddate = 1718491614 +packager = Developer +size = 461955 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +depend = gcc-libs +depend = glibc +depend = exiv2 +depend = qt6-base +makedepend = extra-cmake-modules +makedepend = qt5-base +makedepend = qt6-base diff --git a/main/libkexiv2/PKGBUILD b/main/libkexiv2/PKGBUILD new file mode 100644 index 00000000..06e0502c --- /dev/null +++ b/main/libkexiv2/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libkexiv2 +pkgname=(libkexiv2 + libkexiv2-qt5) +pkgver=%version% +pkgrel=%release% +pkgdesc='A library to manipulate pictures metadata' +url='https://www.kde.org/' +arch=(x86_64) +license=(GPL-2.0-or-later LGPL-2.0-or-later) +depends=(gcc-libs + glibc + exiv2) +makedepends=(extra-cmake-modules + qt5-base + qt6-base) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('3cd61225274b0968691abd29e676e3d31b6f0f488024e5a78525dc39ba67f6e8' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build5 -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build5 + + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DQT_MAJOR_VERSION=6 + cmake --build build +} + +package_libkexiv2() { + depends+=(qt6-base) + + DESTDIR="$pkgdir" cmake --install build +} + +package_libkexiv2-qt5() { + depends+=(qt5-base) + conflicts=('libkexiv2<24') + + DESTDIR="$pkgdir" cmake --install build5 +} diff --git a/main/libkexiv2/README b/main/libkexiv2/README new file mode 100644 index 00000000..a1991198 --- /dev/null +++ b/main/libkexiv2/README @@ -0,0 +1,43 @@ +libkexiv2 +________________________________________________________________________________ + +A library to manipulate pictures metadata + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libkexiv2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org/ diff --git a/main/libkexiv2/version b/main/libkexiv2/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/libkexiv2/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/libksba/PKGBUILD b/main/libksba/PKGBUILD new file mode 100644 index 00000000..fa2b288e --- /dev/null +++ b/main/libksba/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libksba +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for working with X.509 certificates, CMS data and related objects' +url='https://www.gnupg.org/related_software/libksba/' +license=('GPL-2.0-only' 'GPL-3.0-only' 'LGPL-3.0-only') +arch=('x86_64') +depends=('bash' 'libgpg-error' 'glibc') +source=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}) +sha256sums=('5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4' + 'SKIP') +validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch + '6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/libksba/README b/main/libksba/README new file mode 100644 index 00000000..7f2fbb63 --- /dev/null +++ b/main/libksba/README @@ -0,0 +1,43 @@ +libksba +________________________________________________________________________________ + +Library for working with X.509 certificates, CMS data and related objects + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libksba | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org/related_software/libksba/ diff --git a/main/libksba/version b/main/libksba/version new file mode 100644 index 00000000..a70b7ac3 --- /dev/null +++ b/main/libksba/version @@ -0,0 +1 @@ +1.6.6 1 diff --git a/main/libkscreen/.PKGINFO b/main/libkscreen/.PKGINFO new file mode 100644 index 00000000..78c7e346 --- /dev/null +++ b/main/libkscreen/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libkscreen +pkgbase = libkscreen +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE screen management software +url = https://kde.org/plasma-desktop/ +builddate = 1713662730 +packager = Developer +size = 1255506 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = libxcb +depend = qt6-base +depend = qt6-wayland +depend = wayland +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/libkscreen/PKGBUILD b/main/libkscreen/PKGBUILD new file mode 100644 index 00000000..11070255 --- /dev/null +++ b/main/libkscreen/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libkscreen +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE screen management software' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + libxcb + qt6-base + qt6-wayland + wayland) +makedepends=(doxygen + extra-cmake-modules + plasma-wayland-protocols + qt6-doc + qt6-tools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('4785fc3e2a5e6db3a62cc58f1682dd75134ec88c9d966b9d8fb22e870aa33483' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/libkscreen/README b/main/libkscreen/README new file mode 100644 index 00000000..405dd642 --- /dev/null +++ b/main/libkscreen/README @@ -0,0 +1,43 @@ +libkscreen +________________________________________________________________________________ + +KDE screen management software + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libkscreen | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/libkscreen/version b/main/libkscreen/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/libkscreen/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/libksysguard/.PKGINFO b/main/libksysguard/.PKGINFO new file mode 100644 index 00000000..1205ff57 --- /dev/null +++ b/main/libksysguard/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libksysguard +pkgbase = libksysguard +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Library to retrieve information on the current status of computer hardware +url = https://kde.org/plasma-desktop/ +builddate = 1713662731 +packager = Developer +size = 2710913 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kauth +depend = kconfig +depend = kcoreaddons +depend = kdeclarative +depend = ki18n +depend = kirigami +depend = kitemmodels +depend = knewstuff +depend = kpackage +depend = kquickcharts +depend = kservice +depend = libnl +depend = libpcap +depend = lm_sensors +depend = qt6-base +depend = qt6-declarative +depend = solid +depend = zlib +makedepend = extra-cmake-modules +makedepend = qt6-tools diff --git a/main/libksysguard/PKGBUILD b/main/libksysguard/PKGBUILD new file mode 100644 index 00000000..7633057c --- /dev/null +++ b/main/libksysguard/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libksysguard +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Library to retrieve information on the current status of computer hardware' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kauth + kconfig + kcoreaddons + kdeclarative + ki18n + kirigami + kitemmodels + knewstuff + kpackage + kquickcharts + kservice + libnl + libpcap + lm_sensors + qt6-base + qt6-declarative + solid + zlib) +makedepends=(extra-cmake-modules + qt6-tools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +install=libksysguard.install +sha256sums=('53361387f39293c721af0d4bac48bb008757e642fda9b9af8190a1ca9d9c2b92' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/libksysguard/README b/main/libksysguard/README new file mode 100644 index 00000000..e18c0693 --- /dev/null +++ b/main/libksysguard/README @@ -0,0 +1,43 @@ +libksysguard +________________________________________________________________________________ + +Library to retrieve information on the current status of computer hardware + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libksysguard | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/libksysguard/libksysguard.install b/main/libksysguard/libksysguard.install new file mode 100644 index 00000000..891b1d42 --- /dev/null +++ b/main/libksysguard/libksysguard.install @@ -0,0 +1,9 @@ +post_install() { +# this is executed by make install, but doesn't work since setcap can only be run as root + setcap CAP_NET_RAW=+ep /usr/lib/ksysguard/ksgrd_network_helper +} + +post_upgrade() { + post_install +} + diff --git a/main/libksysguard/version b/main/libksysguard/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/libksysguard/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/liblc3/.PKGINFO b/main/liblc3/.PKGINFO new file mode 100644 index 00000000..3e7ee103 --- /dev/null +++ b/main/liblc3/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = liblc3 +pkgbase = liblc3 +xdata = pkgtype=pkg +pkgver = 1.1.1-1 +pkgdesc = Low Complexity Communication Codec library and tools +url = https://github.com/google/liblc3 +builddate = 1713662732 +packager = Developer +size = 221599 +arch = x86_64 +license = Apache-2.0 +provides = liblc3.so=1-64 +depend = glibc +makedepend = git +makedepend = meson diff --git a/main/liblc3/PKGBUILD b/main/liblc3/PKGBUILD new file mode 100644 index 00000000..c4797e0e --- /dev/null +++ b/main/liblc3/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=liblc3 +pkgver=%version% +pkgrel=%release% +pkgdesc="Low Complexity Communication Codec library and tools" +url="https://github.com/google/liblc3" +arch=(x86_64) +license=(Apache) +depends=(glibc) +makedepends=( + git + meson +) +provides=(liblc3.so) +_commit=0d45f4ecf6d5d0e9c0dd392d84f371c4e01aed60 # tags/v1.1.0 +source=("git+$url#commit=$_commit") +b2sums=('66b10340d2e422f2e7bcef8b0be56ebc135b02995bc1a003fb9eae7409471d6b7d5596dfbd5e770458b20f2f6bf6cedeeb6f69c12977572cb1e7480cc923a0e7') + +pkgver() { + cd liblc3 + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd liblc3 +} + +build() { + arch-meson liblc3 build -D tools=true + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 liblc3/README.md +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/liblc3/README b/main/liblc3/README new file mode 100644 index 00000000..5062460d --- /dev/null +++ b/main/liblc3/README @@ -0,0 +1,43 @@ +liblc3 +________________________________________________________________________________ + +Low Complexity Communication Codec library and tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S liblc3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/google/liblc3 diff --git a/main/liblc3/version b/main/liblc3/version new file mode 100644 index 00000000..e343e3f8 --- /dev/null +++ b/main/liblc3/version @@ -0,0 +1 @@ +1.1.1 1 diff --git a/main/libldac/PKGBUILD b/main/libldac/PKGBUILD new file mode 100644 index 00000000..dafd4e9d --- /dev/null +++ b/main/libldac/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libldac +pkgver=%version% +pkgrel=%release% +pkgdesc="LDAC Bluetooth encoder library" +url="https://github.com/EHfive/ldacBT" +arch=(x86_64) +license=(Apache) +depends=(glibc) +makedepends=(git cmake) +provides=(libldacBT_{abr,enc}.so) +_commit=fbffba45d15d959da6ee04eafe14c0d4721f6030 # tags/v2.0.2.3 +source=("git+$url#commit=$_commit" + "git+https://gitlab.com/eh5/libldac.git") +sha256sums=('SKIP' + 'SKIP') + +pkgver() { + cd ldacBT + git describe --tags | sed 's/^v//;s/-/+/g' +} + +prepare() { + cd ldacBT + + git submodule init + git submodule set-url libldac "$srcdir/libldac" + git submodule update +} + +build() { + cmake -S ldacBT -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DLDAC_SOFT_FLOAT=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/libldac/README b/main/libldac/README new file mode 100644 index 00000000..c758affa --- /dev/null +++ b/main/libldac/README @@ -0,0 +1,43 @@ +libldac +________________________________________________________________________________ + +LDAC Bluetooth encoder library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libldac | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/EHfive/ldacBT diff --git a/main/libldac/version b/main/libldac/version new file mode 100644 index 00000000..208a69c9 --- /dev/null +++ b/main/libldac/version @@ -0,0 +1 @@ +2.0.2.3 1 diff --git a/main/liblouis/.PKGINFO b/main/liblouis/.PKGINFO new file mode 100644 index 00000000..e43a5000 --- /dev/null +++ b/main/liblouis/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = liblouis +pkgbase = liblouis +xdata = pkgtype=pkg +pkgver = 3.30.0-1 +pkgdesc = Braille translator and back-translator library +url = https://liblouis.io/ +builddate = 1718491615 +packager = Developer +size = 13727885 +arch = x86_64 +license = GPL-3.0-or-later AND LGPL-2.1-or-later +depend = glibc +depend = libyaml +optdepend = python: Python bindings +makedepend = git +makedepend = help2man +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel diff --git a/main/liblouis/PKGBUILD b/main/liblouis/PKGBUILD new file mode 100644 index 00000000..ebd123c2 --- /dev/null +++ b/main/liblouis/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=liblouis +pkgver=%version% +pkgrel=%release% +pkgdesc='Braille translator and back-translator library' +arch=('x86_64') +url='https://liblouis.io/' +license=('GPL-3.0-or-later AND LGPL-2.1-or-later') +depends=('glibc') +makedepends=('help2man' 'libyaml' 'python-build' 'python-installer' 'python-setuptools' 'python-wheel') +optdepends=('libyaml: lou_checkyaml command' + 'python: Python bindings') +source=("https://github.com/liblouis/liblouis/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('4e73d86bbfe1a9af5447b3ddd607243b50414989ec290bfb467b9b774675c8f5') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-ucs4 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + + cd python + python -m build --wheel --no-isolation +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + cd python + python -m installer --destdir="$pkgdir" dist/*.whl +} diff --git a/main/liblouis/README b/main/liblouis/README new file mode 100644 index 00000000..78fd9835 --- /dev/null +++ b/main/liblouis/README @@ -0,0 +1,43 @@ +liblouis +________________________________________________________________________________ + +Braille translator and back-translator library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S liblouis | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://liblouis.io/ diff --git a/main/liblouis/version b/main/liblouis/version new file mode 100644 index 00000000..258ee2b8 --- /dev/null +++ b/main/liblouis/version @@ -0,0 +1 @@ +3.30.0 1 diff --git a/main/libmad/PKGBUILD b/main/libmad/PKGBUILD new file mode 100644 index 00000000..4bf3afa1 --- /dev/null +++ b/main/libmad/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmad +pkgver=%version% +pkgrel=%release% +pkgdesc="A high-quality MPEG audio decoder" +arch=('x86_64') +url="https://www.underbit.com/products/mad/" +license=('GPL') +depends=('glibc') +source=(https://downloads.sourceforge.net/sourceforge/mad/${pkgname}-${pkgver}.tar.gz{,.sign} + libmad-pkgconfig.patch + libmad-amd64-64bit.diff + libmad-md_size.diff + libmad-length-check.patch + libmad-0.15.1b-gcc43.patch) +sha512sums=('2cad30347fb310dc605c46bacd9da117f447a5cabedd8fefdb24ab5de641429e5ec5ce8af7aefa6a75a3f545d3adfa255e3fa0a2d50971f76bc0c4fc0400cc45' + 'SKIP' + 'ff815f5aa32aec4230351b258430ca2184c0a44f80845c92b46aedb9942b3cd85c7b3aa575f4f562a5e02f7fadf6f3d6fe06e64d2b65418dbcd10762214695b1' + '4fc15af4ef497220ee75e3798fbf504be2495fded7202b202169440a387573a3b3105a278d6e5c2ae10d2351a6f9b61895ccde323787314605519ffa23bb080f' + '511fc4496044bc676e1957c5085aded89e33248c5ee4c965c76c609904086911dcc912a943be98244b2d7e5f140f432584722cc3b53fdb27265328322a727427' + 'dd412962246d4c9db8c07dbafcaba2f64fdc0c94cf6bcc3f4f0f88a92800f40e550cc56dc8a2324c0123d9c70a89055dc50cd714206d7886e2f6877d4cc26600' + '464a81b5ec9cac77fe8913de5625bb1dcbaa761f83508afe49a216e8d3fe85d10afee7bdc0922606c3fadc3894b07edc758f36c112612a5a5daadd58216d3dca') +validpgpkeys=('4229B6BBA00DE143B485B74D2CE2036B4BF38A33') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p1 -i "${srcdir}/libmad-pkgconfig.patch" + patch -p1 -i "${srcdir}/libmad-amd64-64bit.diff" + patch -p1 -i "${srcdir}/libmad-md_size.diff" # CVE-2017-8372 CVE-2017-8373 + patch -p1 -i "${srcdir}/libmad-length-check.patch" # CVE-2017-8374 + patch -p1 -i "${srcdir}/libmad-0.15.1b-gcc43.patch" +} + +build() { + cd ${pkgname}-${pkgver} + + autoconf + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/main/libmad/README b/main/libmad/README new file mode 100644 index 00000000..85b20c8a --- /dev/null +++ b/main/libmad/README @@ -0,0 +1,43 @@ +libmad +________________________________________________________________________________ + +A high-quality MPEG audio decoder + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmad | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.underbit.com/products/mad/ diff --git a/main/libmad/libmad-0.15.1b-gcc43.patch b/main/libmad/libmad-0.15.1b-gcc43.patch new file mode 100644 index 00000000..4b8deb1e --- /dev/null +++ b/main/libmad/libmad-0.15.1b-gcc43.patch @@ -0,0 +1,130 @@ +Index: libmad-0.15.1b/configure.ac +=================================================================== +--- libmad-0.15.1b.orig/configure.ac ++++ libmad-0.15.1b/configure.ac +@@ -73,124 +73,6 @@ debug="" + optimize="" + profile="" + +-set -- $CFLAGS +-CFLAGS="" +- +-if test "$GCC" = yes +-then +- CFLAGS="-Wall" +-fi +- +-while test $# -gt 0 +-do +- case "$1" in +- -Wall) +- if test "$GCC" = yes +- then +- : +- else +- CFLAGS="$CFLAGS $1" +- fi +- shift +- ;; +- -g) +- debug="-g" +- shift +- ;; +- -mno-cygwin) +- shift +- ;; +- -m*) +- arch="$arch $1" +- shift +- ;; +- -O2) +- optimize="-O" +- shift +- ;; +- -fomit-frame-pointer) +- shift +- ;; +- -O*|-f*) +- optimize="$optimize $1" +- shift +- ;; +- *) +- CFLAGS="$CFLAGS $1" +- shift +- ;; +- esac +-done +- +-if test "$GCC" = yes +-then +- if test -z "$arch" +- then +- case "$host" in +- i386-*) ;; +- i?86-*) arch="-march=i486" ;; +- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;; +- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;; +- powerpc-*) ;; +- mips*-agenda-*) arch="-mcpu=vr4100" ;; +- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;; +- esac +- fi +- +- case "$optimize" in +- -O|"-O "*) +- optimize="-O" +- optimize="$optimize -fforce-mem" +- optimize="$optimize -fforce-addr" +- : #x optimize="$optimize -finline-functions" +- : #- optimize="$optimize -fstrength-reduce" +- optimize="$optimize -fthread-jumps" +- optimize="$optimize -fcse-follow-jumps" +- optimize="$optimize -fcse-skip-blocks" +- : #x optimize="$optimize -frerun-cse-after-loop" +- : #x optimize="$optimize -frerun-loop-opt" +- : #x optimize="$optimize -fgcse" +- optimize="$optimize -fexpensive-optimizations" +- optimize="$optimize -fregmove" +- : #* optimize="$optimize -fdelayed-branch" +- : #x optimize="$optimize -fschedule-insns" +- optimize="$optimize -fschedule-insns2" +- : #? optimize="$optimize -ffunction-sections" +- : #? optimize="$optimize -fcaller-saves" +- : #> optimize="$optimize -funroll-loops" +- : #> optimize="$optimize -funroll-all-loops" +- : #x optimize="$optimize -fmove-all-movables" +- : #x optimize="$optimize -freduce-all-givs" +- : #? optimize="$optimize -fstrict-aliasing" +- : #* optimize="$optimize -fstructure-noalias" +- +- case "$host" in +- arm*-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- mips*-*) +- optimize="$optimize -fstrength-reduce" +- optimize="$optimize -finline-functions" +- ;; +- i?86-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- powerpc-apple-*) +- # this triggers an internal compiler error with gcc2 +- : #optimize="$optimize -fstrength-reduce" +- +- # this is really only beneficial with gcc3 +- : #optimize="$optimize -finline-functions" +- ;; +- *) +- # this sometimes provokes bugs in gcc 2.95.2 +- : #optimize="$optimize -fstrength-reduce" +- ;; +- esac +- ;; +- esac +-fi +- + case "$host" in + mips*-agenda-*) + AC_DEFINE(HAVE_MADD16_ASM, 1, + diff --git a/main/libmad/libmad-amd64-64bit.diff b/main/libmad/libmad-amd64-64bit.diff new file mode 100644 index 00000000..2ef025b6 --- /dev/null +++ b/main/libmad/libmad-amd64-64bit.diff @@ -0,0 +1,12 @@ +Index: libmad-0.15.1b/configure.ac +=================================================================== +--- libmad-0.15.1b.orig/configure.ac 2008-03-07 20:33:05.000000000 +0000 ++++ libmad-0.15.1b/configure.ac 2008-03-07 20:33:31.000000000 +0000 +@@ -233,6 +233,7 @@ + then + case "$host" in + i?86-*) FPM="INTEL" ;; ++ x86_64*) FPM="64BIT" ;; + arm*-*) FPM="ARM" ;; + mips*-*) FPM="MIPS" ;; + sparc*-*) FPM="SPARC" ;; diff --git a/main/libmad/libmad-length-check.patch b/main/libmad/libmad-length-check.patch new file mode 100644 index 00000000..80e48469 --- /dev/null +++ b/main/libmad/libmad-length-check.patch @@ -0,0 +1,817 @@ +From: Kurt Roeckx +Date: Sun, 28 Jan 2018 19:26:36 +0100 +Subject: Check the size before reading with mad_bit_read + +There are various cases where it attemps to read past the end of the buffer +using mad_bit_read(). Most functions didn't even know the size of the buffer +they were reading from. + +Index: libmad-0.15.1b/bit.c +=================================================================== +--- libmad-0.15.1b.orig/bit.c ++++ libmad-0.15.1b/bit.c +@@ -138,6 +138,9 @@ unsigned long mad_bit_read(struct mad_bi + { + register unsigned long value; + ++ if (len == 0) ++ return 0; ++ + if (bitptr->left == CHAR_BIT) + bitptr->cache = *bitptr->byte; + +Index: libmad-0.15.1b/frame.c +=================================================================== +--- libmad-0.15.1b.orig/frame.c ++++ libmad-0.15.1b/frame.c +@@ -120,11 +120,18 @@ static + int decode_header(struct mad_header *header, struct mad_stream *stream) + { + unsigned int index; ++ struct mad_bitptr bufend_ptr; + + header->flags = 0; + header->private_bits = 0; + ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ + /* header() */ ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 32) { ++ stream->error = MAD_ERROR_BUFLEN; ++ return -1; ++ } + + /* syncword */ + mad_bit_skip(&stream->ptr, 11); +@@ -225,8 +232,13 @@ int decode_header(struct mad_header *hea + /* error_check() */ + + /* crc_check */ +- if (header->flags & MAD_FLAG_PROTECTION) ++ if (header->flags & MAD_FLAG_PROTECTION) { ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 16) { ++ stream->error = MAD_ERROR_BUFLEN; ++ return -1; ++ } + header->crc_target = mad_bit_read(&stream->ptr, 16); ++ } + + return 0; + } +@@ -338,7 +350,7 @@ int mad_header_decode(struct mad_header + stream->error = MAD_ERROR_BUFLEN; + goto fail; + } +- else if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { ++ else if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { + /* mark point where frame sync word was expected */ + stream->this_frame = ptr; + stream->next_frame = ptr + 1; +@@ -361,6 +373,8 @@ int mad_header_decode(struct mad_header + ptr = mad_bit_nextbyte(&stream->ptr); + } + ++ stream->error = MAD_ERROR_NONE; ++ + /* begin processing */ + stream->this_frame = ptr; + stream->next_frame = ptr + 1; /* possibly bogus sync word */ +@@ -413,7 +427,7 @@ int mad_header_decode(struct mad_header + /* check that a valid frame header follows this frame */ + + ptr = stream->next_frame; +- if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { ++ if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { + ptr = stream->next_frame = stream->this_frame + 1; + goto sync; + } +Index: libmad-0.15.1b/layer12.c +=================================================================== +--- libmad-0.15.1b.orig/layer12.c ++++ libmad-0.15.1b/layer12.c +@@ -72,10 +72,18 @@ mad_fixed_t const linear_table[14] = { + * DESCRIPTION: decode one requantized Layer I sample from a bitstream + */ + static +-mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb) ++mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb, struct mad_stream *stream) + { + mad_fixed_t sample; ++ struct mad_bitptr frameend_ptr; + ++ mad_bit_init(&frameend_ptr, stream->next_frame); ++ ++ if (mad_bit_length(ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return 0; ++ } + sample = mad_bit_read(ptr, nb); + + /* invert most significant bit, extend sign, then scale to fixed format */ +@@ -106,6 +114,10 @@ int mad_layer_I(struct mad_stream *strea + struct mad_header *header = &frame->header; + unsigned int nch, bound, ch, s, sb, nb; + unsigned char allocation[2][32], scalefactor[2][32]; ++ struct mad_bitptr bufend_ptr, frameend_ptr; ++ ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + nch = MAD_NCHANNELS(header); + +@@ -118,6 +130,11 @@ int mad_layer_I(struct mad_stream *strea + /* check CRC word */ + + if (header->flags & MAD_FLAG_PROTECTION) { ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) ++ < 4 * (bound * nch + (32 - bound))) { ++ stream->error = MAD_ERROR_BADCRC; ++ return -1; ++ } + header->crc_check = + mad_bit_crc(stream->ptr, 4 * (bound * nch + (32 - bound)), + header->crc_check); +@@ -133,6 +150,11 @@ int mad_layer_I(struct mad_stream *strea + + for (sb = 0; sb < bound; ++sb) { + for (ch = 0; ch < nch; ++ch) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + nb = mad_bit_read(&stream->ptr, 4); + + if (nb == 15) { +@@ -145,6 +167,11 @@ int mad_layer_I(struct mad_stream *strea + } + + for (sb = bound; sb < 32; ++sb) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + nb = mad_bit_read(&stream->ptr, 4); + + if (nb == 15) { +@@ -161,6 +188,11 @@ int mad_layer_I(struct mad_stream *strea + for (sb = 0; sb < 32; ++sb) { + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6); + + # if defined(OPT_STRICT) +@@ -185,8 +217,10 @@ int mad_layer_I(struct mad_stream *strea + for (ch = 0; ch < nch; ++ch) { + nb = allocation[ch][sb]; + frame->sbsample[ch][s][sb] = nb ? +- mad_f_mul(I_sample(&stream->ptr, nb), ++ mad_f_mul(I_sample(&stream->ptr, nb, stream), + sf_table[scalefactor[ch][sb]]) : 0; ++ if (stream->error != 0) ++ return -1; + } + } + +@@ -194,7 +228,14 @@ int mad_layer_I(struct mad_stream *strea + if ((nb = allocation[0][sb])) { + mad_fixed_t sample; + +- sample = I_sample(&stream->ptr, nb); ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } ++ sample = I_sample(&stream->ptr, nb, stream); ++ if (stream->error != 0) ++ return -1; + + for (ch = 0; ch < nch; ++ch) { + frame->sbsample[ch][s][sb] = +@@ -280,13 +321,21 @@ struct quantclass { + static + void II_samples(struct mad_bitptr *ptr, + struct quantclass const *quantclass, +- mad_fixed_t output[3]) ++ mad_fixed_t output[3], struct mad_stream *stream) + { + unsigned int nb, s, sample[3]; ++ struct mad_bitptr frameend_ptr; ++ ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + if ((nb = quantclass->group)) { + unsigned int c, nlevels; + ++ if (mad_bit_length(ptr, &frameend_ptr) < quantclass->bits) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return; ++ } + /* degrouping */ + c = mad_bit_read(ptr, quantclass->bits); + nlevels = quantclass->nlevels; +@@ -299,8 +348,14 @@ void II_samples(struct mad_bitptr *ptr, + else { + nb = quantclass->bits; + +- for (s = 0; s < 3; ++s) ++ for (s = 0; s < 3; ++s) { ++ if (mad_bit_length(ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return; ++ } + sample[s] = mad_bit_read(ptr, nb); ++ } + } + + for (s = 0; s < 3; ++s) { +@@ -336,6 +391,9 @@ int mad_layer_II(struct mad_stream *stre + unsigned char const *offsets; + unsigned char allocation[2][32], scfsi[2][32], scalefactor[2][32][3]; + mad_fixed_t samples[3]; ++ struct mad_bitptr frameend_ptr; ++ ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + nch = MAD_NCHANNELS(header); + +@@ -402,13 +460,24 @@ int mad_layer_II(struct mad_stream *stre + for (sb = 0; sb < bound; ++sb) { + nbal = bitalloc_table[offsets[sb]].nbal; + +- for (ch = 0; ch < nch; ++ch) ++ for (ch = 0; ch < nch; ++ch) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal); ++ } + } + + for (sb = bound; sb < sblimit; ++sb) { + nbal = bitalloc_table[offsets[sb]].nbal; + ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + allocation[0][sb] = + allocation[1][sb] = mad_bit_read(&stream->ptr, nbal); + } +@@ -417,8 +486,14 @@ int mad_layer_II(struct mad_stream *stre + + for (sb = 0; sb < sblimit; ++sb) { + for (ch = 0; ch < nch; ++ch) { +- if (allocation[ch][sb]) ++ if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 2) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2); ++ } + } + } + +@@ -441,6 +516,11 @@ int mad_layer_II(struct mad_stream *stre + for (sb = 0; sb < sblimit; ++sb) { + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6); + + switch (scfsi[ch][sb]) { +@@ -451,11 +531,21 @@ int mad_layer_II(struct mad_stream *stre + break; + + case 0: ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6); + /* fall through */ + + case 1: + case 3: ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6); + } + +@@ -487,7 +577,9 @@ int mad_layer_II(struct mad_stream *stre + if ((index = allocation[ch][sb])) { + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + +- II_samples(&stream->ptr, &qc_table[index], samples); ++ II_samples(&stream->ptr, &qc_table[index], samples, stream); ++ if (stream->error != 0) ++ return -1; + + for (s = 0; s < 3; ++s) { + frame->sbsample[ch][3 * gr + s][sb] = +@@ -505,7 +597,9 @@ int mad_layer_II(struct mad_stream *stre + if ((index = allocation[0][sb])) { + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + +- II_samples(&stream->ptr, &qc_table[index], samples); ++ II_samples(&stream->ptr, &qc_table[index], samples, stream); ++ if (stream->error != 0) ++ return -1; + + for (ch = 0; ch < nch; ++ch) { + for (s = 0; s < 3; ++s) { +Index: libmad-0.15.1b/layer3.c +=================================================================== +--- libmad-0.15.1b.orig/layer3.c ++++ libmad-0.15.1b/layer3.c +@@ -598,7 +598,8 @@ enum mad_error III_sideinfo(struct mad_b + static + unsigned int III_scalefactors_lsf(struct mad_bitptr *ptr, + struct channel *channel, +- struct channel *gr1ch, int mode_extension) ++ struct channel *gr1ch, int mode_extension, ++ unsigned int bits_left, unsigned int *part2_length) + { + struct mad_bitptr start; + unsigned int scalefac_compress, index, slen[4], part, n, i; +@@ -644,8 +645,12 @@ unsigned int III_scalefactors_lsf(struct + + n = 0; + for (part = 0; part < 4; ++part) { +- for (i = 0; i < nsfb[part]; ++i) ++ for (i = 0; i < nsfb[part]; ++i) { ++ if (bits_left < slen[part]) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[n++] = mad_bit_read(ptr, slen[part]); ++ bits_left -= slen[part]; ++ } + } + + while (n < 39) +@@ -690,7 +695,10 @@ unsigned int III_scalefactors_lsf(struct + max = (1 << slen[part]) - 1; + + for (i = 0; i < nsfb[part]; ++i) { ++ if (bits_left < slen[part]) ++ return MAD_ERROR_BADSCFSI; + is_pos = mad_bit_read(ptr, slen[part]); ++ bits_left -= slen[part]; + + channel->scalefac[n] = is_pos; + gr1ch->scalefac[n++] = (is_pos == max); +@@ -703,7 +711,8 @@ unsigned int III_scalefactors_lsf(struct + } + } + +- return mad_bit_length(&start, ptr); ++ *part2_length = mad_bit_length(&start, ptr); ++ return MAD_ERROR_NONE; + } + + /* +@@ -712,7 +721,8 @@ unsigned int III_scalefactors_lsf(struct + */ + static + unsigned int III_scalefactors(struct mad_bitptr *ptr, struct channel *channel, +- struct channel const *gr0ch, unsigned int scfsi) ++ struct channel const *gr0ch, unsigned int scfsi, ++ unsigned int bits_left, unsigned int *part2_length) + { + struct mad_bitptr start; + unsigned int slen1, slen2, sfbi; +@@ -728,12 +738,20 @@ unsigned int III_scalefactors(struct mad + sfbi = 0; + + nsfb = (channel->flags & mixed_block_flag) ? 8 + 3 * 3 : 6 * 3; +- while (nsfb--) ++ while (nsfb--) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi++] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + + nsfb = 6 * 3; +- while (nsfb--) ++ while (nsfb--) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi++] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + + nsfb = 1 * 3; + while (nsfb--) +@@ -745,8 +763,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 0; sfbi < 6; ++sfbi) ++ for (sfbi = 0; sfbi < 6; ++sfbi) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + } + + if (scfsi & 0x4) { +@@ -754,8 +776,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 6; sfbi < 11; ++sfbi) ++ for (sfbi = 6; sfbi < 11; ++sfbi) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + } + + if (scfsi & 0x2) { +@@ -763,8 +789,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 11; sfbi < 16; ++sfbi) ++ for (sfbi = 11; sfbi < 16; ++sfbi) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + } + + if (scfsi & 0x1) { +@@ -772,14 +802,19 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 16; sfbi < 21; ++sfbi) ++ for (sfbi = 16; sfbi < 21; ++sfbi) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + } + + channel->scalefac[21] = 0; + } + +- return mad_bit_length(&start, ptr); ++ *part2_length = mad_bit_length(&start, ptr); ++ return MAD_ERROR_NONE; + } + + /* +@@ -933,19 +968,17 @@ static + enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576], + struct channel *channel, + unsigned char const *sfbwidth, +- unsigned int part2_length) ++ signed int part3_length) + { + signed int exponents[39], exp; + signed int const *expptr; + struct mad_bitptr peek; +- signed int bits_left, cachesz; ++ signed int bits_left, cachesz, fakebits; + register mad_fixed_t *xrptr; + mad_fixed_t const *sfbound; + register unsigned long bitcache; + +- bits_left = (signed) channel->part2_3_length - (signed) part2_length; +- if (bits_left < 0) +- return MAD_ERROR_BADPART3LEN; ++ bits_left = part3_length; + + III_exponents(channel, sfbwidth, exponents); + +@@ -956,8 +989,12 @@ enum mad_error III_huffdecode(struct mad + cachesz = mad_bit_bitsleft(&peek); + cachesz += ((32 - 1 - 24) + (24 - cachesz)) & ~7; + ++ if (bits_left < cachesz) { ++ cachesz = bits_left; ++ } + bitcache = mad_bit_read(&peek, cachesz); + bits_left -= cachesz; ++ fakebits = 0; + + xrptr = &xr[0]; + +@@ -986,7 +1023,7 @@ enum mad_error III_huffdecode(struct mad + + big_values = channel->big_values; + +- while (big_values-- && cachesz + bits_left > 0) { ++ while (big_values-- && cachesz + bits_left - fakebits > 0) { + union huffpair const *pair; + unsigned int clumpsz, value; + register mad_fixed_t requantized; +@@ -1023,10 +1060,19 @@ enum mad_error III_huffdecode(struct mad + unsigned int bits; + + bits = ((32 - 1 - 21) + (21 - cachesz)) & ~7; ++ if (bits_left < bits) { ++ bits = bits_left; ++ } + bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); + cachesz += bits; + bits_left -= bits; + } ++ if (cachesz < 21) { ++ unsigned int bits = 21 - cachesz; ++ bitcache <<= bits; ++ cachesz += bits; ++ fakebits += bits; ++ } + + /* hcod (0..19) */ + +@@ -1041,6 +1087,8 @@ enum mad_error III_huffdecode(struct mad + } + + cachesz -= pair->value.hlen; ++ if (cachesz < fakebits) ++ return MAD_ERROR_BADHUFFDATA; + + if (linbits) { + /* x (0..14) */ +@@ -1054,10 +1102,15 @@ enum mad_error III_huffdecode(struct mad + + case 15: + if (cachesz < linbits + 2) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; + } ++ if (cachesz - fakebits < linbits) ++ return MAD_ERROR_BADHUFFDATA; + + value += MASK(bitcache, cachesz, linbits); + cachesz -= linbits; +@@ -1074,6 +1127,8 @@ enum mad_error III_huffdecode(struct mad + } + + x_final: ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[0] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1089,10 +1144,15 @@ enum mad_error III_huffdecode(struct mad + + case 15: + if (cachesz < linbits + 1) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; + } ++ if (cachesz - fakebits < linbits) ++ return MAD_ERROR_BADHUFFDATA; + + value += MASK(bitcache, cachesz, linbits); + cachesz -= linbits; +@@ -1109,6 +1169,8 @@ enum mad_error III_huffdecode(struct mad + } + + y_final: ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[1] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1128,6 +1190,8 @@ enum mad_error III_huffdecode(struct mad + requantized = reqcache[value] = III_requantize(value, exp); + } + ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[0] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1146,6 +1210,8 @@ enum mad_error III_huffdecode(struct mad + requantized = reqcache[value] = III_requantize(value, exp); + } + ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[1] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1155,9 +1221,6 @@ enum mad_error III_huffdecode(struct mad + } + } + +- if (cachesz + bits_left < 0) +- return MAD_ERROR_BADHUFFDATA; /* big_values overrun */ +- + /* count1 */ + { + union huffquad const *table; +@@ -1167,15 +1230,24 @@ enum mad_error III_huffdecode(struct mad + + requantized = III_requantize(1, exp); + +- while (cachesz + bits_left > 0 && xrptr <= &xr[572]) { ++ while (cachesz + bits_left - fakebits > 0 && xrptr <= &xr[572]) { + union huffquad const *quad; + + /* hcod (1..6) */ + + if (cachesz < 10) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; ++ } ++ if (cachesz < 10) { ++ unsigned int bits = 10 - cachesz; ++ bitcache <<= bits; ++ cachesz += bits; ++ fakebits += bits; + } + + quad = &table[MASK(bitcache, cachesz, 4)]; +@@ -1188,6 +1260,11 @@ enum mad_error III_huffdecode(struct mad + MASK(bitcache, cachesz, quad->ptr.bits)]; + } + ++ if (cachesz - fakebits < quad->value.hlen + quad->value.v ++ + quad->value.w + quad->value.x + quad->value.y) ++ /* We don't have enough bits to read one more entry, consider them ++ * stuffing bits. */ ++ break; + cachesz -= quad->value.hlen; + + if (xrptr == sfbound) { +@@ -1236,22 +1313,8 @@ enum mad_error III_huffdecode(struct mad + + xrptr += 2; + } +- +- if (cachesz + bits_left < 0) { +-# if 0 && defined(DEBUG) +- fprintf(stderr, "huffman count1 overrun (%d bits)\n", +- -(cachesz + bits_left)); +-# endif +- +- /* technically the bitstream is misformatted, but apparently +- some encoders are just a bit sloppy with stuffing bits */ +- +- xrptr -= 4; +- } + } + +- assert(-bits_left <= MAD_BUFFER_GUARD * CHAR_BIT); +- + # if 0 && defined(DEBUG) + if (bits_left < 0) + fprintf(stderr, "read %d bits too many\n", -bits_left); +@@ -2348,10 +2411,11 @@ void III_freqinver(mad_fixed_t sample[18 + */ + static + enum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame, +- struct sideinfo *si, unsigned int nch) ++ struct sideinfo *si, unsigned int nch, unsigned int md_len) + { + struct mad_header *header = &frame->header; + unsigned int sfreqi, ngr, gr; ++ int bits_left = md_len * CHAR_BIT; + + { + unsigned int sfreq; +@@ -2383,6 +2447,7 @@ enum mad_error III_decode(struct mad_bit + for (ch = 0; ch < nch; ++ch) { + struct channel *channel = &granule->ch[ch]; + unsigned int part2_length; ++ unsigned int part3_length; + + sfbwidth[ch] = sfbwidth_table[sfreqi].l; + if (channel->block_type == 2) { +@@ -2391,18 +2456,30 @@ enum mad_error III_decode(struct mad_bit + } + + if (header->flags & MAD_FLAG_LSF_EXT) { +- part2_length = III_scalefactors_lsf(ptr, channel, ++ error = III_scalefactors_lsf(ptr, channel, + ch == 0 ? 0 : &si->gr[1].ch[1], +- header->mode_extension); ++ header->mode_extension, bits_left, &part2_length); + } + else { +- part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch], +- gr == 0 ? 0 : si->scfsi[ch]); ++ error = III_scalefactors(ptr, channel, &si->gr[0].ch[ch], ++ gr == 0 ? 0 : si->scfsi[ch], bits_left, &part2_length); + } ++ if (error) ++ return error; ++ ++ bits_left -= part2_length; + +- error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length); ++ if (part2_length > channel->part2_3_length) ++ return MAD_ERROR_BADPART3LEN; ++ ++ part3_length = channel->part2_3_length - part2_length; ++ if (part3_length > bits_left) ++ return MAD_ERROR_BADPART3LEN; ++ ++ error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part3_length); + if (error) + return error; ++ bits_left -= part3_length; + } + + /* joint stereo processing */ +@@ -2519,11 +2596,13 @@ int mad_layer_III(struct mad_stream *str + unsigned int nch, priv_bitlen, next_md_begin = 0; + unsigned int si_len, data_bitlen, md_len; + unsigned int frame_space, frame_used, frame_free; +- struct mad_bitptr ptr; ++ struct mad_bitptr ptr, bufend_ptr; + struct sideinfo si; + enum mad_error error; + int result = 0; + ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ + /* allocate Layer III dynamic structures */ + + if (stream->main_data == 0) { +@@ -2587,14 +2666,15 @@ int mad_layer_III(struct mad_stream *str + unsigned long header; + + mad_bit_init(&peek, stream->next_frame); ++ if (mad_bit_length(&peek, &bufend_ptr) >= 57) { ++ header = mad_bit_read(&peek, 32); ++ if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) { ++ if (!(header & 0x00010000L)) /* protection_bit */ ++ mad_bit_skip(&peek, 16); /* crc_check */ + +- header = mad_bit_read(&peek, 32); +- if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) { +- if (!(header & 0x00010000L)) /* protection_bit */ +- mad_bit_skip(&peek, 16); /* crc_check */ +- +- next_md_begin = +- mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8); ++ next_md_begin = ++ mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8); ++ } + } + + mad_bit_finish(&peek); +@@ -2653,7 +2733,7 @@ int mad_layer_III(struct mad_stream *str + /* decode main_data */ + + if (result == 0) { +- error = III_decode(&ptr, frame, &si, nch); ++ error = III_decode(&ptr, frame, &si, nch, md_len); + if (error) { + stream->error = error; + result = -1; diff --git a/main/libmad/libmad-md_size.diff b/main/libmad/libmad-md_size.diff new file mode 100644 index 00000000..657b5ffd --- /dev/null +++ b/main/libmad/libmad-md_size.diff @@ -0,0 +1,58 @@ +From: Kurt Roeckx +Date: Sun, 28 Jan 2018 15:44:08 +0100 +Subject: Check the size of the main data + +The main data to decode a frame can come from the current frame and part of the +previous frame, the so called bit reservoir. si.main_data_begin is the part of +the previous frame we need for this frame. frame_space is the amount of main +data that can be in this frame, and next_md_begin is the part of this frame that +is going to be used for the next frame. + +The maximum amount of data from a previous frame that the format allows is 511 +bytes. The maximum frame size for the defined bitrates is at MPEG 2.5 layer 2 +at 320 kbit/s and 8 kHz sample rate which gives 72 * (320000 / 8000) + 1 = 2881. +So those defines are not large enough: + # define MAD_BUFFER_GUARD 8 + # define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD) + +There is also support for a "free" bitrate which allows you to create any frame +size, which can be larger than the buffer. + +Changing the defines is not an option since it's part of the ABI, so we check +that the main data fits in the bufer. + +The previous frame data is stored in *stream->main_data and contains +stream->md_len bytes. If stream->md_len is larger than the data we +need from the previous frame (si.main_data_begin) it still wouldn't fit +in the buffer, so just keep the data that we need. + +Index: libmad-0.15.1b/layer3.c +=================================================================== +--- libmad-0.15.1b.orig/layer3.c ++++ libmad-0.15.1b/layer3.c +@@ -2608,6 +2608,11 @@ int mad_layer_III(struct mad_stream *str + next_md_begin = 0; + + md_len = si.main_data_begin + frame_space - next_md_begin; ++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + frame_used = 0; + +@@ -2625,8 +2630,11 @@ int mad_layer_III(struct mad_stream *str + } + } + else { +- mad_bit_init(&ptr, +- *stream->main_data + stream->md_len - si.main_data_begin); ++ memmove(stream->main_data, ++ *stream->main_data + stream->md_len - si.main_data_begin, ++ si.main_data_begin); ++ stream->md_len = si.main_data_begin; ++ mad_bit_init(&ptr, *stream->main_data); + + if (md_len > si.main_data_begin) { + assert(stream->md_len + md_len - diff --git a/main/libmad/libmad-pkgconfig.patch b/main/libmad/libmad-pkgconfig.patch new file mode 100644 index 00000000..0ac88acb --- /dev/null +++ b/main/libmad/libmad-pkgconfig.patch @@ -0,0 +1,117 @@ +diff -ruN libmad-0.15.1b.orig/Makefile.am libmad-0.15.1b/Makefile.am +--- libmad-0.15.1b.orig/Makefile.am 2004-02-17 02:02:03.000000000 +0000 ++++ libmad-0.15.1b/Makefile.am 2005-08-25 12:08:04.000000000 +0000 +@@ -33,9 +33,12 @@ + minimad_INCLUDES = + minimad_LDADD = libmad.la + +-EXTRA_DIST = mad.h.sed \ ++EXTRA_DIST = mad.h.sed mad.pc.in \ + CHANGES COPYRIGHT CREDITS README TODO VERSION + ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA= mad.pc ++ + exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \ + synth.h decoder.h + +diff -ruN libmad-0.15.1b.orig/Makefile.in libmad-0.15.1b/Makefile.in +--- libmad-0.15.1b.orig/Makefile.in 2004-02-17 02:33:23.000000000 +0000 ++++ libmad-0.15.1b/Makefile.in 2005-08-25 12:09:34.000000000 +0000 +@@ -14,6 +14,8 @@ + + @SET_MAKE@ + ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = mad.pc + + SOURCES = $(libmad_la_SOURCES) $(EXTRA_libmad_la_SOURCES) $(minimad_SOURCES) + +@@ -43,7 +45,7 @@ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(srcdir)/libmad.list.in \ + $(top_srcdir)/configure COPYING INSTALL TODO config.guess \ +- config.sub depcomp install-sh ltmain.sh missing mkinstalldirs ++ config.sub depcomp install-sh ltmain.sh missing mkinstalldirs mad.pc.in + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/configure.ac +@@ -53,7 +55,7 @@ + configure.lineno configure.status.lineno + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = config.h +-CONFIG_CLEAN_FILES = libmad.list ++CONFIG_CLEAN_FILES = libmad.list mad.pc + am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir) + libLTLIBRARIES_INSTALL = $(INSTALL) + LTLIBRARIES = $(lib_LTLIBRARIES) +@@ -218,7 +220,7 @@ + minimad_SOURCES = minimad.c + minimad_INCLUDES = + minimad_LDADD = libmad.la +-EXTRA_DIST = mad.h.sed \ ++EXTRA_DIST = mad.h.sed mad.pc.in \ + CHANGES COPYRIGHT CREDITS README TODO VERSION + + exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \ +@@ -298,6 +300,28 @@ + rm -f stamp-h1 + touch $@ + ++mad.pc: $(top_builddir)/config.status mad.pc.in ++ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status ++ ++install-pkgconfigDATA: $(pkgconfig_DATA) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) ++ @list='$(pkgconfig_DATA)'; for p in $$list; do \ ++ if test -f $(srcdir)/$$p; then \ ++ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \ ++ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \ ++ else if test -f $$p; then \ ++ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \ ++ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \ ++ fi; fi; \ ++ done ++ ++uninstall-pkgconfigDATA: ++ @$(NORMAL_UNINSTALL) ++ list='$(pkgconfig_DATA)'; for p in $$list; do \ ++ rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \ ++ done ++ + distclean-hdr: + -rm -f config.h stamp-h1 + libmad.list: $(top_builddir)/config.status $(srcdir)/libmad.list.in +@@ -726,7 +750,7 @@ + + info-am: + +-install-data-am: install-includeHEADERS ++install-data-am: install-includeHEADERS install-pkgconfigDATA + + install-exec-am: install-libLTLIBRARIES + +@@ -757,7 +781,7 @@ + ps-am: + + uninstall-am: uninstall-includeHEADERS uninstall-info-am \ +- uninstall-libLTLIBRARIES ++ uninstall-libLTLIBRARIES install-pkgconfigDATA + + uninstall-info: uninstall-info-recursive + +diff -ruN libmad-0.15.1b.orig/mad.pc.in libmad-0.15.1b/mad.pc.in +--- libmad-0.15.1b.orig/mad.pc.in 1970-01-01 00:00:00.000000000 +0000 ++++ libmad-0.15.1b/mad.pc.in 2005-08-25 12:08:04.000000000 +0000 +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: MAD ++Description: libmad - MPEG audio decoder library ++Version: @VERSION@ ++Libs: -L${libdir} -lmad ++Cflags: diff --git a/main/libmad/version b/main/libmad/version new file mode 100644 index 00000000..55c10bff --- /dev/null +++ b/main/libmad/version @@ -0,0 +1 @@ +0.15.1b 10 diff --git a/main/libmatroska/PKGBUILD b/main/libmatroska/PKGBUILD new file mode 100644 index 00000000..5e747a94 --- /dev/null +++ b/main/libmatroska/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmatroska +pkgver=%version% +pkgrel=%release% +pkgdesc='Matroska library' +arch=(x86_64) +url=https://github.com/Matroska-Org/libmatroska +license=(LGPL2.1) +depends=(libebml.so) +makedepends=( + cmake + git + ninja +) +provides=(libmatroska.so) +_tag=f5315fddda2d434e47035c038549a808d8b8eac7 +source=(git+https://github.com/Matroska-Org/libmatroska.git#tag=${_tag}) +sha256sums=(SKIP) + +pkgver() { + cd libmatroska + + git describe --tags | sed 's/^release-//' +} + +build() { + cmake -S libmatroska -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --build build --target install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libmatroska/README b/main/libmatroska/README new file mode 100644 index 00000000..b0148660 --- /dev/null +++ b/main/libmatroska/README @@ -0,0 +1,43 @@ +libmatroska +________________________________________________________________________________ + +Matroska library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmatroska | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/Matroska-Org/libmatroska diff --git a/main/libmatroska/version b/main/libmatroska/version new file mode 100644 index 00000000..2817085c --- /dev/null +++ b/main/libmatroska/version @@ -0,0 +1 @@ +1.7.1 1 diff --git a/main/libmaxminddb/.PKGINFO b/main/libmaxminddb/.PKGINFO new file mode 100644 index 00000000..19f0d4de --- /dev/null +++ b/main/libmaxminddb/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libmaxminddb +pkgbase = libmaxminddb +xdata = pkgtype=split +pkgver = 1.10.0-1 +pkgdesc = MaxMindDB GeoIP2 database library +url = https://dev.maxmind.com/geoip/geoip2/downloadable/ +builddate = 1718491618 +packager = Developer +size = 40755 +arch = x86_64 +license = Apache-2.0 +depend = glibc +optdepend = geoip2-database: IP geolocation databases diff --git a/main/libmaxminddb/PKGBUILD b/main/libmaxminddb/PKGBUILD new file mode 100644 index 00000000..2c45584e --- /dev/null +++ b/main/libmaxminddb/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=(libmaxminddb mmdblookup) + +pkgver=%version% +pkgrel=%release% +pkgdesc="MaxMind GeoIP2 database - split package with library and utilities" +license=('Apache') +arch=('x86_64') +url="https://dev.maxmind.com/geoip/geoip2/downloadable/" +optdepends=('geoip2-database: IP geolocation databases') +source=("https://github.com/maxmind/libmaxminddb/releases/download/$pkgver/libmaxminddb-$pkgver.tar.gz") +sha256sums=('a80682a89d915fdf60b35d316232fb04ebf36fff27fda9bd39fe8a38d3cd3f12') + +build() { + cd "$srcdir"/libmaxminddb-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd "$srcdir"/libmaxminddb-$pkgver + make check +} + +package_libmaxminddb() { + pkgdesc="MaxMindDB GeoIP2 database library" + depends=('glibc') + + cd "$srcdir"/libmaxminddb-$pkgver + make PREFIX=/usr DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/usr/{bin,share/man/man1} +} + +package_mmdblookup() { + pkgdesc="MaxMindDB GeoIP2 lookup utility" + depends=('libmaxminddb') + + cd "$srcdir"/libmaxminddb-$pkgver + make PREFIX=/usr DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/usr/{lib,include,share/man/man3} +} diff --git a/main/libmaxminddb/README b/main/libmaxminddb/README new file mode 100644 index 00000000..085aadae --- /dev/null +++ b/main/libmaxminddb/README @@ -0,0 +1,43 @@ +libmaxminddb +________________________________________________________________________________ + +MaxMind GeoIP2 database - split package with library and utilities MaxMindDB GeoIP2 database library MaxMindDB GeoIP2 lookup utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmaxminddb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://dev.maxmind.com/geoip/geoip2/downloadable/ diff --git a/main/libmaxminddb/version b/main/libmaxminddb/version new file mode 100644 index 00000000..ac83b38b --- /dev/null +++ b/main/libmaxminddb/version @@ -0,0 +1 @@ +1.10.0 1 diff --git a/main/libmbim/PKGBUILD b/main/libmbim/PKGBUILD new file mode 100644 index 00000000..7c2408ba --- /dev/null +++ b/main/libmbim/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmbim +pkgver=%version% +pkgrel=%release% +pkgdesc="MBIM modem protocol helper library" +url="https://www.freedesktop.org/wiki/Software/libmbim/" +arch=(x86_64) +license=(GPL2) +depends=( + bash + glib2 + systemd +) +makedepends=( + bash-completion + git + gobject-introspection + gtk-doc + help2man + meson +) +provides=(libmbim-glib.so) +_commit=8415687e4f30ae5e36f407f179c8147f1529725c # tags/1.30.0^0 +source=("git+https://gitlab.freedesktop.org/mobile-broadband/libmbim.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libmbim + git describe --tags | sed 's/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libmbim +} + +build() { + local meson_options=( + -D gtk_doc=true + ) + + arch-meson libmbim build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libmbim/README b/main/libmbim/README new file mode 100644 index 00000000..336c6642 --- /dev/null +++ b/main/libmbim/README @@ -0,0 +1,43 @@ +libmbim +________________________________________________________________________________ + +MBIM modem protocol helper library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmbim | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/libmbim/ diff --git a/main/libmbim/version b/main/libmbim/version new file mode 100644 index 00000000..61a7fa1e --- /dev/null +++ b/main/libmbim/version @@ -0,0 +1 @@ +1.30.0 1 diff --git a/main/libmd/.nvchecker.toml b/main/libmd/.nvchecker.toml new file mode 100644 index 00000000..57cd0dda --- /dev/null +++ b/main/libmd/.nvchecker.toml @@ -0,0 +1,4 @@ +[libmd] +source = "git" +git = "https://git.hadrons.org/git/libmd.git" +use_max_tag = true diff --git a/main/libmd/PKGBUILD b/main/libmd/PKGBUILD new file mode 100644 index 00000000..20f0d977 --- /dev/null +++ b/main/libmd/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmd +pkgver=%version% +pkgrel=%release% +pkgdesc="Message Digest functions from BSD systems" +arch=('x86_64') +url="https://www.hadrons.org/software/libmd/" +license=('BSD') +depends=('glibc') +source=("https://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.asc}) +sha256sums=('1bd6aa42275313af3141c7cf2e5b964e8b1fd488025caf2f971f43b00776b332' + 'SKIP') +validpgpkeys=('4F3E74F436050C10F5696574B972BF3EA4AE57A3') # Guillem Jover + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make -k check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/main/libmd/README b/main/libmd/README new file mode 100644 index 00000000..f6af0783 --- /dev/null +++ b/main/libmd/README @@ -0,0 +1,43 @@ +libmd +________________________________________________________________________________ + +Message Digest functions from BSD systems + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.hadrons.org/software/libmd/ diff --git a/main/libmd/version b/main/libmd/version new file mode 100644 index 00000000..7281bb52 --- /dev/null +++ b/main/libmd/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/main/libmnl/PKGBUILD b/main/libmnl/PKGBUILD new file mode 100644 index 00000000..39f8a8e1 --- /dev/null +++ b/main/libmnl/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmnl +pkgver=%version% +pkgrel=%release% +pkgdesc='Minimalistic user-space library oriented to Netlink developers.' +arch=('x86_64') +url='https://www.netfilter.org/projects/libmnl/' +license=('LGPL2.1') +depends=('glibc') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha256sums=('274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libmnl/README b/main/libmnl/README new file mode 100644 index 00000000..ae524a96 --- /dev/null +++ b/main/libmnl/README @@ -0,0 +1,43 @@ +libmnl +________________________________________________________________________________ + +Minimalistic user-space library oriented to Netlink developers. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmnl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.netfilter.org/projects/libmnl/ diff --git a/main/libmnl/version b/main/libmnl/version new file mode 100644 index 00000000..58f29dd9 --- /dev/null +++ b/main/libmnl/version @@ -0,0 +1 @@ +1.0.5 2 diff --git a/main/libmodplug/PKGBUILD b/main/libmodplug/PKGBUILD new file mode 100644 index 00000000..73c13939 --- /dev/null +++ b/main/libmodplug/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmodplug +pkgver=%version% +pkgrel=%release% +pkgdesc="A MOD playing library" +arch=('x86_64') +url="http://modplug-xmms.sourceforge.net/" +license=('custom') +depends=('gcc-libs') +source=(https://downloads.sourceforge.net/modplug-xmms/${pkgname}-${pkgver}.tar.gz + libmodplug-0.8.9.0-no-fast-math.patch) +sha256sums=('457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de' + '24b97252803b39546199715158ab1d61616755c6c9756f8b2b9b1948477ce4ed') + +prepare() { + cd ${pkgname}-${pkgver} + # FS#76950 (Gentoo) + patch -Np1 -i ../libmodplug-0.8.9.0-no-fast-math.patch + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/libmodplug/README b/main/libmodplug/README new file mode 100644 index 00000000..74fa43db --- /dev/null +++ b/main/libmodplug/README @@ -0,0 +1,43 @@ +libmodplug +________________________________________________________________________________ + +A MOD playing library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmodplug | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://modplug-xmms.sourceforge.net/ diff --git a/main/libmodplug/libmodplug-0.8.9.0-no-fast-math.patch b/main/libmodplug/libmodplug-0.8.9.0-no-fast-math.patch new file mode 100644 index 00000000..83bf8d9a --- /dev/null +++ b/main/libmodplug/libmodplug-0.8.9.0-no-fast-math.patch @@ -0,0 +1,12 @@ +diff -uNr a/configure.ac b/configure.ac +--- a/configure.ac 2017-07-26 22:39:07.461198820 +0100 ++++ b/configure.ac 2017-07-26 22:39:53.284622741 +0100 +@@ -31,7 +31,7 @@ + AC_CHECK_HEADERS([inttypes.h stdint.h malloc.h]) + AC_CHECK_FUNCS(setenv sinf) + +-CXXFLAGS="$CXXFLAGS -fno-exceptions -Wall -ffast-math -fno-common -D_REENTRANT" ++CXXFLAGS="$CXXFLAGS -fno-exceptions -Wall -fno-common -D_REENTRANT" + + AC_CANONICAL_HOST + case "$host" in diff --git a/main/libmodplug/version b/main/libmodplug/version new file mode 100644 index 00000000..c8df6997 --- /dev/null +++ b/main/libmodplug/version @@ -0,0 +1 @@ +0.8.9.0 5 diff --git a/main/libmpc/.nvchecker.toml b/main/libmpc/.nvchecker.toml new file mode 100644 index 00000000..9ede5798 --- /dev/null +++ b/main/libmpc/.nvchecker.toml @@ -0,0 +1,4 @@ +[libmpc] +source = 'regex' +url = 'https://ftp.gnu.org/gnu/mpc/' +regex = 'mpc-([\d.]+)\.[a-z]' diff --git a/main/libmpc/PKGBUILD b/main/libmpc/PKGBUILD new file mode 100644 index 00000000..46c98b3a --- /dev/null +++ b/main/libmpc/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmpc +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for the arithmetic of complex numbers with arbitrarily high precision' +arch=(x86_64) +url='http://www.multiprecision.org/' +license=(LGPL) +depends=(mpfr) +source=(https://ftp.gnu.org/gnu/mpc/mpc-${pkgver/_/-}.tar.gz{,.sig}) +sha256sums=('ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8' + 'SKIP') +validpgpkeys=('AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3') # Andreas Enge + +build() { + cd mpc-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd mpc-$pkgver + make check +} + +package() { + cd mpc-$pkgver + make DESTDIR="$pkgdir" install + mv "$pkgdir"/usr/share/info/{mpc,libmpc}.info +} diff --git a/main/libmpc/README b/main/libmpc/README new file mode 100644 index 00000000..372c9733 --- /dev/null +++ b/main/libmpc/README @@ -0,0 +1,43 @@ +libmpc +________________________________________________________________________________ + +Library for the arithmetic of complex numbers with arbitrarily high precision + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmpc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.multiprecision.org/ diff --git a/main/libmpc/mpc-fix-includes.patch b/main/libmpc/mpc-fix-includes.patch new file mode 100644 index 00000000..7e41eba5 --- /dev/null +++ b/main/libmpc/mpc-fix-includes.patch @@ -0,0 +1,413 @@ +From e944aa454e60cbff8ab4e8c70dd974083398378f Mon Sep 17 00:00:00 2001 +From: Paul Zimmermann +Date: Sat, 10 Dec 2022 08:47:51 +0100 +Subject: [PATCH 1/6] functions with FILE arguments should be defined only when + stdio.h is included + +--- + src/mpc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mpc.h b/src/mpc.h +index bb1334f..31c7990 100644 +--- a/src/mpc.h ++++ b/src/mpc.h +@@ -270,6 +270,7 @@ __MPC_DECLSPEC long double _Complex mpc_get_ldc (mpc_srcptr, mpc_rnd_t); + __MPC_DECLSPEC int mpc_inp_str (mpc_ptr, FILE *, size_t *, int, mpc_rnd_t); + __MPC_DECLSPEC size_t mpc_out_str (FILE *, int, size_t, mpc_srcptr, mpc_rnd_t); + __MPC_DECLSPEC void mpcb_out_str (FILE *f, mpcb_srcptr); ++__MPC_DECLSPEC void mpcr_out_str (FILE *f, mpcr_srcptr r); + #endif + + __MPC_DECLSPEC int mpcr_inf_p (mpcr_srcptr r); +@@ -284,7 +285,6 @@ __MPC_DECLSPEC void mpcr_set_ui64_2si64 (mpcr_ptr r, uint64_t mant, + int64_t exp); + __MPC_DECLSPEC void mpcr_max (mpcr_ptr r, mpcr_srcptr s, mpcr_srcptr t); + __MPC_DECLSPEC int64_t mpcr_get_exp (mpcr_srcptr r); +-__MPC_DECLSPEC void mpcr_out_str (FILE *f, mpcr_srcptr r); + __MPC_DECLSPEC void mpcr_mul (mpcr_ptr r, mpcr_srcptr s, mpcr_srcptr t); + __MPC_DECLSPEC void mpcr_mul_2ui (mpcr_ptr r, mpcr_srcptr s, + unsigned long int e); +-- +2.39.0 + +From c4ecee561ca9f93ee13e4d6295af8adc77e50208 Mon Sep 17 00:00:00 2001 +From: Paul Zimmermann +Date: Mon, 12 Dec 2022 10:42:12 +0100 +Subject: [PATCH 2/6] added test for case when stdio.h is not included + +--- + src/mpc-impl.h | 2 ++ + tests/Makefile.am | 2 +- + tests/mpc-tests.h | 2 ++ + tests/tdummy.c | 33 +++++++++++++++++++++++++++++++++ + 4 files changed, 38 insertions(+), 1 deletion(-) + create mode 100644 tests/tdummy.c + +diff --git a/src/mpc-impl.h b/src/mpc-impl.h +index 2b7bbb2..a915751 100644 +--- a/src/mpc-impl.h ++++ b/src/mpc-impl.h +@@ -27,7 +27,9 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + #ifdef HAVE_STDLIB_H + #include + #endif ++#ifndef DONT_INCLUDE_STDIO + #include ++#endif + #include "mpc.h" + + /* +diff --git a/tests/Makefile.am b/tests/Makefile.am +index f488bdb..2fe0813 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -45,7 +45,7 @@ check_PROGRAMS = tradius tballs teta \ + treimref trootofunity \ + tset tsin tsin_cos tsinh tsqr tsqrt tstrtoc tsub tsub_fr \ + tsub_ui tsum tswap ttan ttanh tui_div tui_ui_sub \ +- tget_version texceptions ++ tget_version texceptions tdummy + + check_LTLIBRARIES=libmpc-tests.la + libmpc_tests_la_SOURCES = mpc-tests.h check_data.c clear_parameters.c \ +diff --git a/tests/mpc-tests.h b/tests/mpc-tests.h +index ecd10b7..57ac632 100644 +--- a/tests/mpc-tests.h ++++ b/tests/mpc-tests.h +@@ -22,7 +22,9 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + #define __MPC_TESTS_H + + #include "config.h" ++#ifndef DONT_INCLUDE_STDIO + #include ++#endif + #include + #include + #include /* for the PRIi64 format modifier */ +diff --git a/tests/tdummy.c b/tests/tdummy.c +new file mode 100644 +index 0000000..23072f5 +--- /dev/null ++++ b/tests/tdummy.c +@@ -0,0 +1,33 @@ ++/* tdummy -- test file when stdio.h is not included ++ ++Copyright (C) 2022 INRIA ++ ++This file is part of GNU MPC. ++ ++GNU MPC is free software; you can redistribute it and/or modify it under ++the terms of the GNU Lesser General Public License as published by the ++Free Software Foundation; either version 3 of the License, or (at your ++option) any later version. ++ ++GNU MPC is distributed in the hope that it will be useful, but WITHOUT ANY ++WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for ++more details. ++ ++You should have received a copy of the GNU Lesser General Public License ++along with this program. If not, see http://www.gnu.org/licenses/ . ++*/ ++ ++#define DONT_INCLUDE_STDIO ++#include "mpc-tests.h" ++ ++int ++main (void) ++{ ++ test_start (); ++ ++ test_end (); ++ ++ return 0; ++} ++ +-- +2.39.0 + +From 3c582150facc14230a157e927d07ff2398ab5f3e Mon Sep 17 00:00:00 2001 +From: Paul Zimmermann +Date: Mon, 12 Dec 2022 10:55:05 +0100 +Subject: [PATCH 3/6] fixed last commit + +--- + tests/mpc-tests.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/mpc-tests.h b/tests/mpc-tests.h +index 57ac632..c6b5679 100644 +--- a/tests/mpc-tests.h ++++ b/tests/mpc-tests.h +@@ -141,6 +141,7 @@ extern int same_mpc_value (mpc_ptr got, mpc_ptr ref, + known_signs_t known_signs); + + /** READ FILE WITH TEST DATA SET **/ ++#ifndef DONT_INCLUDE_STDIO + extern FILE * open_data_file (const char *file_name); + extern void close_data_file (FILE *fp); + +@@ -155,6 +156,7 @@ extern size_t read_string (FILE *fp, char **buffer_ptr, + size_t buffer_length, const char *name); + extern void read_mpfr (FILE *fp, mpfr_ptr x, int *known_sign); + extern void read_mpc (FILE *fp, mpc_ptr z, known_signs_t *ks); ++#endif + + void set_mpfr_flags (int counter); + void check_mpfr_flags (int counter); +@@ -287,6 +289,7 @@ typedef struct { + void read_description (mpc_fun_param_t* param, const char *file); + const char* read_description_findname (mpc_param_t e); + ++#ifndef DONT_INCLUDE_STDIO + /* file functions */ + typedef struct { + char *pathname; +@@ -339,6 +342,7 @@ void tpl_read_mpc (mpc_datafile_context_t* datafile_context, + mpc_data_t* z); + void tpl_read_mpc_rnd (mpc_datafile_context_t* datafile_context, + mpc_rnd_t* rnd); ++#endif + + int tpl_same_mpz_value (mpz_ptr n1, mpz_ptr n2); + int tpl_same_mpfr_value (mpfr_ptr x1, mpfr_ptr x2, int known_sign); +-- +2.39.0 + +From 8cd19d81f3e2aebbd58d8204da8ada50e8e8dfc1 Mon Sep 17 00:00:00 2001 +From: Andreas Enge +Date: Mon, 12 Dec 2022 11:23:40 +0100 +Subject: [PATCH 4/6] Do not explicitly include stdio.h in mpc-impl.h. + +Several files include it on their own for MPC_ASSERT. + +* src/mpc-impl.h, src/radius.c: Do not include stdio.h. +* tests/teta.c: Include mpc-tests.h instead of mpc-impl.h. +* src/balls.c (mpcb_out_str, mpcr_out_str): Define only when + _GMP_H_HAVE_FILE is defined, in accordance with mpc.h. +* NEWS: Add entry for bug fix. +--- + NEWS | 4 ++++ + src/balls.c | 2 ++ + src/mpc-impl.h | 3 --- + src/radius.c | 4 +++- + tests/teta.c | 2 +- + 5 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/NEWS b/NEWS +index ef6ff8b..c113262 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,7 @@ ++Changes in version 1.3.1, released in December 2022: ++ - Bug fix: It is again possible to include mpc.h without including ++ stdio.h. ++ + Changes in version 1.3.0 ("Ipomoea batatas"), released in December 2022: + - New function: mpc_agm + - New rounding modes "away from zero", indicated by the letter "A" and +diff --git a/src/balls.c b/src/balls.c +index ecaecd5..03a44a8 100644 +--- a/src/balls.c ++++ b/src/balls.c +@@ -21,6 +21,7 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + #include "mpc-impl.h" + + ++#ifdef _GMP_H_HAVE_FILE + void mpcb_out_str (FILE *f, mpcb_srcptr op) + { + mpc_out_str (f, 10, 0, op->c, MPC_RNDNN); +@@ -28,6 +29,7 @@ void mpcb_out_str (FILE *f, mpcb_srcptr op) + mpcr_out_str (f, op->r); + fprintf (f, "\n"); + } ++#endif + + + void +diff --git a/src/mpc-impl.h b/src/mpc-impl.h +index a915751..3f46121 100644 +--- a/src/mpc-impl.h ++++ b/src/mpc-impl.h +@@ -27,9 +27,6 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + #ifdef HAVE_STDLIB_H + #include + #endif +-#ifndef DONT_INCLUDE_STDIO +-#include +-#endif + #include "mpc.h" + + /* +diff --git a/src/radius.c b/src/radius.c +index 98ae8d5..88c7d71 100644 +--- a/src/radius.c ++++ b/src/radius.c +@@ -18,7 +18,6 @@ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see http://www.gnu.org/licenses/ . + */ + +-#include + #include + #include /* for the PRIi64 format modifier */ + #include "mpc-impl.h" +@@ -405,6 +404,8 @@ int64_t mpcr_get_exp (mpcr_srcptr r) + return MPCR_EXP (r) + 31; + } + ++ ++#ifdef _GMP_H_HAVE_FILE + void mpcr_out_str (FILE *f, mpcr_srcptr r) + { + if (mpcr_inf_p (r)) +@@ -415,6 +416,7 @@ void mpcr_out_str (FILE *f, mpcr_srcptr r) + fprintf (f, "±(%" PRIi64 ", %" PRIi64 ")", MPCR_MANT (r), MPCR_EXP (r)); + } + } ++#endif + + + static void mpcr_mul_rnd (mpcr_ptr r, mpcr_srcptr s, mpcr_srcptr t, +diff --git a/tests/teta.c b/tests/teta.c +index 1154d66..a8bb317 100644 +--- a/tests/teta.c ++++ b/tests/teta.c +@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + */ + + #include +-#include "mpc-impl.h" ++#include "mpc-tests.h" + + static void + mpcb_j_err (mpcb_ptr j, mpc_srcptr z, unsigned long int err_re, +-- +2.39.0 + +From 2bf963605442b2693c7adc06f37957984e0ced56 Mon Sep 17 00:00:00 2001 +From: Andreas Enge +Date: Mon, 12 Dec 2022 11:46:31 +0100 +Subject: [PATCH 5/6] Simplify tdummy test. + +* tests/tdummy.c: Include mpc.h without stdio.h; the test always succeeds + at run time, but may fail during compilation if there is an error in + mpc.h. +* tests/mpc-tests.h: Drop DONT_INCLUDE_STDIO macro. +--- + tests/mpc-tests.h | 6 ------ + tests/tdummy.c | 7 +------ + 2 files changed, 1 insertion(+), 12 deletions(-) + +diff --git a/tests/mpc-tests.h b/tests/mpc-tests.h +index c6b5679..ecd10b7 100644 +--- a/tests/mpc-tests.h ++++ b/tests/mpc-tests.h +@@ -22,9 +22,7 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + #define __MPC_TESTS_H + + #include "config.h" +-#ifndef DONT_INCLUDE_STDIO + #include +-#endif + #include + #include + #include /* for the PRIi64 format modifier */ +@@ -141,7 +139,6 @@ extern int same_mpc_value (mpc_ptr got, mpc_ptr ref, + known_signs_t known_signs); + + /** READ FILE WITH TEST DATA SET **/ +-#ifndef DONT_INCLUDE_STDIO + extern FILE * open_data_file (const char *file_name); + extern void close_data_file (FILE *fp); + +@@ -156,7 +153,6 @@ extern size_t read_string (FILE *fp, char **buffer_ptr, + size_t buffer_length, const char *name); + extern void read_mpfr (FILE *fp, mpfr_ptr x, int *known_sign); + extern void read_mpc (FILE *fp, mpc_ptr z, known_signs_t *ks); +-#endif + + void set_mpfr_flags (int counter); + void check_mpfr_flags (int counter); +@@ -289,7 +285,6 @@ typedef struct { + void read_description (mpc_fun_param_t* param, const char *file); + const char* read_description_findname (mpc_param_t e); + +-#ifndef DONT_INCLUDE_STDIO + /* file functions */ + typedef struct { + char *pathname; +@@ -342,7 +337,6 @@ void tpl_read_mpc (mpc_datafile_context_t* datafile_context, + mpc_data_t* z); + void tpl_read_mpc_rnd (mpc_datafile_context_t* datafile_context, + mpc_rnd_t* rnd); +-#endif + + int tpl_same_mpz_value (mpz_ptr n1, mpz_ptr n2); + int tpl_same_mpfr_value (mpfr_ptr x1, mpfr_ptr x2, int known_sign); +diff --git a/tests/tdummy.c b/tests/tdummy.c +index 23072f5..e525609 100644 +--- a/tests/tdummy.c ++++ b/tests/tdummy.c +@@ -18,16 +18,11 @@ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see http://www.gnu.org/licenses/ . + */ + +-#define DONT_INCLUDE_STDIO +-#include "mpc-tests.h" ++#include "mpc.h" + + int + main (void) + { +- test_start (); +- +- test_end (); +- + return 0; + } + +-- +2.39.0 + +From 8fe31f02431b3680f09bf1346787276ddb2274a2 Mon Sep 17 00:00:00 2001 +From: Andreas Enge +Date: Mon, 12 Dec 2022 15:30:57 +0100 +Subject: [PATCH 6/6] Include header file. + +This was detected by trying to compile with gmp-5.0.0 and mpfr-4.1.0. + +* src/balls.c, src/eta.c: Include limits.h. +--- + src/balls.c | 1 + + src/eta.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/balls.c b/src/balls.c +index 03a44a8..a18d37f 100644 +--- a/src/balls.c ++++ b/src/balls.c +@@ -18,6 +18,7 @@ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see http://www.gnu.org/licenses/ . + */ + ++#include /* for CHAR_BIT */ + #include "mpc-impl.h" + + +diff --git a/src/eta.c b/src/eta.c +index 7d397f0..0651e15 100644 +--- a/src/eta.c ++++ b/src/eta.c +@@ -19,6 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/ . + */ + + #include ++#include /* for CHAR_BIT */ + #include "mpc-impl.h" + + static void +-- +2.39.0 + diff --git a/main/libmpc/version b/main/libmpc/version new file mode 100644 index 00000000..957d07e2 --- /dev/null +++ b/main/libmpc/version @@ -0,0 +1 @@ +1.3.1 1 diff --git a/main/libmpeg2/.PKGINFO b/main/libmpeg2/.PKGINFO new file mode 100644 index 00000000..69580d29 --- /dev/null +++ b/main/libmpeg2/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libmpeg2 +pkgbase = libmpeg2 +xdata = pkgtype=pkg +pkgver = 0.5.1-10 +pkgdesc = Library for decoding MPEG-1 and MPEG-2 video streams +url = https://libmpeg2.sourceforge.io/ +builddate = 1714008528 +packager = Developer +size = 238340 +arch = x86_64 +license = GPL-2.0-or-later +depend = glibc diff --git a/main/libmpeg2/PKGBUILD b/main/libmpeg2/PKGBUILD new file mode 100644 index 00000000..b9d29061 --- /dev/null +++ b/main/libmpeg2/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmpeg2 +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for decoding MPEG-1 and MPEG-2 video streams' +arch=('x86_64') +url='https://libmpeg2.sourceforge.io/' +license=('GPL-2.0-or-later') +depends=('glibc') +makedepends=('libxv' 'sdl') +optdepends=('libxv: mpeg2dec command' + 'sdl: mpeg2dec command') +source=("https://libmpeg2.sourceforge.io/files/$pkgname-$pkgver.tar.gz") +sha256sums=('dee22e893cb5fc2b2b6ebd60b88478ab8556cb3b93f9a0d7ce8f3b61851871d4') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libmpeg2/README b/main/libmpeg2/README new file mode 100644 index 00000000..b36ce243 --- /dev/null +++ b/main/libmpeg2/README @@ -0,0 +1,43 @@ +libmpeg2 +________________________________________________________________________________ + +Library for decoding MPEG-1 and MPEG-2 video streams + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmpeg2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libmpeg2.sourceforge.io/ diff --git a/main/libmpeg2/version b/main/libmpeg2/version new file mode 100644 index 00000000..2e16b0c7 --- /dev/null +++ b/main/libmpeg2/version @@ -0,0 +1 @@ +0.5.1 10 diff --git a/main/libmspack/PKGBUILD b/main/libmspack/PKGBUILD new file mode 100644 index 00000000..817e47a9 --- /dev/null +++ b/main/libmspack/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmspack +epoch=1 +pkgver=%version% +pkgrel=%release% +pkgdesc='A library for Microsoft compression formats' +url='https://www.cabextract.org.uk/libmspack/' +arch=('x86_64') +license=('GPL') +depends=('glibc') +makedepends=('git') +provides=('libmspack.so') +source=("git+https://github.com/kyz/libmspack#tag=v${pkgver}") +sha256sums=('8772ea127d0e09f6ae60e7780634fbf0467e26fa0dc429bc207395b0117c447a') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname/$pkgname + autoreconf -vfi +} + +build() { + cd $pkgname/$pkgname + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname/$pkgname + make check +} + +package() { + cd $pkgname/$pkgname + make DESTDIR="$pkgdir" install +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libmspack/README b/main/libmspack/README new file mode 100644 index 00000000..6c4c867f --- /dev/null +++ b/main/libmspack/README @@ -0,0 +1,43 @@ +libmspack +________________________________________________________________________________ + +A library for Microsoft compression formats + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmspack | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.cabextract.org.uk/libmspack/ diff --git a/main/libmspack/version b/main/libmspack/version new file mode 100644 index 00000000..1c832f37 --- /dev/null +++ b/main/libmspack/version @@ -0,0 +1 @@ +1.11 1 diff --git a/main/libmtp/.nvchecker.toml b/main/libmtp/.nvchecker.toml new file mode 100644 index 00000000..c9b74874 --- /dev/null +++ b/main/libmtp/.nvchecker.toml @@ -0,0 +1,4 @@ +[libmtp] +source = 'regex' +url = 'https://sourceforge.net/projects/libmtp/files/libmtp/' +regex = 'libmtp/([\d.]+)/' diff --git a/main/libmtp/PKGBUILD b/main/libmtp/PKGBUILD new file mode 100644 index 00000000..3015b0c7 --- /dev/null +++ b/main/libmtp/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmtp +pkgver=%version% +pkgrel=%release% +pkgdesc='Library implementation of the Media Transfer Protocol' +arch=(x86_64) +url='http://libmtp.sourceforge.net' +license=(LGPL) +depends=(libusb) +makedepends=(doxygen) +source=(https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz{,.asc}) +sha256sums=('c4ffa5ab8c8f48c91b0047f2e253c101c418d5696a5ed65c839922a4280872a7' + 'SKIP') +validpgpkeys=(7C4AFD61D8AAE7570796A5172209D6902F969C95) # Marcus Meißner + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --with-udev=/usr/lib/udev + make +} + +check() { + cd $pkgname-$pkgver + make -k check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + +# Install man page + install -Dm644 doc/man/man3/*.3 -t "$pkgdir"/usr/share/man/man3/ +} diff --git a/main/libmtp/README b/main/libmtp/README new file mode 100644 index 00000000..c372ec87 --- /dev/null +++ b/main/libmtp/README @@ -0,0 +1,43 @@ +libmtp +________________________________________________________________________________ + +Library implementation of the Media Transfer Protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmtp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://libmtp.sourceforge.net diff --git a/main/libmtp/version b/main/libmtp/version new file mode 100644 index 00000000..0319d029 --- /dev/null +++ b/main/libmtp/version @@ -0,0 +1 @@ +1.1.21 1 diff --git a/main/libmysofa/PKGBUILD b/main/libmysofa/PKGBUILD new file mode 100644 index 00000000..6609955c --- /dev/null +++ b/main/libmysofa/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libmysofa +pkgver=%version% +pkgrel=%release% +pkgdesc='C library to read HRTFs if they are stored in the AES69-2015 SOFA format' +arch=('x86_64') +url='https://github.com/hoene/libmysofa/' +license=('BSD') +depends=('zlib') +makedepends=('cmake' 'cunit') +checkdepends=('nodejs') +provides=('libmysofa.so') +source=("https://github.com/hoene/libmysofa/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('6c5224562895977e87698a64cb7031361803d136057bba35ed4979b69ab4ba76') + +build() { + cmake \ + -G 'Unix Makefiles' \ + -B "${pkgname}-${pkgver}/build" \ + -S "${pkgname}-${pkgver}" \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DCODE_COVERAGE:BOOL='OFF' \ + -Wno-dev + cmake --build "${pkgname}-${pkgver}/build" +} + +check() { + ctest --test-dir "${pkgname}-${pkgver}/build" --output-on-failure --stop-on-failure +} + +package() { + DESTDIR="${pkgdir}" cmake --install "${pkgname}-${pkgver}/build" + install -D -m644 "${pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/main/libmysofa/README b/main/libmysofa/README new file mode 100644 index 00000000..809bb509 --- /dev/null +++ b/main/libmysofa/README @@ -0,0 +1,43 @@ +libmysofa +________________________________________________________________________________ + +C library to read HRTFs if they are stored in the AES69-2015 SOFA format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libmysofa | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/hoene/libmysofa/ diff --git a/main/libmysofa/version b/main/libmysofa/version new file mode 100644 index 00000000..a8cebfe5 --- /dev/null +++ b/main/libmysofa/version @@ -0,0 +1 @@ +1.3.2 1 diff --git a/main/libndp/PKGBUILD b/main/libndp/PKGBUILD new file mode 100644 index 00000000..2364aeb8 --- /dev/null +++ b/main/libndp/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libndp +pkgver=%version% +pkgrel=%release% +pkgdesc="Library for Neighbor Discovery Protocol" +arch=(x86_64) +url="http://libndp.org/" +license=(LGPL) +depends=(glibc) +makedepends=(git) +_commit=009ce9cd9b950ffa1f4f94c9436027b936850d0c # tags/v1.8 +source=("git+https://github.com/jpirko/libndp#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^v//;s/-/+/g' +} + +prepare() { + cd $pkgname + ./autogen.sh +} + +build() { + cd $pkgname + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --libexecdir=/usr/lib + make +} + +check() { + cd $pkgname + make check +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install +} diff --git a/main/libndp/README b/main/libndp/README new file mode 100644 index 00000000..e186e2c4 --- /dev/null +++ b/main/libndp/README @@ -0,0 +1,43 @@ +libndp +________________________________________________________________________________ + +Library for Neighbor Discovery Protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libndp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://libndp.org/ diff --git a/main/libndp/version b/main/libndp/version new file mode 100644 index 00000000..33fba2c3 --- /dev/null +++ b/main/libndp/version @@ -0,0 +1 @@ +1.8 1 diff --git a/main/libnetfilter_conntrack/PKGBUILD b/main/libnetfilter_conntrack/PKGBUILD new file mode 100644 index 00000000..4294dd78 --- /dev/null +++ b/main/libnetfilter_conntrack/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnetfilter_conntrack +pkgver=%version% +pkgrel=%release% +pkgdesc='Library providing an API to the in-kernel connection tracking state table' +arch=('x86_64') +depends=('libnfnetlink' 'libmnl') +url='https://www.netfilter.org/projects/libnetfilter_conntrack/' +license=('GPL') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha256sums=('67bd9df49fe34e8b82144f6dfb93b320f384a8ea59727e92ff8d18b5f4b579a8' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + + +# vim:set ts=2 sw=2 et: diff --git a/main/libnetfilter_conntrack/README b/main/libnetfilter_conntrack/README new file mode 100644 index 00000000..288d6b1b --- /dev/null +++ b/main/libnetfilter_conntrack/README @@ -0,0 +1,43 @@ +libnetfilter_conntrack +________________________________________________________________________________ + +Library providing an API to the in-kernel connection tracking state table + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnetfilter_conntrack | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.netfilter.org/projects/libnetfilter_conntrack/ diff --git a/main/libnetfilter_conntrack/version b/main/libnetfilter_conntrack/version new file mode 100644 index 00000000..9dfd5878 --- /dev/null +++ b/main/libnetfilter_conntrack/version @@ -0,0 +1 @@ +1.0.9 2 diff --git a/main/libnewt/.PKGINFO b/main/libnewt/.PKGINFO new file mode 100644 index 00000000..15241fda --- /dev/null +++ b/main/libnewt/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libnewt +pkgbase = libnewt +xdata = pkgtype=pkg +pkgver = 0.52.24-2 +pkgdesc = Not Erik's Windowing Toolkit - text mode windowing with slang +url = https://pagure.io/newt +builddate = 1714401240 +packager = Developer +size = 281554 +arch = x86_64 +license = GPL +depend = gpm +depend = popt +depend = slang +optdepend = python: libnewt support with the _snack module +optdepend = tcl: whiptcl support +makedepend = python +makedepend = tcl>=8.6 diff --git a/main/libnewt/PKGBUILD b/main/libnewt/PKGBUILD new file mode 100644 index 00000000..00c76717 --- /dev/null +++ b/main/libnewt/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnewt +pkgver=%version% +pkgrel=%release% +_tclver=8.6 +pkgdesc="Not Erik's Windowing Toolkit - text mode windowing with slang" +arch=(x86_64) +url='https://pagure.io/newt' +license=(GPL) +depends=(gpm popt slang) +makedepends=(python "tcl>=$_tclver") +optdepends=('python: libnewt support with the _snack module' + 'tcl: whiptcl support') +options=(!makeflags) +source=("https://releases.pagure.org/newt/newt-$pkgver.tar.gz") +b2sums=('4ab5b343d1cc72855ee330d4a7f03a0dd5b090748410b64844277a7d9464f9166459ac6d943d07e844b22b7187ed851473840739dde8991e3b4b2dae97e6dcf4') + +prepare() { + cd newt-$pkgver + echo '#define USE_INTERP_RESULT 1' >> config.h + sed -i "s:tcl8.4:tcl$_tclver:" Makefile.in +} + +build() { + cd newt-$pkgver + ./configure --prefix=/usr --with-gpm-support + make +} + +package() { + make -C newt-$pkgver prefix="$pkgdir/usr" install +} diff --git a/main/libnewt/README b/main/libnewt/README new file mode 100644 index 00000000..955163b8 --- /dev/null +++ b/main/libnewt/README @@ -0,0 +1,43 @@ +libnewt +________________________________________________________________________________ + +Not Erik's Windowing Toolkit - text mode windowing with slang + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnewt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pagure.io/newt diff --git a/main/libnewt/version b/main/libnewt/version new file mode 100644 index 00000000..fcc845b8 --- /dev/null +++ b/main/libnewt/version @@ -0,0 +1 @@ +0.52.24 2 diff --git a/main/libnfnetlink/PKGBUILD b/main/libnfnetlink/PKGBUILD new file mode 100644 index 00000000..dc1b9c08 --- /dev/null +++ b/main/libnfnetlink/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnfnetlink +pkgver=%version% +pkgrel=%release% +pkgdesc='Low-level library for netfilter related kernel/userspace communication' +arch=('x86_64') +url='https://www.netfilter.org/projects/libnfnetlink/' +license=('GPL') +depends=('glibc') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha256sums=('b064c7c3d426efb4786e60a8e6859b82ee2f2c5e49ffeea640cfe4fe33cbc376' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libnfnetlink/README b/main/libnfnetlink/README new file mode 100644 index 00000000..40f5a225 --- /dev/null +++ b/main/libnfnetlink/README @@ -0,0 +1,43 @@ +libnfnetlink +________________________________________________________________________________ + +Low-level library for netfilter related kernel/userspace communication + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnfnetlink | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.netfilter.org/projects/libnfnetlink/ diff --git a/main/libnfnetlink/version b/main/libnfnetlink/version new file mode 100644 index 00000000..f662b148 --- /dev/null +++ b/main/libnfnetlink/version @@ -0,0 +1 @@ +1.0.2 2 diff --git a/main/libnftnl/PKGBUILD b/main/libnftnl/PKGBUILD new file mode 100644 index 00000000..620a275f --- /dev/null +++ b/main/libnftnl/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnftnl +pkgver=%version% +pkgrel=%release% +pkgdesc='Netfilter library providing interface to the nf_tables subsystem' +arch=('x86_64') +url='https://netfilter.org/projects/libnftnl/' +license=('GPL2') +depends=('libmnl') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://netfilter.org/projects/libnftnl/files/libnftnl-$pkgver.tar.xz"{,.sig}) +sha256sums=('ceeaea2cd92147da19f13a35a7f1a4bc2767ff897e838e4b479cf54b59c777f4' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libnftnl/README b/main/libnftnl/README new file mode 100644 index 00000000..26653486 --- /dev/null +++ b/main/libnftnl/README @@ -0,0 +1,43 @@ +libnftnl +________________________________________________________________________________ + +Netfilter library providing interface to the nf_tables subsystem + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnftnl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://netfilter.org/projects/libnftnl/ diff --git a/main/libnftnl/version b/main/libnftnl/version new file mode 100644 index 00000000..815496e6 --- /dev/null +++ b/main/libnftnl/version @@ -0,0 +1 @@ +1.2.6 1 diff --git a/main/libnghttp2/.PKGINFO b/main/libnghttp2/.PKGINFO new file mode 100644 index 00000000..69bfa8a0 --- /dev/null +++ b/main/libnghttp2/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libnghttp2 +pkgbase = libnghttp2 +xdata = pkgtype=pkg +pkgver = 1.62.1-1 +pkgdesc = Framing layer of HTTP/2 is implemented as a reusable C library +url = https://nghttp2.org/ +builddate = 1716419860 +packager = Developer +size = 419773 +arch = x86_64 +license = MIT +conflict = nghttp2<1.20.0-2 +provides = libnghttp2.so=14-64 +depend = glibc +makedepend = git diff --git a/main/libnghttp2/PKGBUILD b/main/libnghttp2/PKGBUILD new file mode 100644 index 00000000..27dd681c --- /dev/null +++ b/main/libnghttp2/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnghttp2 +pkgver=%version% +pkgrel=%release% +pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library' +arch=('x86_64') +url='https://nghttp2.org/' +license=('MIT') +depends=('glibc') +provides=('libnghttp2.so') +makedepends=('git') +conflicts=('nghttp2<1.20.0-2') +validpgpkeys=('F4F3B91474D1EB29889BD0EF7E8403D5D673C366') # Tatsuhiro Tsujikawa +source=("git+https://github.com/nghttp2/nghttp2.git#tag=v${pkgver}?signed" + 'git+https://github.com/ngtcp2/munit.git' + 'git+https://github.com/mruby/mruby.git' + 'git+https://github.com/tatsuhiro-t/neverbleed.git') +sha512sums=('a347249408552b1928ca42955a094be9c69a56fe9eb4a21ec8ac62c8c99ce8fa13a3fb2b1ba6363c75ac73a169ac62cbd954cfad607e872e821a6348817027e4' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare() { + cd nghttp2 + + git config --file=.gitmodules submodule.tests/munit.url ../munit/ + git config --file=.gitmodules submodule.third-party/mruby.url ../mruby/ + git config --file=.gitmodules submodule.tests/neverbleed.url ../neverbleed/ + + git submodule init + git -c protocol.file.allow=always submodule update + + autoreconf -i +} + +build() { + cd nghttp2 + + ./configure \ + --prefix=/usr \ + --disable-examples \ + --disable-python-bindings \ + --enable-lib-only + make +} + +check() { + cd nghttp2 + make check +} + +package() { + cd nghttp2/lib + + make DESTDIR="$pkgdir" install + install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING" +} diff --git a/main/libnghttp2/README b/main/libnghttp2/README new file mode 100644 index 00000000..b06c3e2f --- /dev/null +++ b/main/libnghttp2/README @@ -0,0 +1,43 @@ +libnghttp2 +________________________________________________________________________________ + +Framing layer of HTTP/2 is implemented as a reusable C library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnghttp2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://nghttp2.org/ diff --git a/main/libnghttp2/version b/main/libnghttp2/version new file mode 100644 index 00000000..cf4f792a --- /dev/null +++ b/main/libnghttp2/version @@ -0,0 +1 @@ +1.62.1 1 diff --git a/main/libnghttp3/.PKGINFO b/main/libnghttp3/.PKGINFO new file mode 100644 index 00000000..e8877bdf --- /dev/null +++ b/main/libnghttp3/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libnghttp3 +pkgbase = libnghttp3 +xdata = pkgtype=pkg +pkgver = 1.3.0-1 +pkgdesc = HTTP/3 library written in C +url = https://github.com/ngtcp2/nghttp3 +builddate = 1715739091 +packager = Developer +size = 237971 +arch = x86_64 +license = MIT +provides = libnghttp3.so=9-64 +depend = glibc diff --git a/main/libnghttp3/PKGBUILD b/main/libnghttp3/PKGBUILD new file mode 100644 index 00000000..b0ea1292 --- /dev/null +++ b/main/libnghttp3/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnghttp3 +pkgver=%version% +pkgrel=%release% +pkgdesc="HTTP/3 library written in C" +url='https://github.com/ngtcp2/nghttp3' +arch=('x86_64') +license=('MIT') +provides=('libnghttp3.so') +validpgpkeys=('F4F3B91474D1EB29889BD0EF7E8403D5D673C366') # Tatsuhiro Tsujikawa +source=("https://github.com/ngtcp2/nghttp3/releases/download/v${pkgver}/nghttp3-${pkgver}.tar.xz"{,.asc}) +sha256sums=('d2e216bae7bd7362f850922e4237a5caa204853b3594b22adccab4c1e1c1d1aa' + 'SKIP') + +prepare() { + cd nghttp3-${pkgver} + autoreconf -i +} + +build() { + cd nghttp3-${pkgver} + ./configure \ + --prefix=/usr + make +} + +check() { + cd nghttp3-${pkgver} + make check +} + +package() { + cd nghttp3-${pkgver}/lib + make DESTDIR="${pkgdir}" install + install -Dm644 ../COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libnghttp3/README b/main/libnghttp3/README new file mode 100644 index 00000000..c2cc3973 --- /dev/null +++ b/main/libnghttp3/README @@ -0,0 +1,43 @@ +libnghttp3 +________________________________________________________________________________ + +HTTP/3 library written in C + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnghttp3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/ngtcp2/nghttp3 diff --git a/main/libnghttp3/version b/main/libnghttp3/version new file mode 100644 index 00000000..0a2d7f2b --- /dev/null +++ b/main/libnghttp3/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/main/libnl/PKGBUILD b/main/libnl/PKGBUILD new file mode 100644 index 00000000..f289eeb9 --- /dev/null +++ b/main/libnl/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnl +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for applications dealing with netlink sockets' +arch=('x86_64') +url='https://github.com/thom311/libnl/' +license=('GPL') +depends=('glibc' 'gcc-libs') +provides=('libnl-3.so' 'libnl-cli-3.so' 'libnl-genl-3.so' 'libnl-idiag-3.so' + 'libnl-nf-3.so' 'libnl-route-3.so' 'libnl-xfrm-3.so') +backup=('etc/libnl/classid' + 'etc/libnl/pktloc') +validpgpkeys=('49EA7C670E0850E7419514F629C2366E4DFC5728') # Thomas Haller +source=("https://github.com/thom311/libnl/releases/download/libnl${pkgver//./_}/${pkgname}-${pkgver}.tar.gz"{,.sig}) +sha256sums=('aed507004d728a5cf11eab48ca4bf9e6e1874444e33939b9d3dfed25018ee9bb' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --disable-static + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} diff --git a/main/libnl/README b/main/libnl/README new file mode 100644 index 00000000..feb75ba9 --- /dev/null +++ b/main/libnl/README @@ -0,0 +1,43 @@ +libnl +________________________________________________________________________________ + +Library for applications dealing with netlink sockets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/thom311/libnl/ diff --git a/main/libnl/version b/main/libnl/version new file mode 100644 index 00000000..55ba938e --- /dev/null +++ b/main/libnl/version @@ -0,0 +1 @@ +3.9.0 1 diff --git a/main/libnma/PKGBUILD b/main/libnma/PKGBUILD new file mode 100644 index 00000000..c1f05a3b --- /dev/null +++ b/main/libnma/PKGBUILD @@ -0,0 +1,124 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libnma +pkgname=( + libnma-common + libnma + libnma-gtk4 +) +pkgver=%version% +pkgrel=%release% +pkgdesc="NetworkManager GUI client library" +url="https://gitlab.gnome.org/GNOME/libnma" +arch=(x86_64) +license=( + GPL-2.0-or-later + LGPL-2.1-or-later +) +makedepends=( + dconf + gcr-4 + git + gobject-introspection + gtk-doc + gtk3 + gtk4 + iso-codes + libnm + meson + mobile-broadband-provider-info + vala +) +_commit=3e324b69d0d74c8693fb58b9ee66efe0bad6cb34 # tags/1.10.6^0 +source=( + "git+https://gitlab.gnome.org/GNOME/libnma.git#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd libnma + git describe --tags | sed 's/-dev/dev/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libnma +} + +build() { + local meson_options=( + -D libnma_gtk4=true + ) + + arch-meson libnma build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_libnma-common() { + pkgdesc+=" (common files)" + depends=( + dconf + gcr-4 + iso-codes + libnm + mobile-broadband-provider-info + ) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + + _pick gtk3 usr/lib/libnma.so* + _pick gtk3 usr/lib/pkgconfig/libnma.pc + _pick gtk3 usr/lib/girepository-1.0/NMA-* + _pick gtk3 usr/share/gir-1.0/NMA-* + _pick gtk3 usr/share/vala/vapi/libnma.* + + _pick gtk4 usr/lib/libnma-gtk4.so* + _pick gtk4 usr/lib/pkgconfig/libnma-gtk4.pc + _pick gtk4 usr/lib/girepository-1.0/NMA4-* + _pick gtk4 usr/share/gir-1.0/NMA4-* + _pick gtk4 usr/share/vala/vapi/libnma-gtk4.* + + # Moved to network-manager-applet 1.30.0 + # https://bugs.archlinux.org/task/76489 + rm usr/share/glib-2.0/schemas/org.gnome.nm-applet.gschema.xml +} + +package_libnma() { + pkgdesc+=" (GTK3)" + depends=( + libnma-common="$pkgver-$pkgrel" + gtk3 + ) + provides=(libnma.so) + + mv gtk3/* "$pkgdir" +} + +package_libnma-gtk4() { + pkgdesc+=" (GTK4)" + depends=( + libnma-common="$pkgver-$pkgrel" + gtk4 + ) + provides=(libnma-gtk4.so) + + mv gtk4/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libnma/README b/main/libnma/README new file mode 100644 index 00000000..994249e7 --- /dev/null +++ b/main/libnma/README @@ -0,0 +1,43 @@ +libnma +________________________________________________________________________________ + +NetworkManager GUI client library NetworkManager GUI client library (common files) NetworkManager GUI client library (GTK3) NetworkManager GUI client library (GTK4) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnma | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/libnma diff --git a/main/libnma/version b/main/libnma/version new file mode 100644 index 00000000..1166ebe8 --- /dev/null +++ b/main/libnma/version @@ -0,0 +1 @@ +1.10.6 2 diff --git a/main/libnotify/PKGBUILD b/main/libnotify/PKGBUILD new file mode 100644 index 00000000..d72e6167 --- /dev/null +++ b/main/libnotify/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libnotify +pkgname=( + libnotify + libnotify-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Library for sending desktop notifications" +url="https://gitlab.gnome.org/GNOME/libnotify" +arch=(x86_64) +license=(LGPL) +depends=(gdk-pixbuf2) +makedepends=( + docbook-xsl + gi-docgen + git + gobject-introspection + gtk3 + meson + xmlto +) +_commit=6083790f9e0f1827147ecd8799c4dced0e86a877 # tags/0.8.3^0 +source=("git+$url.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_libnotify() { + depends+=( + libg{lib,object,io}-2.0.so + libgdk_pixbuf-2.0.so + ) + provides=(libnotify.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libnotify-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libnotify/README b/main/libnotify/README new file mode 100644 index 00000000..c72797fd --- /dev/null +++ b/main/libnotify/README @@ -0,0 +1,43 @@ +libnotify +________________________________________________________________________________ + +Library for sending desktop notifications Library for sending desktop notifications (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnotify | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/libnotify diff --git a/main/libnotify/version b/main/libnotify/version new file mode 100644 index 00000000..e47733e0 --- /dev/null +++ b/main/libnotify/version @@ -0,0 +1 @@ +0.8.3 1 diff --git a/main/libnsl/PKGBUILD b/main/libnsl/PKGBUILD new file mode 100644 index 00000000..ca847613 --- /dev/null +++ b/main/libnsl/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnsl +pkgver=%version% +pkgrel=%release% +pkgdesc="Public client interface library for NIS(YP)" +arch=(x86_64) +url="https://github.com/thkukuk/libnsl" +license=(LGPL-2.1-only) +depends=( + glibc + libtirpc +) +provides=(libnsl.so) +source=($url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz) +sha512sums=('1d9290c3123c0933f156808c388654698f7d6994c625cbbc492cc07d656b996c62847048b14b93b8eda632945096ace418a3418ee1f40ff2cc748a3278f987a4') +b2sums=('6988399a5c0f0dab89a47a026e8717f4a3276b0af7c7c507e7bcf1093951a258b54e84e09a679ff4e426ecffbcbb682c31ca393bde6cd92708e07d4709c203aa') + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/libnsl/README b/main/libnsl/README new file mode 100644 index 00000000..d162f595 --- /dev/null +++ b/main/libnsl/README @@ -0,0 +1,43 @@ +libnsl +________________________________________________________________________________ + +Public client interface library for NIS(YP) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnsl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/thkukuk/libnsl diff --git a/main/libnsl/version b/main/libnsl/version new file mode 100644 index 00000000..4a473510 --- /dev/null +++ b/main/libnsl/version @@ -0,0 +1 @@ +2.0.1 1 diff --git a/main/libnvme/.PKGINFO b/main/libnvme/.PKGINFO new file mode 100644 index 00000000..c23c8453 --- /dev/null +++ b/main/libnvme/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libnvme +pkgbase = libnvme +xdata = pkgtype=pkg +pkgver = 1.9-1 +pkgdesc = C Library for NVM Express on Linux +url = https://github.com/linux-nvme/libnvme +builddate = 1715045245 +packager = Developer +size = 1515212 +arch = x86_64 +license = LGPL2.1 +depend = json-c +depend = openssl +depend = keyutils +depend = dbus +makedepend = systemd +makedepend = meson +makedepend = asciidoc +makedepend = python +makedepend = swig diff --git a/main/libnvme/.nvchecker.toml b/main/libnvme/.nvchecker.toml new file mode 100644 index 00000000..82f4b404 --- /dev/null +++ b/main/libnvme/.nvchecker.toml @@ -0,0 +1,6 @@ +[libnvme] +source = "git" +git = "https://github.com/linux-nvme/libnvme.git" +prefix = "v" +use_max_tag = true +exclude_regex = ".*(rc).*" diff --git a/main/libnvme/PKGBUILD b/main/libnvme/PKGBUILD new file mode 100644 index 00000000..352e9f71 --- /dev/null +++ b/main/libnvme/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libnvme +pkgver=%version% +pkgrel=%release% +pkgdesc="C Library for NVM Express on Linux" +arch=('x86_64') +url="https://github.com/linux-nvme/libnvme" +license=('LGPL2.1') +makedepends=('systemd' 'meson' 'asciidoc' 'python' 'swig') +depends=('json-c' 'openssl' 'keyutils' 'dbus') +source=( + "$pkgname-$pkgver.tar.gz::https://github.com/linux-nvme/${pkgname}/archive/v${pkgver}.tar.gz" +) +sha256sums=('d59939a280eec41eb7a716e1681d0d0c612099385204ffb55d07134a6be08d75') + +build() { + cd "${pkgname}-${pkgver}" + arch-meson \ + -Dlibdbus=auto \ + -Ddocs-build=true \ + .build +} + +package() { + cd "${pkgname}-${pkgver}" + DESTDIR="$pkgdir" meson install -C .build +} diff --git a/main/libnvme/README b/main/libnvme/README new file mode 100644 index 00000000..08fa4274 --- /dev/null +++ b/main/libnvme/README @@ -0,0 +1,43 @@ +libnvme +________________________________________________________________________________ + +C Library for NVM Express on Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libnvme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/linux-nvme/libnvme diff --git a/main/libnvme/libnvme-1.6-allocate_aligned_payloads.patch b/main/libnvme/libnvme-1.6-allocate_aligned_payloads.patch new file mode 100644 index 00000000..89f74cc3 --- /dev/null +++ b/main/libnvme/libnvme-1.6-allocate_aligned_payloads.patch @@ -0,0 +1,118 @@ +From 8bb25dafc80802edde93b9d77e43abe370373dbe Mon Sep 17 00:00:00 2001 +From: Tomas Bzatek +Date: Tue, 10 Oct 2023 18:16:24 +0200 +Subject: [PATCH 1/2] util: Introduce alloc helper with alignment support + +Similar to nvme-cli an alloc helper is needed for a couple +of ioctls sent out during tree scan. + +Signed-off-by: Tomas Bzatek +--- + src/nvme/private.h | 2 ++ + src/nvme/util.c | 13 +++++++++++++ + 2 files changed, 15 insertions(+) + +diff --git a/src/nvme/private.h b/src/nvme/private.h +index 6fb9784a..ee9d738b 100644 +--- a/src/nvme/private.h ++++ b/src/nvme/private.h +@@ -182,6 +182,8 @@ nvme_ctrl_t __nvme_lookup_ctrl(nvme_subsystem_t s, const char *transport, + const char *host_iface, const char *trsvcid, + const char *subsysnqn, nvme_ctrl_t p); + ++void *__nvme_alloc(size_t len); ++ + #if (LOG_FUNCNAME == 1) + #define __nvme_log_func __func__ + #else +diff --git a/src/nvme/util.c b/src/nvme/util.c +index 8fe094d5..20679685 100644 +--- a/src/nvme/util.c ++++ b/src/nvme/util.c +@@ -7,6 +7,7 @@ + * Chaitanya Kulkarni + */ + ++#include + #include + #include + #include +@@ -1058,3 +1059,15 @@ bool nvme_iface_primary_addr_matches(const struct ifaddrs *iface_list, const cha + } + + #endif /* HAVE_NETDB */ ++ ++void *__nvme_alloc(size_t len) ++{ ++ size_t _len = round_up(len, 0x1000); ++ void *p; ++ ++ if (posix_memalign((void *)&p, getpagesize(), _len)) ++ return NULL; ++ ++ memset(p, 0, _len); ++ return p; ++} + +From a0b7cf48c0378f7892518eaf20ecaabae14521b0 Mon Sep 17 00:00:00 2001 +From: Tomas Bzatek +Date: Tue, 10 Oct 2023 18:18:38 +0200 +Subject: [PATCH 2/2] tree: Allocate aligned payloads for ns scan + +libnvme is actually doing some namespace identification +during tree scan, leading to stack smash on some systems. + +Signed-off-by: Tomas Bzatek +--- + src/nvme/tree.c | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +diff --git a/src/nvme/tree.c b/src/nvme/tree.c +index 00cf96f7..5636aa18 100644 +--- a/src/nvme/tree.c ++++ b/src/nvme/tree.c +@@ -2404,26 +2404,33 @@ static void nvme_ns_parse_descriptors(struct nvme_ns *n, + + static int nvme_ns_init(struct nvme_ns *n) + { +- struct nvme_id_ns ns = { }; +- uint8_t buffer[NVME_IDENTIFY_DATA_SIZE] = { }; +- struct nvme_ns_id_desc *descs = (void *)buffer; ++ struct nvme_id_ns *ns; ++ struct nvme_ns_id_desc *descs; + uint8_t flbas; + int ret; + +- ret = nvme_ns_identify(n, &ns); +- if (ret) ++ ns = __nvme_alloc(sizeof(*ns)); ++ if (!ns) ++ return 0; ++ ret = nvme_ns_identify(n, ns); ++ if (ret) { ++ free(ns); + return ret; ++ } + +- nvme_id_ns_flbas_to_lbaf_inuse(ns.flbas, &flbas); +- n->lba_shift = ns.lbaf[flbas].ds; ++ nvme_id_ns_flbas_to_lbaf_inuse(ns->flbas, &flbas); ++ n->lba_shift = ns->lbaf[flbas].ds; + n->lba_size = 1 << n->lba_shift; +- n->lba_count = le64_to_cpu(ns.nsze); +- n->lba_util = le64_to_cpu(ns.nuse); +- n->meta_size = le16_to_cpu(ns.lbaf[flbas].ms); ++ n->lba_count = le64_to_cpu(ns->nsze); ++ n->lba_util = le64_to_cpu(ns->nuse); ++ n->meta_size = le16_to_cpu(ns->lbaf[flbas].ms); + +- if (!nvme_ns_identify_descs(n, descs)) ++ descs = __nvme_alloc(NVME_IDENTIFY_DATA_SIZE); ++ if (descs && !nvme_ns_identify_descs(n, descs)) + nvme_ns_parse_descriptors(n, descs); + ++ free(ns); ++ free(descs); + return 0; + } + diff --git a/main/libnvme/version b/main/libnvme/version new file mode 100644 index 00000000..6346e5cc --- /dev/null +++ b/main/libnvme/version @@ -0,0 +1 @@ +1.9 1 diff --git a/main/libogg/.PKGINFO b/main/libogg/.PKGINFO new file mode 100644 index 00000000..49934129 --- /dev/null +++ b/main/libogg/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libogg +pkgbase = libogg +xdata = pkgtype=pkg +pkgver = 1.3.5-2 +pkgdesc = Ogg bitstream and framing library +url = https://www.xiph.org/ogg/ +builddate = 1718491620 +packager = Developer +size = 461761 +arch = x86_64 +license = BSD +provides = libogg.so=0-64 +depend = glibc +makedepend = cmake +makedepend = git +makedepend = ninja diff --git a/main/libogg/PKGBUILD b/main/libogg/PKGBUILD new file mode 100644 index 00000000..6e307407 --- /dev/null +++ b/main/libogg/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libogg +pkgver=%version% +pkgrel=%release% +pkgdesc='Ogg bitstream and framing library' +arch=(x86_64) +url=https://www.xiph.org/ogg/ +license=(BSD) +depends=(glibc) +makedepends=( + cmake + git + ninja +) +provides=(libogg.so) +source=(git+https://github.com/xiph/ogg.git?signed#tag=65b355cc20171010ecabf245e7b339aeab8ddbb9) +sha256sums=(SKIP) +validpgpkeys=(B7B00AEE1F960EEA0FED66FB9259A8F2D2D44C84) # Ralph Giles + +pkgver() { + cd ogg + git describe --tags | sed 's/^v//' +} + +prepare() { + cd ogg +} + +build() { + cmake -S ogg -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build + install -Dm 644 ogg/COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}/ + install -Dm 644 ogg/ogg.m4 -t "${pkgdir}"/usr/share/aclocal/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libogg/README b/main/libogg/README new file mode 100644 index 00000000..92d137aa --- /dev/null +++ b/main/libogg/README @@ -0,0 +1,43 @@ +libogg +________________________________________________________________________________ + +Ogg bitstream and framing library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libogg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.xiph.org/ogg/ diff --git a/main/libogg/version b/main/libogg/version new file mode 100644 index 00000000..afdc81d3 --- /dev/null +++ b/main/libogg/version @@ -0,0 +1 @@ +1.3.5 2 diff --git a/main/libomxil-bellagio/PKGBUILD b/main/libomxil-bellagio/PKGBUILD new file mode 100644 index 00000000..2bb37988 --- /dev/null +++ b/main/libomxil-bellagio/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libomxil-bellagio +pkgver=%version% +pkgrel=%release% +pkgdesc="An opensource implementation of the OpenMAX Integration Layer API" +arch=('x86_64') +url="http://omxil.sourceforge.net" +license=('LGPL') +depends=('glibc') +source=("https://downloads.sourceforge.net/project/omxil/omxil/Bellagio%200.9.3/${pkgname}-${pkgver}.tar.gz" + fedora-fixes.patch) +sha256sums=('593c0729c8ef8c1467b3bfefcf355ec19a46dd92e31bfc280e17d96b0934d74c' + '1683126ba747ae2f711cf352b289a26c17c56e92745a0ddbd5f066d66a9bd007') + +prepare() { + cd ${pkgname}-$pkgver + + # Fixes from fedora repo + patch -Np1 -i ../fedora-fixes.patch + sed -e 's/-Werror//' -i configure.ac + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + + CFLAGS+=' -fcommon' # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common + + ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/${pkgname} + make +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR="${pkgdir}" install +} diff --git a/main/libomxil-bellagio/README b/main/libomxil-bellagio/README new file mode 100644 index 00000000..8f7ac7e2 --- /dev/null +++ b/main/libomxil-bellagio/README @@ -0,0 +1,43 @@ +libomxil-bellagio +________________________________________________________________________________ + +An opensource implementation of the OpenMAX Integration Layer API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libomxil-bellagio | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://omxil.sourceforge.net diff --git a/main/libomxil-bellagio/fedora-fixes.patch b/main/libomxil-bellagio/fedora-fixes.patch new file mode 100644 index 00000000..2ae3c3c8 --- /dev/null +++ b/main/libomxil-bellagio/fedora-fixes.patch @@ -0,0 +1,199 @@ +When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. +Link explicitly against omxil-bellagio so that ld.so can find the reference. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 ++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 +@@ -3,7 +3,7 @@ + omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la + libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h + +-libomxdynamicloader_la_LDFLAGS = ++libomxdynamicloader_la_LDFLAGS = -L$(abs_top_srcdir)/src/.libs -lomxil-bellagio + libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/base \ +Fix dependency issue to allow parallel build + +Signed-off-by: Qais Yousef + +Index: bellagio-0.9.3/src/Makefile.am +=================================================================== +--- bellagio-0.9.3.orig/src/Makefile.am ++++ bellagio-0.9.3/src/Makefile.am +@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist + omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ + -I$(top_srcdir)/include + omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) ++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la + + lib_LTLIBRARIES = libomxil-bellagio.la + libomxil_bellagio_la_SOURCES = component_loader.h \ +We always access globalComponentList[] at indexComponent=-1 which causes a +segfault. Use i as the index instead. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 ++++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 +@@ -485,7 +485,6 @@ + OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { + omx_base_component_PrivateType* omx_base_component_Private; + int i = 0; +- int indexComponent = -1; + + DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); + omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; +@@ -493,16 +492,13 @@ + while(listOfcomponentRegistered[i].component_name != NULL ) { + if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { + // found component in the list of the resource manager +- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); +- break; ++ removeElemFromList(&globalComponentList[i], openmaxStandComp); ++ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ return OMX_ErrorNone; + } + i++; + } +- if (indexComponent <0) { +- // No resource to be handled +- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); +- return OMX_ErrorNone; +- } +- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ // No resource to be handled ++ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); + return OMX_ErrorNone; + } + OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch + src/base/omx_base_component.c | 54 ++++++++++++++++++++++------------------- + 1 files changed, 29 insertions(+), 25 deletions(-) +--- a/src/base/omx_base_component.c ++++ a/src/base/omx_base_component.c +@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + return OMX_ErrorBadParameter; + } + switch(nParamIndex) { +- case OMX_IndexParameterThreadsID: +- if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { +- break; +- } +- threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; +- threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; +- threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; +- break; + case OMX_IndexParamAudioInit: + case OMX_IndexParamVideoInit: + case OMX_IndexParamImageInit: +@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + } + } + break; +- case OMX_IndexVendorCompPropTunnelFlags: +- pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; ++ default: ++ /* additional switch statement for extended OMX_INDEXTYPE */ ++ switch((OMX_INDEXVENDORTYPE) nParamIndex) { ++ case OMX_IndexParameterThreadsID: ++ if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { ++ break; ++ } ++ threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; ++ threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; ++ threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; ++ break; ++ case OMX_IndexVendorCompPropTunnelFlags: ++ pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; + +- if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { ++ if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { + +- DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", +- __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); ++ DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", ++ __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); + +- return OMX_ErrorBadPortIndex; +- } ++ return OMX_ErrorBadPortIndex; ++ } + +- pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; ++ pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; + +- pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; +- pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; +- break; +- default: +- err = OMX_ErrorUnsupportedIndex; +- break; ++ pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; ++ pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; ++ break; ++ default: ++ err = OMX_ErrorUnsupportedIndex; ++ break; ++ } + } + DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent); + return err; +diff -up libomxil-bellagio-0.9.3/Makefile.am.nodoc libomxil-bellagio-0.9.3/Makefile.am +--- libomxil-bellagio-0.9.3/Makefile.am.nodoc 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/Makefile.am 2012-04-23 13:46:15.410823381 +0200 +@@ -7,7 +7,6 @@ EXTRA_DIST = libomxil-bellagio.spec + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libomxil-bellagio.pc + +-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@ + doc_DATA = README \ + ChangeLog \ + TODO +diff -up libomxil-bellagio-0.9.3/src/omxregister.c.unused libomxil-bellagio-0.9.3/src/omxregister.c +--- libomxil-bellagio-0.9.3/src/omxregister.c.unused 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/src/omxregister.c 2012-12-10 22:02:28.621695659 +0100 +@@ -248,7 +248,15 @@ static int buildComponentsList(FILE* omx + } + fptr(stComponents); + err = fwrite(lib_absolute_path, 1, strlen(lib_absolute_path), omxregistryfp); +- err = fwrite("\n", 1, 1, omxregistryfp); ++ if (err != strlen(lib_absolute_path)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(lib_absolute_path), fileno(omxregistryfp)); ++ continue; ++ } ++ err = fwrite("\n", 1, strlen(buffer), omxregistryfp); ++ if (err != strlen(buffer)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(buffer), fileno(omxregistryfp)); ++ continue; ++ } + + + for (i = 0; i +size = 2335222 +arch = x86_64 +license = BSD-3-Clause +provides = libopenmpt.so=0-64 +depend = flac +depend = gcc-libs +depend = glibc +depend = libogg +depend = libpulse +depend = libsndfile +depend = libvorbis +depend = mpg123 +depend = portaudio +depend = zlib +makedepend = autoconf-archive +makedepend = doxygen +makedepend = help2man diff --git a/main/libopenmpt/.nvchecker.toml b/main/libopenmpt/.nvchecker.toml new file mode 100644 index 00000000..d4f1f47c --- /dev/null +++ b/main/libopenmpt/.nvchecker.toml @@ -0,0 +1,5 @@ +[libopenmpt] +source = "git" +git = "https://github.com/OpenMPT/openmpt/" +prefix = "libopenmpt-" +include_regex = "libopenmpt-([\\d_].*)" diff --git a/main/libopenmpt/PKGBUILD b/main/libopenmpt/PKGBUILD new file mode 100644 index 00000000..5a7b0740 --- /dev/null +++ b/main/libopenmpt/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libopenmpt +pkgver=%version% +pkgrel=%release% +pkgdesc="A library to render tracker music to a PCM audio stream" +arch=(x86_64) +url="https://lib.openmpt.org/libopenmpt/" +license=(BSD-3-Clause) +depends=( + flac + gcc-libs + glibc + libogg # required by pkgconf + libpulse + libsndfile + libvorbis + mpg123 + portaudio + zlib +) +makedepends=( + autoconf-archive + doxygen + help2man +) +provides=(libopenmpt.so) +source=($pkgname-$pkgver.tar.gz::https://lib.openmpt.org/files/libopenmpt/src/$pkgname-$pkgver+release.autotools.tar.gz) +sha512sums=('9665d3e301bab06f363bc4376fc488ca5befcf05f580deeb01a035167f02f8d47cda0d940239d5f29a91f97da6f31a2f6f20836b4f8ef6a248c7e39e49a7aa66') +b2sums=('022686bbb13728da134017b16c70cb9f3b47d64b0b6a889f473b5b72b5aa5cb66b84953b414075b6e9842fea947eb67b6cff2ae1130618bd0c0840f90ce88e70') + +prepare() { + cd $pkgname-$pkgver+release.autotools + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver+release.autotools + ./configure --prefix=/usr + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + make -k check -C $pkgname-$pkgver+release.autotools +} + +package() { + cd $pkgname-$pkgver+release.autotools + make DESTDIR="$pkgdir" install + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/libopenmpt/README b/main/libopenmpt/README new file mode 100644 index 00000000..9950fcac --- /dev/null +++ b/main/libopenmpt/README @@ -0,0 +1,43 @@ +libopenmpt +________________________________________________________________________________ + +A library to render tracker music to a PCM audio stream + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libopenmpt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lib.openmpt.org/libopenmpt/ diff --git a/main/libopenmpt/version b/main/libopenmpt/version new file mode 100644 index 00000000..0099840e --- /dev/null +++ b/main/libopenmpt/version @@ -0,0 +1 @@ +0.7.8 1 diff --git a/main/libotr/.PKGINFO b/main/libotr/.PKGINFO new file mode 100644 index 00000000..716d6e65 --- /dev/null +++ b/main/libotr/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libotr +pkgbase = libotr +xdata = pkgtype=pkg +pkgver = 4.1.1-5 +pkgdesc = Off-the-Record Messaging Library and Toolkit +url = https://otr.cypherpunks.ca/ +builddate = 1718491623 +packager = Developer +size = 292033 +arch = x86_64 +license = GPL-2.0-only +license = LGPL-2.1-only +depend = glibc +depend = libgcrypt +depend = libgpg-error diff --git a/main/libotr/PKGBUILD b/main/libotr/PKGBUILD new file mode 100644 index 00000000..45c696ea --- /dev/null +++ b/main/libotr/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libotr +pkgver=%version% +pkgrel=%release% +pkgdesc='Off-the-Record Messaging Library and Toolkit' +url='https://otr.cypherpunks.ca/' +license=('GPL' 'LGPL') +arch=('x86_64') +depends=('libgcrypt') +validpgpkeys=('22DF3305DF56667CE15784FCF24DE08F42C2ABAD') # OTR Dev Team +source=(https://otr.cypherpunks.ca/${pkgname}-${pkgver}.tar.gz{,.asc} + "$pkgname-4.1.1-include-socket.h.patch") +sha256sums=('8b3b182424251067a952fb4e6c7b95a21e644fbb27fbd5f8af2b2ed87ca419f5' + 'SKIP' + 'cfda75f8c5bba2e735d2b4f1bb90f60b45fa1d554a97fff75cac467f7873ebde') + +prepare() { + # FS#75450 + patch -d "$pkgname-$pkgver" -N -p 1 -i "${srcdir}/$pkgname-4.1.1-include-socket.h.patch" +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/libotr/README b/main/libotr/README new file mode 100644 index 00000000..10e60347 --- /dev/null +++ b/main/libotr/README @@ -0,0 +1,43 @@ +libotr +________________________________________________________________________________ + +Off-the-Record Messaging Library and Toolkit + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libotr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://otr.cypherpunks.ca/ diff --git a/main/libotr/libotr-4.1.1-include-socket.h.patch b/main/libotr/libotr-4.1.1-include-socket.h.patch new file mode 100644 index 00000000..1806458d --- /dev/null +++ b/main/libotr/libotr-4.1.1-include-socket.h.patch @@ -0,0 +1,16 @@ +From: Rhonda D'Vine +Date: Thu, 12 May 2022 08:57:07 +0200 +Bug-Debian: https://bugs.debian.org/1009420 +Forwarded: no +Subject: test suite fails to build without the include + +--- a/tests/regression/client/client.c ++++ b/tests/regression/client/client.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/main/libotr/version b/main/libotr/version new file mode 100644 index 00000000..c2763d03 --- /dev/null +++ b/main/libotr/version @@ -0,0 +1 @@ +4.1.1 5 diff --git a/main/libpcap/PKGBUILD b/main/libpcap/PKGBUILD new file mode 100644 index 00000000..79205012 --- /dev/null +++ b/main/libpcap/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpcap +pkgver=%version% +pkgrel=%release% +pkgdesc='A system-independent interface for user-level packet capture' +arch=(x86_64) +url='https://www.tcpdump.org/' +license=(BSD) +depends=( + glibc + libnl + sh +) +makedepends=( + bluez-libs + dbus +) +provides=(libpcap.so) +source=(https://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz{,.sig}) +sha512sums=('1f6d6ddd07dae7c557054cb246437ecdaf39d579592a5a6bdf1144eea6cb5a779ac4ca647cfed11ec1b0bb18efc63b845444e497070bacefaaed19a5787ae5e1' + 'SKIP') +b2sums=('05a7eafc1e1817f7844008db89d8fb10cd2525c22f7ee6c9e3d582b14229412f38ccced5e9d80a96dd459ef9eab12eccb5c1dd4978ddc9f66267469212005e4c' + 'SKIP') +validpgpkeys=('1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D') # The Tcpdump Group + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --enable-ipv6 + --enable-bluetooth + --enable-usb + --with-libnl + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +package() { + depends+=(libdbus-1.so) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 {CHANGES,{CONTRIBUTING,README}.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/libpcap/README b/main/libpcap/README new file mode 100644 index 00000000..5eec2533 --- /dev/null +++ b/main/libpcap/README @@ -0,0 +1,43 @@ +libpcap +________________________________________________________________________________ + +A system-independent interface for user-level packet capture + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpcap | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.tcpdump.org/ diff --git a/main/libpcap/version b/main/libpcap/version new file mode 100644 index 00000000..8cd36b15 --- /dev/null +++ b/main/libpcap/version @@ -0,0 +1 @@ +1.10.4 1 diff --git a/main/libpciaccess/.nvchecker.toml b/main/libpciaccess/.nvchecker.toml new file mode 100644 index 00000000..c7158b1b --- /dev/null +++ b/main/libpciaccess/.nvchecker.toml @@ -0,0 +1,8 @@ +[libpciaccess] +source = "gitlab" +gitlab = "xorg/lib/libpciaccess" +host = "gitlab.freedesktop.org" + +include_regex = ".*libpciaccess-.*" +use_max_tag = true +prefix = "libpciaccess-" diff --git a/main/libpciaccess/PKGBUILD b/main/libpciaccess/PKGBUILD new file mode 100644 index 00000000..66be9e9c --- /dev/null +++ b/main/libpciaccess/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpciaccess +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 PCI access library" +arch=(x86_64) +license=('LicenseRef-libpciaccess') +url="https://gitlab.freedesktop.org/xorg/lib/libpciaccess" +depends=('glibc' 'zlib') +makedepends=('xorg-util-macros' 'meson') +source=(https://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha512sums=('ef27999446e735df2331e94219ee3dafe9198a2472bb452f63ef9c9c446d5431f9e231e224cfabdeba1402974a5a0064546f9abced4d1770f994f5fc0c2b3310' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith +#validpgpkeys+=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # "Emil Velikov " +#validpgpkeys+=('995ED5C8A6138EB0961F18474C09DD83CAAA50B2') # "Adam Jackson " + +prepare() { + mkdir build +} + +build() { + arch-meson "$pkgname"-$pkgver build + ninja -C build +} + +check() { + meson test -C build +} + +package() { + DESTDIR="$pkgdir" ninja -C build install + install -Dm644 "$pkgname"-$pkgver/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libpciaccess/README b/main/libpciaccess/README new file mode 100644 index 00000000..eef4871c --- /dev/null +++ b/main/libpciaccess/README @@ -0,0 +1,43 @@ +libpciaccess +________________________________________________________________________________ + +X11 PCI access library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpciaccess | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libpciaccess diff --git a/main/libpciaccess/version b/main/libpciaccess/version new file mode 100644 index 00000000..e2c70992 --- /dev/null +++ b/main/libpciaccess/version @@ -0,0 +1 @@ +0.18.1 2 diff --git a/main/libpgm/PKGBUILD b/main/libpgm/PKGBUILD new file mode 100644 index 00000000..7769d47b --- /dev/null +++ b/main/libpgm/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpgm +pkgver=%version% +pkgrel=%release% +pkgdesc='Library implementing the Pragmatic General Multicast (PGM, RFC3208) reliable transport protocol (OpenPGM)' +arch=('x86_64') +url='https://github.com/steve-o/openpgm' +license=('LGPL-2.1-or-later') +depends=('glibc') +makedepends=('python') +source=("https://github.com/steve-o/openpgm/archive/release-${pkgver//./-}/openpgm-$pkgver.tar.gz") +sha256sums=('8d707ef8dda45f4a7bc91016d7f2fed6a418637185d76c7ab30b306499c6d393') + +prepare() { + cd openpgm-release-${pkgver//./-}/openpgm/pgm + + # https://github.com/steve-o/openpgm/pull/66 + mv openpgm-5.2.pc.in openpgm-5.3.pc.in + + ./bootstrap.sh +} + +build() { + cd openpgm-release-${pkgver//./-}/openpgm/pgm + ./configure --prefix=/usr + make +} + +package() { + cd openpgm-release-${pkgver//./-}/openpgm/pgm + make DESTDIR="$pkgdir" install +} diff --git a/main/libpgm/README b/main/libpgm/README new file mode 100644 index 00000000..c7a04982 --- /dev/null +++ b/main/libpgm/README @@ -0,0 +1,43 @@ +libpgm +________________________________________________________________________________ + +Library implementing the Pragmatic General Multicast (PGM, RFC3208) reliable transport protocol (OpenPGM) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpgm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/steve-o/openpgm diff --git a/main/libpgm/version b/main/libpgm/version new file mode 100644 index 00000000..46039229 --- /dev/null +++ b/main/libpgm/version @@ -0,0 +1 @@ +5.3.128 3 diff --git a/main/libpipeline/.nvchecker.toml b/main/libpipeline/.nvchecker.toml new file mode 100644 index 00000000..73f78d5d --- /dev/null +++ b/main/libpipeline/.nvchecker.toml @@ -0,0 +1,4 @@ +[libpipeline] +source = "gitlab" +gitlab = "libpipeline/libpipeline" +use_max_tag = true diff --git a/main/libpipeline/PKGBUILD b/main/libpipeline/PKGBUILD new file mode 100644 index 00000000..29f885da --- /dev/null +++ b/main/libpipeline/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpipeline +pkgver=%version% +pkgrel=%release% +pkgdesc="a C library for manipulating pipelines of subprocesses in a flexible and convenient way" +arch=('x86_64') +url="https://nongnu.org/libpipeline/" +license=('GPL-3.0-or-later') +depends=('glibc') +# https://gitlab.com/cjwatson/libpipeline +source=(https://download.savannah.gnu.org/releases/libpipeline/$pkgname-$pkgver.tar.gz{,.asc}) +sha256sums=('b8b45194989022a79ec1317f64a2a75b1551b2a55bea06f67704cb2a2e4690b0' + 'SKIP') +#validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson +#validpgpkeys=('87317259431038049C92C139F6DD330210FA4CD1') # "Colin Watson " +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # "Colin Watson " + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} diff --git a/main/libpipeline/README b/main/libpipeline/README new file mode 100644 index 00000000..4d016091 --- /dev/null +++ b/main/libpipeline/README @@ -0,0 +1,43 @@ +libpipeline +________________________________________________________________________________ + +a C library for manipulating pipelines of subprocesses in a flexible and convenient way + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpipeline | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://nongnu.org/libpipeline/ diff --git a/main/libpipeline/version b/main/libpipeline/version new file mode 100644 index 00000000..3fdcdc0a --- /dev/null +++ b/main/libpipeline/version @@ -0,0 +1 @@ +1.5.7 2 diff --git a/main/libplacebo/.PKGINFO b/main/libplacebo/.PKGINFO new file mode 100644 index 00000000..b302bc0d --- /dev/null +++ b/main/libplacebo/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libplacebo +pkgbase = libplacebo +xdata = pkgtype=pkg +pkgver = 6.338.2-6 +pkgdesc = Reusable library for GPU-accelerated video/image rendering primitives +url = https://github.com/haasn/libplacebo +builddate = 1714401246 +packager = Developer +size = 1566518 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libplacebo.so=338-64 +depend = vulkan-icd-loader +depend = glslang +depend = lcms2 +depend = shaderc +depend = glibc +depend = gcc-libs +depend = libunwind +depend = libdovi +depend = xxhash +depend = libdovi.so=3-64 +depend = liblcms2.so=2-64 +depend = libshaderc_shared.so=1-64 +depend = libvulkan.so=1-64 +makedepend = meson +makedepend = ninja +makedepend = vulkan-headers +makedepend = glad +makedepend = nuklear +makedepend = python +makedepend = python-setuptools +makedepend = python-mako +makedepend = python-markupsafe +makedepend = python-jinja +makedepend = libglvnd diff --git a/main/libplacebo/PKGBUILD b/main/libplacebo/PKGBUILD new file mode 100644 index 00000000..075fea95 --- /dev/null +++ b/main/libplacebo/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libplacebo +pkgver=%version% +pkgrel=%release% +pkgdesc='Reusable library for GPU-accelerated video/image rendering primitives' +url='https://github.com/haasn/libplacebo' +arch=('x86_64') +license=('LGPL-2.1-or-later') +depends=('vulkan-icd-loader' 'glslang' 'lcms2' 'shaderc' + 'glibc' 'gcc-libs' 'libunwind' 'libdovi' 'xxhash') +makedepends=( + 'meson' 'ninja' 'vulkan-headers' 'glad' 'nuklear' + 'python' 'python-setuptools' 'python-mako' 'python-markupsafe' 'python-jinja' +) +provides=('libplacebo.so') +source=(https://code.videolan.org/videolan/libplacebo/-/archive/v${pkgver}/libplacebo-v${pkgver}.tar.gz) +sha512sums=('0f20ae47bc2a7cd128d667ec2dd750a2d6ad5f16be6ab97122c2dda1ebf239958ee4bf453a7f835bea2dafb60a2e27b795801532aad994e002854c190aa6bbd8') +b2sums=('23485d677fbc59d47cbfd56ac3d5187c18206d7c03b0a7c4decd1d5b5772a88de4e22228cfdfc4fe1ce2c8031ea053cee968d010474047dc511d597d9d5ee3a8') + +build() { + cd ${pkgname}-v${pkgver} + CXXFLAGS+=" -I/usr/include/glslang" + arch-meson build \ + -D tests=true \ + -D vulkan=enabled \ + -D glslang=enabled \ + -D shaderc=enabled \ + -D lcms=enabled \ + -D d3d11=disabled \ + -D libdovi=enabled \ + -D demos=false + meson compile -C build +} + +check() { + cd ${pkgname}-v${pkgver} + meson test -C build --print-errorlogs +} + +package() { + depends+=( + 'libdovi.so' + 'liblcms2.so' + 'libshaderc_shared.so' + 'libvulkan.so' + ) + + cd ${pkgname}-v${pkgver} + meson install -C build --destdir "${pkgdir}" + install -Dm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libplacebo/README b/main/libplacebo/README new file mode 100644 index 00000000..2534f312 --- /dev/null +++ b/main/libplacebo/README @@ -0,0 +1,43 @@ +libplacebo +________________________________________________________________________________ + +Reusable library for GPU-accelerated video/image rendering primitives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libplacebo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/haasn/libplacebo diff --git a/main/libplacebo/version b/main/libplacebo/version new file mode 100644 index 00000000..eb867655 --- /dev/null +++ b/main/libplacebo/version @@ -0,0 +1 @@ +6.338.2 6 diff --git a/main/libplasma/.PKGINFO b/main/libplasma/.PKGINFO new file mode 100644 index 00000000..69a907b9 --- /dev/null +++ b/main/libplasma/.PKGINFO @@ -0,0 +1,47 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libplasma +pkgbase = libplasma +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plasma library and runtime components +url = https://kde.org/plasma-desktop/ +builddate = 1713662735 +packager = Developer +size = 6602855 +arch = x86_64 +license = LGPL-2.0-or-later +replaces = plasma-framework +group = plasma +conflict = plasma-framework +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kcmutils +depend = kcolorscheme +depend = kconfig +depend = kcoreaddons +depend = kglobalaccel +depend = ki18n +depend = kiconthemes +depend = kio +depend = kirigami +depend = knotifications +depend = kpackage +depend = ksvg +depend = kwidgetsaddons +depend = kwindowsystem +depend = libglvnd +depend = libx11 +depend = libxcb +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +depend = qt6-wayland +depend = wayland +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = plasma-wayland-protocols +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/libplasma/PKGBUILD b/main/libplasma/PKGBUILD new file mode 100644 index 00000000..9ac23d67 --- /dev/null +++ b/main/libplasma/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libplasma +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plasma library and runtime components' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + plasma-activities + kcmutils + kcolorscheme + kconfig + kcoreaddons + kglobalaccel + ki18n + kiconthemes + kio + kirigami + knotifications + kpackage + ksvg + kwidgetsaddons + kwindowsystem + libglvnd + libx11 + libxcb + qt6-5compat + qt6-base + qt6-declarative + qt6-wayland + wayland) +makedepends=(doxygen + extra-cmake-modules + kdoctools + plasma-wayland-protocols + qt6-doc + qt6-tools) +conflicts=(plasma-framework) +replaces=(plasma-framework) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1ca020026deda38a46cb34cd71d7c49c3b18b9bef26caf1cef765abf49fdf71d' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/libplasma/README b/main/libplasma/README new file mode 100644 index 00000000..1e7bb905 --- /dev/null +++ b/main/libplasma/README @@ -0,0 +1,43 @@ +libplasma +________________________________________________________________________________ + +Plasma library and runtime components + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libplasma | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/libplasma/version b/main/libplasma/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/libplasma/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/libplist/.PKGINFO b/main/libplist/.PKGINFO new file mode 100644 index 00000000..8f0c3482 --- /dev/null +++ b/main/libplist/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libplist +pkgbase = libplist +xdata = pkgtype=pkg +pkgver = 2.6.0-1 +pkgdesc = Library to handle Apple Property List files +url = https://libimobiledevice.org/ +builddate = 1715739095 +packager = Developer +size = 561331 +arch = x86_64 +license = LGPL-2.1-or-later +depend = gcc-libs +depend = glibc +optdepend = python: Python bindings +makedepend = cython +makedepend = git +makedepend = python +makedepend = python-setuptools diff --git a/main/libplist/PKGBUILD b/main/libplist/PKGBUILD new file mode 100644 index 00000000..a834d62b --- /dev/null +++ b/main/libplist/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libplist +pkgver=%version% +pkgrel=%release% +pkgdesc='Library to handle Apple Property List files' +arch=('x86_64') +url='https://libimobiledevice.org/' +license=('LGPL-2.1-or-later') +depends=('gcc-libs' 'glibc') +makedepends=('cython' 'python') +optdepends=('python: Python bindings') +source=("https://github.com/libimobiledevice/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.bz2") +sha256sums=('3f5868ae15b117320c1ff5e71be53d29469d4696c4085f89db1975705781a7cd') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libplist/README b/main/libplist/README new file mode 100644 index 00000000..78d16936 --- /dev/null +++ b/main/libplist/README @@ -0,0 +1,43 @@ +libplist +________________________________________________________________________________ + +Library to handle Apple Property List files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libplist | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libimobiledevice.org/ diff --git a/main/libplist/version b/main/libplist/version new file mode 100644 index 00000000..9922898f --- /dev/null +++ b/main/libplist/version @@ -0,0 +1 @@ +2.6.0 1 diff --git a/main/libpng/PKGBUILD b/main/libpng/PKGBUILD new file mode 100644 index 00000000..a3b20a64 --- /dev/null +++ b/main/libpng/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpng +pkgver=%version% +pkgrel=%release% +pkgdesc='A collection of routines used to create PNG format graphics files' +arch=('x86_64') +url='http://www.libpng.org/pub/png/libpng.html' +license=('custom') +depends=('zlib' 'sh') +provides=('libpng16.so') +validpgpkeys=('8048643BA2C840F4F92A195FF54984BFA16C640F') # Glenn Randers-Pehrson (mozilla) +source=("https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.xz") +sha256sums=('6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c') + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + + make check +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + install -D -m0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + cd contrib/pngminus + make PNGLIB_SHARED="-L$pkgdir/usr/lib -lpng" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" png2pnm pnm2png + install -m0755 png2pnm pnm2png "$pkgdir/usr/bin/" +} diff --git a/main/libpng/README b/main/libpng/README new file mode 100644 index 00000000..bc52c1f5 --- /dev/null +++ b/main/libpng/README @@ -0,0 +1,43 @@ +libpng +________________________________________________________________________________ + +A collection of routines used to create PNG format graphics files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpng | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.libpng.org/pub/png/libpng.html diff --git a/main/libpng/version b/main/libpng/version new file mode 100644 index 00000000..8fc25521 --- /dev/null +++ b/main/libpng/version @@ -0,0 +1 @@ +1.6.43 1 diff --git a/main/libproxy/.PKGINFO b/main/libproxy/.PKGINFO new file mode 100644 index 00000000..50c373e9 --- /dev/null +++ b/main/libproxy/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libproxy +pkgbase = libproxy +xdata = pkgtype=split +pkgver = 0.5.6-1 +pkgdesc = Automatic proxy configuration management library +url = https://libproxy.github.io/libproxy/ +builddate = 1714618361 +packager = Developer +size = 103111 +arch = x86_64 +license = LGPL-2.1-or-later +conflict = libproxy-webkit<0.5.0-1 +provides = libproxy.so=1-64 +depend = curl +depend = duktape +depend = gcc-libs +depend = glib2 +depend = glibc +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = gsettings-desktop-schemas +makedepend = meson +makedepend = vala diff --git a/main/libproxy/PKGBUILD b/main/libproxy/PKGBUILD new file mode 100644 index 00000000..f7b060f4 --- /dev/null +++ b/main/libproxy/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libproxy +pkgname=( + libproxy + libproxy-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Automatic proxy configuration management library" +url="https://libproxy.github.io/libproxy/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + curl + duktape + glib2 +) +makedepends=( + gi-docgen + git + gobject-introspection + gsettings-desktop-schemas + meson + vala +) +_commit=dff9a603d823dcc740ec966cd27960daa6b891b1 # tags/0.5.4 +source=( + "git+https://github.com/libproxy/libproxy#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd libproxy + git describe --tags | sed 's/^libproxy-//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libproxy +} + +build() { + local meson_options=( + ) + + arch-meson libproxy build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_libproxy() { + provides=(libproxy.so) + conflicts=('libproxy-webkit<0.5.0-1') + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libproxy-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libproxy/README b/main/libproxy/README new file mode 100644 index 00000000..d8f491aa --- /dev/null +++ b/main/libproxy/README @@ -0,0 +1,43 @@ +libproxy +________________________________________________________________________________ + +Automatic proxy configuration management library Automatic proxy configuration management library (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libproxy | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libproxy.github.io/libproxy/ diff --git a/main/libproxy/version b/main/libproxy/version new file mode 100644 index 00000000..edafe41c --- /dev/null +++ b/main/libproxy/version @@ -0,0 +1 @@ +0.5.6 1 diff --git a/main/libpsl/.PKGINFO b/main/libpsl/.PKGINFO new file mode 100644 index 00000000..181d5efc --- /dev/null +++ b/main/libpsl/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libpsl +pkgbase = libpsl +xdata = pkgtype=pkg +pkgver = 0.21.5-2 +pkgdesc = Public Suffix List library +url = https://github.com/rockdaboot/libpsl +builddate = 1715739097 +packager = Developer +size = 228063 +arch = x86_64 +license = MIT +provides = libpsl.so=5-64 +depend = libidn2 +depend = libunistring +depend = libidn2.so=0-64 +depend = libunistring.so=5-64 +makedepend = gtk-doc +makedepend = libxslt +makedepend = publicsuffix-list +makedepend = python diff --git a/main/libpsl/.nvchecker.toml b/main/libpsl/.nvchecker.toml new file mode 100644 index 00000000..a57e0fe6 --- /dev/null +++ b/main/libpsl/.nvchecker.toml @@ -0,0 +1,3 @@ +[libpsl] +source = "git" +git = "https://github.com/rockdaboot/libpsl.git" diff --git a/main/libpsl/PKGBUILD b/main/libpsl/PKGBUILD new file mode 100644 index 00000000..79762e70 --- /dev/null +++ b/main/libpsl/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpsl +pkgver=%version% +pkgrel=%release% +pkgdesc='Public Suffix List library' +url='https://github.com/rockdaboot/libpsl' +arch=('x86_64') +license=('MIT') +depends=( + libidn2 + libunistring + python +) +makedepends=( + gtk-doc + libxslt + publicsuffix-list +) +provides=('libpsl.so') +source=(https://github.com/rockdaboot/libpsl/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz{,.sig}) +sha512sums=('c14d575cecc0f1693894dd79565b6b9220084ddfa43b908a1cefe16d147cdd5ec47796eb0c2135e2f829a951abaf39d8a371ab5c1352f57b36e610e25adf91f5' + 'SKIP') +b2sums=('a0076f622b85df99f866de6707850ac216b764bdb68c6d516f4603da42dac8eae3ee4c53d68dbb6af6f779c2c7f1b9caab74c8b558209b1f6823f95c13fc3ceb' + 'SKIP') +validpgpkeys=('1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen + +prepare() { + cd ${pkgname}-${pkgver} + rm -frv list + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-dependency-tracking \ + --enable-man \ + --enable-gtk-doc \ + --enable-{builtin,runtime}=libidn2 \ + --with-psl-file=/usr/share/publicsuffix/effective_tld_names.dat \ + --with-psl-testfile=/usr/share/publicsuffix/test_psl.txt + LC_CTYPE=en_US.UTF-8 make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + depends+=('libidn2.so' 'libunistring.so') + + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libpsl/README b/main/libpsl/README new file mode 100644 index 00000000..a640d06f --- /dev/null +++ b/main/libpsl/README @@ -0,0 +1,43 @@ +libpsl +________________________________________________________________________________ + +Public Suffix List library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpsl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/rockdaboot/libpsl diff --git a/main/libpsl/version b/main/libpsl/version new file mode 100644 index 00000000..5a58b952 --- /dev/null +++ b/main/libpsl/version @@ -0,0 +1 @@ +0.21.5 2 diff --git a/main/libpwquality/.PKGINFO b/main/libpwquality/.PKGINFO new file mode 100644 index 00000000..757d6d38 --- /dev/null +++ b/main/libpwquality/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libpwquality +pkgbase = libpwquality +xdata = pkgtype=pkg +pkgver = 1.4.5-5 +pkgdesc = Library for password quality checking and generating random passwords +url = https://github.com/libpwquality/libpwquality +builddate = 1714401251 +packager = Developer +size = 447810 +arch = x86_64 +license = BSD-3-Clause OR GPL-2.0-or-later +backup = etc/security/pwquality.conf +depend = cracklib +depend = glibc +depend = pam +optdepend = python: Python bindings +makedepend = python-setuptools diff --git a/main/libpwquality/PKGBUILD b/main/libpwquality/PKGBUILD new file mode 100644 index 00000000..b3861da1 --- /dev/null +++ b/main/libpwquality/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libpwquality +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for password quality checking and generating random passwords' +arch=('x86_64') +url='https://github.com/libpwquality/libpwquality' +license=('BSD-3-Clause OR GPL-2.0-or-later') +depends=('cracklib' 'glibc' 'pam') +optdepends=('python: Python bindings') +makedepends=('python') +backup=('etc/security/pwquality.conf') +source=("https://github.com/libpwquality/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2") +sha256sums=('6fcf18b75d305d99d04d2e42982ed5b787a081af2842220ed63287a2d6a10988') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/etc/security/pwquality.conf.d + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/libpwquality/README b/main/libpwquality/README new file mode 100644 index 00000000..6cbd0acf --- /dev/null +++ b/main/libpwquality/README @@ -0,0 +1,43 @@ +libpwquality +________________________________________________________________________________ + +Library for password quality checking and generating random passwords + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libpwquality | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libpwquality/libpwquality diff --git a/main/libpwquality/version b/main/libpwquality/version new file mode 100644 index 00000000..36a038a0 --- /dev/null +++ b/main/libpwquality/version @@ -0,0 +1 @@ +1.4.5 5 diff --git a/main/libqaccessibilityclient/.nvchecker.toml b/main/libqaccessibilityclient/.nvchecker.toml new file mode 100644 index 00000000..cde8a2d3 --- /dev/null +++ b/main/libqaccessibilityclient/.nvchecker.toml @@ -0,0 +1,6 @@ +[libqaccessibilityclient] +source = 'gitlab' +gitlab = 'libraries/libqaccessibilityclient' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/libqaccessibilityclient/PKGBUILD b/main/libqaccessibilityclient/PKGBUILD new file mode 100644 index 00000000..cf67434b --- /dev/null +++ b/main/libqaccessibilityclient/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libqaccessibilityclient +pkgname=(libqaccessibilityclient-qt5 + libqaccessibilityclient-qt6) +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +pkgdesc='Helper library to make writing accessibility tools easier' +url='https://www.kde.org' +license=(LGPL2.1) +depends=(gcc-libs + glibc) +makedepends=(extra-cmake-modules + qt5-base + qt6-base) +source=(https://download.kde.org/stable/$pkgbase/$pkgbase-$pkgver.tar.xz{,.sig}) +sha256sums=('4c50c448622dc9c5041ed10da7d87b3e4e71ccb49d4831a849211d423c5f5d33' + 'SKIP') +validpgpkeys=(FB25861861063C64C97B89AE125C53EB96EC0C92 # Frederik Gladhorn + E0A3EB202F8E57528E13E72FD7574483BB57B18D # Jonathan Esk-Riddell + 39FFA93CAE9C6AFC212AD00202325448204E452A) # Carl Schwan + +build() { + cmake -B build5 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_TESTING=OFF + cmake --build build5 + + cmake -B build6 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DQT_MAJOR_VERSION=6 \ + -DBUILD_TESTING=OFF + cmake --build build6 +} + +package_libqaccessibilityclient-qt5() { + depends+=(qt5-base) + conflicts=(libqaccessibilityclient) + provides=(libqaccessibilityclient) + replaces=(libqaccessibilityclient) + + DESTDIR="$pkgdir" cmake --install build5 +} + +package_libqaccessibilityclient-qt6() { + depends+=(qt6-base) + + DESTDIR="$pkgdir" cmake --install build6 +} diff --git a/main/libqaccessibilityclient/README b/main/libqaccessibilityclient/README new file mode 100644 index 00000000..e0d00830 --- /dev/null +++ b/main/libqaccessibilityclient/README @@ -0,0 +1,43 @@ +libqaccessibilityclient +________________________________________________________________________________ + +Helper library to make writing accessibility tools easier + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libqaccessibilityclient | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org diff --git a/main/libqaccessibilityclient/version b/main/libqaccessibilityclient/version new file mode 100644 index 00000000..eb13fd21 --- /dev/null +++ b/main/libqaccessibilityclient/version @@ -0,0 +1 @@ +0.6.0 1 diff --git a/main/libqalculate/.PKGINFO b/main/libqalculate/.PKGINFO new file mode 100644 index 00000000..575afcbf --- /dev/null +++ b/main/libqalculate/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libqalculate +pkgbase = libqalculate +xdata = pkgtype=pkg +pkgver = 5.1.1-2 +pkgdesc = Multi-purpose desktop calculator +url = https://qalculate.github.io/ +builddate = 1716253081 +packager = Developer +size = 16015519 +arch = x86_64 +license = GPL-2.0-only +depend = curl +depend = icu +depend = gcc-libs +depend = glibc +depend = gmp +depend = libxml2 +depend = mpfr +depend = readline +optdepend = gnuplot: for plotting support +makedepend = doxygen +makedepend = git +makedepend = intltool diff --git a/main/libqalculate/.nvchecker.toml b/main/libqalculate/.nvchecker.toml new file mode 100644 index 00000000..58af871a --- /dev/null +++ b/main/libqalculate/.nvchecker.toml @@ -0,0 +1,5 @@ +[libqalculate] +source = 'github' +github = 'Qalculate/libqalculate' +use_max_tag = true +prefix = 'v' diff --git a/main/libqalculate/PKGBUILD b/main/libqalculate/PKGBUILD new file mode 100644 index 00000000..bbb80bde --- /dev/null +++ b/main/libqalculate/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libqalculate +pkgver=%version% +pkgrel=%release% +pkgdesc='Multi-purpose desktop calculator' +arch=(x86_64) +url='https://qalculate.github.io/' +license=(GPL-2.0-only) +depends=(curl + icu + gcc-libs + glibc + gmp + libxml2 + mpfr + readline) +makedepends=(doxygen + intltool) +optdepends=('gnuplot: for plotting support') +source=(https://github.com/Qalculate/libqalculate/releases/download/v$pkgver/$pkgname-${pkgver}b.tar.gz) +sha256sums=('9b48688f9c57bc12730af83e59d19719e45f0a4dd13c5d42d7210d0dc83bb5ce') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libqalculate/README b/main/libqalculate/README new file mode 100644 index 00000000..973866f8 --- /dev/null +++ b/main/libqalculate/README @@ -0,0 +1,43 @@ +libqalculate +________________________________________________________________________________ + +Multi-purpose desktop calculator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libqalculate | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://qalculate.github.io/ diff --git a/main/libqalculate/version b/main/libqalculate/version new file mode 100644 index 00000000..90ff9684 --- /dev/null +++ b/main/libqalculate/version @@ -0,0 +1 @@ +5.1.1 2 diff --git a/main/libqmi/PKGBUILD b/main/libqmi/PKGBUILD new file mode 100644 index 00000000..824a97ce --- /dev/null +++ b/main/libqmi/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libqmi +pkgver=%version% +pkgrel=%release% +pkgdesc="QMI modem protocol helper library" +url="https://www.freedesktop.org/wiki/Software/libqmi/" +arch=(x86_64) +license=(GPL2) +depends=( + libgudev + libmbim + libqrtr-glib +) +makedepends=( + bash-completion + git + gobject-introspection + gtk-doc + help2man + meson +) +provides=(libqmi-glib.so) +_commit=3f07d6e5b4677558543b3b4484ea88ad92257e92 # tags/1.34.0^0 +source=("git+https://gitlab.freedesktop.org/mobile-broadband/libqmi.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libqmi + git describe --tags | sed 's/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libqmi +} + +build() { + local meson_options=( + -D gtk_doc=true + ) + + arch-meson libqmi build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs --no-rebuild +} + +package() { + meson install -C build --destdir "$pkgdir" --no-rebuild +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libqmi/README b/main/libqmi/README new file mode 100644 index 00000000..20f26d40 --- /dev/null +++ b/main/libqmi/README @@ -0,0 +1,43 @@ +libqmi +________________________________________________________________________________ + +QMI modem protocol helper library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libqmi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/libqmi/ diff --git a/main/libqmi/version b/main/libqmi/version new file mode 100644 index 00000000..bba32c5b --- /dev/null +++ b/main/libqmi/version @@ -0,0 +1 @@ +1.34.0 1 diff --git a/main/libqrtr-glib/PKGBUILD b/main/libqrtr-glib/PKGBUILD new file mode 100644 index 00000000..aaca6b3c --- /dev/null +++ b/main/libqrtr-glib/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libqrtr-glib +pkgver=%version% +pkgrel=%release% +pkgdesc="Qualcomm IPC Router protocol helper library" +url="https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib" +arch=(x86_64) +license=(GPL2) +depends=(glib2) +makedepends=( + git + gobject-introspection + gtk-doc + meson +) +provides=(libqrtr-glib.so) +_commit=8991f0e93713ebf4da48ae4f23940ead42f64c8c # tags/1.2.2^0 +source=("git+https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libqrtr-glib + git describe --tags | sed 's/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libqrtr-glib +} + +build() { + arch-meson libqrtr-glib build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libqrtr-glib/README b/main/libqrtr-glib/README new file mode 100644 index 00000000..300280fa --- /dev/null +++ b/main/libqrtr-glib/README @@ -0,0 +1,43 @@ +libqrtr-glib +________________________________________________________________________________ + +Qualcomm IPC Router protocol helper library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libqrtr-glib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib diff --git a/main/libqrtr-glib/version b/main/libqrtr-glib/version new file mode 100644 index 00000000..e13c61d4 --- /dev/null +++ b/main/libqrtr-glib/version @@ -0,0 +1 @@ +1.2.2 2 diff --git a/main/libraw1394/PKGBUILD b/main/libraw1394/PKGBUILD new file mode 100644 index 00000000..975ba647 --- /dev/null +++ b/main/libraw1394/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libraw1394 +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +license=('LGPL2.1') +pkgdesc="Provides an API to the Linux IEEE1394 (FireWire) driver" +depends=('glibc') +makedepends=('pkgconfig') +url="https://ieee1394.wiki.kernel.org/index.php/Main_Page" +source=(https://www.kernel.org/pub/linux/libs/ieee1394/${pkgname}-${pkgver}.tar.{xz,sign}) +validpgpkeys=('955C0098E5C46EF9A152481479F36FB2545D79D0') +sha256sums=('03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e' + 'SKIP') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package () { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/libraw1394/README b/main/libraw1394/README new file mode 100644 index 00000000..f7a70b46 --- /dev/null +++ b/main/libraw1394/README @@ -0,0 +1,43 @@ +libraw1394 +________________________________________________________________________________ + +Provides an API to the Linux IEEE1394 (FireWire) driver + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libraw1394 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://ieee1394.wiki.kernel.org/index.php/Main_Page diff --git a/main/libraw1394/version b/main/libraw1394/version new file mode 100644 index 00000000..05dbda9e --- /dev/null +++ b/main/libraw1394/version @@ -0,0 +1 @@ +2.1.2 3 diff --git a/main/librsvg/PKGBUILD b/main/librsvg/PKGBUILD new file mode 100644 index 00000000..1826909d --- /dev/null +++ b/main/librsvg/PKGBUILD @@ -0,0 +1,93 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=librsvg +pkgname=( + librsvg + librsvg-docs +) +pkgver=%version% +pkgrel=%release% +epoch=2 +pkgdesc="SVG rendering library" +url="https://wiki.gnome.org/Projects/LibRsvg" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + cairo + freetype2 + gdk-pixbuf2 + glib2 + harfbuzz + libxml2 + pango +) +makedepends=( + gi-docgen + git + gobject-introspection + python-docutils + rust + vala +) +checkdepends=(ttf-dejavu) +_commit=eb713262e3458b77cfe00d286d7fa0b7968dbb8f # tags/2.58.0^0 +source=( + "git+https://gitlab.gnome.org/GNOME/librsvg.git#commit=$_commit" +) +b2sums=('45877da3e6797516a90d3df00f9df18aed8b91c1d6725ff3ff51fb48470f8e182f2bb8a9c8d0636588d7e2fed2563920c54013c93814b1a3e7892e515c4ba988') + +pkgver() { + cd librsvg + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd librsvg + NOCONFIGURE=1 ./autogen.sh +} + +# Use LTO +export CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 + +# Use debug +export CARGO_PROFILE_RELEASE_DEBUG=2 + +build() { + local configure_options=( + --prefix=/usr + --disable-static + --enable-gtk-doc + --enable-vala + ) + + cd librsvg + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool + make +} + +check() { + # Test suite is very dependent on the versions of + # Cairo, Pango, FreeType and HarfBuzz + # Tests need nightly features + RUSTC_BOOTSTRAP=1 make -C librsvg check || : +} + +package_librsvg() { + provides=(librsvg-${pkgver%%.*}.so) + + make -C librsvg DESTDIR="$pkgdir" install + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_librsvg-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/librsvg/README b/main/librsvg/README new file mode 100644 index 00000000..7e1bb5ed --- /dev/null +++ b/main/librsvg/README @@ -0,0 +1,43 @@ +librsvg +________________________________________________________________________________ + +SVG rendering library SVG rendering library (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S librsvg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/LibRsvg diff --git a/main/librsvg/version b/main/librsvg/version new file mode 100644 index 00000000..3d31a396 --- /dev/null +++ b/main/librsvg/version @@ -0,0 +1 @@ +2.58.0 1 diff --git a/main/libsamplerate/PKGBUILD b/main/libsamplerate/PKGBUILD new file mode 100644 index 00000000..10a04a48 --- /dev/null +++ b/main/libsamplerate/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsamplerate +pkgver=%version% +pkgrel=%release% +pkgdesc="An audio sample rate conversion library" +arch=(x86_64) +url="https://libsndfile.github.io/libsamplerate/" +license=(BSD) +depends=(glibc) +makedepends=(alsa-lib cmake libsndfile opus) +checkdepends=(fftw) +provides=(libsamplerate.so) +source=(https://github.com/libsndfile/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('d23ae54d23209ba22baae9e5fd178dd8e0e99205dada7e7c3a7b3a3d8cf816ed427a411bfeb008427f64da7767d645edce40811f238af11c8c386f5ef25a9f0c' + 'SKIP') +b2sums=('71b1e8a1644a94fff019abc6bf98c557df84994293f1e9bc651ad3ad3f0afeb24f54b8c75fc26e5202ae7c3a3e34e783fd1be7f7c6fdefe9eac9a5dfe7100b91' + 'SKIP') +validpgpkeys=('31D95CAB6D80D262244A1750A47620E801E47E95') # David Seifert soap@gentoo.org + +build() { + local cmake_options=( + -B build + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_BUILD_TYPE=None + -D BUILD_SHARED_LIBS=ON + -S $pkgname-$pkgver + -Wno-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README.md,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/libsamplerate/README b/main/libsamplerate/README new file mode 100644 index 00000000..59624d98 --- /dev/null +++ b/main/libsamplerate/README @@ -0,0 +1,43 @@ +libsamplerate +________________________________________________________________________________ + +An audio sample rate conversion library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsamplerate | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libsndfile.github.io/libsamplerate/ diff --git a/main/libsamplerate/version b/main/libsamplerate/version new file mode 100644 index 00000000..122b45e2 --- /dev/null +++ b/main/libsamplerate/version @@ -0,0 +1 @@ +0.2.2 2 diff --git a/main/libsasl/PKGBUILD b/main/libsasl/PKGBUILD new file mode 100644 index 00000000..19c6ab1c --- /dev/null +++ b/main/libsasl/PKGBUILD @@ -0,0 +1,103 @@ +# Maintainer: Developer +# Maintainer: Developer + +# NOTE: upgrade libsasl in tandem with extra/cyrus-sasl +# As one PKGBUILD can (currently) not provide packages for several +# repositories, libsasl and the rest of cyrus-sasl are provided separately +# (else this would require mariadb and postgresql in [core]) + +_name=cyrus-sasl +pkgname=libsasl +pkgver=%version% +pkgrel=%release% +pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" +arch=(x86_64) +url="https://www.cyrusimap.org/sasl/" +license=(custom) +depends=(gdbm libgdbm.so glibc openssl) +makedepends=(krb5 libldap mariadb-libs postgresql-libs sqlite) +provides=(libsasl2.so) +source=(https://github.com/cyrusimap/$_name/releases/download/$_name-$pkgver/$_name-$pkgver.tar.gz{,.sig} + openssl3.patch::https://patch-diff.githubusercontent.com/raw/cyrusimap/cyrus-sasl/pull/653.patch + openssl3-legacy-provider.patch::https://github.com/cyrusimap/cyrus-sasl/pull/668/commits/54f69880fa92bb0d0cf4d55bab0914822a873d8d.patch + openssl3-remove-rc4-custom-code.patch::https://github.com/cyrusimap/cyrus-sasl/pull/668/commits/725df6cdadc11cf1bbbfa3a57982ec19624c6fbe.patch) +sha512sums=('db15af9079758a9f385457a79390c8a7cd7ea666573dace8bf4fb01bb4b49037538d67285727d6a70ad799d2e2318f265c9372e2427de9371d626a1959dd6f78' + 'SKIP' + '5c573e9a6e39a6012b1ef93a37b0083b3936a9955e9403810697fd6bf553adcbd30ec3d610f21488165ed8c6556030ac17558afcb3705979bb9f7710031caa28' + 'c124e407fe5eeace728b22fe107daba7581005312a6ddeeaa5f869d6f1b1ff8b5ba0ff7b1862a5238b7100ffc53ed6b7bb57f21b4e68b5433396f3cf914598d4' + '83b8795ade33399dded6d4dbcf1a7b5bc91145f1ffbe6ab2b7cf86f375a4729b7fa5c7ad7af5e60e4ff88067393d08c5e76c81f7c59ba3f13c6e8fc1fe7b6a7d') +b2sums=('6cca8c26cebb9c2ee5d539c43797d30b6309a476ec4233225789978e1d7315c4ea5d2abbc7f5464be0f3c0de5fd9212706b43fbc92f40b76cd0b1013cc00f823' + 'SKIP' + 'ceaf3e4cbddfd9d1e7512ed24123d40f69f9d8a831c758f36d0eabb1734c41c37afcad8ef9749f39984c0e79e8e586f54c0c86d45c68b50689474e52a5df1779' + '145c83ece1f6bd3691cb3a58d1f6398092ad57cd2bc8c5abf44127cf5593bf5029ace442edb64b5eedf93c3d42c4caf243b89dce549b14cb9d5563710e397623' + '940e26037575f03d62267662c3961bc9caf8639c2bfa8d19a00e2ada606ea7f9020a6de2b2557b432a1534764447f0ebf4c77a9a42b329bdb81159b336b0780f') +validpgpkeys=( + '829F339F8C296FE80F409D93E3D7C118C7B9F46A' # Partha Susarla + 'DEA1999F0CDB1AAEBA001E0DBEE3E3B4D2F06546' # Quanah Gibson-Mount +) + +prepare() { + cd $_name-$pkgver + patch -Np1 < ../openssl3.patch + patch -Np1 < ../openssl3-legacy-provider.patch + patch -Np1 < ../openssl3-remove-rc4-custom-code.patch + autoreconf -fiv +} + +build() { + cd $_name-$pkgver + + ./configure --prefix=/usr \ + --disable-krb4 \ + --disable-macos-framework \ + --disable-otp \ + --disable-passdss \ + --disable-srp \ + --disable-srp-setpass \ + --disable-static \ + --enable-alwaystrue \ + --enable-anon \ + --enable-auth-sasldb \ + --enable-checkapop \ + --enable-cram \ + --enable-digest \ + --enable-gssapi \ + --enable-ldapdb \ + --enable-login \ + --enable-ntlm \ + --enable-plain \ + --enable-shared \ + --enable-sql \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --sbin=/usr/bin \ + --sysconfdir=/etc \ + --with-dblib=gdbm \ + --with-devrandom=/dev/urandom \ + --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ + --with-ldap \ + --with-mysql=/usr \ + --with-pam \ + --with-pgsql=/usr/lib \ + --with-saslauthd=/var/run/saslauthd \ + --with-sqlite3=/usr/lib + + # prevent excessive overlinking by libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + make -k check -C $_name-$pkgver +} + +package() { + local _target + make DESTDIR="$pkgdir" install-pkgconfigDATA -C $_name-$pkgver + for _target in include lib sasldb plugins utils; do + make DESTDIR="$pkgdir" install -C $_name-$pkgver/$_target + done + install -vDm 644 $_name-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + # remove files provided by extra/cyrus-sasl + rm -fv "$pkgdir"/usr/lib/sasl2/lib{gs2,gssapiv2,ldapdb,sql}.so* +} diff --git a/main/libsasl/README b/main/libsasl/README new file mode 100644 index 00000000..5fe095df --- /dev/null +++ b/main/libsasl/README @@ -0,0 +1,43 @@ +libsasl +________________________________________________________________________________ + +Cyrus Simple Authentication Service Layer (SASL) library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsasl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.cyrusimap.org/sasl/ diff --git a/main/libsasl/version b/main/libsasl/version new file mode 100644 index 00000000..f60c90ad --- /dev/null +++ b/main/libsasl/version @@ -0,0 +1 @@ +2.1.28 4 diff --git a/main/libseccomp/.PKGINFO b/main/libseccomp/.PKGINFO new file mode 100644 index 00000000..fe25cad3 --- /dev/null +++ b/main/libseccomp/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-libseccomp +pkgbase = libseccomp +xdata = pkgtype=split +pkgver = 2.5.5-3 +pkgdesc = Enhanced seccomp library +url = https://github.com/seccomp/libseccomp +builddate = 1714401609 +packager = Developer +size = 329133 +arch = x86_64 +license = LGPL2.1 +depend = python +makedepend = gperf +makedepend = cython +makedepend = python-setuptools +checkdepend = valgrind diff --git a/main/libseccomp/PKGBUILD b/main/libseccomp/PKGBUILD new file mode 100644 index 00000000..b506d4aa --- /dev/null +++ b/main/libseccomp/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libseccomp +pkgname=(libseccomp python-libseccomp) +pkgver=%version% +pkgrel=%release% +pkgdesc='Enhanced seccomp library' +arch=('x86_64') +license=('LGPL2.1') +url="https://github.com/seccomp/libseccomp" +depends=('glibc') +checkdepends=('valgrind') +makedepends=('gperf' 'cython' 'python-setuptools') +source=(https://github.com/seccomp/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz{,.asc}) +sha256sums=('248a2c8a4d9b9858aa6baf52712c34afefcf9c9e94b76dce02c1c9aa25fb3375' + 'SKIP') +b2sums=('d770cee1f3e02fbbcd9f25655b360ab38160ad800e2829a67f2b9da62b095a90be99ac851a67344cf95bd6810a6268da4655dc1d37d996e58239c4999eb41998' + 'SKIP') +validpgpkeys=( + '7100AADFAE6E6E940D2E0AD655E45A5AE8CA7C8A' # Paul Moore + '47A68FCE37C7D7024FD65E11356CE62C2B524099' # Tom Hromatka +) + +prepare() { + cd ${pkgbase}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgbase}-${pkgver} + ./configure --prefix=/usr + make + cd src/python + env VERSION_RELEASE=${pkgver} python setup.py build +} + +check() { + cd ${pkgbase}-${pkgver} + make check +} + +package_libseccomp() { + provides=('libseccomp.so') + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 CHANGELOG README.md SECURITY.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_python-libseccomp() { + depends=('python') + cd ${pkgbase}-${pkgver}/src/python + env VERSION_RELEASE=${pkgver} python setup.py install --root="${pkgdir}" --prefix=/usr -O1 --skip-build +} + +# vim: ts=2 sw=2 et: diff --git a/main/libseccomp/README b/main/libseccomp/README new file mode 100644 index 00000000..594bb2ba --- /dev/null +++ b/main/libseccomp/README @@ -0,0 +1,43 @@ +libseccomp +________________________________________________________________________________ + +Enhanced seccomp library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libseccomp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/seccomp/libseccomp diff --git a/main/libseccomp/version b/main/libseccomp/version new file mode 100644 index 00000000..395f9c7a --- /dev/null +++ b/main/libseccomp/version @@ -0,0 +1 @@ +2.5.5 3 diff --git a/main/libsecret/PKGBUILD b/main/libsecret/PKGBUILD new file mode 100644 index 00000000..caaaec1b --- /dev/null +++ b/main/libsecret/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libsecret +pkgname=( + libsecret + libsecret-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://gnome.pages.gitlab.gnome.org/libsecret/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + glib2 + libgcrypt + tpm2-tss +) +makedepends=( + bash-completion + gi-docgen + git + gobject-introspection + meson + vala +) +checkdepends=( + gjs + python-dbus + python-gobject + swtpm + tpm2-abrmd +) +_commit=6b5a6c28afc6dd93c232a4907a87c881079ff91b # tags/0.21.4^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgbase + + # Secure memory tests fail in containers + sed -i '/test-secmem/d' egg/meson.build +} + +build() { + local meson_options=( + -D tpm2=true + ) + + arch-meson $pkgbase build "${meson_options[@]}" + meson compile -C build +} + +_check() ( + mkdir -p "${TPM_PATH:=$PWD/tpm}" + export TPM_PATH + + swtpm_setup --create-config-files + swtpm_setup --tpm2 --tpm-state "$TPM_PATH" --createek --allow-signing \ + --decryption --overwrite --display + + swtpm socket --tpm2 --flags startup-clear \ + --server type=unixio,path="$TPM_PATH/socket" \ + --ctrl type=unixio,path="$TPM_PATH/socket.ctrl" & + _p1=$! + + tpm2-abrmd --tcti=swtpm:path="$TPM_PATH/socket" \ + --session --flush-all & + _p2=$! + + trap "kill $_p1 $_p2; wait" EXIT + + export TCTI=tabrmd:bus_type=session + + meson test -C build --print-errorlogs +) + +check() { + dbus-run-session bash -c "$(declare -f _check); _check" +} + +package_libsecret() { + optdepends=('org.freedesktop.secrets: secret storage backend') + provides=(libsecret-1.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libsecret-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libsecret/README b/main/libsecret/README new file mode 100644 index 00000000..6aec9c3b --- /dev/null +++ b/main/libsecret/README @@ -0,0 +1,43 @@ +libsecret +________________________________________________________________________________ + +Library for storing and retrieving passwords and other secrets Library for storing and retrieving passwords and other secrets (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsecret | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gnome.pages.gitlab.gnome.org/libsecret/ diff --git a/main/libsecret/version b/main/libsecret/version new file mode 100644 index 00000000..cb25b405 --- /dev/null +++ b/main/libsecret/version @@ -0,0 +1 @@ +0.21.4 1 diff --git a/main/libsm/.nvchecker.toml b/main/libsm/.nvchecker.toml new file mode 100644 index 00000000..1162632a --- /dev/null +++ b/main/libsm/.nvchecker.toml @@ -0,0 +1,8 @@ +[libsm] +source = "gitlab" +gitlab = "xorg/lib/libsm" +host = "gitlab.freedesktop.org" + +include_regex = ".*libSM-.*" +use_max_tag = true +prefix = "libSM-" diff --git a/main/libsm/PKGBUILD b/main/libsm/PKGBUILD new file mode 100644 index 00000000..a004f241 --- /dev/null +++ b/main/libsm/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsm +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Session Management library" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('libice' 'util-linux-libs') +makedepends=('xorg-util-macros' 'xtrans' 'xorgproto') +source=(${url}/releases/individual/lib/libSM-${pkgver}.tar.xz{,.sig}) +sha512sums=('7f1d41b7b6c5dd456c49ccad7740c3ba9791a2793fa50fd94814a4164ce2e20c4a0a0ad42a87708e494ed5c23f611be6d3ccd9ef1e9add6d46ac545e2b0f6f86' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd libSM-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd libSM-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libsm/README b/main/libsm/README new file mode 100644 index 00000000..67ce34a2 --- /dev/null +++ b/main/libsm/README @@ -0,0 +1,43 @@ +libsm +________________________________________________________________________________ + +X11 Session Management library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libsm/version b/main/libsm/version new file mode 100644 index 00000000..d66671c6 --- /dev/null +++ b/main/libsm/version @@ -0,0 +1 @@ +1.2.4 1 diff --git a/main/libsndfile/PKGBUILD b/main/libsndfile/PKGBUILD new file mode 100644 index 00000000..a1393de4 --- /dev/null +++ b/main/libsndfile/PKGBUILD @@ -0,0 +1,85 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsndfile +pkgver=%version% +pkgrel=%release% +pkgdesc="A C library for reading and writing files containing sampled audio data" +arch=(x86_64) +url="https://libsndfile.github.io/libsndfile/" +license=(LGPL-2.1-or-later) +depends=(glibc) +makedepends=( + alsa-lib + cmake + flac + lame + libogg + libvorbis + mpg123 + opus + python + sqlite +) +optdepends=('alsa-lib: for sndfile-play') +provides=(libsndfile.so) +source=(https://github.com/$pkgname/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.xz{,.asc} + $pkgname-1.2.2-CVE-2022-33065.patch::https://github.com/libsndfile/libsndfile/commit/0754562e13d2e63a248a1c82f90b30bc0ffe307c.patch) +sha512sums=('a6e3ea3ac5d91befaa99f6a31a3fac44e7b7c11f1de4698167317a461d5a19a2651d47486a920b34400f18367b4f6173bf0c1c9ba80eb682cece1b5beee352a0' + 'SKIP' + 'a91112f067e8267ad6448517c6dc7234b1f8664612990e5ef6a074259bbe61e5b389bc334cd4a36ddf7a0bfa5943b9a1c450fe601713dd887cb6bc5172cd0a49') +b2sums=('bc8e49983d9ad9dfd98984e2ffef501c6f576480e556e9f9ef91c7d597524cc1bb8baed15dfef8e239f72c42136c524117029eb8271f3a2c9d607fee490279b5' + 'SKIP' + '21116ed199bf97b151fd3d6c6684d45a0f5f246afd5b1389b778198445045b93fc5fbe9ae7509e8fa4312f70b4751017f5f2f947101ed6874a6db15a8754c63e') +validpgpkeys=( + '6A91A5CF22C24C99A35E013FCFDCF91FB242ACED' # Erik de Castro Lopo + '9B1CFD2E92239C4B288E025F9D0D1F1CCB35FF8C' # evpobr evpobr@gmail.com + '31D95CAB6D80D262244A1750A47620E801E47E95' # David Seifert soap@gentoo.org +) + +prepare() { + patch -d $pkgname-$pkgver -Np1 -i ../$pkgname-1.2.2-CVE-2022-33065.patch +} + +build() { + local cmake_options=( + -B build + -D BUILD_SHARED_LIBS=ON + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_BUILD_TYPE=None + -D ENABLE_EXTERNAL_LIBS=ON + -D ENABLE_MPEG=ON + -S $pkgname-$pkgver + -W no-dev + ) + local cmake_test_options=( + -B build-test + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + -S $pkgname-$pkgver + -W no-dev + ) + + cmake "${cmake_test_options[@]}" + cmake --build build-test --verbose + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + ctest --test-dir build-test --output-on-failure +} + +package() { + depends+=( + flac libFLAC.so + lame libmp3lame.so + libogg libogg.so + libvorbis libvorbis.so libvorbisenc.so + mpg123 libmpg123.so + opus libopus.so + ) + + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $pkgname-$pkgver/{AUTHORS,ChangeLog,README} -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/main/libsndfile/README b/main/libsndfile/README new file mode 100644 index 00000000..7ecf3a1a --- /dev/null +++ b/main/libsndfile/README @@ -0,0 +1,43 @@ +libsndfile +________________________________________________________________________________ + +A C library for reading and writing files containing sampled audio data + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsndfile | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libsndfile.github.io/libsndfile/ diff --git a/main/libsndfile/version b/main/libsndfile/version new file mode 100644 index 00000000..e13c61d4 --- /dev/null +++ b/main/libsndfile/version @@ -0,0 +1 @@ +1.2.2 2 diff --git a/main/libsodium/PKGBUILD b/main/libsodium/PKGBUILD new file mode 100644 index 00000000..a85b3982 --- /dev/null +++ b/main/libsodium/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsodium +pkgver=%version% +pkgrel=%release% +pkgdesc="A modern, portable, easy to use crypto library" +arch=('x86_64') +url="https://github.com/jedisct1/libsodium" +license=('custom:ISC') +depends=('glibc') +makedepends=('git') +provides=('libsodium.so') +source=("git+${url}.git?signed#tag=${pkgver}-RELEASE") +sha512sums=('SKIP') +validpgpkeys=('54A2B8892CC3D6A597B92B6C210627AABA709FE1') # Frank Denis + +build() { + cd $pkgname + + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname + make check +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install + + # install license + install -d -m 755 "$pkgdir/usr/share/licenses/$pkgname" + install -m 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/libsodium/README b/main/libsodium/README new file mode 100644 index 00000000..60922d39 --- /dev/null +++ b/main/libsodium/README @@ -0,0 +1,43 @@ +libsodium +________________________________________________________________________________ + +A modern, portable, easy to use crypto library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsodium | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/jedisct1/libsodium diff --git a/main/libsodium/version b/main/libsodium/version new file mode 100644 index 00000000..19eed010 --- /dev/null +++ b/main/libsodium/version @@ -0,0 +1 @@ +1.0.19 3 diff --git a/main/libsonic/PKGBUILD b/main/libsonic/PKGBUILD new file mode 100644 index 00000000..95e6e970 --- /dev/null +++ b/main/libsonic/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsonic +pkgver=%version% +pkgrel=%release% +pkgdesc="Simple library to speed up or slow down speech" +arch=('x86_64') +url="https://github.com/waywardgeek/sonic" +license=('Apache') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/waywardgeek/sonic/archive/refs/tags/release-${pkgver}.tar.gz" + "ldflags.patch") +sha512sums=('e70510c89c4f29c30f2a3443a1c4fc1aab2c99147e2ebd1dea3cbb2b89b8bdcee14dc504600ac1f04e82d32c19f17b06fbb417311853beb764c24d15687a126f' + '751ec8bca373028fe6aa02f3557116369e588148755ab26e210d6bc0b4a70aecdf8b67aae9d7ba934f2eb14ab418f3a1d2854061ee6efd7d35cead4c5858ad36') +b2sums=('c4a45291e87bfaa36b7ee248b0f6af148d7c90a6e1efaf4e7d99b86ff987817ff49dc55aa2fb41151ea7facbd87858fc6b40818a776babdbc228f2f2406a616d' + '8b38fb56ae16548df62f7a75c6f784b0139a96202fc237d03d342ea7f2427ef70e765ffce620b127b7059cab32ea169f0ebb08eb529b0b276df88d9eb0f75e2a') + +prepare() { + cd sonic-release-${pkgver} + patch -N -i ../ldflags.patch +} + +build() { + cd sonic-release-${pkgver} + make +} + +package() { + cd sonic-release-${pkgver} + make DESTDIR="$pkgdir/" install + rm -v "$pkgdir/usr/lib/libsonic.a" + install -vDm644 sonic.1 -t "$pkgdir/usr/share/man/man1/" +} diff --git a/main/libsonic/README b/main/libsonic/README new file mode 100644 index 00000000..b3f01c49 --- /dev/null +++ b/main/libsonic/README @@ -0,0 +1,43 @@ +libsonic +________________________________________________________________________________ + +Simple library to speed up or slow down speech + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsonic | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/waywardgeek/sonic diff --git a/main/libsonic/ldflags.patch b/main/libsonic/ldflags.patch new file mode 100644 index 00000000..af0e356c --- /dev/null +++ b/main/libsonic/ldflags.patch @@ -0,0 +1,29 @@ +--- Makefile.orig 2015-02-27 21:17:45.000000000 +0300 ++++ Makefile 2022-09-17 17:52:46.195305832 +0300 +@@ -11,7 +11,7 @@ + SONAME=install_name + endif + #CFLAGS=-Wall -g -ansi -fPIC -pthread +-CFLAGS=-Wall -O3 -ansi -fPIC -pthread ++CFLAGS+=-ansi -pthread + LIB_TAG=0.2.0 + CC=gcc + PREFIX=/usr +@@ -20,7 +20,7 @@ + all: sonic libsonic.so.$(LIB_TAG) libsonic.a + + sonic: wave.o main.o libsonic.so.$(LIB_TAG) +- $(CC) $(CFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o sonic wave.o main.o libsonic.so.$(LIB_TAG) + + sonic.o: sonic.c sonic.h + $(CC) $(CFLAGS) -c sonic.c +@@ -32,7 +32,7 @@ + $(CC) $(CFLAGS) -c main.c + + libsonic.so.$(LIB_TAG): sonic.o +- $(CC) $(CFLAGS) -shared -Wl,-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG) ++ $(CC) $(CFLAGS) -shared $(LDFLAGS),-$(SONAME),libsonic.so.0 sonic.o -o libsonic.so.$(LIB_TAG) + ln -sf libsonic.so.$(LIB_TAG) libsonic.so + ln -sf libsonic.so.$(LIB_TAG) libsonic.so.0 + diff --git a/main/libsonic/version b/main/libsonic/version new file mode 100644 index 00000000..2f7905df --- /dev/null +++ b/main/libsonic/version @@ -0,0 +1 @@ +0.2.0 1 diff --git a/main/libsoup3/PKGBUILD b/main/libsoup3/PKGBUILD new file mode 100644 index 00000000..d4f907dc --- /dev/null +++ b/main/libsoup3/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libsoup3 +pkgname=( + libsoup3 + libsoup3-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="HTTP client/server library for GNOME" +url="https://wiki.gnome.org/Projects/libsoup" +arch=(x86_64) +license=(LGPL) +depends=( + brotli + glib-networking + glib2 + krb5 + libnghttp2 + libpsl + libsysprof-capture + sqlite +) +makedepends=( + gi-docgen + git + gobject-introspection + meson + python-quart + samba + vala +) +checkdepends=( + apache + php-apache +) +_commit=d6133a8e116953dac824b835d4f788e21a3e6565 # tags/3.4.4^0 +source=("git+https://gitlab.gnome.org/GNOME/libsoup.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libsoup + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libsoup +} + +build() { + local meson_options=( + -D autobahn=disabled + ) + + arch-meson libsoup build "${meson_options[@]}" + meson compile -C build +} + +check() { + # Python's output buffering messes with the tests reading stdout lines from + # http2-server.py through a pipe + PYTHONUNBUFFERED=1 meson test -C build --print-errorlogs +} + +package_libsoup3() { + depends+=( + libbrotlidec.so + libgssapi_krb5.so + libg{lib,object,io}-2.0.so + libpsl.so + ) + optdepends=('samba: Windows Domain SSO') + provides+=(libsoup-3.0.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libsoup3-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libsoup3/README b/main/libsoup3/README new file mode 100644 index 00000000..d604cac1 --- /dev/null +++ b/main/libsoup3/README @@ -0,0 +1,43 @@ +libsoup3 +________________________________________________________________________________ + +HTTP client/server library for GNOME HTTP client/server library for GNOME (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsoup3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Projects/libsoup diff --git a/main/libsoup3/version b/main/libsoup3/version new file mode 100644 index 00000000..cb296f80 --- /dev/null +++ b/main/libsoup3/version @@ -0,0 +1 @@ +3.4.4 1 diff --git a/main/libsoxr/PKGBUILD b/main/libsoxr/PKGBUILD new file mode 100644 index 00000000..5b2ba681 --- /dev/null +++ b/main/libsoxr/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libsoxr +pkgver=%version% +pkgrel=%release% +pkgdesc='The SoX Resampler library that aims to give fast and high quality results for any constant resampling ratio' +arch=(x86_64) +url=https://sourceforge.net/p/soxr/wiki/Home/ +license=(GPL) +depends=(gcc-libs) +makedepends=( + cmake + ninja +) +source=(https://downloads.sourceforge.net/project/soxr/soxr-$pkgver-Source.tar.xz) +b2sums=('5b7078f71404b9ef83917dcabc0c99cf17fd625d3e033d1b934382a7b60e55e359931a6ab53f8adaf955c0d811d6cbf231cd6a226549560b3506a3867e845607') + +build() { + cmake -S soxr-${pkgver}-Source -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DWITH_AVFFT=ON \ + -DWITH_LSR_BINDINGS=ON \ + -DWITH_OPENMP=ON \ + -DWITH_PFFFT=ON + cmake --build build +} + +check() { + ctest --test-dir build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build + rm -rf "${pkgdir}"/usr/share/doc + install -Dm 644 soxr-${pkgver}-Source/LICENCE -t "${pkgdir}"/usr/share/licenses/libsoxr/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/libsoxr/README b/main/libsoxr/README new file mode 100644 index 00000000..d08d3ca7 --- /dev/null +++ b/main/libsoxr/README @@ -0,0 +1,43 @@ +libsoxr +________________________________________________________________________________ + +The SoX Resampler library that aims to give fast and high quality results for any constant resampling ratio + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libsoxr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/p/soxr/wiki/Home/ diff --git a/main/libsoxr/version b/main/libsoxr/version new file mode 100644 index 00000000..dca75038 --- /dev/null +++ b/main/libsoxr/version @@ -0,0 +1 @@ +0.1.3 3 diff --git a/main/libssh/.nvchecker.toml b/main/libssh/.nvchecker.toml new file mode 100644 index 00000000..c79bfd52 --- /dev/null +++ b/main/libssh/.nvchecker.toml @@ -0,0 +1,4 @@ +[libssh] +source = 'regex' +url = 'https://git.libssh.org/projects/libssh.git/' +regex = 'libssh-([\d.]+)' diff --git a/main/libssh/PKGBUILD b/main/libssh/PKGBUILD new file mode 100644 index 00000000..5478bb17 --- /dev/null +++ b/main/libssh/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libssh +pkgname=(libssh + libssh-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for accessing ssh client services through C libraries' +url='https://www.libssh.org/' +license=(LGPL) +arch=(x86_64) +depends=(glibc + openssl + zlib) +makedepends=(cmake + cmocka + doxygen + openssh + python) +provides=(libssh.so) +source=(https://www.libssh.org/files/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.asc} + https://gitlab.com/libssh/libssh-mirror/-/commit/1a02364b.patch) +sha256sums=('1861d498f5b6f1741b6abc73e608478491edcf9c9d4b6630eef6e74596de9dc1' + 'SKIP' + '124612313b78dc89e47e87a17698113b8d2736c213e724c0ae0f84f87136ba48') +validpgpkeys=('8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D') # Andreas Schneider + +prepare() { +# Fix regression in IPv6 addresses in hostname parsing + patch -d $pkgname-$pkgver -p1 < 1a02364b.patch +} + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_GSSAPI=OFF \ + -DUNIT_TESTING=ON + cmake --build build + cmake --build build --target docs +} + +check() { + cmake --build build --target test +} + +package_libssh() { + DESTDIR="$pkgdir" cmake --install build +} + +package_libssh-docs() { + pkgdesc='Documentation for libssh' + depends=() + provides=() + + mkdir -p "$pkgdir"/usr/share/doc/libssh + cp -r build/doc/html "$pkgdir"/usr/share/doc/libssh +# cp -r build/doc/man "$pkgdir"/usr/share +# rm "$pkgdir"/usr/share/man/man3/{bug,deprecated}.* +} diff --git a/main/libssh/README b/main/libssh/README new file mode 100644 index 00000000..a9e59ea1 --- /dev/null +++ b/main/libssh/README @@ -0,0 +1,43 @@ +libssh +________________________________________________________________________________ + +Library for accessing ssh client services through C libraries Documentation for libssh + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libssh | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.libssh.org/ diff --git a/main/libssh/version b/main/libssh/version new file mode 100644 index 00000000..e8249901 --- /dev/null +++ b/main/libssh/version @@ -0,0 +1 @@ +0.10.6 2 diff --git a/main/libssh2/PKGBUILD b/main/libssh2/PKGBUILD new file mode 100644 index 00000000..6e27d651 --- /dev/null +++ b/main/libssh2/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libssh2 +pkgver=%version% +pkgrel=%release% +pkgdesc="A library implementing the SSH2 protocol as defined by Internet Drafts" +url="https://www.libssh2.org/" +arch=('x86_64') +license=('BSD') +depends=('openssl' 'zlib') +provides=('libssh2.so') +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg + '914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg (old key) +source=("https://www.libssh2.org/download/$pkgname-$pkgver.tar.gz"{,.asc}) +sha256sums=('3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461' + 'SKIP') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr --disable-docker-tests + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/libssh2/README b/main/libssh2/README new file mode 100644 index 00000000..ebf11a2e --- /dev/null +++ b/main/libssh2/README @@ -0,0 +1,43 @@ +libssh2 +________________________________________________________________________________ + +A library implementing the SSH2 protocol as defined by Internet Drafts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libssh2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.libssh2.org/ diff --git a/main/libssh2/version b/main/libssh2/version new file mode 100644 index 00000000..0da43b10 --- /dev/null +++ b/main/libssh2/version @@ -0,0 +1 @@ +1.11.0 1 diff --git a/main/libtar/PKGBUILD b/main/libtar/PKGBUILD new file mode 100644 index 00000000..5d9f91a6 --- /dev/null +++ b/main/libtar/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libtar +pkgver=%version% +pkgrel=%release% +_git='9c2e044833c5e908f5be0a77991b08849021793e' +pkgdesc='C library for manipulating POSIX tar files' +arch=('x86_64') +url='https://repo.or.cz/w/libtar.git' +license=('BSD') +depends=('zlib') +source=("libtar-${_git}.tar.gz::https://github.com/tklauser/libtar/archive/${_git}.tar.gz") +sha256sums=('21d86460dd128f56cfa391e4bc82e91f98e84c2948a854e33daed5c58d4e9cb6') + +build() { + cd "${srcdir}/${pkgname}-${_git}" + + autoreconf -fi + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-static \ + --disable-encap \ + --disable-epkg-install + make +} + +package() { + cd "${srcdir}/${pkgname}-${_git}" + + make DESTDIR="${pkgdir}" install + install -D -m0644 COPYRIGHT "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/libtar/README b/main/libtar/README new file mode 100644 index 00000000..4d84c219 --- /dev/null +++ b/main/libtar/README @@ -0,0 +1,43 @@ +libtar +________________________________________________________________________________ + +C library for manipulating POSIX tar files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtar | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://repo.or.cz/w/libtar.git diff --git a/main/libtar/version b/main/libtar/version new file mode 100644 index 00000000..9349a870 --- /dev/null +++ b/main/libtar/version @@ -0,0 +1 @@ +1.2.20 7 diff --git a/main/libtasn1/.nvchecker.toml b/main/libtasn1/.nvchecker.toml new file mode 100644 index 00000000..f0377016 --- /dev/null +++ b/main/libtasn1/.nvchecker.toml @@ -0,0 +1,5 @@ +[libtasn1] +source = "gitlab" +gitlab = "gnutls/libtasn1" +use_max_tag = true +prefix = "v" diff --git a/main/libtasn1/PKGBUILD b/main/libtasn1/PKGBUILD new file mode 100644 index 00000000..cec0dc3b --- /dev/null +++ b/main/libtasn1/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libtasn1 +pkgver=%version% +pkgrel=%release% +pkgdesc="The ASN.1 library used in GNUTLS" +arch=('x86_64') +license=('GPL3' 'LGPL') +url="https://www.gnu.org/software/libtasn1/" +depends=('glibc') +source=(https://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig}) +sha256sums=('1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a' + 'SKIP') +validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE') # "Simon Josefsson " + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + CODE_COVERAGE_LDFLAGS=${LDFLAGS} make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + make -C doc/reference DESTDIR="${pkgdir}" install-data-local +} diff --git a/main/libtasn1/README b/main/libtasn1/README new file mode 100644 index 00000000..2b37eb66 --- /dev/null +++ b/main/libtasn1/README @@ -0,0 +1,43 @@ +libtasn1 +________________________________________________________________________________ + +The ASN.1 library used in GNUTLS + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtasn1 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libtasn1/ diff --git a/main/libtasn1/version b/main/libtasn1/version new file mode 100644 index 00000000..ce45c3e9 --- /dev/null +++ b/main/libtasn1/version @@ -0,0 +1 @@ +4.19.0 1 diff --git a/main/libteam/PKGBUILD b/main/libteam/PKGBUILD new file mode 100644 index 00000000..a8e21151 --- /dev/null +++ b/main/libteam/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libteam +pkgname=(libteam libteam-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="Library for controlling team network device" +url="http://libteam.org/" +arch=(x86_64) +license=(LGPL) +depends=( + bash + jansson + libdaemon + libdbus + libnl + zeromq +) +makedepends=( + doxygen + git + graphviz +) +_commit=8b843e93cee1dab61fb79b01791201cdad45e1d1 # tags/v1.32 +source=("git+https://github.com/jpirko/libteam#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd libteam + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libteam + NOCONFIGURE=1 ./autogen.sh +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --libexecdir=/usr/lib + --disable-static + ) + + cd libteam + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make all html +} + +check() { + cd libteam + make check +} + +package_libteam() { + provides=(libteam.so libteamdctl.so) + + cd libteam + make DESTDIR="$pkgdir" install + + install -Dt "$pkgdir/usr/lib/systemd/system" -m644 teamd/redhat/systemd/teamd@.service + install -Dt "$pkgdir/usr/share/dbus-1/system.d" -m644 teamd/dbus/teamd.conf +} + +package_libteam-docs() { + pkgdesc+=" (documentation)" + depends=() + + mkdir -p "$pkgdir/usr/share/doc/$pkgbase" + cp -a libteam/doc/api "$pkgdir/usr/share/doc/$pkgbase" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libteam/README b/main/libteam/README new file mode 100644 index 00000000..174cdefc --- /dev/null +++ b/main/libteam/README @@ -0,0 +1,43 @@ +libteam +________________________________________________________________________________ + +Library for controlling team network device Library for controlling team network device (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libteam | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://libteam.org/ diff --git a/main/libteam/version b/main/libteam/version new file mode 100644 index 00000000..c6fdcd23 --- /dev/null +++ b/main/libteam/version @@ -0,0 +1 @@ +1.32 1 diff --git a/main/libthai/PKGBUILD b/main/libthai/PKGBUILD new file mode 100644 index 00000000..2e4ef1bb --- /dev/null +++ b/main/libthai/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libthai +pkgver=%version% +pkgrel=%release% +pkgdesc='Thai language support library' +arch=('x86_64') +url='https://linux.thai.net/projects/libthai' +license=('LGPL-2.1-or-later') +depends=('glibc' 'libdatrie') +makedepends=('doxygen') +source=("https://linux.thai.net/pub/thailinux/software/libthai/$pkgname-$pkgver.tar.xz") +sha256sums=('fc80cc7dcb50e11302b417cebd24f2d30a8b987292e77e003267b9100d0f4bcd') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libthai/README b/main/libthai/README new file mode 100644 index 00000000..13a700a6 --- /dev/null +++ b/main/libthai/README @@ -0,0 +1,43 @@ +libthai +________________________________________________________________________________ + +Thai language support library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libthai | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://linux.thai.net/projects/libthai diff --git a/main/libthai/version b/main/libthai/version new file mode 100644 index 00000000..f82e6902 --- /dev/null +++ b/main/libthai/version @@ -0,0 +1 @@ +0.1.29 3 diff --git a/main/libtheora/PKGBUILD b/main/libtheora/PKGBUILD new file mode 100644 index 00000000..526466e9 --- /dev/null +++ b/main/libtheora/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer +# Committer: dorphell + +pkgname=libtheora +pkgver=%version% +pkgrel=%release% +pkgdesc='Standard encoder and decoder library for the Theora video compression format' +arch=('x86_64') +url='https://www.theora.org/' +license=('BSD-3-Clause') +depends=('glibc' 'libogg') +makedepends=('libpng' 'libvorbis' 'sdl') +source=("https://downloads.xiph.org/releases/theora/$pkgname-$pkgver.tar.xz" + 'libtheora-1.1.1-libpng16.patch') +sha256sums=('f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61' + 'e4c9a8dc798c596ed32a2a720020ae27a0e72f5add1a47cb8fadebe0e7180d7e') + +prepare() { + cd $pkgname-$pkgver + patch -Np0 -i ../libtheora-1.1.1-libpng16.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE COPYING +} diff --git a/main/libtheora/README b/main/libtheora/README new file mode 100644 index 00000000..7f064f69 --- /dev/null +++ b/main/libtheora/README @@ -0,0 +1,43 @@ +libtheora +________________________________________________________________________________ + +Standard encoder and decoder library for the Theora video compression format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtheora | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.theora.org/ diff --git a/main/libtheora/libtheora-1.1.1-libpng16.patch b/main/libtheora/libtheora-1.1.1-libpng16.patch new file mode 100644 index 00000000..93da700c --- /dev/null +++ b/main/libtheora/libtheora-1.1.1-libpng16.patch @@ -0,0 +1,17 @@ +http://bugs.gentoo.org/465450 +http://trac.xiph.org/ticket/1947 + +--- examples/png2theora.c ++++ examples/png2theora.c +@@ -462,9 +462,9 @@ + png_set_strip_alpha(png_ptr); + + row_data = (png_bytep)png_malloc(png_ptr, +- 3*height*width*png_sizeof(*row_data)); ++ 3*height*width*sizeof(*row_data)); + row_pointers = (png_bytep *)png_malloc(png_ptr, +- height*png_sizeof(*row_pointers)); ++ height*sizeof(*row_pointers)); + for(y = 0; y < height; y++) { + row_pointers[y] = row_data + y*(3*width); + } diff --git a/main/libtheora/version b/main/libtheora/version new file mode 100644 index 00000000..95e77ecd --- /dev/null +++ b/main/libtheora/version @@ -0,0 +1 @@ +1.1.1 6 diff --git a/main/libtiff/.PKGINFO b/main/libtiff/.PKGINFO new file mode 100644 index 00000000..1bcfee86 --- /dev/null +++ b/main/libtiff/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libtiff +pkgbase = libtiff +xdata = pkgtype=pkg +pkgver = 4.6.0-5 +pkgdesc = Library for manipulation of TIFF images +url = http://www.simplesystems.org/libtiff/ +builddate = 1715045257 +packager = Developer +size = 1339462 +arch = x86_64 +license = custom +provides = libtiff.so=6-64 +provides = libtiffxx.so=6-64 +depend = gcc-libs +depend = glibc +depend = jbigkit +depend = libjpeg-turbo +depend = libjpeg.so=8-64 +depend = zlib +depend = xz +depend = zstd +optdepend = freeglut: for using tiffgt +makedepend = freeglut +makedepend = git +makedepend = glu +makedepend = mesa diff --git a/main/libtiff/PKGBUILD b/main/libtiff/PKGBUILD new file mode 100644 index 00000000..c92c1325 --- /dev/null +++ b/main/libtiff/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libtiff +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for manipulation of TIFF images' +url='http://www.simplesystems.org/libtiff/' +arch=('x86_64') +license=('custom') +depends=('gcc-libs' 'glibc' 'jbigkit' 'libjpeg-turbo' 'libjpeg.so' 'zlib' 'xz' 'zstd') +makedepends=('freeglut' 'git' 'glu' 'mesa') +optdepends=('freeglut: for using tiffgt') +provides=('libtiff.so' 'libtiffxx.so') +#source=("https://download.osgeo.org/libtiff/tiff-${pkgver}.tar.gz"{,.sig} +source=("git+https://gitlab.com/libtiff/libtiff.git?signed#tag=v${pkgver}") +sha256sums=('039e243f1f37459833b9c3475e62d245f9593e61e8f4be5843f2d7af711c45f9') +b2sums=('e3c31b9afefecdcafb52d174840c2eee8cb4dd43ff1a81eef52a09e0753cfb247775baa7a42b865e518f2cdaa04828e4acbb43a0ead373b1251b2d0c03f8d0a6') +validpgpkeys=( + 'EBDFDB21B020EE8FD151A88DE301047DE1198975' # Bob Friesenhahn + 'B1FA7D81EEB8E66399178B9733EBBFC47B3DD87D' # Even Rouault +) + +prepare() { + cd libtiff + # CVE-2023-6277 + git cherry-pick -n 5320c9d89c054fa805d037d84c57da874470b01a + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --enable-ld-version-script + --mandir=/usr/share/man + --with-docdir=/usr/share/doc/${pkgname} + ) + + cd libtiff + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd libtiff + make check +} + +package() { + cd libtiff + make DESTDIR="${pkgdir}" install + install -Dm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libtiff/README b/main/libtiff/README new file mode 100644 index 00000000..b2dc4785 --- /dev/null +++ b/main/libtiff/README @@ -0,0 +1,43 @@ +libtiff +________________________________________________________________________________ + +Library for manipulation of TIFF images + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtiff | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.simplesystems.org/libtiff/ diff --git a/main/libtiff/version b/main/libtiff/version new file mode 100644 index 00000000..b7f2e866 --- /dev/null +++ b/main/libtiff/version @@ -0,0 +1 @@ +4.6.0 5 diff --git a/main/libtirpc/.nvchecker.toml b/main/libtirpc/.nvchecker.toml new file mode 100644 index 00000000..084cad3b --- /dev/null +++ b/main/libtirpc/.nvchecker.toml @@ -0,0 +1,7 @@ +[libtirpc] +source = "git" +git = "git://git.linux-nfs.org/projects/steved/libtirpc.git" +ignored = "0.0.10" +exclude_regex = ".*(rc).*" +from_pattern = 'libtirpc-(\d+)-(\d+)-(\d+)' +to_pattern = '\1.\2.\3' diff --git a/main/libtirpc/PKGBUILD b/main/libtirpc/PKGBUILD new file mode 100644 index 00000000..b90db093 --- /dev/null +++ b/main/libtirpc/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libtirpc +pkgver=%version% +pkgrel=%release% +pkgdesc="Transport Independent RPC library (SunRPC replacement)" +arch=('x86_64') +url="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary" +license=('BSD') +depends=('krb5' 'glibc') +backup=('etc/netconfig') +# git tree: git://linux-nfs.org/~steved/libtirpc +source=(https://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('63c800f81f823254d2706637bab551dec176b99b') +sha512sums=('004e61b5853717324790c46cda5ff227d525909f189194ae72a1ec8f476ca35d7f4c1f03c0fbc690c1696d60a212675b09246dbe627fdbf1a9a47f5664e82b00') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconf=/etc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/libtirpc/README b/main/libtirpc/README new file mode 100644 index 00000000..f835c4fb --- /dev/null +++ b/main/libtirpc/README @@ -0,0 +1,43 @@ +libtirpc +________________________________________________________________________________ + +Transport Independent RPC library (SunRPC replacement) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtirpc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://git.linux-nfs.org/?p diff --git a/main/libtirpc/version b/main/libtirpc/version new file mode 100644 index 00000000..737bdf49 --- /dev/null +++ b/main/libtirpc/version @@ -0,0 +1 @@ +1.3.4 1 diff --git a/main/libtommath/PKGBUILD b/main/libtommath/PKGBUILD new file mode 100644 index 00000000..9ced5865 --- /dev/null +++ b/main/libtommath/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libtommath +pkgver=%version% +pkgrel=%release% +pkgdesc='Highly optimized and portable routines for integer based number theoretic applications' +url='http://www.libtom.net/' +license=(custom) +arch=(x86_64) +depends=(glibc) +source=(https://github.com/libtom/libtommath/releases/download/v$pkgver/ltm-$pkgver.tar.xz) +sha256sums=('296272d93435991308eb73607600c034b558807a07e829e751142e65ccfa9d08') + +build() { + cd $pkgname-$pkgver + + make -f makefile.shared IGNORE_SPEED=1 +} + +package() { + cd $pkgname-$pkgver + + make -f makefile.shared PREFIX=/usr DESTDIR="$pkgdir" INSTALL_GROUP=root install + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/libtommath/README b/main/libtommath/README new file mode 100644 index 00000000..66541e83 --- /dev/null +++ b/main/libtommath/README @@ -0,0 +1,43 @@ +libtommath +________________________________________________________________________________ + +Highly optimized and portable routines for integer based number theoretic applications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtommath | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.libtom.net/ diff --git a/main/libtommath/version b/main/libtommath/version new file mode 100644 index 00000000..0a2d7f2b --- /dev/null +++ b/main/libtommath/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/main/libtool/.PKGINFO b/main/libtool/.PKGINFO new file mode 100644 index 00000000..7309b620 --- /dev/null +++ b/main/libtool/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libtool +pkgbase = libtool +xdata = pkgtype=pkg +pkgver = 2.5.0+1+g38c166c8-1 +pkgdesc = A generic library support script +url = https://www.gnu.org/software/libtool +builddate = 1715991099 +packager = Developer +size = 2322102 +arch = x86_64 +license = GPL +replaces = libltdl +replaces = libtool-multilib +conflict = libltdl +conflict = libtool-multilib +provides = libltdl=2.5.0+1+g38c166c8 +provides = libtool-multilib=2.5.0+1+g38c166c8 +depend = sh +depend = tar +depend = glibc +makedepend = gcc>=14.1.1 +makedepend = git +makedepend = help2man +checkdepend = gcc-fortran diff --git a/main/libtool/PKGBUILD b/main/libtool/PKGBUILD new file mode 100644 index 00000000..035b0b62 --- /dev/null +++ b/main/libtool/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Developer +# Maintainer: Developer + +# NOTE: requires rebuilt with each new gcc version + +pkgname=libtool +_commit=1ec8fa28dcb29500d485c136db28315671ec4c3b +pkgver=%version% +pkgrel=%release% +_gccver=13.2.1 +pkgdesc='A generic library support script' +arch=(x86_64) +url='https://www.gnu.org/software/libtool' +license=(GPL) +depends=(sh tar glibc) +makedepends=("gcc>=$_gccver" git help2man) +checkdepends=(gcc-fortran) +provides=("libltdl=$pkgver" "libtool-multilib=$pkgver") +conflicts=(libltdl libtool-multilib) +replaces=(libltdl libtool-multilib) +source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit + git+https://git.savannah.gnu.org/git/gnulib.git + gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git + no_hostname.patch + disable-lto-link-order2.patch + grep_3.8_fix.patch) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + '693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946' + 'b6dce6681f223b18a90614edbcdeb00f228abd1216e22c4bd07285321cd2ceb7' + '0a31d3ed91d97a18e17942c85018899c0233493a54c885f4c133454de522ef50') + +pkgver() { + cd libtool + git describe --tags | sed 's/-/+/g;s/^v//' +} + +prepare() { + cd libtool + + patch -Np1 -i "${srcdir}"/no_hostname.patch + + # test 67 is broken with lto + # this patch removes the -flto flag for this very test + # adapt when -ffat-lto-objects is enabled by Arch + patch -Np1 -i "${srcdir}"/disable-lto-link-order2.patch + + # test 66 is broken with grep 3.8 + # see https://bugzilla.opensuse.org/show_bug.cgi?id=1203097 + patch -Np1 -i "${srcdir}"/grep_3.8_fix.patch + + git submodule init + git config --local submodule.gnulib.url "${srcdir}"/gnulib + git config --local submodule.gl-mod/bootstrap.url "${srcdir}"/gnulib-bootstrap + git -c protocol.file.allow=always submodule update + + ./bootstrap +} + +build() { + cd libtool + ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32" + make +} + +check() { + cd libtool + make check gl_public_submodule_commit= +} + +package() { + cd libtool + make DESTDIR="$pkgdir" install +} diff --git a/main/libtool/README b/main/libtool/README new file mode 100644 index 00000000..ee9d9fc3 --- /dev/null +++ b/main/libtool/README @@ -0,0 +1,43 @@ +libtool +________________________________________________________________________________ + +A generic library support script + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libtool | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libtool diff --git a/main/libtool/disable-lto-link-order2.patch b/main/libtool/disable-lto-link-order2.patch new file mode 100644 index 00000000..7287cefe --- /dev/null +++ b/main/libtool/disable-lto-link-order2.patch @@ -0,0 +1,56 @@ +This patch is derived from +https://src.fedoraproject.org/rpms/libtool/blob/rawhide/f/libtool-2.4.6-disable-lto-link-order2.patch + +Enabling lto will result in failure during test phase, to be precise test 67 will cause it. +Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase. +I'm not sure if this is expected. + +Most distribution disables this test. We try to keep it by stripping lto flags for it. + +Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427 + +--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100 ++++ b/tests/link-order2.at 2021-11-30 02:01:09.574451906 +0100 +@@ -47,6 +47,8 @@ + AT_KEYWORDS([libtool]) + AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window. + ++NO_LTO_CFLAGS=${CFLAGS/ -flto} ++ + eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='` + + undefined_setting=-no-undefined +@@ -89,12 +91,12 @@ + EOF + + for file in a0 a1 b; do +- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c ++ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c + done +-$CC $CPPFLAGS $CFLAGS -c main.c ++$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c + + # Build an old, installed library. +-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir ++$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir + $LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la + $LIBTOOL --mode=clean rm -f liba0.la + +@@ -118,13 +120,13 @@ + esac + test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" && + static=-all-static +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./main]) + # Now test that if we reverse the link order, the program fails. +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], + [], [ignore], [ignore]) + if test yes, != "$shared_fails,$static"; then + LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)]) diff --git a/main/libtool/grep_3.8_fix.patch b/main/libtool/grep_3.8_fix.patch new file mode 100644 index 00000000..ab94d11e --- /dev/null +++ b/main/libtool/grep_3.8_fix.patch @@ -0,0 +1,17 @@ +--- libtool-2.4.7/tests/link-order.at ++++ libtool-2.4.7/tests/link-order.at +@@ -99,12 +99,12 @@ aix* | interix*) ;; # These systems hav + case $hardcode_direct$hardcode_direct_absolute in + yesno) + AT_CHECK([if $EGREP relinking stderr; then +- $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout ++ $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout + else :; fi], [0], [ignore], [], [echo "wrong link order"]) + ;; + *) + AT_CHECK([if $EGREP relinking stderr; then +- $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout ++ $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout + else :; fi], [0], [ignore], [], [echo "wrong link order"]) + ;; + esac diff --git a/main/libtool/no_hostname.patch b/main/libtool/no_hostname.patch new file mode 100644 index 00000000..4fa900c4 --- /dev/null +++ b/main/libtool/no_hostname.patch @@ -0,0 +1,12 @@ +Index: libtool-2.4.6/m4/libtool.m4 +=================================================================== +--- libtool-2.4.6.orig/m4/libtool.m4 ++++ libtool-2.4.6/m4/libtool.m4 +@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([ + cat <<_LT_EOF >> "$cfgfile" + #! $SHELL + # Generated automatically by $as_me ($PACKAGE) $VERSION +-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + # NOTE: Changes made to this file will be lost: look at ltmain.sh. + + # Provide generalized library-building support services. diff --git a/main/libtool/version b/main/libtool/version new file mode 100644 index 00000000..a103052b --- /dev/null +++ b/main/libtool/version @@ -0,0 +1 @@ +2.5.0+1+g38c166c8 1 diff --git a/main/libunibreak/PKGBUILD b/main/libunibreak/PKGBUILD new file mode 100644 index 00000000..b767fb53 --- /dev/null +++ b/main/libunibreak/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libunibreak +pkgver=%version% +pkgrel=%release% +pkgdesc="An implementation of the line breaking algorithm as described in Unicode 5.2.0 Standard Annex 14, Revision 24" +arch=("x86_64") +url="https://github.com/adah1972/libunibreak/" +license=("custom:zlib/libpng") +depends=('glibc') +replaces=('liblinebreak') +source=("$pkgname-$pkgver.tar.gz::https://github.com/adah1972/libunibreak/archive/libunibreak_${pkgver//./_}.tar.gz") +sha256sums=('890674996168ef5ba143d80d49ab8b61594a4eb70198dcac76caf6e1bd264a41') + +build() { + cd "$srcdir/libunibreak-libunibreak_${pkgver//./_}" + ./bootstrap + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/libunibreak-libunibreak_${pkgver//./_}" + make DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib/*.a + install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/libunibreak/README b/main/libunibreak/README new file mode 100644 index 00000000..71171f12 --- /dev/null +++ b/main/libunibreak/README @@ -0,0 +1,43 @@ +libunibreak +________________________________________________________________________________ + +An implementation of the line breaking algorithm as described in Unicode 5.2.0 Standard Annex 14, Revision 24 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libunibreak | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/adah1972/libunibreak/ diff --git a/main/libunibreak/version b/main/libunibreak/version new file mode 100644 index 00000000..1143f417 --- /dev/null +++ b/main/libunibreak/version @@ -0,0 +1 @@ +6.1 1 diff --git a/main/libunistring/PKGBUILD b/main/libunistring/PKGBUILD new file mode 100644 index 00000000..656f184a --- /dev/null +++ b/main/libunistring/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libunistring +pkgver=%version% +pkgrel=%release% +pkgdesc='Library for manipulating Unicode strings and C strings' +url='https://www.gnu.org/software/libunistring/' +arch=(x86_64) +license=(GPL) +depends=(glibc) +provides=('libunistring.so') +source=(https://ftp.gnu.org/gnu/$pkgname/${pkgname}-${pkgver}.tar.xz{,.sig}) +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno + '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) +sha256sums=('632bd65ed74a881ca8a0309a1001c428bd1cbd5cd7ddbf8cedcd2e65f4dcdc44' + 'SKIP') +b2sums=('606c6fdd93f05b01e9b08b3bd30283afcbf9a3425abf900e7672f1d6eb91b51009913d4f5e45a4c1c1b82a84b4870d3eaced9ca76fd570936ad5c39c94038fc7' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/libunistring/README b/main/libunistring/README new file mode 100644 index 00000000..292a6536 --- /dev/null +++ b/main/libunistring/README @@ -0,0 +1,43 @@ +libunistring +________________________________________________________________________________ + +Library for manipulating Unicode strings and C strings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libunistring | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libunistring/ diff --git a/main/libunistring/version b/main/libunistring/version new file mode 100644 index 00000000..f76d8346 --- /dev/null +++ b/main/libunistring/version @@ -0,0 +1 @@ +1.2 1 diff --git a/main/libunwind/.PKGINFO b/main/libunwind/.PKGINFO new file mode 100644 index 00000000..1902c5af --- /dev/null +++ b/main/libunwind/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libunwind +pkgbase = libunwind +xdata = pkgtype=pkg +pkgver = 1.8.1-3 +pkgdesc = Determine and manipulate the call-chain of a program +url = https://www.nongnu.org/libunwind/ +builddate = 1715739099 +packager = Developer +size = 301500 +arch = x86_64 +license = MIT +provides = libunwind-coredump.so=0-64 +provides = libunwind-ptrace.so=0-64 +provides = libunwind-setjmp.so=0-64 +provides = libunwind-x86_64.so=8-64 +provides = libunwind.so=8-64 +depend = glibc +depend = xz +depend = zlib +makedepend = texlive-binextra diff --git a/main/libunwind/PKGBUILD b/main/libunwind/PKGBUILD new file mode 100644 index 00000000..55eb4bae --- /dev/null +++ b/main/libunwind/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libunwind +pkgver=%version% +pkgrel=%release% +pkgdesc="Determine and manipulate the call-chain of a program" +url="https://www.nongnu.org/libunwind/" +arch=(x86_64) +license=(GPL) +depends=( + glibc + xz + zlib +) +makedepends=(texlive-binextra) +provides=( + libunwind-{coredump,ptrace,setjmp,x86_64}.so + libunwind.so +) +source=( + https://github.com/libunwind/libunwind/releases/download/v$pkgver/libunwind-$pkgver.tar.gz{,.asc} +) +b2sums=('936e70f2428d8f6ada3b4d58b3c9e3a9738eb2f7aee1ad5fb4e44dbb7400186d1bd1ead86a698e53d199d5944b102f8380d08b48104a138021286a79fb006ec3' + 'SKIP') +validpgpkeys=( + F86EB09F72717426F20D36470A0FF845B7DB3427 # Stephen M. Webb +) + +prepare() { + cd libunwind-$pkgver +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + ) + + cd libunwind-$pkgver + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd libunwind-$pkgver + make check +} + +package() { + cd libunwind-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libunwind/README b/main/libunwind/README new file mode 100644 index 00000000..fc9f59eb --- /dev/null +++ b/main/libunwind/README @@ -0,0 +1,43 @@ +libunwind +________________________________________________________________________________ + +Determine and manipulate the call-chain of a program + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libunwind | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nongnu.org/libunwind/ diff --git a/main/libunwind/version b/main/libunwind/version new file mode 100644 index 00000000..29364533 --- /dev/null +++ b/main/libunwind/version @@ -0,0 +1 @@ +1.8.1 3 diff --git a/main/libupnp/.PKGINFO b/main/libupnp/.PKGINFO new file mode 100644 index 00000000..873d7df5 --- /dev/null +++ b/main/libupnp/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libupnp +pkgbase = libupnp +xdata = pkgtype=pkg +pkgver = 1.14.19-2 +pkgdesc = Portable Open Source UPnP Development Kit +url = https://pupnp.sourceforge.io/ +<<<<<<< HEAD +builddate = 1714089510 +======= +builddate = 1714094297 +>>>>>>> 60c050bd12f363b55e7a6e2af68b319b7c871070 +packager = Developer +size = 953242 +arch = x86_64 +license = BSD-3-Clause +provides = libixml.so=11-64 +provides = libupnp.so=17-64 +depend = glibc +makedepend = cmake diff --git a/main/libupnp/PKGBUILD b/main/libupnp/PKGBUILD new file mode 100644 index 00000000..0157f861 --- /dev/null +++ b/main/libupnp/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +_name=pupnp +pkgname=libupnp +pkgver=%version% +pkgrel=%release% +pkgdesc='Portable Open Source UPnP Development Kit' +arch=(x86_64) +url="https://pupnp.sourceforge.io/" +license=(BSD) +depends=(glibc) +makedepends=(cmake) +provides=( + libixml.so + libupnp.so +) +source=(https://github.com/$_name/$_name/archive/release-$pkgver/$_name-release-$pkgver.tar.gz) +sha512sums=('68973e0e5a8f9e64b2311246b7924b0837fd2c7ef30483d3d93ebfeee62bc2293760209d8a5213c0456ce5c37f9f32a6038c9e5d8b461670ba6073db8c2f1394') +b2sums=('ee95cafc10838817900f82b83d15cf5d925e36a4321c7000b963e9e986ca9165af55c4c90c6fdf5d9bfaf72695711337986d25498cb838d513470f20decf10cc') + +build() { + local cmake_options=( + -B build + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + -D UPNP_BUILD_STATIC=OFF + -D blocking_tcp_connections=OFF + -D reuseaddr=ON + -S $_name-release-$pkgver + -W no-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $_name-release-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname" + install -vDm 644 $_name-release-$pkgver/{ChangeLog,README.md} -t "$pkgdir/usr/share/doc/$pkgname" +} + +# vim: ts=2 sw=2 et: diff --git a/main/libupnp/README b/main/libupnp/README new file mode 100644 index 00000000..c0b32830 --- /dev/null +++ b/main/libupnp/README @@ -0,0 +1,43 @@ +libupnp +________________________________________________________________________________ + +Portable Open Source UPnP Development Kit + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libupnp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pupnp.sourceforge.io/ diff --git a/main/libupnp/version b/main/libupnp/version new file mode 100644 index 00000000..9f3f801f --- /dev/null +++ b/main/libupnp/version @@ -0,0 +1 @@ +1.14.19 2 diff --git a/main/liburcu/PKGBUILD b/main/liburcu/PKGBUILD new file mode 100644 index 00000000..538cb62b --- /dev/null +++ b/main/liburcu/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=liburcu +pkgver=%version% +pkgrel=%release% +pkgdesc="LGPLv2.1 userspace RCU (read-copy-update) library" +arch=('x86_64') +url="https://lttng.org/urcu" +license=('LGPL2.1') +depends=('glibc') +source=(https://lttng.org/files/urcu/userspace-rcu-${pkgver}.tar.bz2{,.asc}) +sha256sums=('ca43bf261d4d392cff20dfae440836603bf009fce24fdc9b2697d837a2239d4f' + 'SKIP') +validpgpkeys=('2A0B4ED915F2D3FA45F5B16217280A9781186ACF') + +build() { + cd "$srcdir"/userspace-rcu-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir"/userspace-rcu-${pkgver} + make install DESTDIR="$pkgdir" +} diff --git a/main/liburcu/README b/main/liburcu/README new file mode 100644 index 00000000..2aef053c --- /dev/null +++ b/main/liburcu/README @@ -0,0 +1,43 @@ +liburcu +________________________________________________________________________________ + +LGPLv2.1 userspace RCU (read-copy-update) library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S liburcu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lttng.org/urcu diff --git a/main/liburcu/version b/main/liburcu/version new file mode 100644 index 00000000..0f78dbcf --- /dev/null +++ b/main/liburcu/version @@ -0,0 +1 @@ +0.14.0 1 diff --git a/main/liburing/.PKGINFO b/main/liburing/.PKGINFO new file mode 100644 index 00000000..a1a0622c --- /dev/null +++ b/main/liburing/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = liburing +pkgbase = liburing +xdata = pkgtype=pkg +pkgver = 2.6-2 +pkgdesc = Linux-native io_uring I/O access library +url = https://git.kernel.dk/cgit/liburing +builddate = 1716253089 +packager = Developer +size = 341626 +arch = x86_64 +license = GPL-2.0-only WITH Linux-syscall-note OR MIT +license = LGPL-2.0-or-later +license = MIT +provides = liburing.so=2-64 +provides = liburing-ffi.so=2-64 +makedepend = git diff --git a/main/liburing/PKGBUILD b/main/liburing/PKGBUILD new file mode 100644 index 00000000..136331f2 --- /dev/null +++ b/main/liburing/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=liburing +pkgver=%version% +_commit=5dd20d52f442feae7023af5772429910d3aa5307 # refs/tags/liburing-2.5 +pkgrel=%release% +pkgdesc="Linux-native io_uring I/O access library" +arch=(x86_64) +url="https://git.kernel.dk/cgit/liburing" +license=( + '(GPL-2.0-only WITH Linux-syscall-note) OR MIT' + LGPL-2.0-or-later + MIT +) +makedepends=(git) +provides=( + liburing.so + liburing-ffi.so +) +source=("git+$url#tag=$_commit?signed") +sha512sums=('SKIP') +validpgpkeys=(C0FC392DCADE26D975FA5E4AF7D358FB2971E0A6) # Jens Axboe + +build() { + local configure_options=( + --prefix=/usr + --mandir=/usr/share/man + ) + + cd $pkgname + ./configure "${configure_options[@]}" + make +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname + install -vDm 644 $pkgname/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/liburing/README b/main/liburing/README new file mode 100644 index 00000000..152b9555 --- /dev/null +++ b/main/liburing/README @@ -0,0 +1,43 @@ +liburing +________________________________________________________________________________ + +Linux-native io_uring I/O access library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S liburing | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.dk/cgit/liburing diff --git a/main/liburing/version b/main/liburing/version new file mode 100644 index 00000000..837059ed --- /dev/null +++ b/main/liburing/version @@ -0,0 +1 @@ +2.6 2 diff --git a/main/libusb-compat/PKGBUILD b/main/libusb-compat/PKGBUILD new file mode 100644 index 00000000..155d9156 --- /dev/null +++ b/main/libusb-compat/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libusb-compat +pkgver=%version% +pkgrel=%release% +pkgdesc="Library to enable user space application programs to communicate with USB devices" +arch=('x86_64') +url="http://libusb.sourceforge.net/" +license=('LGPL') +depends=('libusb' 'sh') +source=("https://github.com/libusb/libusb-compat-0.1/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('f79dcc3b2c2ef4141e5300faf71519badde85d4ac87fd3372d2b88bba8af05dc') + +prepare() { + cd ${pkgname}-${pkgver} + ./autogen.sh +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/main/libusb-compat/README b/main/libusb-compat/README new file mode 100644 index 00000000..81717cf4 --- /dev/null +++ b/main/libusb-compat/README @@ -0,0 +1,43 @@ +libusb-compat +________________________________________________________________________________ + +Library to enable user space application programs to communicate with USB devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libusb-compat | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://libusb.sourceforge.net/ diff --git a/main/libusb-compat/version b/main/libusb-compat/version new file mode 100644 index 00000000..bfb00d9c --- /dev/null +++ b/main/libusb-compat/version @@ -0,0 +1 @@ +0.1.8 1 diff --git a/main/libusbmuxd/PKGBUILD b/main/libusbmuxd/PKGBUILD new file mode 100644 index 00000000..2f92e975 --- /dev/null +++ b/main/libusbmuxd/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libusbmuxd +pkgver=%version% +pkgrel=%release% +pkgdesc='Client library to multiplex connections from and to iOS devices' +arch=('x86_64') +url='https://libimobiledevice.org/' +license=('GPL-2.0-or-later AND LGPL-2.1-or-later') +depends=('gcc-libs' 'glibc' 'libimobiledevice-glue' 'libplist') +source=("https://github.com/libimobiledevice/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.bz2") +sha256sums=('c35bf68f8e248434957bd5b234c389b02206a06ecd9303a7fb931ed7a5636b16') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/libusbmuxd/README b/main/libusbmuxd/README new file mode 100644 index 00000000..2b939541 --- /dev/null +++ b/main/libusbmuxd/README @@ -0,0 +1,43 @@ +libusbmuxd +________________________________________________________________________________ + +Client library to multiplex connections from and to iOS devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libusbmuxd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libimobiledevice.org/ diff --git a/main/libusbmuxd/version b/main/libusbmuxd/version new file mode 100644 index 00000000..ef862396 --- /dev/null +++ b/main/libusbmuxd/version @@ -0,0 +1 @@ +2.1.0 1 diff --git a/main/libutempter/PKGBUILD b/main/libutempter/PKGBUILD new file mode 100644 index 00000000..b9b388bc --- /dev/null +++ b/main/libutempter/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libutempter +pkgver=%version% +pkgrel=%release% +pkgdesc="Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files" +arch=('x86_64') +url="http://ftp.altlinux.org/pub/people/ldv/utempter" +license=('LGPL') +depends=('glibc') +makedepends=('git' 'systemd') +source=(git+https://github.com/altlinux/libutempter.git?signed#tag=${pkgver}-alt1) +sha512sums=('SKIP') +validpgpkeys=(296D6F29A020808E8717A8842DB5BD89A340AEB7) # Dmitry V. Levin + +build() { + cd $pkgname/$pkgname + make +} + +package() { + cd $pkgname/$pkgname + make DESTDIR="$pkgdir" install + echo 'z /usr/lib/utempter/utempter 2755 root utmp' | install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" +} diff --git a/main/libutempter/README b/main/libutempter/README new file mode 100644 index 00000000..dc81b6d7 --- /dev/null +++ b/main/libutempter/README @@ -0,0 +1,43 @@ +libutempter +________________________________________________________________________________ + +Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libutempter | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://ftp.altlinux.org/pub/people/ldv/utempter diff --git a/main/libutempter/version b/main/libutempter/version new file mode 100644 index 00000000..ad5506e7 --- /dev/null +++ b/main/libutempter/version @@ -0,0 +1 @@ +1.2.1 4 diff --git a/main/libuv/PKGBUILD b/main/libuv/PKGBUILD new file mode 100644 index 00000000..5eb235ac --- /dev/null +++ b/main/libuv/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libuv +pkgver=%version% +pkgrel=%release% +pkgdesc="Multi-platform support library with a focus on asynchronous I/O" +arch=('x86_64') +url="https://github.com/libuv/libuv" +license=('custom') +depends=('glibc' 'libnsl') +makedepends=('git' 'python-sphinx') +#source=(https://dist.libuv.org/dist/v$pkgver/libuv-v$pkgver.tar.gz{,.sign}) +source=("git+https://github.com/libuv/libuv.git?signed#tag=v${pkgver}") +sha512sums=('016401251c3490678593e92977005f6f4da16935f84fae0ed535d06fb19893b90ee59b57136d94f7c5893feed21c03000a5269218b209186f3a87cf8c34c5b9c') +# PGP key IDs are available from https://github.com/libuv/libuv/blob/v1.x/MAINTAINERS.md +validpgpkeys=('57353E0DBDAAA7E839B66A1AFF47D5E4AD8B4FDC' # Colin Ihrig (@cjihrig) + '612F0EAD9401622379DF4402F28C3C8DA33C03BE' # Santiago Gimeno + 'AEAD0A4B686767751A0E4AEF34A25FB128246514' + 'CFBB9CA9A5BEAFD70E2B3C5A79A67C55A3679C8B') # Jameson Nash (@vtjnash) + +prepare() { + cd $pkgname + # Disable tests that fail on build.a.o (but pass locally) + sed -e '/udp_multicast_join/d' \ + -e '/tcp_connect6_link_local/d' \ + -i test/test-list.h +} + +build() { + cd $pkgname + ./autogen.sh + ./configure --prefix=/usr + make + make man -C docs +} + +check() { + cd $pkgname + make check +} + +package() { + cd $pkgname + + make DESTDIR="$pkgdir" install + + install -Dm644 LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -Dm644 AUTHORS \ + "$pkgdir"/usr/share/doc/$pkgname/AUTHORS + install -Dm644 README.md \ + "$pkgdir"/usr/share/doc/$pkgname/README.md + install -Dm644 ChangeLog \ + "$pkgdir"/usr/share/doc/$pkgname/ChangeLog + install -Dm644 docs/build/man/libuv.1 \ + "$pkgdir"/usr/share/man/man1/libuv.1 +} diff --git a/main/libuv/README b/main/libuv/README new file mode 100644 index 00000000..d97db9e8 --- /dev/null +++ b/main/libuv/README @@ -0,0 +1,43 @@ +libuv +________________________________________________________________________________ + +Multi-platform support library with a focus on asynchronous I/O + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libuv | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libuv/libuv diff --git a/main/libuv/version b/main/libuv/version new file mode 100644 index 00000000..c6b5d578 --- /dev/null +++ b/main/libuv/version @@ -0,0 +1 @@ +1.48.0 2 diff --git a/main/libva/PKGBUILD b/main/libva/PKGBUILD new file mode 100644 index 00000000..454aa678 --- /dev/null +++ b/main/libva/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libva +pkgver=%version% +pkgrel=%release% +pkgdesc='Video Acceleration (VA) API for Linux' +arch=(x86_64) +url=https://01.org/linuxmedia/vaapi +license=(MIT) +depends=( + libdrm + libgl + libx11 + libxext + libxfixes + wayland +) +makedepends=( + git + libglvnd + mesa + meson +) +optdepends=( + 'intel-media-driver: backend for Intel GPUs (>= Broadwell)' + 'libva-intel-driver: backend for Intel GPUs (<= Haswell)' + 'libva-mesa-driver: backend for AMD and NVIDIA GPUs' +) +provides=( + libva-drm.so + libva-glx.so + libva-wayland.so + libva-x11.so + libva.so +) +backup=(etc/libva.conf) +_tag=0b01aed44ef1a6ad660261284ff266fa812829ef +source=(git+https://github.com/intel/libva.git#tag=${_tag}) +b2sums=('SKIP') + +pkgver() { + cd libva + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +build() { + CFLAGS+=" -DENABLE_VA_MESSAGING" # Option missing + arch-meson libva build + meson compile -C build +} + +package() { + meson install -C build --destdir "${pkgdir}" + install -Dm 644 libva/COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname} + install -Dm 644 /dev/stdin "${pkgdir}"/etc/libva.conf < +# Maintainer: Developer + +pkgname=libvdpau +pkgver=%version% +pkgrel=%release% +pkgdesc='Nvidia VDPAU library' +arch=(x86_64) +url=https://www.freedesktop.org/wiki/Software/VDPAU/ +license=(custom) +depends=( + libxext +) +makedepends=( + git + meson + xorgproto +) +optdepends=( + 'libvdpau-va-gl: driver using VAAPI' + 'mesa-vdpau: driver for Mesa' + 'nvidia-utils: driver for NVIDIA' +) +provides=( + libvdpau.so +) +_tag=b40ac3c8f6cac061ddd5ed70c8305238f97a1b25 +source=(git+https://gitlab.freedesktop.org/vdpau/libvdpau.git#tag=${_tag}) +b2sums=('SKIP') + +pkgver() { + cd libvdpau + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +build() { + arch-meson libvdpau build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + install -Dm 644 libvdpau/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libvdpau/README b/main/libvdpau/README new file mode 100644 index 00000000..593e0009 --- /dev/null +++ b/main/libvdpau/README @@ -0,0 +1,43 @@ +libvdpau +________________________________________________________________________________ + +Nvidia VDPAU library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libvdpau | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/VDPAU/ diff --git a/main/libvdpau/version b/main/libvdpau/version new file mode 100644 index 00000000..c510c12d --- /dev/null +++ b/main/libvdpau/version @@ -0,0 +1 @@ +1.5 2 diff --git a/main/libverto/.nvchecker.toml b/main/libverto/.nvchecker.toml new file mode 100644 index 00000000..5e0029a1 --- /dev/null +++ b/main/libverto/.nvchecker.toml @@ -0,0 +1,5 @@ +[libverto] +source = "github" +github = "latchset/libverto" +use_max_tag = true +#prefix = "v" diff --git a/main/libverto/PKGBUILD b/main/libverto/PKGBUILD new file mode 100644 index 00000000..07cb0dd6 --- /dev/null +++ b/main/libverto/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libverto +pkgver=%version% +pkgrel=%release% +pkgdesc="Main event loop abstraction library" +arch=('x86_64') +url="https://github.com/latchset/libverto" +license=('MIT') +depends=('glibc' 'libevent') +provides=('libverto.so' 'libverto-libevent.so' 'libverto-module-base') +conflicts=("krb5<1.19.3-2" "libverto-libevent<0.3.2-4") +replaces=("libverto-libevent<0.3.2-4") +source=("https://github.com/latchset/libverto/releases/download/$pkgver/libverto-$pkgver.tar.gz") +sha256sums=('8d1756fd704f147549f606cd987050fb94b0b1ff621ea6aa4d6bf0b74450468a') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --disable-static \ + --with-libevent \ + --without-libev \ + --without-glib + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package_libverto() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + install -Dm0644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/libverto/README b/main/libverto/README new file mode 100644 index 00000000..109ea313 --- /dev/null +++ b/main/libverto/README @@ -0,0 +1,43 @@ +libverto +________________________________________________________________________________ + +Main event loop abstraction library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libverto | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/latchset/libverto diff --git a/main/libverto/version b/main/libverto/version new file mode 100644 index 00000000..aad41e42 --- /dev/null +++ b/main/libverto/version @@ -0,0 +1 @@ +0.3.2 5 diff --git a/main/libvorbis/PKGBUILD b/main/libvorbis/PKGBUILD new file mode 100644 index 00000000..707e1941 --- /dev/null +++ b/main/libvorbis/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libvorbis +pkgver=%version% +pkgrel=%release% +pkgdesc='Reference implementation of the Ogg Vorbis audio format' +arch=(x86_64) +url=https://www.xiph.org/vorbis/ +license=(BSD) +depends=(libogg.so) +makedepends=(git) +provides=( + libvorbis.so + libvorbisenc.so + libvorbisfile.so +) +_tag=0c55fa38933fd4bdb7db7c298b27e7bf2f2c5e98 +source=(git+https://github.com/xiph/vorbis.git?signed#tag=${_tag}) +validpgpkeys=(B7B00AEE1F960EEA0FED66FB9259A8F2D2D44C84) # Ralph Giles +sha256sums=(SKIP) + +pkgver() { + cd vorbis + + git describe --tags | sed 's/^v//' +} + +prepare() { + cd vorbis + + ./autogen.sh +} + +build() { + cd vorbis + + ./configure \ + --prefix=/usr \ + --disable-static \ + --enable-shared + make +} + +check() { + make -C vorbis check +} + +package() { + make DESTDIR="${pkgdir}" -C vorbis install + install -Dm 644 vorbis/COPYING -t "${pkgdir}"/usr/share/licenses/libvorbis +} + +# vim: ts=2 sw=2 et: diff --git a/main/libvorbis/README b/main/libvorbis/README new file mode 100644 index 00000000..2b9535b3 --- /dev/null +++ b/main/libvorbis/README @@ -0,0 +1,43 @@ +libvorbis +________________________________________________________________________________ + +Reference implementation of the Ogg Vorbis audio format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libvorbis | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.xiph.org/vorbis/ diff --git a/main/libvorbis/version b/main/libvorbis/version new file mode 100644 index 00000000..1092e7de --- /dev/null +++ b/main/libvorbis/version @@ -0,0 +1 @@ +1.3.7 3 diff --git a/main/libvpl/.PKGINFO b/main/libvpl/.PKGINFO new file mode 100644 index 00000000..496d2777 --- /dev/null +++ b/main/libvpl/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libvpl +pkgbase = libvpl +xdata = pkgtype=pkg +pkgver = 2.11.0-1 +pkgdesc = Intel Video Processing Library +url = https://intel.github.io/libvpl/ +builddate = 1715045259 +packager = Developer +size = 962776 +arch = x86_64 +license = MIT +replaces = onevpl +conflict = onevpl +provides = onevpl +provides = libvpl.so=2-64 +depend = gcc-libs +optdepend = intel-media-sdk: runtime implementation for legacy Intel GPUs +optdepend = vpl-gpu-rt: runtime implementation for Tiger Lake and newer GPUs +makedepend = cmake diff --git a/main/libvpl/PKGBUILD b/main/libvpl/PKGBUILD new file mode 100644 index 00000000..5b390edc --- /dev/null +++ b/main/libvpl/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libvpl +pkgver=%version% +pkgrel=%release% +pkgdesc='Intel Video Processing Library' +arch=('x86_64') +url='https://intel.github.io/libvpl/' +license=('MIT') +depends=('libdrm' 'libva' 'libx11' 'wayland') +optdepends=('intel-media-sdk: runtime for legacy Intel GPUs' + 'onevpl-intel-gpu: runtime for Tiger Lake and newer GPUs') +makedepends=('cmake' 'libpciaccess' 'wayland-protocols') +provides=('onevpl' 'libvpl.so') +conflicts=('onevpl') +replaces=('onevpl') +source=("https://github.com/intel/libvpl/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('ad956ea7ecf14614325f59dfb44cc5ba08e2fcac373342d61c7db152ac651253') + +build() { + export CFLAGS+=' -DNDEBUG' + export CXXFLAGS+=' -DNDEBUG' + cmake -B build -S "libvpl-${pkgver}" \ + -G 'Unix Makefiles' \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH='/etc' \ + -DBUILD_EXAMPLES:BOOL='OFF' \ + -DBUILD_TESTS:BOOL='ON' \ + -DINSTALL_EXAMPLE_CODE:BOOL='OFF' \ + -DVPL_INSTALL_LICENSEDIR:PATH="share/licenses/${pkgname}" \ + -Wno-dev + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + local _file + while read -r -d '' _file + do + if ! grep -q '^vpl-' <<< "$_file" + then + mv "${pkgdir}/usr/bin"/{,vpl-}"$_file" + fi + done < <(find "${pkgdir}/usr/bin" -mindepth 1 -maxdepth 1 -type f -print0 | sed -z 's|.*/||') +} diff --git a/main/libvpl/README b/main/libvpl/README new file mode 100644 index 00000000..1856857c --- /dev/null +++ b/main/libvpl/README @@ -0,0 +1,43 @@ +libvpl +________________________________________________________________________________ + +Intel Video Processing Library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libvpl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://intel.github.io/libvpl/ diff --git a/main/libvpl/version b/main/libvpl/version new file mode 100644 index 00000000..5c3c8552 --- /dev/null +++ b/main/libvpl/version @@ -0,0 +1 @@ +2.11.0 1 diff --git a/main/libvpx/CVE-2023-5217.patch b/main/libvpx/CVE-2023-5217.patch new file mode 100644 index 00000000..078cd607 --- /dev/null +++ b/main/libvpx/CVE-2023-5217.patch @@ -0,0 +1,31 @@ +From 3fbd1dca6a4d2dad332a2110d646e4ffef36d590 Mon Sep 17 00:00:00 2001 +From: James Zern +Date: Mon, 25 Sep 2023 18:55:59 -0700 +Subject: [PATCH] VP8: disallow thread count changes + +Currently allocations are done at encoder creation time. Going from +threaded to non-threaded would cause a crash. + +Bug: chromium:1486441 +Change-Id: Ie301c2a70847dff2f0daae408fbef1e4d42e73d4 +--- + test/encode_api_test.cc | 4 ---- + vp8/encoder/onyx_if.c | 5 +++++ + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c +index c65afc643bf..c5e9970c3cc 100644 +--- a/vp8/encoder/onyx_if.c ++++ b/vp8/encoder/onyx_if.c +@@ -1447,6 +1447,11 @@ void vp8_change_config(VP8_COMP *cpi, VP8_CONFIG *oxcf) { + last_h = cpi->oxcf.Height; + prev_number_of_layers = cpi->oxcf.number_of_layers; + ++ if (cpi->initial_width) { ++ // TODO(https://crbug.com/1486441): Allow changing thread counts; the ++ // allocation is done once in vp8_create_compressor(). ++ oxcf->multi_threaded = cpi->oxcf.multi_threaded; ++ } + cpi->oxcf = *oxcf; + + switch (cpi->oxcf.Mode) { diff --git a/main/libvpx/PKGBUILD b/main/libvpx/PKGBUILD new file mode 100644 index 00000000..23044ae0 --- /dev/null +++ b/main/libvpx/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libvpx +pkgver=%version% +pkgrel=%release% +pkgdesc='VP8 and VP9 codec' +arch=(x86_64) +url=https://www.webmproject.org/ +license=(custom:BSD) +depends=( + gcc-libs + glibc +) +makedepends=( + git + nasm +) +provides=(libvpx.so) +_tag=602e2e8979d111b02c959470da5322797dd96a19 +source=(git+https://chromium.googlesource.com/webm/libvpx#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd libvpx + + git describe --tags | sed 's/^v//' +} + +build() { + cd libvpx + ./configure \ + --prefix=/usr \ + --disable-install-docs \ + --disable-install-srcs \ + --disable-unit-tests \ + --enable-pic \ + --enable-postproc \ + --enable-runtime-cpu-detect \ + --enable-shared \ + --enable-vp8 \ + --enable-vp9 \ + --enable-vp9-highbitdepth \ + --enable-vp9-temporal-denoising + make +} + +package() { + cd libvpx + make DIST_DIR="${pkgdir}"/usr install + install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/libvpx/ +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libvpx/README b/main/libvpx/README new file mode 100644 index 00000000..3b71eee6 --- /dev/null +++ b/main/libvpx/README @@ -0,0 +1,43 @@ +libvpx +________________________________________________________________________________ + +VP8 and VP9 codec + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libvpx | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.webmproject.org/ diff --git a/main/libvpx/version b/main/libvpx/version new file mode 100644 index 00000000..c61b0fa5 --- /dev/null +++ b/main/libvpx/version @@ -0,0 +1 @@ +1.14.0 1 diff --git a/main/libwacom/.PKGINFO b/main/libwacom/.PKGINFO new file mode 100644 index 00000000..e12941c3 --- /dev/null +++ b/main/libwacom/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libwacom +pkgbase = libwacom +xdata = pkgtype=pkg +pkgver = 2.12.1-1 +pkgdesc = Library to identify Wacom tablets and their features +url = https://github.com/linuxwacom/libwacom/wiki +builddate = 1718491624 +packager = Developer +size = 1430046 +arch = x86_64 +license = MIT +depend = glib2 +depend = libevdev +depend = libgudev +depend = glibc +optdepend = python-libevdev: for libwacom-show-stylus +optdepend = python-pyudev: for libwacom-show-stylus +makedepend = libxml2 +makedepend = meson +checkdepend = python-pytest +checkdepend = python-libevdev +checkdepend = python-pyudev diff --git a/main/libwacom/.nvchecker.toml b/main/libwacom/.nvchecker.toml new file mode 100644 index 00000000..c4db3ee6 --- /dev/null +++ b/main/libwacom/.nvchecker.toml @@ -0,0 +1,6 @@ +[libwacom] +source = "github" +github = "linuxwacom/libwacom" +use_max_tag = true +#prefix = "v" +prefix = "libwacom-" diff --git a/main/libwacom/PKGBUILD b/main/libwacom/PKGBUILD new file mode 100644 index 00000000..baf1117d --- /dev/null +++ b/main/libwacom/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libwacom +pkgver=%version% +pkgrel=%release% +pkgdesc="Library to identify Wacom tablets and their features" +arch=('x86_64') +url="https://github.com/linuxwacom/libwacom/wiki" +license=('MIT') +depends=('glib2' 'libevdev' 'libgudev' 'glibc') +makedepends=('libxml2' 'meson') +checkdepends=('python-pytest' 'python-libevdev' 'python-pyudev') +optdepends=('python-libevdev: for libwacom-show-stylus' + 'python-pyudev: for libwacom-show-stylus') +source=(https://github.com/linuxwacom/libwacom/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.xz{,.sig}) +# https://github.com/linuxwacom/libwacom/releases +sha256sums=('3f8ef37de78ac3d08af1bdcb5d5828ec8284dcb7154bbec4995238728914aa0e' + 'SKIP') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # "Peter Hutterer (Who-T) " +#validpgpkeys=('594ABBA066118C7A02D10A80A8AF906D9307FBAD') # "Joshua Dickens " + +build() { + arch-meson $pkgname-$pkgver build + # Print config + meson configure build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + install -D -m644 $pkgname-$pkgver/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/libwacom/README b/main/libwacom/README new file mode 100644 index 00000000..7e53b723 --- /dev/null +++ b/main/libwacom/README @@ -0,0 +1,43 @@ +libwacom +________________________________________________________________________________ + +Library to identify Wacom tablets and their features + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libwacom | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/linuxwacom/libwacom/wiki diff --git a/main/libwacom/version b/main/libwacom/version new file mode 100644 index 00000000..1fd080e1 --- /dev/null +++ b/main/libwacom/version @@ -0,0 +1 @@ +2.12.1 1 diff --git a/main/libwebp/.PKGINFO b/main/libwebp/.PKGINFO new file mode 100644 index 00000000..4e0b918f --- /dev/null +++ b/main/libwebp/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libwebp +pkgbase = libwebp +xdata = pkgtype=pkg +pkgver = 1.4.0-1 +pkgdesc = WebP library and conversion tools +url = https://developers.google.com/speed/webp/ +builddate = 1713662737 +packager = Developer +size = 1140730 +arch = x86_64 +license = BSD-3-Clause +provides = libsharpyuv.so=0-64 +provides = libwebp.so=7-64 +provides = libwebpdecoder.so=3-64 +provides = libwebpdemux.so=2-64 +provides = libwebpmux.so=3-64 +depend = giflib +depend = glibc +depend = libjpeg +depend = libpng +depend = libtiff +makedepend = cmake +makedepend = ninja diff --git a/main/libwebp/PKGBUILD b/main/libwebp/PKGBUILD new file mode 100644 index 00000000..7dcb6c69 --- /dev/null +++ b/main/libwebp/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libwebp +pkgver=%version% +pkgrel=%release% +pkgdesc="WebP library and conversion tools" +url="https://developers.google.com/speed/webp/" +arch=(x86_64) +license=(BSD) +depends=( + giflib + libjpeg + libpng + libtiff +) +makedepends=( + cmake + ninja +) +provides=( + libsharpyuv.so + libwebp{,decoder,demux,mux}.so +) +source=( + https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$pkgver.tar.gz{,.asc} +) +sha256sums=('2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4' + 'SKIP') +b2sums=('12b3ff3aa9952dd32ce13656146556d5efb6a66860249a8676721980aee10253a1b0335685a769d995e9954cd305190a8ed1878ba4fefce9dcaf41a3976f9e3d' + 'SKIP') +validpgpkeys=( + 6B0E6B70976DE303EDF2F601F9C3D6BDB8232B5D # WebP release signing key +) + +prepare() { + cd libwebp-$pkgver +} + +build() { + local cmake_options=( + -DBUILD_SHARED_LIBS=ON + -DCMAKE_BUILD_TYPE=None + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_SKIP_INSTALL_RPATH=ON + -DWEBP_BUILD_EXTRAS=OFF + -DWEBP_BUILD_VWEBP=OFF + ) + + # Mimic autotools build without --enable-asserts + CFLAGS+=" -DNDEBUG" + CXXFLAGS+=" -DNDEBUG" + + cmake -S libwebp-$pkgver -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +check() { + cd build + ctest --output-on-failure --stop-on-failure -j$(nproc) +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 \ + libwebp-$pkgver/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libwebp/README b/main/libwebp/README new file mode 100644 index 00000000..c1b0a36a --- /dev/null +++ b/main/libwebp/README @@ -0,0 +1,43 @@ +libwebp +________________________________________________________________________________ + +WebP library and conversion tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libwebp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://developers.google.com/speed/webp/ diff --git a/main/libwebp/version b/main/libwebp/version new file mode 100644 index 00000000..bf41768f --- /dev/null +++ b/main/libwebp/version @@ -0,0 +1 @@ +1.4.0 1 diff --git a/main/libx11/.nvchecker.toml b/main/libx11/.nvchecker.toml new file mode 100644 index 00000000..284439a9 --- /dev/null +++ b/main/libx11/.nvchecker.toml @@ -0,0 +1,8 @@ +[libx11] +source = "gitlab" +gitlab = "xorg/lib/libX11" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libX11-.*" +prefix = "libX11-" diff --git a/main/libx11/MR236.patch b/main/libx11/MR236.patch new file mode 100644 index 00000000..c7b70a9b --- /dev/null +++ b/main/libx11/MR236.patch @@ -0,0 +1,344 @@ +From 024d229fdf88a7755577b01b46af6ef908d599e0 Mon Sep 17 00:00:00 2001 +From: Takao Fujiwara +Date: Wed, 31 Jan 2024 20:26:40 +0900 +Subject: [PATCH 1/2] ximcp: Unmark to fabricate key events with XKeyEvent + serial + +_XimProtoKeypressFilter() and _XimProtoKeyreleaseFilter() can +receive XKeyEvent from both the typing on the keyboard and the +callback of XIM_FORWARD_EVENT. + +If the filter functions unmark to fabricate XKeyEvent from the typing +on the keyboard during receiving XKeyEvent from the callback of +XIM_FORWARD_EVENT with typing keys very quickly likes an bar code +scanner (or evemu-play), XIM server cannot receive some key events and +it causes the key typing order to get scrambled. + +Now XIM client saves the serial in XKeyEvent and the filter functions +unmark to fabricate XKeyEvent from the callback of XIM_FORWARD_EVENT +only. + +Fixes: #198 +--- + modules/im/ximcp/imDefFlt.c | 8 ++--- + modules/im/ximcp/imDefIm.c | 1 + + modules/im/ximcp/imDefLkup.c | 58 ++++++++++++++++++++++++++++++++---- + src/xlibi18n/XimintP.h | 17 +++++++++++ + 4 files changed, 75 insertions(+), 9 deletions(-) + +diff --git a/modules/im/ximcp/imDefFlt.c b/modules/im/ximcp/imDefFlt.c +index 44cc6884..834b9db4 100644 +--- a/modules/im/ximcp/imDefFlt.c ++++ b/modules/im/ximcp/imDefFlt.c +@@ -142,9 +142,9 @@ _XimProtoKeypressFilter( + { + Xim im = (Xim)ic->core.im; + +- if (IS_FABRICATED(im)) { ++ if (_XimIsFabricatedSerial(im, ev->serial)) { + _XimPendingFilter(ic); +- UNMARK_FABRICATED(im); ++ _XimUnfabricateSerial(im, ev->serial); + return NOTFILTERD; + } + +@@ -203,9 +203,9 @@ _XimProtoKeyreleaseFilter( + { + Xim im = (Xim)ic->core.im; + +- if (IS_FABRICATED(im)) { ++ if (_XimIsFabricatedSerial(im, ev->serial)) { + _XimPendingFilter(ic); +- UNMARK_FABRICATED(im); ++ _XimUnfabricateSerial(im, ev->serial); + return NOTFILTERD; + } + +diff --git a/modules/im/ximcp/imDefIm.c b/modules/im/ximcp/imDefIm.c +index fe4d18ba..ac7f1195 100644 +--- a/modules/im/ximcp/imDefIm.c ++++ b/modules/im/ximcp/imDefIm.c +@@ -430,6 +430,7 @@ _XimPreConnect( + return False; + + im->private.proto.im_window = im_window; ++ im->private.proto.fabricated_serial = 0; + return True; + } + +diff --git a/modules/im/ximcp/imDefLkup.c b/modules/im/ximcp/imDefLkup.c +index dd1adf53..5192e8c1 100644 +--- a/modules/im/ximcp/imDefLkup.c ++++ b/modules/im/ximcp/imDefLkup.c +@@ -341,6 +341,54 @@ _XimForwardEvent( + return _XimForwardEventCore(ic, ev, sync); + } + ++Bool ++_XimFabricateSerial( ++ Xim im, ++ unsigned long serial) ++{ ++ if (!serial) ++ return False; ++ if (serial == im->private.proto.fabricated_serial) { ++ fprintf(stderr, "%s,%d: The key event is already fabricated.\n", __FILE__, __LINE__); ++ return False; ++ } ++ if (im->private.proto.fabricated_serial) ++ fprintf(stderr, "%s,%d: Tried to fabricate a wrong key event.\n", __FILE__, __LINE__); ++ ++ MARK_FABRICATED(im); ++ im->private.proto.fabricated_serial = serial; ++ return True; ++} ++ ++Bool ++_XimUnfabricateSerial( ++ Xim im, ++ unsigned long serial) ++{ ++ if (!serial) ++ return False; ++ if (!im->private.proto.fabricated_serial) { ++ fprintf(stderr, "%s,%d: The key event is already unfabricated.\n", __FILE__, __LINE__); ++ return False; ++ } ++ if (serial != im->private.proto.fabricated_serial) ++ fprintf(stderr, "%s,%d: Tried to unfabricate a wrong key event.\n", __FILE__, __LINE__); ++ ++ im->private.proto.fabricated_serial = 0; ++ UNMARK_FABRICATED(im); ++ return True; ++} ++ ++Bool ++_XimIsFabricatedSerial( ++ Xim im, ++ unsigned long serial) ++{ ++ if (!serial) ++ return False; ++ return (serial == im->private.proto.fabricated_serial); ++} ++ + static void + _XimProcEvent( + Display *d, +@@ -355,7 +403,7 @@ _XimProcEvent( + ev->xany.serial |= serial << 16; + ev->xany.send_event = False; + ev->xany.display = d; +- MARK_FABRICATED(ic->core.im); ++ _XimFabricateSerial((Xim)ic->core.im, ev->xany.serial); + return; + } + +@@ -704,10 +752,6 @@ _XimCommitRecv( + + (void)_XimRespSyncReply(ic, flag); + +- if (ic->private.proto.registed_filter_event +- & (KEYPRESS_MASK | KEYRELEASE_MASK)) +- MARK_FABRICATED(im); +- + bzero(&ev, sizeof(ev)); /* uninitialized : found when running kterm under valgrind */ + + ev.type = KeyPress; +@@ -719,6 +763,10 @@ _XimCommitRecv( + + ev.time = 0L; + ev.serial = LastKnownRequestProcessed(im->core.display); ++ ++ if (ic->private.proto.registed_filter_event ++ & (KEYPRESS_MASK | KEYRELEASE_MASK)) ++ _XimFabricateSerial(im, ev.serial); + /* FIXME : + I wish there were COMMENTs (!) about the data passed around. + */ +diff --git a/src/xlibi18n/XimintP.h b/src/xlibi18n/XimintP.h +index 674da029..2a51e2ed 100644 +--- a/src/xlibi18n/XimintP.h ++++ b/src/xlibi18n/XimintP.h +@@ -149,6 +149,8 @@ typedef struct _XimProtoPrivateRec { + XimTransRegDispatcher register_dispatcher; + XimTransCallDispatcher call_dispatcher; + XPointer spec; ++ ++ unsigned long fabricated_serial; + } XimProtoPrivateRec; + + /* +@@ -307,4 +309,19 @@ typedef struct _XicProtoPrivateRec { + #define XIM_MAXIMNAMELEN 64 + #define XIM_MAXLCNAMELEN 64 + ++Bool ++_XimFabricateSerial( ++ Xim im, ++ unsigned long serial); ++ ++Bool ++_XimUnfabricateSerial( ++ Xim im, ++ unsigned long serial); ++ ++Bool ++_XimIsFabricatedSerial( ++ Xim im, ++ unsigned long serial); ++ + #endif /* _XIMINTP_H */ +-- +GitLab + + +From 041b5291f0956c5cda5054be2981c0d02b009a4c Mon Sep 17 00:00:00 2001 +From: Takao Fujiwara +Date: Wed, 31 Jan 2024 20:27:57 +0900 +Subject: [PATCH 2/2] imDefLkup: Commit first info in XimCommitInfo + +Xic.private.proto.commit_info can receive multiple XimCommitInfo +when typing keys very quickly like an bar code scanner (or evemu-play) +and the first info in XimCommitInfo should be committed to keep +the typing key order. + +Fixes: #198 +--- + modules/im/ximcp/imDefLkup.c | 60 +++++++++++++++++++++++++++++------- + 1 file changed, 49 insertions(+), 11 deletions(-) + +diff --git a/modules/im/ximcp/imDefLkup.c b/modules/im/ximcp/imDefLkup.c +index 5192e8c1..6ffe6f48 100644 +--- a/modules/im/ximcp/imDefLkup.c ++++ b/modules/im/ximcp/imDefLkup.c +@@ -640,22 +640,47 @@ _XimRegCommitInfo( + } + + static void +-_XimUnregCommitInfo( +- Xic ic) ++_XimUnregRealCommitInfo( ++ Xic ic, ++ Bool reverse) + { + XimCommitInfo info; ++ XimCommitInfo prev_info = NULL; + +- if (!(info = ic->private.proto.commit_info)) ++ info = ic->private.proto.commit_info; ++ while (reverse && info) { ++ if (!info->next) ++ break; ++ prev_info = info; ++ info = info->next; ++ } ++ if (!info) + return; + +- + Xfree(info->string); + Xfree(info->keysym); +- ic->private.proto.commit_info = info->next; ++ if (prev_info) ++ prev_info->next = info->next; ++ else ++ ic->private.proto.commit_info = info->next; + Xfree(info); + return; + } + ++static void ++_XimUnregCommitInfo( ++ Xic ic) ++{ ++ _XimUnregRealCommitInfo(ic, False); ++} ++ ++static void ++_XimUnregFirstCommitInfo( ++ Xic ic) ++{ ++ _XimUnregRealCommitInfo(ic, True); ++} ++ + void + _XimFreeCommitInfo( + Xic ic) +@@ -665,6 +690,19 @@ _XimFreeCommitInfo( + return; + } + ++static XimCommitInfo ++_XimFirstCommitInfo( ++ Xic ic) ++{ ++ XimCommitInfo info = ic->private.proto.commit_info; ++ while (info) { ++ if (!info->next) ++ break; ++ info = info->next; ++ } ++ return info; ++} ++ + static Bool + _XimProcKeySym( + Xic ic, +@@ -1059,7 +1097,7 @@ _XimProtoMbLookupString( + state = &tmp_state; + + if ((ev->type == KeyPress) && (ev->keycode == 0)) { /* Filter function */ +- if (!(info = ic->private.proto.commit_info)) { ++ if (!(info = _XimFirstCommitInfo(ic))) { + *state = XLookupNone; + return 0; + } +@@ -1075,7 +1113,7 @@ _XimProtoMbLookupString( + else + *state = XLookupKeySym; + } +- _XimUnregCommitInfo(ic); ++ _XimUnregFirstCommitInfo(ic); + + } else if (ev->type == KeyPress) { + ret = _XimLookupMBText(ic, ev, buffer, bytes, keysym, NULL); +@@ -1122,7 +1160,7 @@ _XimProtoWcLookupString( + state = &tmp_state; + + if (ev->type == KeyPress && ev->keycode == 0) { /* Filter function */ +- if (!(info = ic->private.proto.commit_info)) { ++ if (!(info = _XimFirstCommitInfo(ic))) { + *state = XLookupNone; + return 0; + } +@@ -1138,7 +1176,7 @@ _XimProtoWcLookupString( + else + *state = XLookupKeySym; + } +- _XimUnregCommitInfo(ic); ++ _XimUnregFirstCommitInfo(ic); + + } else if (ev->type == KeyPress) { + ret = _XimLookupWCText(ic, ev, buffer, bytes, keysym, NULL); +@@ -1185,7 +1223,7 @@ _XimProtoUtf8LookupString( + state = &tmp_state; + + if (ev->type == KeyPress && ev->keycode == 0) { /* Filter function */ +- if (!(info = ic->private.proto.commit_info)) { ++ if (!(info = _XimFirstCommitInfo(ic))) { + *state = XLookupNone; + return 0; + } +@@ -1201,7 +1239,7 @@ _XimProtoUtf8LookupString( + else + *state = XLookupKeySym; + } +- _XimUnregCommitInfo(ic); ++ _XimUnregFirstCommitInfo(ic); + + } else if (ev->type == KeyPress) { + ret = _XimLookupUTF8Text(ic, ev, buffer, bytes, keysym, NULL); +-- +GitLab + diff --git a/main/libx11/PKGBUILD b/main/libx11/PKGBUILD new file mode 100644 index 00000000..5dba86c0 --- /dev/null +++ b/main/libx11/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libx11 +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 client-side library" +arch=(x86_64) +url="https://gitlab.freedesktop.org/xorg/lib/libx11" +# keep xorgproto runtime dependency +# https://lists.archlinux.org/pipermail/arch-dev-public/2019-December/029767.html +depends=('libxcb' 'glibc' 'xorgproto') +makedepends=('xorg-util-macros' 'xtrans') +license=('MIT AND X11') +source=(https://xorg.freedesktop.org//releases/individual/lib/libX11-${pkgver}.tar.xz{,.sig} + MR236.patch) +sha512sums=('4e7ce8f2d88b9475f960ea1d5730ece8953509e0c057cf2d0a2f5fa6a36e6577b0dcd7f16ac91b8fdd804aabec6d7e8f3067a3a8667bd2e41d72dd68ab70ef82' + 'SKIP' + 'e07b0a7e77c6472019caa9b8c00a065f80f6fcfad292ce939994a420b8fbb3ab226511df566f85a6f944a2b8e0ea0398aa4372ae675d6ef7d6fe7448bf52248c') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner +#validpgpkeys=('995ED5C8A6138EB0961F18474C09DD83CAAA50B2') # Adam Jackson +#validpgpkeys=('C383B778255613DFDB409D91DB221A6900000011') # "Keith Packard " + +prepare() { + cd libX11-${pkgver} + # revert incompatible change - #1 + # https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/205 + patch -R -p1 -i ../MR236.patch +} + +build() { + cd libX11-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --disable-xf86bigfont + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd libX11-${pkgver} + make check +} + +package() { + cd "libX11-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libx11/README b/main/libx11/README new file mode 100644 index 00000000..9e496ce0 --- /dev/null +++ b/main/libx11/README @@ -0,0 +1,43 @@ +libx11 +________________________________________________________________________________ + +X11 client-side library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libx11 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libx11 diff --git a/main/libx11/version b/main/libx11/version new file mode 100644 index 00000000..3c86bf75 --- /dev/null +++ b/main/libx11/version @@ -0,0 +1 @@ +1.8.8 3 diff --git a/main/libx86emu/PKGBUILD b/main/libx86emu/PKGBUILD new file mode 100644 index 00000000..094ef791 --- /dev/null +++ b/main/libx86emu/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libx86emu +pkgver=%version% +pkgrel=%release% +pkgdesc='x86 emulation library' +arch=(x86_64) +url='https://github.com/wfeldt/libx86emu' +license=(BSD) +makedepends=(git setconf) +source=("git+$url#commit=41aaa2f246d362f6d7dea262052a43141743ead2") # tag: 3.5 +b2sums=('SKIP') + +prepare() { + sed -i 's/-shared -Wl/-shared '"$LDFLAGS"'/g' $pkgname/Makefile + setconf $pkgname/Makefile \ + CFLAGS="$CFLAGS -shared -fPIC -fvisibility=hidden -fomit-frame-pointer -w" +} + +build() { + make -C $pkgname LIBDIR=/usr/lib +} + +package() { + make -C $pkgname LIBDIR=/usr/lib DESTDIR="$pkgdir" install + install -Dm644 $pkgname/LICENSE \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/libx86emu/README b/main/libx86emu/README new file mode 100644 index 00000000..5aafc392 --- /dev/null +++ b/main/libx86emu/README @@ -0,0 +1,43 @@ +libx86emu +________________________________________________________________________________ + +x86 emulation library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libx86emu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/wfeldt/libx86emu diff --git a/main/libx86emu/version b/main/libx86emu/version new file mode 100644 index 00000000..fdf3a329 --- /dev/null +++ b/main/libx86emu/version @@ -0,0 +1 @@ +3.5 3 diff --git a/main/libxau/PKGBUILD b/main/libxau/PKGBUILD new file mode 100644 index 00000000..9a040864 --- /dev/null +++ b/main/libxau/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxau +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 authorisation library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('glibc' 'xorgproto') +provides=('libXau.so') +source=(${url}/releases/individual/lib/libXau-${pkgver}.tar.xz{,.sig}) +#validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " +validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner +sha512sums=('f56abba3bef3fdd4739dfa69367a4251b5fab7c89194c9aece9efa66b9ebbf0736690cc9bd654aab19d9db377e4b9a5268c9c020b3d293bb5351bff5fe75a4dd' + 'SKIP') + +build() { + cd libXau-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd libXau-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libxau/README b/main/libxau/README new file mode 100644 index 00000000..819e1c99 --- /dev/null +++ b/main/libxau/README @@ -0,0 +1,43 @@ +libxau +________________________________________________________________________________ + +X11 authorisation library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxau | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxau/version b/main/libxau/version new file mode 100644 index 00000000..2b6f076a --- /dev/null +++ b/main/libxau/version @@ -0,0 +1 @@ +1.0.11 2 diff --git a/main/libxaw/.nvchecker.toml b/main/libxaw/.nvchecker.toml new file mode 100644 index 00000000..580e3c47 --- /dev/null +++ b/main/libxaw/.nvchecker.toml @@ -0,0 +1,8 @@ +[libxaw] +source = "gitlab" +gitlab = "xorg/lib/libXaw" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libXaw-.*" +prefix = "libXaw-" diff --git a/main/libxaw/PKGBUILD b/main/libxaw/PKGBUILD new file mode 100644 index 00000000..a047babe --- /dev/null +++ b/main/libxaw/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxaw +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Athena Widget library" +arch=('x86_64') +license=('MIT-open-group' + 'X11' + 'HPND' + 'HPND-sell-variant' + 'SMLNJ' + 'NTP') +url="https://gitlab.freedesktop.org/xorg/lib/libxaw" +depends=('libxmu' 'libxpm' 'libx11' 'libxt' 'libxext' 'xorgproto' 'glibc') +makedepends=('xorg-util-macros') +source=(https://xorg.freedesktop.org//releases/individual/lib/libXaw-${pkgver}.tar.xz{,.sig}) +sha512sums=('1cabad1a9b06dec7de601b977e844536823ee1a0045244acc42ca6b6107da9b4953736d94898a96cab40845eab77dae21e20e1fa66a3dfc4dedf575dfbca04aa' + 'SKIP') +#validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith +#validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # "Thomas E. Dickey (self-signed w/o SHA1) " + +build() { + cd libXaw-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXaw-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libxaw/README b/main/libxaw/README new file mode 100644 index 00000000..35fa3201 --- /dev/null +++ b/main/libxaw/README @@ -0,0 +1,43 @@ +libxaw +________________________________________________________________________________ + +X11 Athena Widget library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxaw | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxaw diff --git a/main/libxaw/version b/main/libxaw/version new file mode 100644 index 00000000..a4e01b6a --- /dev/null +++ b/main/libxaw/version @@ -0,0 +1 @@ +1.0.16 1 diff --git a/main/libxcb/.PKGINFO b/main/libxcb/.PKGINFO new file mode 100644 index 00000000..af1988c6 --- /dev/null +++ b/main/libxcb/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libxcb +pkgbase = libxcb +xdata = pkgtype=pkg +pkgver = 1.17.0-1 +pkgdesc = X11 client-side library +url = https://gitlab.freedesktop.org/xorg/lib/libxcb +builddate = 1713237794 +packager = Developer +size = 4055289 +arch = x86_64 +license = X11 +depend = xcb-proto +depend = libxdmcp +depend = libxau +depend = glibc +makedepend = libxslt +makedepend = python +makedepend = xorg-util-macros +makedepend = xorgproto diff --git a/main/libxcb/.nvchecker.toml b/main/libxcb/.nvchecker.toml new file mode 100644 index 00000000..2f4e5608 --- /dev/null +++ b/main/libxcb/.nvchecker.toml @@ -0,0 +1,8 @@ +[libxcb] +source = "gitlab" +gitlab = "xorg/lib/libxcb" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libxcb-.*" +prefix = "libxcb-" diff --git a/main/libxcb/PKGBUILD b/main/libxcb/PKGBUILD new file mode 100644 index 00000000..ea26aee7 --- /dev/null +++ b/main/libxcb/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxcb +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 client-side library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxcb" +depends=('xcb-proto' 'libxdmcp' 'libxau' 'glibc') +makedepends=('libxslt' 'python' 'xorg-util-macros' 'xorgproto') +license=('X11') +source=(https://xorg.freedesktop.org/archive/individual/lib/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('e3afdae1c0e2a5ae2add7b2c4fdd3283cb86023ef6448f5b8b29a4bb72c274e34eaf0fc7523762bcd3f5116910fe7374490e8f26c25744301563ced80acc3e7f' + 'SKIP') +#validpgpkeys=('A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # "Daniel Stone " +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --enable-xinput \ + --enable-xkb \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make -k check +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -m755 -d "$pkgdir/usr/share/licenses/$pkgname" + install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/libxcb/README b/main/libxcb/README new file mode 100644 index 00000000..5c67b316 --- /dev/null +++ b/main/libxcb/README @@ -0,0 +1,43 @@ +libxcb +________________________________________________________________________________ + +X11 client-side library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxcb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxcb diff --git a/main/libxcb/version b/main/libxcb/version new file mode 100644 index 00000000..8aac6e6e --- /dev/null +++ b/main/libxcb/version @@ -0,0 +1 @@ +1.17.0 1 diff --git a/main/libxcomposite/PKGBUILD b/main/libxcomposite/PKGBUILD new file mode 100644 index 00000000..1624e0a0 --- /dev/null +++ b/main/libxcomposite/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxcomposite +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Composite extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libxfixes') +makedepends=('xorg-util-macros' 'xorgproto') +source=("${url}/releases/individual/lib/libXcomposite-${pkgver}.tar.xz"{,.sig}) +sha512sums=('f35a0da8f9f22fd788eee01209557fe3a1b1abdc9744f76330ba42b21b6e3af5464ca4451c33415856417c30da5aa5624e3707980c644327249bfeda5a62a59b' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXcomposite-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXcomposite-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxcomposite/README b/main/libxcomposite/README new file mode 100644 index 00000000..19388d1d --- /dev/null +++ b/main/libxcomposite/README @@ -0,0 +1,43 @@ +libxcomposite +________________________________________________________________________________ + +X11 Composite extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxcomposite | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxcomposite/version b/main/libxcomposite/version new file mode 100644 index 00000000..5a233460 --- /dev/null +++ b/main/libxcomposite/version @@ -0,0 +1 @@ +0.4.6 1 diff --git a/main/libxcrypt/PKGBUILD b/main/libxcrypt/PKGBUILD new file mode 100644 index 00000000..edd03e79 --- /dev/null +++ b/main/libxcrypt/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libxcrypt +pkgname=(libxcrypt libxcrypt-compat) +pkgver=%version% +pkgrel=%release% +pkgdesc='Modern library for one-way hashing of passwords' +arch=('x86_64') +url='https://github.com/besser82/libxcrypt/' +license=('LGPL') +depends=('glibc') +provides=('libcrypt.so') +install=libxcrypt.install +validpgpkeys=('678CE3FEE430311596DB8C16F52E98007594C21D') # Björn 'besser82' Esser +source=("${url}/releases/download/v${pkgver}/${pkgbase}-${pkgver}.tar.xz"{,.asc}) +sha256sums=('e5e1f4caee0a01de2aee26e3138807d6d3ca2b8e67287966d1fefd65e1fd8943' + 'SKIP') + +build() { + mkdir build-libxcrypt build-libxcrypt-compat + + cd "${srcdir}/build-libxcrypt/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=no \ + --disable-failure-tokens + make + + cd "${srcdir}/build-libxcrypt-compat/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-failure-tokens + make +} + +check() { + cd build-libxcrypt/ + + make check +} + +package_libxcrypt() { + cd build-libxcrypt/ + + make DESTDIR="${pkgdir}" install +} + +package_libxcrypt-compat() { + pkgdesc='Modern library for one-way hashing of passwords - legacy API functions' + depends=('libxcrypt') + + cd build-libxcrypt-compat/ + + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/{include,lib/{lib*.so,pkgconfig},share} +} diff --git a/main/libxcrypt/README b/main/libxcrypt/README new file mode 100644 index 00000000..b640302a --- /dev/null +++ b/main/libxcrypt/README @@ -0,0 +1,43 @@ +libxcrypt +________________________________________________________________________________ + +Modern library for one-way hashing of passwords Modern library for one-way hashing of passwords - legacy API functions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxcrypt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/besser82/libxcrypt/ diff --git a/main/libxcrypt/libxcrypt.install b/main/libxcrypt/libxcrypt.install new file mode 100644 index 00000000..374d9792 --- /dev/null +++ b/main/libxcrypt/libxcrypt.install @@ -0,0 +1,15 @@ +#!/bin/sh + +post_upgrade() { + # return if old package version greater 4.4.21... + (( $(vercmp $2 '4.4.21') > 0 )) && return + + cat < Starting with 'libxcrypt' 4.4.21, weak password hashes (such as MD5 and SHA1) + > are no longer accepted for new passwords. Users that still have their + > passwords stored with a weak hash will be asked to update their password on + > their next login. + > If the login just fails (for example from display manager) switch to a + > virtual terminal ('Ctrl-Alt-F2') and log in there once. +EOM +} diff --git a/main/libxcrypt/version b/main/libxcrypt/version new file mode 100644 index 00000000..659a122d --- /dev/null +++ b/main/libxcrypt/version @@ -0,0 +1 @@ +4.4.36 1 diff --git a/main/libxcursor/.nvchecker.toml b/main/libxcursor/.nvchecker.toml new file mode 100644 index 00000000..099153d2 --- /dev/null +++ b/main/libxcursor/.nvchecker.toml @@ -0,0 +1,8 @@ +[libxcursor] +source = "gitlab" +gitlab = "xorg/lib/libxcursor" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libXcursor-.*" +prefix = "libXcursor-" diff --git a/main/libxcursor/PKGBUILD b/main/libxcursor/PKGBUILD new file mode 100644 index 00000000..825f430a --- /dev/null +++ b/main/libxcursor/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxcursor +pkgver=%version% +pkgrel=%release% +pkgdesc="X cursor management library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxcursor" +license=('HPND-sell-variant') +depends=('libxfixes' 'libxrender' 'default-cursors' 'libx11' 'glibc' 'xorgproto') +makedepends=('xorg-util-macros') +source=(https://xorg.freedesktop.org//releases/individual/lib/libXcursor-${pkgver}.tar.xz{,.sig}) +sha512sums=('6550ce1e69b35ef3356f25e31aa2779503d9cea780eff307cb646364993dfaa971304085d32677e68996bd3b8e067436c8fc89aeb4db07a12ce5bc93b735b5b0' + 'SKIP') +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # "Matthieu Herrb " +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXcursor-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXcursor-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/main/libxcursor/README b/main/libxcursor/README new file mode 100644 index 00000000..e77b8bcc --- /dev/null +++ b/main/libxcursor/README @@ -0,0 +1,43 @@ +libxcursor +________________________________________________________________________________ + +X cursor management library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxcursor | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxcursor diff --git a/main/libxcursor/version b/main/libxcursor/version new file mode 100644 index 00000000..52669276 --- /dev/null +++ b/main/libxcursor/version @@ -0,0 +1 @@ +1.2.2 1 diff --git a/main/libxcvt/PKGBUILD b/main/libxcvt/PKGBUILD new file mode 100644 index 00000000..0863f071 --- /dev/null +++ b/main/libxcvt/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxcvt +pkgver=%version% +pkgrel=%release% +pkgdesc="library providing a standalone version of the X server implementation of the VESA CVT standard timing modelines generator" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxcvt" +license=('custom') +depends=('glibc') +makedepends=('meson') +source=(https://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha512sums=('3f6b2baca712a4608780686932f8881255c07bb74b1a788f9b07d4e22975c038d75111cd6b452257882a0b2bad57eebb2002f80a3e435d2e2d16936597f039b0' + 'SKIP') +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +validpgpkeys=('67DC86F2623FC5FD4BB5225D14706DBE1E4B4540') # "Olivier Fourdan " + +build() { + arch-meson ${pkgname}-${pkgver} build + meson compile -C build +} + +check() { + meson test -C build #--print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgname}-${pkgver}/COPYING" +} diff --git a/main/libxcvt/README b/main/libxcvt/README new file mode 100644 index 00000000..31db0f5f --- /dev/null +++ b/main/libxcvt/README @@ -0,0 +1,43 @@ +libxcvt +________________________________________________________________________________ + +library providing a standalone version of the X server implementation of the VESA CVT standard timing modelines generator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxcvt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxcvt diff --git a/main/libxcvt/version b/main/libxcvt/version new file mode 100644 index 00000000..934b25da --- /dev/null +++ b/main/libxcvt/version @@ -0,0 +1 @@ +0.1.2 1 diff --git a/main/libxdamage/PKGBUILD b/main/libxdamage/PKGBUILD new file mode 100644 index 00000000..98770f67 --- /dev/null +++ b/main/libxdamage/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxdamage +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 damaged region extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libxfixes') +makedepends=('xorgproto') +source=(${url}/releases/individual/lib/libXdamage-${pkgver}.tar.xz{,.sig}) +sha512sums=('624dcefa1c79064569df952892f7f1351dc19ad338ce73d1a57041e406cb3e18abe531bab352b93d1f0f5c9b5c6b2652cc84a8f1fbfcbba648343812695a8acb' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXdamage-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd libXdamage-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libxdamage/README b/main/libxdamage/README new file mode 100644 index 00000000..7ff898aa --- /dev/null +++ b/main/libxdamage/README @@ -0,0 +1,43 @@ +libxdamage +________________________________________________________________________________ + +X11 damaged region extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxdamage | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxdamage/version b/main/libxdamage/version new file mode 100644 index 00000000..e17b92d7 --- /dev/null +++ b/main/libxdamage/version @@ -0,0 +1 @@ +1.1.6 1 diff --git a/main/libxdmcp/.nvchecker.toml b/main/libxdmcp/.nvchecker.toml new file mode 100644 index 00000000..8a61b1f6 --- /dev/null +++ b/main/libxdmcp/.nvchecker.toml @@ -0,0 +1,8 @@ +[libxdmcp] +source = "gitlab" +gitlab = "xorg/lib/libxdmcp" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libXdmcp-.*" +prefix = "libXdmcp-" diff --git a/main/libxdmcp/PKGBUILD b/main/libxdmcp/PKGBUILD new file mode 100644 index 00000000..c4626180 --- /dev/null +++ b/main/libxdmcp/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxdmcp +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Display Manager Control Protocol library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxdmcp" +license=('MIT-open-group') +depends=('glibc' 'xorgproto') +makedepends=('xorg-util-macros') +provides=('libXdmcp.so') +source=(https://xorg.freedesktop.org//releases/individual/lib/libXdmcp-${pkgver}.tar.xz{,.sig}) +sha512sums=('d7a1d70a58b7d34ddd01a91d3ccbc086a36626b7081cfcbb150d24288c6adad612b042ba7ea63a218595afb2ee04384c0f8ba84ee3c6bd29913724b54e898d83' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd libXdmcp-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXdmcp-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxdmcp/README b/main/libxdmcp/README new file mode 100644 index 00000000..f89d644a --- /dev/null +++ b/main/libxdmcp/README @@ -0,0 +1,43 @@ +libxdmcp +________________________________________________________________________________ + +X11 Display Manager Control Protocol library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxdmcp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxdmcp diff --git a/main/libxdmcp/version b/main/libxdmcp/version new file mode 100644 index 00000000..3d29560a --- /dev/null +++ b/main/libxdmcp/version @@ -0,0 +1 @@ +1.1.5 1 diff --git a/main/libxext/PKGBUILD b/main/libxext/PKGBUILD new file mode 100644 index 00000000..4875a2f0 --- /dev/null +++ b/main/libxext/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxext +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 miscellaneous extensions library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxext" +license=('LicenseRef-libxext') +depends=('libx11' 'glibc' 'xorgproto') +makedepends=('xorg-util-macros') +source=(https://xorg.freedesktop.org/releases/individual/lib/libXext-${pkgver}.tar.xz{,.sig}) +sha512sums=('fd7693b5698cc4f5e80002a2cd4bd88e5d52c755c19a0417ee73029bd65f9d77b0969e765a1febc4d8fce1ba5dfb7278717f47be742e33d8fc5eb941e769792e' + 'SKIP') +validpgpkeys+=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd libXext-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXext-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxext/README b/main/libxext/README new file mode 100644 index 00000000..5fd4fbc5 --- /dev/null +++ b/main/libxext/README @@ -0,0 +1,43 @@ +libxext +________________________________________________________________________________ + +X11 miscellaneous extensions library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxext | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxext diff --git a/main/libxext/version b/main/libxext/version new file mode 100644 index 00000000..c22de158 --- /dev/null +++ b/main/libxext/version @@ -0,0 +1 @@ +1.3.6 1 diff --git a/main/libxfixes/PKGBUILD b/main/libxfixes/PKGBUILD new file mode 100644 index 00000000..ccb636c3 --- /dev/null +++ b/main/libxfixes/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxfixes +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 miscellaneous 'fixes' extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libx11') +makedepends=('xorg-util-macros' 'xorgproto') +source=(${url}/releases/individual/lib/libXfixes-${pkgver}.tar.xz{,.sig}) +sha512sums=('b46deffb30cd73ec8a127390d99f2ba2f3ab78f334fdba227f1f461441644a0c169b0d13ffa47576fa458780e7a6db664ff8b93e9195fb217262efd8128f1ffe' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +#validpgpkeys+=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) + +build() { + cd "libXfixes-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd "libXfixes-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxfixes/README b/main/libxfixes/README new file mode 100644 index 00000000..7f2714af --- /dev/null +++ b/main/libxfixes/README @@ -0,0 +1,43 @@ +libxfixes +________________________________________________________________________________ + +X11 miscellaneous 'fixes' extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxfixes | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxfixes/version b/main/libxfixes/version new file mode 100644 index 00000000..88405e37 --- /dev/null +++ b/main/libxfixes/version @@ -0,0 +1 @@ +6.0.1 1 diff --git a/main/libxfont2/PKGBUILD b/main/libxfont2/PKGBUILD new file mode 100644 index 00000000..bb68a1f5 --- /dev/null +++ b/main/libxfont2/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxfont2 +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 font rasterisation library" +arch=(x86_64) +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('freetype2' 'libfontenc' 'xorgproto') +makedepends=('xorg-util-macros' 'xtrans') +source=(${url}/archive/individual/lib/libXfont2-${pkgver}.tar.xz{,.sig}) +sha512sums=('24d6baeef8dc2ca2730925c6b790a97f4a3f46ea7b4d908555e7df29cee6e27b63d638b50c88dd30c853cecff7d9b079402cb617f4498f96410c5770b8815cbd' + 'SKIP') +#validpgpkeys=('C383B778255613DFDB409D91DB221A6900000011') # Keith Packard +#validpgpkeys+=('995ED5C8A6138EB0961F18474C09DD83CAAA50B2') # "Adam Jackson " +#validpgpkeys+=('C41C985FDCF1E5364576638B687393EE37D128F8') # "Matthieu Herrb " +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd "libXfont2-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd "libXfont2-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxfont2/README b/main/libxfont2/README new file mode 100644 index 00000000..aaab320e --- /dev/null +++ b/main/libxfont2/README @@ -0,0 +1,43 @@ +libxfont2 +________________________________________________________________________________ + +X11 font rasterisation library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxfont2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxfont2/version b/main/libxfont2/version new file mode 100644 index 00000000..da984b09 --- /dev/null +++ b/main/libxfont2/version @@ -0,0 +1 @@ +2.0.6 2 diff --git a/main/libxft/PKGBUILD b/main/libxft/PKGBUILD new file mode 100644 index 00000000..4ec21ff9 --- /dev/null +++ b/main/libxft/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxft +pkgver=%version% +pkgrel=%release% +pkgdesc="FreeType-based font drawing library for X" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('fontconfig' 'libxrender') +makedepends=('pkgconfig') +source=(${url}/releases/individual/lib/libXft-${pkgver}.tar.xz{,.sig}) +sha512sums=('fc385d73e1acb701942c154ffb5a283d17891f21d3ac598c4a3fb375a7d6082734593062368c15cad67c1a94177dd15deed878ec5ea852188393b52e92c372c8' + 'SKIP') +#validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " +#validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas E. Dickey (use for email) +validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner + +build() { + cd libXft-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXft-${pkgver} + make DESTDIR="${pkgdir}" install + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + +} diff --git a/main/libxft/README b/main/libxft/README new file mode 100644 index 00000000..6132df4e --- /dev/null +++ b/main/libxft/README @@ -0,0 +1,43 @@ +libxft +________________________________________________________________________________ + +FreeType-based font drawing library for X + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxft | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxft/version b/main/libxft/version new file mode 100644 index 00000000..db07b3de --- /dev/null +++ b/main/libxft/version @@ -0,0 +1 @@ +2.3.8 1 diff --git a/main/libxi/PKGBUILD b/main/libxi/PKGBUILD new file mode 100644 index 00000000..bcb03051 --- /dev/null +++ b/main/libxi/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxi +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Input extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org" +depends=('libxext' 'libxfixes') +makedepends=('xorg-util-macros' 'xorgproto') +license=('custom') +source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.xz{,.sig}) +sha512sums=('a30b1a07e6d710f5196e7477415d68074736f89d954e8f2d5ccc9b5f349e7d1d440c90fb512508176b5db5ecad55608cfb540872936b731963fd83343db3a0b9' + 'SKIP') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer +#validpgpkeys+=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +#validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +#validpgpkeys=('FD0004A26EADFE43A4C3F249C6F7AE200374452D') # "Povilas Kanapickas " + +build() { + cd libXi-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXi-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxi/README b/main/libxi/README new file mode 100644 index 00000000..781e24a1 --- /dev/null +++ b/main/libxi/README @@ -0,0 +1,43 @@ +libxi +________________________________________________________________________________ + +X11 Input extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org diff --git a/main/libxi/version b/main/libxi/version new file mode 100644 index 00000000..8aa37bcd --- /dev/null +++ b/main/libxi/version @@ -0,0 +1 @@ +1.8.1 1 diff --git a/main/libxinerama/PKGBUILD b/main/libxinerama/PKGBUILD new file mode 100644 index 00000000..120b4c77 --- /dev/null +++ b/main/libxinerama/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxinerama +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Xinerama extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libxext') +makedepends=('xorg-util-macros' 'xorgproto') +source=("${url}"/archive/individual/lib/libXinerama-${pkgver}.tar.xz{,.sig}) +sha512sums=('735b5320de4782005b379e409bf2f976131c17d496b297d33a0e127ca1443034778586b6b25c077b2ad73a4ab34d440d7510475e0041f38202bb40f15fb08ff7' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXinerama-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd libXinerama-${pkgver} + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxinerama/README b/main/libxinerama/README new file mode 100644 index 00000000..2da07186 --- /dev/null +++ b/main/libxinerama/README @@ -0,0 +1,43 @@ +libxinerama +________________________________________________________________________________ + +X11 Xinerama extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxinerama | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxinerama/version b/main/libxinerama/version new file mode 100644 index 00000000..3d29560a --- /dev/null +++ b/main/libxinerama/version @@ -0,0 +1 @@ +1.1.5 1 diff --git a/main/libxkbcommon/PKGBUILD b/main/libxkbcommon/PKGBUILD new file mode 100644 index 00000000..97f9a6da --- /dev/null +++ b/main/libxkbcommon/PKGBUILD @@ -0,0 +1,116 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libxkbcommon +pkgname=( + libxkbcommon + libxkbcommon-x11 + libxkbcommon-doc +) +pkgver=%version% +pkgrel=%release% +pkgdesc='Keymap handling library for toolkits and window systems' +url='https://xkbcommon.org/' +arch=(x86_64) +license=(MIT) +makedepends=( + bash-completion + doxygen + git + glibc + libxcb + libxml2 + meson + wayland + wayland-protocols + xkeyboard-config + xorgproto +) +checkdepends=( + libgl + xorg-server-xvfb +) +source=("git+https://github.com/xkbcommon/libxkbcommon#tag=xkbcommon-$pkgver") +b2sums=('70da3ad61589c68a06c6456034f17afad3962045552641ab9e099cee821eb935d84b11de9ac52af8f79111ef222466f39cfc9a6f5ae9cac610c474a9305cd50a') + +prepare() { + cd libxkbcommon +} + +build() { + local meson_options=( + -D enable-docs=true + ) + + arch-meson libxkbcommon build "${meson_options[@]}" + meson compile -C build +} + +check() { + xvfb-run -s '-nolisten local' meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_libxkbcommon() { + depends=( + glibc + libxml2 + xkeyboard-config + ) + optdepends=( + 'libxkbcommon-x11: xkbcli interactive-x11' + 'wayland: xkbcli interactive-wayland' + ) + provides=( + libxkbcommon.so + libxkbregistry.so + ) + + meson install -C build --destdir "$pkgdir" + + _pick x11 "$pkgdir"/usr/lib/*x11* + _pick x11 "$pkgdir"/usr/lib/pkgconfig/*x11* + _pick x11 "$pkgdir"/usr/lib/xkbcommon/*x11* + _pick x11 "$pkgdir"/usr/include/xkbcommon/*x11* + _pick x11 "$pkgdir"/usr/share/man/man1/*x11* + + _pick doc "$pkgdir"/usr/share/doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE +} + +package_libxkbcommon-x11() { + pkgdesc='Keyboard handling library using XKB data for X11 XCB clients' + depends=( + glibc + libxcb + libxkbcommon + libxkbcommon.so + ) + provides=( + libxkbcommon-x11.so + ) + + mv x11/* "$pkgdir"/ + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE +} + +package_libxkbcommon-doc() { + pkgdesc='API documentation for libxkbcommon' + + mv doc/* "$pkgdir"/ + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libxkbcommon/README b/main/libxkbcommon/README new file mode 100644 index 00000000..f3d8b34e --- /dev/null +++ b/main/libxkbcommon/README @@ -0,0 +1,43 @@ +libxkbcommon +________________________________________________________________________________ + +Keymap handling library for toolkits and window systems Keyboard handling library using XKB data for X11 XCB clients API documentation for libxkbcommon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxkbcommon | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xkbcommon.org/ diff --git a/main/libxkbcommon/version b/main/libxkbcommon/version new file mode 100644 index 00000000..21c599ea --- /dev/null +++ b/main/libxkbcommon/version @@ -0,0 +1 @@ +1.7.0 2 diff --git a/main/libxkbfile/PKGBUILD b/main/libxkbfile/PKGBUILD new file mode 100644 index 00000000..e0aaba28 --- /dev/null +++ b/main/libxkbfile/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxkbfile +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 keyboard file manipulation library" +arch=('x86_64') +license=('LicenseRef-libxkbfile') +url="https://gitlab.freedesktop.org/xorg/lib/libxkbfile" +depends=('libx11' 'xorgproto' 'glibc') +makedepends=('xorg-util-macros' 'meson') +source=(https://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha512sums=('d80ac41f6fa3a1ffad77ea1f8f9d9542f0bd210d74b263802bc6e6c1594fe325b27f42b5454aeeb36352518963b1ed1fdbbad95d7db3690b2e36d54742b7c236' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner + +build() { + arch-meson $pkgname-$pkgver build + # Print config + meson configure build + ninja -C build +} + +check() { + meson test -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname-$pkgver/COPYING +} diff --git a/main/libxkbfile/README b/main/libxkbfile/README new file mode 100644 index 00000000..7bd12f26 --- /dev/null +++ b/main/libxkbfile/README @@ -0,0 +1,43 @@ +libxkbfile +________________________________________________________________________________ + +X11 keyboard file manipulation library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxkbfile | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxkbfile diff --git a/main/libxkbfile/version b/main/libxkbfile/version new file mode 100644 index 00000000..035474a2 --- /dev/null +++ b/main/libxkbfile/version @@ -0,0 +1 @@ +1.1.3 1 diff --git a/main/libxml2/.PKGINFO b/main/libxml2/.PKGINFO new file mode 100644 index 00000000..e4e14a71 --- /dev/null +++ b/main/libxml2/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libxml2-docs +pkgbase = libxml2 +xdata = pkgtype=split +pkgver = 2.13.0-1 +pkgdesc = XML C parser and toolkit (documentation) +url = https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home +builddate = 1718491627 +packager = Developer +size = 2727589 +arch = x86_64 +license = MIT +makedepend = git +makedepend = python diff --git a/main/libxml2/0001-HACK-Don-t-run-fuzzing-tests.patch b/main/libxml2/0001-HACK-Don-t-run-fuzzing-tests.patch new file mode 100644 index 00000000..0ead9a17 --- /dev/null +++ b/main/libxml2/0001-HACK-Don-t-run-fuzzing-tests.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 11 Apr 2023 21:59:24 +0000 +Subject: [PATCH] HACK: Don't run fuzzing tests + +They take way too long. +--- + Makefile.am | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 0a49d37547b8..f1bc8deb3364 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6,11 +6,8 @@ SUBDIRS = include . doc example xstc + if WITH_PYTHON + SUBDIRS += python + endif +-if WITH_GLOB +-SUBDIRS += fuzz +-endif + +-DIST_SUBDIRS = include . doc example fuzz python xstc ++DIST_SUBDIRS = include . doc example python xstc + + AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include -DSYSCONFDIR='"$(sysconfdir)"' + diff --git a/main/libxml2/PKGBUILD b/main/libxml2/PKGBUILD new file mode 100644 index 00000000..b75288e3 --- /dev/null +++ b/main/libxml2/PKGBUILD @@ -0,0 +1,99 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libxml2 +pkgname=( + libxml2 + libxml2-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="XML C parser and toolkit" +url="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +arch=(x86_64) +license=(MIT) +depends=( + icu + ncurses + readline + xz + zlib +) +makedepends=( + git + python +) +_commit=505e2e872e767405be565aa9d47ae9d6d5677f79 # tags/v2.12.6^0 +source=( + "git+https://gitlab.gnome.org/GNOME/libxml2.git#commit=$_commit" + 0001-HACK-Don-t-run-fuzzing-tests.patch + https://www.w3.org/XML/Test/xmlts20130923.tar.gz +) +b2sums=('SKIP' + '6931b07a467874c3016deb7a68bab1e9cfaabc88fdeaf0ccf6c9cca02bbce9618b18f8c285f5748089138489d04d7c72a659b2bfd4ea5fe24ad273daacbd6d50' + '63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be') + +pkgver() { + cd libxml2 + git describe --tags | sed 's/-rc/rc/;s/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libxml2 + + # Use xmlconf from conformance test suite + ln -s ../xmlconf + + # Do not run fuzzing tests + git apply -3 ../0001-HACK-Don-t-run-fuzzing-tests.patch + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --disable-static + --with-history + --with-icu + --with-legacy + --with-python=/usr/bin/python + --with-threads + ) + + cd libxml2 + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd libxml2 + make check +} + +package_libxml2() { + optdepends=('python: Python bindings') + provides=(libxml2.so) + + cd libxml2 + make DESTDIR="$pkgdir" install + + mkdir -p ../doc/usr/share + mv "$pkgdir"/usr/share/{doc,gtk-doc} -t ../doc/usr/share + + install -Dm644 Copyright -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_libxml2-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dm644 libxml2/Copyright -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libxml2/README b/main/libxml2/README new file mode 100644 index 00000000..904e2c90 --- /dev/null +++ b/main/libxml2/README @@ -0,0 +1,43 @@ +libxml2 +________________________________________________________________________________ + +XML C parser and toolkit XML C parser and toolkit (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxml2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home diff --git a/main/libxml2/version b/main/libxml2/version new file mode 100644 index 00000000..18a9746a --- /dev/null +++ b/main/libxml2/version @@ -0,0 +1 @@ +2.13.0 1 diff --git a/main/libxmlb/.PKGINFO b/main/libxmlb/.PKGINFO new file mode 100644 index 00000000..9ba7062f --- /dev/null +++ b/main/libxmlb/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libxmlb +pkgbase = libxmlb +xdata = pkgtype=pkg +pkgver = 0.3.19-1 +pkgdesc = Library to help create and query binary XML blobs +url = https://github.com/hughsie/libxmlb +builddate = 1713919972 +packager = Developer +size = 1263698 +arch = x86_64 +license = LGPL +depend = glib2 +depend = libstemmer +depend = xz +depend = zstd +makedepend = meson +makedepend = gobject-introspection +makedepend = gtk-doc +checkdepend = shared-mime-info diff --git a/main/libxmlb/.nvchecker.toml b/main/libxmlb/.nvchecker.toml new file mode 100644 index 00000000..a469f0d4 --- /dev/null +++ b/main/libxmlb/.nvchecker.toml @@ -0,0 +1,4 @@ +[libxmlb] +source = 'github' +github = 'hughsie/libxmlb' +use_max_tag = true diff --git a/main/libxmlb/PKGBUILD b/main/libxmlb/PKGBUILD new file mode 100644 index 00000000..e645d264 --- /dev/null +++ b/main/libxmlb/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxmlb +pkgver=%version% +pkgrel=%release% +pkgdesc="Library to help create and query binary XML blobs" +arch=(x86_64) +url="https://github.com/hughsie/libxmlb" +license=(LGPL) +depends=(glib2 libstemmer xz zstd) +makedepends=(meson gobject-introspection gtk-doc) +checkdepends=(shared-mime-info) +source=("https://github.com/hughsie/libxmlb/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc}) +sha256sums=('8007d39eefaa047d23e323523ae3c4da5fca77543b0fc4e188f7a3cd28872ff4' + 'SKIP') +validpgpkeys=(163EB50119225DB3DF8F49EA17ACBA8DFA970E17) # Richard Hughes + +build() { + arch-meson ${pkgname}-${pkgver} build -D stemmer=true + ninja -v -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "${pkgdir}" + rm -r "${pkgdir}"/usr/{lib,share}/installed-tests/ +} diff --git a/main/libxmlb/README b/main/libxmlb/README new file mode 100644 index 00000000..fea3af86 --- /dev/null +++ b/main/libxmlb/README @@ -0,0 +1,43 @@ +libxmlb +________________________________________________________________________________ + +Library to help create and query binary XML blobs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxmlb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/hughsie/libxmlb diff --git a/main/libxmlb/version b/main/libxmlb/version new file mode 100644 index 00000000..35d764dc --- /dev/null +++ b/main/libxmlb/version @@ -0,0 +1 @@ +0.3.19 1 diff --git a/main/libxmu/.PKGINFO b/main/libxmu/.PKGINFO new file mode 100644 index 00000000..10245eb5 --- /dev/null +++ b/main/libxmu/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libxmu +pkgbase = libxmu +xdata = pkgtype=pkg +pkgver = 1.2.1-1 +pkgdesc = X11 miscellaneous micro-utility library +url = https://gitlab.freedesktop.org/xorg/lib/libxmu +builddate = 1713662738 +packager = Developer +size = 347517 +arch = x86_64 +license = MIT-open-group AND SMLNJ AND X11 AND ISC +depend = libxext +depend = libxt +depend = libx11 +depend = xorgproto +depend = glibc +makedepend = xorg-util-macros diff --git a/main/libxmu/.nvchecker.toml b/main/libxmu/.nvchecker.toml new file mode 100644 index 00000000..0723d912 --- /dev/null +++ b/main/libxmu/.nvchecker.toml @@ -0,0 +1,8 @@ +[libxmu] +source = "gitlab" +gitlab = "xorg/lib/libXmu" +host = "gitlab.freedesktop.org" +use_max_tag = true + +include_regex = ".*libXmu-.*" +prefix = "libXmu-" diff --git a/main/libxmu/PKGBUILD b/main/libxmu/PKGBUILD new file mode 100644 index 00000000..295b9aba --- /dev/null +++ b/main/libxmu/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxmu +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 miscellaneous micro-utility library" +arch=('x86_64') +url="https://gitlab.freedesktop.org/xorg/lib/libxmu" +depends=('libxext' 'libxt' 'libx11' 'xorgproto' 'glibc') +makedepends=('xorg-util-macros') +license=('MIT-open-group AND SMLNJ AND X11 AND ISC') +source=(https://xorg.freedesktop.org//archive/individual/lib/libXmu-${pkgver}.tar.xz{,.sig}) +sha512sums=('199310c57d9ce15d3a049890ba2b853357fbda267ca0f075624ed4757c72c548a1c4153a4f7492a2ebf06eb90518ef02c21b44ca298933c038c62196f2cddb2e' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXmu-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-static + make +} + +package() { + cd libXmu-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxmu/README b/main/libxmu/README new file mode 100644 index 00000000..7d775fbe --- /dev/null +++ b/main/libxmu/README @@ -0,0 +1,43 @@ +libxmu +________________________________________________________________________________ + +X11 miscellaneous micro-utility library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxmu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxmu diff --git a/main/libxmu/version b/main/libxmu/version new file mode 100644 index 00000000..cd3d02bc --- /dev/null +++ b/main/libxmu/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/main/libxpm/PKGBUILD b/main/libxpm/PKGBUILD new file mode 100644 index 00000000..9702b6d0 --- /dev/null +++ b/main/libxpm/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxpm +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 pixmap library" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('libxt' 'libxext') +makedepends=('xorg-util-macros') +source=(${url}/releases/individual/lib/libXpm-${pkgver}.tar.xz{,.sig}) +sha512sums=('52f9d2664a47a26c1a6ad65d18867de870b66947b0b0d99cca3512756a0aaa6ce2a245c0b49f20b70c3ce48bf04c47c333e8119a147465c277bca727f6ab017e' + 'SKIP') +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +#validpgpkeys+=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # "Peter Hutterer (Who-T) " +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith +#validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner + +build() { + cd libXpm-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-static \ + --disable-open-zfile + make +} + +check() { + cd libXpm-${pkgver} + # 3 test fails due to disabling compression support from 3.5.15 on + make check || /bin/true +} + +package() { + cd libXpm-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/main/libxpm/README b/main/libxpm/README new file mode 100644 index 00000000..d821ed1c --- /dev/null +++ b/main/libxpm/README @@ -0,0 +1,43 @@ +libxpm +________________________________________________________________________________ + +X11 pixmap library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxpm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxpm/version b/main/libxpm/version new file mode 100644 index 00000000..a2019f39 --- /dev/null +++ b/main/libxpm/version @@ -0,0 +1 @@ +3.5.17 1 diff --git a/main/libxrandr/PKGBUILD b/main/libxrandr/PKGBUILD new file mode 100644 index 00000000..6121b05a --- /dev/null +++ b/main/libxrandr/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxrandr +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 RandR extension library" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('libxext' 'libxrender' 'libx11' 'glibc') +makedepends=('xorg-util-macros' 'xorgproto') +source=(${url}/releases/individual/lib/libXrandr-${pkgver}.tar.xz{,.sig}) +sha512sums=('f7c0b083943e11b4cc3c97e10e2cbbc3920fe0c9c5031ef86fca2eb5df413d767caf53dca266abf65395eb10e55354c8fe59ed6b3265402ffccb919a813bc781' + 'SKIP') +#validpgpkeys=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # Dave Airlie +#validpgpkeys+=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +validpgpkeys+=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd libXrandr-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd libXrandr-${pkgver} + make DESTDIR="${pkgdir}" install + + install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxrandr/README b/main/libxrandr/README new file mode 100644 index 00000000..28640609 --- /dev/null +++ b/main/libxrandr/README @@ -0,0 +1,43 @@ +libxrandr +________________________________________________________________________________ + +X11 RandR extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxrandr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxrandr/version b/main/libxrandr/version new file mode 100644 index 00000000..de75e7c1 --- /dev/null +++ b/main/libxrandr/version @@ -0,0 +1 @@ +1.5.4 1 diff --git a/main/libxrender/PKGBUILD b/main/libxrender/PKGBUILD new file mode 100644 index 00000000..d3554f6f --- /dev/null +++ b/main/libxrender/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer +# Controbutor: Jan de Groot + +pkgname=libxrender +pkgver=%version% +pkgrel=%release% +pkgdesc="X Rendering Extension client library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libx11') +makedepends=('xorgproto') +source=(${url}/archive/individual/lib/libXrender-${pkgver}.tar.xz{,.sig}) +sha512sums=('2327cc1b530382d81df29b8d579f801f1f990202107cc84506986bcf5d15010d414e9418987b200e3f222d188afce46f0d7754febcdca62a5fc1e541b3bb82de' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith +#validpgpkeys+=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb + +build() { + cd libXrender-${pkgver} + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd libXrender-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libxrender/README b/main/libxrender/README new file mode 100644 index 00000000..34803121 --- /dev/null +++ b/main/libxrender/README @@ -0,0 +1,43 @@ +libxrender +________________________________________________________________________________ + +X Rendering Extension client library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxrender | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxrender/version b/main/libxrender/version new file mode 100644 index 00000000..0f12b448 --- /dev/null +++ b/main/libxrender/version @@ -0,0 +1 @@ +0.9.11 1 diff --git a/main/libxshmfence/PKGBUILD b/main/libxshmfence/PKGBUILD new file mode 100644 index 00000000..6fa27b83 --- /dev/null +++ b/main/libxshmfence/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxshmfence +pkgver=%version% +pkgrel=%release% +pkgdesc="a library that exposes a event API on top of Linux futexes" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('GPL') +#groups=() +depends=('glibc') +makedepends=('xorg-util-macros' 'xorgproto') +source=(${url}/archive/individual/lib/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha512sums=('e20a6827e370726cf50489a69f4a52b897f1c44e3eba8c72a4e626b08724e877d090770b8016765736d887d5d5eaba1fda9c29066e62d259b4d1e2064bc1626c' + 'SKIP') +#validpgpkeys=('C383B778255613DFDB409D91DB221A6900000011') # Keith Packard +validpgpkeys=('3BB639E56F861FA2E86505690FDD682D974CA72A') # "Matt Turner " +#validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make -k check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxshmfence/README b/main/libxshmfence/README new file mode 100644 index 00000000..65ed5bd2 --- /dev/null +++ b/main/libxshmfence/README @@ -0,0 +1,43 @@ +libxshmfence +________________________________________________________________________________ + +a library that exposes a event API on top of Linux futexes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxshmfence | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxshmfence/version b/main/libxshmfence/version new file mode 100644 index 00000000..a8cebfe5 --- /dev/null +++ b/main/libxshmfence/version @@ -0,0 +1 @@ +1.3.2 1 diff --git a/main/libxslt/.PKGINFO b/main/libxslt/.PKGINFO new file mode 100644 index 00000000..3b80d66f --- /dev/null +++ b/main/libxslt/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = libxslt +pkgbase = libxslt +xdata = pkgtype=split +pkgver = 1.1.40-1 +pkgdesc = XML stylesheet transformation library +url = https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home +builddate = 1718491628 +packager = Developer +size = 800165 +arch = x86_64 +license = MIT +provides = libxslt.so=1-64 +provides = libexslt.so=0-64 +depend = bash +depend = glibc +depend = libgcrypt +depend = libxml2 +depend = xz +optdepend = python: Python bindings +makedepend = git +makedepend = python +checkdepend = docbook-xml diff --git a/main/libxslt/PKGBUILD b/main/libxslt/PKGBUILD new file mode 100644 index 00000000..5ea285ea --- /dev/null +++ b/main/libxslt/PKGBUILD @@ -0,0 +1,85 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=libxslt +pkgname=( + libxslt + libxslt-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="XML stylesheet transformation library" +url="https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home" +arch=(x86_64) +license=(custom:MIT) +depends=( + libgcrypt + libxml2 + xz +) +makedepends=( + git + python +) +checkdepends=( + docbook-xml +) +_commit=743ab691bed98ed11ac99bbd9d903d59fb814ab8 # tags/v1.1.39^0 +source=( + "git+https://gitlab.gnome.org/GNOME/libxslt.git#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd libxslt + git describe --tags | sed 's/-rc/rc/;s/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd libxslt + NOCONFIGURE=1 ./autogen.sh +} + +build() { + local configure_options=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --disable-static + --with-python=/usr/bin/python + ) + + cd libxslt + ./configure "${configure_options[@]}" + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd libxslt + make check +} + +package_libxslt() { + optdepends=('python: Python bindings') + provides=(lib{,e}xslt.so) + + cd libxslt + make DESTDIR="$pkgdir" install + + mkdir -p ../doc/usr/share + mv "$pkgdir"/usr/share/{doc,gtk-doc} -t ../doc/usr/share + + install -Dm644 Copyright -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_libxslt-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dm644 libxslt/Copyright -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/libxslt/README b/main/libxslt/README new file mode 100644 index 00000000..db2c4474 --- /dev/null +++ b/main/libxslt/README @@ -0,0 +1,43 @@ +libxslt +________________________________________________________________________________ + +XML stylesheet transformation library XML stylesheet transformation library (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxslt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home diff --git a/main/libxslt/version b/main/libxslt/version new file mode 100644 index 00000000..a8b92e45 --- /dev/null +++ b/main/libxslt/version @@ -0,0 +1 @@ +1.1.40 1 diff --git a/main/libxss/PKGBUILD b/main/libxss/PKGBUILD new file mode 100644 index 00000000..d7fb6a83 --- /dev/null +++ b/main/libxss/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxss +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Screen Saver extension library" +arch=('x86_64') +license=('custom') +url="https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver" +depends=('libxext' 'libx11' 'glibc') +makedepends=('xorg-util-macros' 'xorgproto') +source=(https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-${pkgver}.tar.xz{,.sig} + # "${url}/-/archive/libXScrnSaver-${pkgver}/libxscrnsaver-libXScrnSaver-${pkgver}.tar.bz2" +) +#https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver/-/archive/libXScrnSaver-1.2.3/libxscrnsaver-libXScrnSaver-1.2.3.tar.bz2 +sha512sums=('e4395af85f8496618afb23ffdaca1a75f5e3d213478d8dc73249cbc9840d7b993ba7513dbf6015cb38b48fe3f2223496365158a148dd5e1ac7475c5ee569e28c' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXScrnSaver-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd libXScrnSaver-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxss/README b/main/libxss/README new file mode 100644 index 00000000..80e83e5a --- /dev/null +++ b/main/libxss/README @@ -0,0 +1,43 @@ +libxss +________________________________________________________________________________ + +X11 Screen Saver extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxss | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver diff --git a/main/libxss/version b/main/libxss/version new file mode 100644 index 00000000..d66671c6 --- /dev/null +++ b/main/libxss/version @@ -0,0 +1 @@ +1.2.4 1 diff --git a/main/libxt/PKGBUILD b/main/libxt/PKGBUILD new file mode 100644 index 00000000..12913da6 --- /dev/null +++ b/main/libxt/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxt +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 toolkit intrinsics library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libsm' 'libx11') +makedepends=('xorg-util-macros') +source=(${url}/releases/individual/lib/libXt-${pkgver}.tar.xz{,.sig}) +sha512sums=('64c5978655135b925c3aaad86b1aa6a3f3b57ad8b3592bf142be616b8aa339a02c2fc7badfab9564ea8076ea8f37acfe31709ed528f5a1d251f2d116aa074118' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith +validpgpkeys+=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # "Thomas Dickey " +validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') #"Matt Turner " + +build() { + cd libXt-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make +} + +package() { + cd libXt-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxt/README b/main/libxt/README new file mode 100644 index 00000000..bf78f075 --- /dev/null +++ b/main/libxt/README @@ -0,0 +1,43 @@ +libxt +________________________________________________________________________________ + +X11 toolkit intrinsics library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxt/version b/main/libxt/version new file mode 100644 index 00000000..0a2d7f2b --- /dev/null +++ b/main/libxt/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/main/libxtst/PKGBUILD b/main/libxtst/PKGBUILD new file mode 100644 index 00000000..6d813e30 --- /dev/null +++ b/main/libxtst/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxtst +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Testing -- Resource extension library" +arch=('x86_64') +url="https://xorg.freedesktop.org/" +license=('custom') +depends=('libxext' 'libxi' 'libxfixes') +makedepends=('xorg-util-macros' 'xorgproto') +source=(${url}/releases/individual/lib/libXtst-${pkgver}.tar.xz{,.sig}) +sha512sums=('f2f4e01239b892b8e26284cede90feb4fe7738beb243bca0f6adb349029f8bf87b5a482911edcd2401733c92ef78eec07fcd455b92e5b8c4828374769e60098d' + 'SKIP') +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd "${srcdir}/libXtst-${pkgver}" + ./configure --prefix=/usr --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd "${srcdir}/libXtst-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxtst/README b/main/libxtst/README new file mode 100644 index 00000000..5db6b86d --- /dev/null +++ b/main/libxtst/README @@ -0,0 +1,43 @@ +libxtst +________________________________________________________________________________ + +X11 Testing -- Resource extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxtst | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxtst/version b/main/libxtst/version new file mode 100644 index 00000000..d66671c6 --- /dev/null +++ b/main/libxtst/version @@ -0,0 +1 @@ +1.2.4 1 diff --git a/main/libxv/PKGBUILD b/main/libxv/PKGBUILD new file mode 100644 index 00000000..1425b34a --- /dev/null +++ b/main/libxv/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxv +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 Video extension library" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('libxext') +makedepends=('xorgproto') +source=(${url}/releases/individual/lib/libXv-${pkgver}.tar.xz{,.sig}) +sha512sums=('bdd00de1ce6a8911056181ab4de32f9e319a68567389162d4bc2e3c9946d5f3c60f87eb6c53f74c9b6a342255e591d5fef4a445a4ac8ca3c1b6fe87d42c51c1e' + 'SKIP') +#validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb +validpgpkeys+=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith " + +build() { + cd libXv-${pkgver} + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd libXv-${pkgver} + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/libxv/README b/main/libxv/README new file mode 100644 index 00000000..1506fe0b --- /dev/null +++ b/main/libxv/README @@ -0,0 +1,43 @@ +libxv +________________________________________________________________________________ + +X11 Video extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxv | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxv/version b/main/libxv/version new file mode 100644 index 00000000..072c2e9a --- /dev/null +++ b/main/libxv/version @@ -0,0 +1 @@ +1.0.12 1 diff --git a/main/libxxf86vm/PKGBUILD b/main/libxxf86vm/PKGBUILD new file mode 100644 index 00000000..fde51353 --- /dev/null +++ b/main/libxxf86vm/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libxxf86vm +pkgver=%version% +pkgrel=%release% +pkgdesc="X11 XFree86 video mode extension library" +arch=('x86_64') +license=('custom') +url="https://xorg.freedesktop.org/" +depends=('libxext') +makedepends=('xorg-util-macros' 'xorgproto') +source=(${url}/releases/individual/lib/libXxf86vm-${pkgver}.tar.xz{,.sig}) +sha512sums=('68226fcb9773a583ea417ab413146203dd7db6ff8a4d388285da972353355e11e179861a77c9fa284aefac025bb3bbf5a9537fa0bf246c782e0116a667c9d9b6' + 'SKIP') +validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith + +build() { + cd libXxf86vm-${pkgver} + ./configure --prefix=/usr --disable-static + make +} + +package() +{ + cd libXxf86vm-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} diff --git a/main/libxxf86vm/README b/main/libxxf86vm/README new file mode 100644 index 00000000..7a7e8cf0 --- /dev/null +++ b/main/libxxf86vm/README @@ -0,0 +1,43 @@ +libxxf86vm +________________________________________________________________________________ + +X11 XFree86 video mode extension library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libxxf86vm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://xorg.freedesktop.org/ diff --git a/main/libxxf86vm/version b/main/libxxf86vm/version new file mode 100644 index 00000000..3d29560a --- /dev/null +++ b/main/libxxf86vm/version @@ -0,0 +1 @@ +1.1.5 1 diff --git a/main/libyaml/PKGBUILD b/main/libyaml/PKGBUILD new file mode 100644 index 00000000..24951d5e --- /dev/null +++ b/main/libyaml/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libyaml +pkgver=%version% +pkgrel=%release% +pkgdesc="YAML 1.1 library" +arch=('x86_64') +url="https://pyyaml.org/wiki/LibYAML" +license=('MIT') +depends=('glibc') +source=("https://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz") +sha512sums=('dadd7d8e0d88b5ebab005e5d521d56d541580198aa497370966b98c904586e642a1cd4f3881094eb57624f218d50db77417bbfd0ffdce50340f011e35e8c4c02') + +build() { + cd "$srcdir/yaml-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/yaml-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm644 License "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + diff --git a/main/libyaml/README b/main/libyaml/README new file mode 100644 index 00000000..d5cfb5fd --- /dev/null +++ b/main/libyaml/README @@ -0,0 +1,43 @@ +libyaml +________________________________________________________________________________ + +YAML 1.1 library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libyaml | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pyyaml.org/wiki/LibYAML diff --git a/main/libyaml/version b/main/libyaml/version new file mode 100644 index 00000000..6a0a8411 --- /dev/null +++ b/main/libyaml/version @@ -0,0 +1 @@ +0.2.5 2 diff --git a/main/libzip/PKGBUILD b/main/libzip/PKGBUILD new file mode 100644 index 00000000..79c4c078 --- /dev/null +++ b/main/libzip/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=libzip +pkgver=%version% +pkgrel=%release% +pkgdesc="C library for reading, creating, and modifying zip archives" +url="https://libzip.org" +license=('BSD') +arch=('x86_64') +depends=('zlib' 'bzip2' 'zstd' 'openssl' 'gnutls') +makedepends=('cmake') +provides=('libzip.so') +source=("${url}/download/${pkgname}-${pkgver}.tar.xz") +sha256sums=('dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318') + +build() { + cmake -B build -S ${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -Wno-dev + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 ${pkgname}-${pkgver}/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/libzip/README b/main/libzip/README new file mode 100644 index 00000000..a138c479 --- /dev/null +++ b/main/libzip/README @@ -0,0 +1,43 @@ +libzip +________________________________________________________________________________ + +C library for reading, creating, and modifying zip archives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S libzip | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://libzip.org diff --git a/main/libzip/version b/main/libzip/version new file mode 100644 index 00000000..2c5565d6 --- /dev/null +++ b/main/libzip/version @@ -0,0 +1 @@ +1.10.1 1 diff --git a/main/licenses/PKGBUILD b/main/licenses/PKGBUILD new file mode 100644 index 00000000..edcc4d47 --- /dev/null +++ b/main/licenses/PKGBUILD @@ -0,0 +1,160 @@ +# Maintainer: Developer +# Maintainer: Developer + +_upstream_name=license-list-data +_upstream_version=3.22 +pkgname=licenses +pkgver=%version% +pkgrel=%release% +pkgdesc="A set of common license files" +arch=(any) +license=(LicenseRef-None) +url="https://www.archlinux.org/" +makedepends=( + jq +) +source=( + $_upstream_name-$_upstream_version.tar.gz::https://github.com/spdx/$_upstream_name/archive/refs/tags/v$_upstream_version.tar.gz +) +sha512sums=('b213fe66699770d75a4c994a01a5c08325751423516c2fb871088a47e7e7ce605736064f5ce3a63dc1d3c462271832db7bc464ac968df1888f9823787964c786') +b2sums=('751d4a31a74b1f0c6831b2e2ad7b361fddca6f9e71f58f57b2dc4fdf13f3ad2a63c652d0333e97d25c1748b7ced62db0b799cc5421c7ed4e117b46fa0869bf3c') + +prepare() { + local license + touch known_spdx_license_exceptions.txt known_spdx_license_identifiers.txt + + # create list of known, non-deprecated SPDX license identifiers + for license in $(jq -r '.licenses[] | select(.isDeprecatedLicenseId == false) | .licenseId' $_upstream_name-$_upstream_version/json/licenses.json); do + printf "%s\n" "$license" >> known_spdx_license_identifiers.txt + done + + # create list of known SPDX exception identifiers + for license in $(jq -r '.exceptions[] | .licenseExceptionId' $_upstream_name-$_upstream_version/json/exceptions.json); do + printf "%s\n" "$license" >> known_spdx_license_exceptions.txt + done +} + +package() { + local license + local standard_licenses=( + AGPL-3.0-only + AGPL-3.0-or-later + Apache-2.0 + Artistic-1.0-Perl + Artistic-2.0 + BSL-1.0 + CC0-1.0 + CC-BY-1.0 + CC-BY-2.0 + CC-BY-2.5 + CC-BY-3.0-AT + CC-BY-3.0 + CC-BY-3.0-US + CC-BY-4.0 + CC-BY-NC-1.0 + CC-BY-NC-2.0 + CC-BY-NC-2.5 + CC-BY-NC-3.0 + CC-BY-NC-4.0 + CC-BY-NC-ND-1.0 + CC-BY-NC-ND-2.0 + CC-BY-NC-ND-2.5 + CC-BY-NC-ND-3.0-IGO + CC-BY-NC-ND-3.0 + CC-BY-NC-ND-4.0 + CC-BY-NC-SA-1.0 + CC-BY-NC-SA-2.0 + CC-BY-NC-SA-2.5 + CC-BY-NC-SA-3.0 + CC-BY-NC-SA-4.0 + CC-BY-ND-1.0 + CC-BY-ND-2.0 + CC-BY-ND-2.5 + CC-BY-ND-3.0 + CC-BY-ND-4.0 + CC-BY-SA-1.0 + CC-BY-SA-2.0 + CC-BY-SA-2.0-UK + CC-BY-SA-2.1-JP + CC-BY-SA-2.5 + CC-BY-SA-3.0-AT + CC-BY-SA-3.0 + CC-BY-SA-4.0 + CC-PDDC + CDDL-1.0 + CDDL-1.1 + CPL-1.0 + EPL-1.0 + EPL-2.0 + FSFAP + GFDL-1.1-invariants-only + GFDL-1.1-invariants-or-later + GFDL-1.1-no-invariants-only + GFDL-1.1-no-invariants-or-later + GFDL-1.1-only + GFDL-1.1-or-later + GFDL-1.2-invariants-only + GFDL-1.2-invariants-or-later + GFDL-1.2-no-invariants-only + GFDL-1.2-no-invariants-or-later + GFDL-1.2-only + GFDL-1.2-or-later + GFDL-1.3-invariants-only + GFDL-1.3-invariants-or-later + GFDL-1.3-no-invariants-only + GFDL-1.3-no-invariants-or-later + GFDL-1.3-only + GFDL-1.3-or-later + GPL-1.0-only + GPL-1.0-or-later + GPL-2.0-only + GPL-2.0-or-later + GPL-3.0-only + GPL-3.0-or-later + GPL-CC-1.0 + LGPL-2.0-only + LGPL-2.0-or-later + LGPL-2.1-only + LGPL-2.1-or-later + LGPL-3.0-only + LGPL-3.0-or-later + LGPLLR + LPPL-1.0 + LPPL-1.1 + LPPL-1.2 + LPPL-1.3a + LPPL-1.3c + MPL-1.0 + MPL-1.1 + MPL-2.0 + PHP-3.01 + PHP-3.0 + PSF-2.0 + Ruby + Unlicense + W3C + ZPL-1.1 + ZPL-2.0 + ZPL-2.1 + ) + local standard_exceptions=( + GPL-3.0-linking-exception + GPL-3.0-linking-source-exception + LGPL-3.0-linking-exception + LLGPL + Linux-syscall-note + MPL-2.0-no-copyleft-exception + ) + + for license in "${standard_licenses[@]}"; do + install -vDm 644 "$_upstream_name-$_upstream_version/text/$license.txt" -t "$pkgdir/usr/share/licenses/spdx/" + done + for license in "${standard_exceptions[@]}"; do + install -vDm 644 "$_upstream_name-$_upstream_version/text/$license.txt" -t "$pkgdir/usr/share/licenses/spdx/exceptions/" + done + + install -vDm 644 known_spdx_license_identifiers.txt -t "$pkgdir/usr/share/licenses/" + install -vDm 644 known_spdx_license_exceptions.txt -t "$pkgdir/usr/share/licenses/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/licenses/README b/main/licenses/README new file mode 100644 index 00000000..36d29540 --- /dev/null +++ b/main/licenses/README @@ -0,0 +1,43 @@ +licenses +________________________________________________________________________________ + +A set of common license files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S licenses | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.archlinux.org/ diff --git a/main/licenses/version b/main/licenses/version new file mode 100644 index 00000000..07ee7f47 --- /dev/null +++ b/main/licenses/version @@ -0,0 +1 @@ +20240206 1 diff --git a/main/lilv/.PKGINFO b/main/lilv/.PKGINFO new file mode 100644 index 00000000..d1f746bc --- /dev/null +++ b/main/lilv/.PKGINFO @@ -0,0 +1,39 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = lilv +pkgbase = lilv +xdata = pkgtype=split +pkgver = 0.24.24-2 +pkgdesc = A C library interface to the LV2 plug-in standard +url = https://drobilla.net/software/lilv.html +builddate = 1714401266 +packager = Developer +size = 268521 +arch = x86_64 +license = 0BSD OR ISC +license = ISC +provides = liblilv-0.so=0-64 +depend = glibc +depend = serd +depend = libserd-0.so=0-64 +depend = sord +depend = libsord-0.so=0-64 +depend = sratom +depend = libsratom-0.so=0-64 +depend = lv2 +depend = zix +optdepend = libsndfile: for lv2apply +optdepend = lilv-docs: for documentation +optdepend = python-lilv: for Python bindings +makedepend = doxygen +makedepend = libsndfile +makedepend = lv2 +makedepend = meson +makedepend = python +makedepend = python-sphinx +makedepend = python-sphinx-lv2-theme +makedepend = python-sphinxygen +makedepend = serd +makedepend = sord +makedepend = sratom +makedepend = swig diff --git a/main/lilv/PKGBUILD b/main/lilv/PKGBUILD new file mode 100644 index 00000000..26b587b3 --- /dev/null +++ b/main/lilv/PKGBUILD @@ -0,0 +1,107 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=lilv +pkgname=( + lilv{,-docs} + python-lilv +) +pkgver=%version% +pkgrel=%release% +pkgdesc="A C library interface to the LV2 plug-in standard" +arch=(x86_64) +url="https://drobilla.net/software/lilv.html" +license=( + '0BSD OR ISC' + ISC +) +makedepends=( + doxygen + libsndfile + lv2 + meson + python + python-sphinx + python-sphinx-lv2-theme + python-sphinxygen + serd + sord + sratom + swig +) +source=(https://download.drobilla.net/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('93a3842a5e000a9c59bf3493c2c10df35a803a7edf6cff09f43e155a7e83d0c7c81bc24a6243828dc141d30187c3f60ef9799f319f72e5b6c3e2d022de757185' + 'SKIP') +b2sums=('4228248e8dbee228cee193e259d95b2e66f9f2e3516702dfad0dc126273076230274538c32a857ae9ad8a58545bbf48e7791254441dd4d6e537715de9e5e5be6' + 'SKIP') +validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + arch-meson $pkgname-$pkgver build + meson compile -C build +} + +check() { + meson test -C build +} + +package_lilv() { + depends=( + glibc + serd libserd-0.so + sord libsord-0.so + sratom libsratom-0.so + lv2 + zix + ) + optdepends=( + 'libsndfile: for lv2apply' + 'lilv-docs: for documentation' + 'python-lilv: for Python bindings' + ) + provides=(liblilv-0.so) + + meson install -C build --destdir "$pkgdir" + ( + cd "$pkgdir" + _pick $pkgname-docs usr/share/doc + _pick python-$pkgbase usr/lib/python* + ) + + install -vDm 644 $pkgbase-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/{NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" + # install bash completion to correct directory and remove /etc + install -vDm 644 "$pkgdir/etc/bash_completion.d/$pkgname" -t "$pkgdir/usr/share/bash-completion/completions/" + rm -frv "$pkgdir/etc" +} + +package_lilv-docs() { + pkgdesc+=" - documentation" + + mv -v $pkgname/* "$pkgdir" + mv -v "$pkgdir/usr/share/doc/$pkgbase"{-0,} + find "$pkgdir" -type f -iname "*.buildinfo" -delete + install -vDm 644 $pkgbase-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_python-lilv() { + pkgdesc+=" - Python interface" + depends=( + lilv + python + python-numpy + ) + + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/lilv/README b/main/lilv/README new file mode 100644 index 00000000..9e554c9f --- /dev/null +++ b/main/lilv/README @@ -0,0 +1,43 @@ +lilv +________________________________________________________________________________ + +A C library interface to the LV2 plug-in standard A C library interface to the LV2 plug-in standard - documentation A C library interface to the LV2 plug-in standard - Python interface + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lilv | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://drobilla.net/software/lilv.html diff --git a/main/lilv/lilvmm.patch b/main/lilv/lilvmm.patch new file mode 100644 index 00000000..410aac5e --- /dev/null +++ b/main/lilv/lilvmm.patch @@ -0,0 +1,40 @@ +Index: trunk/lilv/lilv/lilvmm.hpp +=================================================================== +--- trunk/lilv/lilv/lilvmm.hpp (revision 4975) ++++ trunk/lilv/lilv/lilvmm.hpp (revision 5092) +@@ -48,4 +48,9 @@ + inline RT name(T1 a1, T2 a2) { \ + return lilv_ ## prefix ## _ ## name(me, a1, a2); \ ++ } ++ ++#define LILV_WRAP3(RT, prefix, name, T1, a1, T2, a2, T3, a3) \ ++ inline RT name(T1 a1, T2 a2, T3 a3) { \ ++ return lilv_ ## prefix ## _ ## name(me, a1, a2, a3); \ + } + +@@ -138,4 +143,25 @@ + LILV_WRAP1(bool, nodes, contains, const Node, node); + LILV_WRAP0(Node, nodes, get_first); ++}; ++ ++struct UI { ++ inline UI(const LilvUI* c_obj) : me(c_obj) {} ++ LILV_WRAP_CONVERSION(const LilvUI); ++ ++ LILV_WRAP0(const LilvNode*, ui, get_uri); ++ LILV_WRAP0(const LilvNode*, ui, get_bundle_uri); ++ LILV_WRAP0(const LilvNode*, ui, get_binary_uri); ++ LILV_WRAP0(const LilvNodes*, ui, get_classes); ++ /*LILV_WRAP3(bool, ui, is_supported, ++ LilvUISupportedFunc, supported_func, ++ const LilvNode*, container_type, ++ const LilvNode**, ui_type);*/ ++ LILV_WRAP1(bool, ui, is_a, const LilvNode*, class_uri); ++ ++ const LilvUI* me; ++}; ++ ++struct UIs { ++ LILV_WRAP_COLL(UIs, UI, uis); + }; + diff --git a/main/lilv/version b/main/lilv/version new file mode 100644 index 00000000..859b4399 --- /dev/null +++ b/main/lilv/version @@ -0,0 +1 @@ +0.24.24 2 diff --git a/main/linux-api-headers/.PKGINFO b/main/linux-api-headers/.PKGINFO new file mode 100644 index 00000000..801f0087 --- /dev/null +++ b/main/linux-api-headers/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = linux-api-headers +pkgbase = linux-api-headers +xdata = pkgtype=pkg +pkgver = 6.8-1 +pkgdesc = Kernel headers sanitized for use in userspace +url = https://www.gnu.org/software/libc +builddate = 1715214609 +packager = Developer +size = 5805549 +arch = x86_64 +license = GPL-2.0-only +makedepend = rsync diff --git a/main/linux-api-headers/PKGBUILD b/main/linux-api-headers/PKGBUILD new file mode 100644 index 00000000..6f85c29f --- /dev/null +++ b/main/linux-api-headers/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=linux-api-headers +pkgver=%version% +pkgrel=%release% +pkgdesc='Kernel headers sanitized for use in userspace' +arch=('x86_64') +url='https://www.gnu.org/software/libc' +license=(GPL-2.0-only) +makedepends=(rsync) +source=(https://www.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.{xz,sign}) +sha256sums=('ef31144a2576d080d8c31698e83ec9f66bf97c677fa2aaf0d5bbb9f3345b1069' + 'SKIP') +validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman + +build() { + cd linux-$pkgver + + make mrproper +} + +package() { + cd linux-$pkgver + make INSTALL_HDR_PATH="$pkgdir/usr" headers_install + + # use headers from libdrm + rm -r "$pkgdir/usr/include/drm" +} diff --git a/main/linux-api-headers/README b/main/linux-api-headers/README new file mode 100644 index 00000000..048d0630 --- /dev/null +++ b/main/linux-api-headers/README @@ -0,0 +1,43 @@ +linux-api-headers +________________________________________________________________________________ + +Kernel headers sanitized for use in userspace + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S linux-api-headers | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/libc diff --git a/main/linux-api-headers/version b/main/linux-api-headers/version new file mode 100644 index 00000000..41fc191f --- /dev/null +++ b/main/linux-api-headers/version @@ -0,0 +1 @@ +6.8 1 diff --git a/main/linux-atm/PKGBUILD b/main/linux-atm/PKGBUILD new file mode 100644 index 00000000..913efab8 --- /dev/null +++ b/main/linux-atm/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=linux-atm +pkgver=%version% +pkgrel=%release% +pkgdesc="Drivers and tools to support ATM networking under Linux." +arch=('x86_64') +depends=('glibc') +optdepends=('flex: for atmsigd') +url="http://linux-atm.sourceforge.net/" +license=(GPL) +source=(https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz + linux-atm-man-pages.patch + linux-atm-remove-define-hacks.patch + linux-atm-linux-5.2-SIOCGSTAMP.patch + linux-atm-string-formatting.patch) +options=(!makeflags) +sha256sums=('9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a' + '0e535ace1a88d4bba95a586f9357a6fef5258e07ffeba209d630e32149dfaa07' + 'd894e81b77dfe376bc9d917799e397be7e2fc28bc8ef657ee3fadccbf7e66c76' + 'df2ed44ec81576f014a75a0d7029fab7366a65b21a4beed0c18812b7886aa202' + '8cac3c3703b80606b537611865a37e83b271295a34e563a2c62c5644b75bdd0f') + +prepare() { + cd "${pkgname}-${pkgver}" + patch -Np1 -i ../linux-atm-man-pages.patch + patch -Np1 -i ../linux-atm-remove-define-hacks.patch + patch -Np1 -i ../linux-atm-linux-5.2-SIOCGSTAMP.patch + patch -Np1 -i ../linux-atm-string-formatting.patch + + # install firmware in /usr/lib + sed -i "s#/lib/firmware#/usr/lib/firmware#" src/extra/Makefile.in +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/linux-atm/README b/main/linux-atm/README new file mode 100644 index 00000000..0c41edc4 --- /dev/null +++ b/main/linux-atm/README @@ -0,0 +1,43 @@ +linux-atm +________________________________________________________________________________ + +Drivers and tools to support ATM networking under Linux. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S linux-atm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://linux-atm.sourceforge.net/ diff --git a/main/linux-atm/linux-atm-linux-5.2-SIOCGSTAMP.patch b/main/linux-atm/linux-atm-linux-5.2-SIOCGSTAMP.patch new file mode 100644 index 00000000..ff91c7f1 --- /dev/null +++ b/main/linux-atm/linux-atm-linux-5.2-SIOCGSTAMP.patch @@ -0,0 +1,41 @@ +Fix build failure against linux-5.2+: + https://www.spinics.net/lists/linux-sh/msg53430.html + +--- a/src/maint/atmdump.c ++++ b/src/maint/atmdump.c +@@ -17,6 +17,16 @@ + #include /* for htonl and ntohl */ + #include + ++#ifndef SIOCGSTAMP ++/* linux-5.2+ added support for 64-bit time_t into ioctls ++ that support 'struct timeval' and removed 'SIOCGSTAMP' ++ define. ++ ++ Include 'SIOCGSTAMP' wrapper via linux/sockios.h ++ if does not exist. ++ */ ++# include ++#endif + + static const char *pti[] = { "Data SDU 0","Data SDU 1","Data SDU 0, CE", + "Data SDU 1, CE","Segment OAM F5","End-to-end OAM F5","Reserved (RM)", +--- a/src/maint/saaldump.c ++++ b/src/maint/saaldump.c +@@ -24,6 +24,16 @@ + + #define MAX_ITEM 2048 /* longest string emitted by q.dump */ + ++#ifndef SIOCGSTAMP ++/* linux-5.2+ added support for 64-bit time_t into ioctls ++ that support 'struct timeval' and removed 'SIOCGSTAMP' ++ define. ++ ++ Include 'SIOCGSTAMP' wrapper via linux/sockios.h ++ if does not exist. ++ */ ++# include ++#endif + + static int interval = 0; /* display absolute time by default */ + static int quiet = 0; /* decode Q.2931 messages by default */ diff --git a/main/linux-atm/linux-atm-man-pages.patch b/main/linux-atm/linux-atm-man-pages.patch new file mode 100644 index 00000000..c504cfe8 --- /dev/null +++ b/main/linux-atm/linux-atm-man-pages.patch @@ -0,0 +1,45 @@ +diff -up linux-atm-2.5.1/src/led/zeppelin.8.fixman linux-atm-2.5.1/src/led/zeppelin.8 +--- linux-atm-2.5.1/src/led/zeppelin.8.fixman 2003-05-02 19:35:04.000000000 +0200 ++++ linux-atm-2.5.1/src/led/zeppelin.8 2010-10-13 12:58:18.000000000 +0200 +@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using + recommended. Token Ring support has received less testing than its + Ethernet counterpart. + .SH FILES +-.IP \fI/var/run/lec[interface number].pid\fP ++\fI/var/run/lec[interface number].pid\fP + The file containing the process id of zeppelin. + .SH BUGS + John Bonham died 1980 and Led Zeppelin broke. +diff -up linux-atm-2.5.1/src/mpoad/mpcd.8.fixman linux-atm-2.5.1/src/mpoad/mpcd.8 +--- linux-atm-2.5.1/src/mpoad/mpcd.8.fixman 2001-10-10 00:33:07.000000000 +0200 ++++ linux-atm-2.5.1/src/mpoad/mpcd.8 2010-10-13 12:59:14.000000000 +0200 +@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A + .B ]] + .SH DESCRIPTION + MPOA client +-.SM(MPC) is responsible for creating and receiving ++.SM (MPC) is responsible for creating and receiving + internetwork layer shortcuts. Using these shortcuts MPCs forward + unicast internetwork layer packets effectively over ATM without need + for routing protocols. +@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o + shortcuts is done with the help of + .SM MPOA + server +-.SM(MPS). ++.SM (MPS). + .PP + Just as the Linux + .SM LAN +diff -up linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman linux-atm-2.5.1/src/sigd/atmsigd.conf.4 +--- linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman 2001-10-10 00:33:07.000000000 +0200 ++++ linux-atm-2.5.1/src/sigd/atmsigd.conf.4 2010-10-13 12:58:49.000000000 +0200 +@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e + .P + If an option is specified in \fBatmsigd.conf\fP and on the command + line, the command line has priority. +-.COMPATIBILITY ++.SH COMPATIBILITY + Certain options used by past versions of \fBatmsigd\fP but no longer documented + on the man page are still recognized and supported, but they also yield a + warning message. Future versions of \fBatmsigd\fP will not recognize those diff --git a/main/linux-atm/linux-atm-remove-define-hacks.patch b/main/linux-atm/linux-atm-remove-define-hacks.patch new file mode 100644 index 00000000..cfac43c0 --- /dev/null +++ b/main/linux-atm/linux-atm-remove-define-hacks.patch @@ -0,0 +1,22 @@ +diff -up linux-atm-2.5.1/src/arpd/arp.c.ftbfs linux-atm-2.5.1/src/arpd/arp.c +--- linux-atm-2.5.1/src/arpd/arp.c.ftbfs 2007-07-11 11:27:15.000000000 -0400 ++++ linux-atm-2.5.1/src/arpd/arp.c 2019-05-02 20:15:45.497338836 -0400 +@@ -15,7 +15,6 @@ + #include + #include /* for linux/if_arp.h */ + #include /* for ntohs, etc. */ +-#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ + #include + #include + #include +diff -up linux-atm-2.5.1/src/arpd/itf.c.ftbfs linux-atm-2.5.1/src/arpd/itf.c +--- linux-atm-2.5.1/src/arpd/itf.c.ftbfs 2007-07-11 11:27:15.000000000 -0400 ++++ linux-atm-2.5.1/src/arpd/itf.c 2019-05-02 20:19:08.046499027 -0400 +@@ -12,7 +12,6 @@ + #include + #include + #include +-#define _LINUX_NETDEVICE_H /* glibc2 */ + #include + #include + diff --git a/main/linux-atm/linux-atm-string-formatting.patch b/main/linux-atm/linux-atm-string-formatting.patch new file mode 100644 index 00000000..17aaf579 --- /dev/null +++ b/main/linux-atm/linux-atm-string-formatting.patch @@ -0,0 +1,11 @@ +--- linux-atm-2.5.1-orig/src/test/ttcp.c 2017-05-28 12:16:24.984611487 +0000 ++++ linux-atm-2.5.1/src/test/ttcp.c 2017-05-28 12:17:25.370338343 +0000 +@@ -663,7 +663,7 @@ int no_check = 0; + exit(0); + + usage: +- fprintf(stderr, Usage); ++ fprintf(stderr, "%s", Usage); + exit(1); + } + diff --git a/main/linux-atm/version b/main/linux-atm/version new file mode 100644 index 00000000..6f61bee5 --- /dev/null +++ b/main/linux-atm/version @@ -0,0 +1 @@ +2.5.2 8 diff --git a/main/linux-firmware/.PKGINFO b/main/linux-firmware/.PKGINFO new file mode 100644 index 00000000..0acd5a9c --- /dev/null +++ b/main/linux-firmware/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = linux-firmware-whence +pkgbase = linux-firmware +xdata = pkgtype=split +pkgver = 20240610.9c10a208-1 +pkgdesc = Firmware files for Linux - contains the WHENCE license file which documents the vendor license details +url = https://gitlab.com/kernel-firmware/linux-firmware +builddate = 1718491790 +packager = Developer +size = 276159 +arch = any +license = GPL2 +license = GPL3 +license = custom +makedepend = git +makedepend = rdfind diff --git a/main/linux-firmware/PKGBUILD b/main/linux-firmware/PKGBUILD new file mode 100644 index 00000000..1e9d341e --- /dev/null +++ b/main/linux-firmware/PKGBUILD @@ -0,0 +1,169 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=linux-firmware +pkgname=(linux-firmware-whence linux-firmware amd-ucode + linux-firmware-{nfp,mellanox,marvell,qcom,liquidio,qlogic,bnx2x} +) +_tag=20240312 +pkgver=%version% +pkgrel=%release% +pkgdesc="Firmware files for Linux" +url="https://gitlab.com/kernel-firmware/linux-firmware" +license=('GPL2' 'GPL3' 'custom') +arch=('any') +makedepends=('git' 'rdfind') +options=(!strip) +source=("git+$url.git?signed#tag=${_tag}") +sha256sums=('SKIP') +validpgpkeys=('4CDE8575E547BF835FE15807A31B6BD72486CFD6') # Josh Boyer + +_backports=( +) + +prepare() { + cd ${pkgbase} + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done +} + +pkgver() { + cd ${pkgbase} + + # Commit date + short rev + echo $(TZ=UTC git show -s --pretty=%cd --date=format-local:%Y%m%d HEAD).$(git rev-parse --short HEAD) +} + +build() { + mkdir -p kernel/x86/microcode + cat ${pkgbase}/amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin + + # Reproducibility: set the timestamp on the bin file + if [[ -n ${SOURCE_DATE_EPOCH} ]]; then + touch -d @${SOURCE_DATE_EPOCH} kernel/x86/microcode/AuthenticAMD.bin + fi + + # Reproducibility: strip the inode and device numbers from the cpio archive + echo kernel/x86/microcode/AuthenticAMD.bin | + bsdtar --uid 0 --gid 0 -cnf - -T - | + bsdtar --null -cf - --format=newc @- > amd-ucode.img +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_linux-firmware-whence() { + pkgdesc+=" - contains the WHENCE license file which documents the vendor license details" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/WHENCE +} + +package_linux-firmware() { + depends=('linux-firmware-whence') + + cd ${pkgbase} + + ZSTD_CLEVEL=19 make DESTDIR="${pkgdir}" FIRMWAREDIR=/usr/lib/firmware install-zst + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICEN* + + cd "${pkgdir}" + + # remove arm64 firmware https://bugs.archlinux.org/task/76583 + rm usr/lib/firmware/mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img.zst + + # split + _pick amd-ucode usr/lib/firmware/amd-ucode + + _pick linux-firmware-nfp usr/lib/firmware/netronome + _pick linux-firmware-nfp usr/share/licenses/${pkgname}/LICENCE.Netronome + + _pick linux-firmware-mellanox usr/lib/firmware/mellanox + + _pick linux-firmware-marvell usr/lib/firmware/{libertas,mwl8k,mwlwifi,mrvl} + _pick linux-firmware-marvell usr/share/licenses/${pkgname}/LICENCE.{Marvell,NXP} + + _pick linux-firmware-qcom usr/lib/firmware/{qcom,a300_*} + _pick linux-firmware-qcom usr/share/licenses/${pkgname}/LICENSE.qcom* + + _pick linux-firmware-liquidio usr/lib/firmware/liquidio + _pick linux-firmware-liquidio usr/share/licenses/${pkgname}/LICENCE.cavium_liquidio + + _pick linux-firmware-qlogic usr/lib/firmware/{qlogic,qed,ql2???_*,c{b,t,t2}fw-*} + _pick linux-firmware-qlogic usr/share/licenses/${pkgname}/LICENCE.{qla1280,qla2xxx} + + _pick linux-firmware-bnx2x usr/lib/firmware/bnx2x* +} + +package_amd-ucode() { + pkgdesc="Microcode update image for AMD CPUs" + license=(custom) + + mv -v $pkgname/* "$pkgdir" + + install -Dt "${pkgdir}/boot" -m644 amd-ucode.img + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/LICENSE.amd-ucode +} + +package_linux-firmware-nfp() { + pkgdesc+=" - nfp / Firmware for Netronome Flow Processors" + depends=('linux-firmware-whence') + + mv -v linux-firmware-nfp/* "${pkgdir}" +} + +package_linux-firmware-mellanox() { + pkgdesc+=" - mellanox / Firmware for Mellanox Spectrum switches" + depends=('linux-firmware-whence') + + mv -v linux-firmware-mellanox/* "${pkgdir}" +} + +package_linux-firmware-marvell() { + pkgdesc+=" - marvell / Firmware for Marvell devices" + depends=('linux-firmware-whence') + + mv -v linux-firmware-marvell/* "${pkgdir}" +} + +package_linux-firmware-qcom() { + pkgdesc+=" - qcom / Firmware for Qualcomm SoCs" + depends=('linux-firmware-whence') + + mv -v linux-firmware-qcom/* "${pkgdir}" +} + +package_linux-firmware-liquidio() { + pkgdesc+=" - liquidio / Firmware for Cavium LiquidIO server adapters" + depends=('linux-firmware-whence') + + mv -v linux-firmware-liquidio/* "${pkgdir}" +} + +package_linux-firmware-qlogic() { + pkgdesc+=" - qlogic / Firmware for QLogic devices" + depends=('linux-firmware-whence') + + mv -v linux-firmware-qlogic/* "${pkgdir}" +} + +package_linux-firmware-bnx2x() { + pkgdesc+=" - bnx2x / Firmware for Broadcom NetXtreme II 10Gb ethernet adapters" + depends=('linux-firmware-whence') + + mv -v linux-firmware-bnx2x/* "${pkgdir}" +} + +# vim:set sw=2 et: diff --git a/main/linux-firmware/README b/main/linux-firmware/README new file mode 100644 index 00000000..5706e790 --- /dev/null +++ b/main/linux-firmware/README @@ -0,0 +1,43 @@ +linux-firmware +________________________________________________________________________________ + +Firmware files for Linux Firmware files for Linux - contains the WHENCE license file which documents the vendor license details Microcode update image for AMD CPUs Firmware files for Linux - nfp / Firmware for Netronome Flow Processors Firmware files for Linux - mellanox / Firmware for Mellanox Spectrum switches Firmware files for Linux - marvell / Firmware for Marvell devices Firmware files for Linux - qcom / Firmware for Qualcomm SoCs Firmware files for Linux - liquidio / Firmware for Cavium LiquidIO server adapters Firmware files for Linux - qlogic / Firmware for QLogic devices Firmware files for Linux - bnx2x / Firmware for Broadcom NetXtreme II 10Gb ethernet adapters + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S linux-firmware | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/kernel-firmware/linux-firmware diff --git a/main/linux-firmware/version b/main/linux-firmware/version new file mode 100644 index 00000000..ef4d4ade --- /dev/null +++ b/main/linux-firmware/version @@ -0,0 +1 @@ +20240610.9c10a208 1 diff --git a/main/linux-lts/.PKGINFO b/main/linux-lts/.PKGINFO new file mode 100644 index 00000000..9afc19d6 --- /dev/null +++ b/main/linux-lts/.PKGINFO @@ -0,0 +1,68 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = linux-lts-headers +pkgbase = linux-lts +xdata = pkgtype=split +pkgver = 6.6.33-1 +pkgdesc = Headers and scripts for building modules for the LTS Linux kernel +url = https://www.kernel.org +builddate = 1718491842 +packager = Developer +size = 130342742 +arch = x86_64 +license = BSD-3-Clause +license = BSD-3-Clause OR GPL-2.0-only +license = GPL-1.0-or-later +license = GPL-1.0-or-later WITH Linux-syscall-note +license = GPL-2.0-only +license = GPL-2.0-only OR Apache-2.0 +license = GPL-2.0-only OR BSD-2-Clause +license = GPL-2.0-only OR BSD-3-Clause +license = GPL-2.0-only OR CDDL-1.0 +license = GPL-2.0-only OR Linux-OpenIB +license = GPL-2.0-only OR Linux-OpenIB OR BSD-2-Clause +license = GPL-2.0-only OR MIT +license = GPL-2.0-only OR MPL-1.1 +license = GPL-2.0-only OR X11 +license = GPL-2.0-only WITH Linux-syscall-note +license = (GPL-2.0-only WITH Linux-syscall-note) AND MIT +license = (GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause +license = (GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause +license = (GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0 +license = (GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB +license = (GPL-2.0-only WITH Linux-syscall-note) OR MIT +license = GPL-2.0-or-later +license = GPL-2.0-or-later OR BSD-2-Clause +license = GPL-2.0-or-later OR BSD-3-Clause +license = GPL-2.0-or-later OR MIT +license = GPL-2.0-or-later WITH Linux-syscall-note +license = (GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause +license = (GPL-2.0-or-later WITH Linux-syscall-note) OR MIT +license = LGPL-2.0-or-later OR BSD-2-Clause +license = LGPL-2.0-or-later WITH Linux-syscall-note +license = ISC +license = LGPL-2.0-or-later WITH Linux-syscall-note +license = LGPL-2.0-or-later OR BSD-2-Clause +license = LGPL-2.1-only +license = LGPL-2.1-only OR BSD-2-Clause +license = LGPL-2.1-only OR MIT +license = LGPL-2.1-only WITH Linux-syscall-note +license = LGPL-2.1-or-later +license = LGPL-2.1-or-later OR BSD-2-Clause +license = LGPL-2.1-or-later WITH Linux-syscall-note +license = MIT +license = Zlib +depend = pahole +makedepend = bc +makedepend = cpio +makedepend = gettext +makedepend = libelf +makedepend = pahole +makedepend = perl +makedepend = python +makedepend = tar +makedepend = xz +makedepend = graphviz +makedepend = imagemagick +makedepend = python-sphinx +makedepend = texlive-latexextra diff --git a/main/linux-lts/.nvchecker.toml b/main/linux-lts/.nvchecker.toml new file mode 100644 index 00000000..6c051038 --- /dev/null +++ b/main/linux-lts/.nvchecker.toml @@ -0,0 +1,9 @@ +[linux-lts] + +source = "git" +git = "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git" + +branch = "linux-6.6.y" +prefix = "v" +include_regex = "v6.6.*" +exclude_regex = ".*(rc|alpha|beta).*" diff --git a/main/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/main/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch new file mode 100644 index 00000000..8c6bfa8c --- /dev/null +++ b/main/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -0,0 +1,151 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 16 Sep 2019 04:53:20 +0200 +Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged + CLONE_NEWUSER + +Our default behavior continues to match the vanilla kernel. +--- + include/linux/user_namespace.h | 4 ++++ + init/Kconfig | 16 ++++++++++++++++ + kernel/fork.c | 14 ++++++++++++++ + kernel/sysctl.c | 12 ++++++++++++ + kernel/user_namespace.c | 7 +++++++ + 5 files changed, 53 insertions(+) + +diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h +index 45f09bec02c4..87b20e2ee274 100644 +--- a/include/linux/user_namespace.h ++++ b/include/linux/user_namespace.h +@@ -148,6 +148,8 @@ static inline void set_userns_rlimit_max(struct user_namespace *ns, + + #ifdef CONFIG_USER_NS + ++extern int unprivileged_userns_clone; ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + if (ns) +@@ -181,6 +183,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); + struct ns_common *ns_get_owner(struct ns_common *ns); + #else + ++#define unprivileged_userns_clone 0 ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + return &init_user_ns; +diff --git a/init/Kconfig b/init/Kconfig +index de255842f5d0..4e028c5c976b 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -1248,6 +1248,22 @@ config USER_NS + + If unsure, say N. + ++config USER_NS_UNPRIVILEGED ++ bool "Allow unprivileged users to create namespaces" ++ default y ++ depends on USER_NS ++ help ++ When disabled, unprivileged users will not be able to create ++ new namespaces. Allowing users to create their own namespaces ++ has been part of several recent local privilege escalation ++ exploits, so if you need user namespaces but are ++ paranoid^Wsecurity-conscious you want to disable this. ++ ++ This setting can be overridden at runtime via the ++ kernel.unprivileged_userns_clone sysctl. ++ ++ If unsure, say Y. ++ + config PID_NS + bool "PID Namespaces" + default y +diff --git a/kernel/fork.c b/kernel/fork.c +index 41950ff90aa3..af4961b85f91 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c +@@ -98,6 +98,10 @@ + #include + #include + ++#ifdef CONFIG_USER_NS ++#include ++#endif ++ + #include + #include + #include +@@ -2014,6 +2018,10 @@ static __latent_entropy struct task_struct *copy_process( + if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) + return ERR_PTR(-EINVAL); + ++ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) ++ if (!capable(CAP_SYS_ADMIN)) ++ return ERR_PTR(-EPERM); ++ + /* + * Thread groups must share signals as well, and detached threads + * can only be started up within the thread group. +@@ -3173,6 +3181,12 @@ int ksys_unshare(unsigned long unshare_flags) + if (unshare_flags & CLONE_NEWNS) + unshare_flags |= CLONE_FS; + ++ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { ++ err = -EPERM; ++ if (!capable(CAP_SYS_ADMIN)) ++ goto bad_unshare_out; ++ } ++ + err = check_unshare_flags(unshare_flags); + if (err) + goto bad_unshare_out; +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index c6d9dec11b74..9a4514ad481b 100644 +--- a/kernel/sysctl.c ++++ b/kernel/sysctl.c +@@ -81,6 +81,9 @@ + #ifdef CONFIG_RT_MUTEXES + #include + #endif ++#ifdef CONFIG_USER_NS ++#include ++#endif + + /* shared constants to be used in various sysctls */ + const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; +@@ -1659,6 +1662,15 @@ static struct ctl_table kern_table[] = { + .mode = 0644, + .proc_handler = proc_dointvec, + }, ++#ifdef CONFIG_USER_NS ++ { ++ .procname = "unprivileged_userns_clone", ++ .data = &unprivileged_userns_clone, ++ .maxlen = sizeof(int), ++ .mode = 0644, ++ .proc_handler = proc_dointvec, ++ }, ++#endif + #ifdef CONFIG_PROC_SYSCTL + { + .procname = "tainted", +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index 54211dbd516c..16ca0c151629 100644 +--- a/kernel/user_namespace.c ++++ b/kernel/user_namespace.c +@@ -22,6 +22,13 @@ + #include + #include + ++/* sysctl */ ++#ifdef CONFIG_USER_NS_UNPRIVILEGED ++int unprivileged_userns_clone = 1; ++#else ++int unprivileged_userns_clone; ++#endif ++ + static struct kmem_cache *user_ns_cachep __read_mostly; + static DEFINE_MUTEX(userns_state_mutex); + diff --git a/main/linux-lts/0002-skip-simpledrm-if-nvidia-drm.modeset=1-is.patch b/main/linux-lts/0002-skip-simpledrm-if-nvidia-drm.modeset=1-is.patch new file mode 100644 index 00000000..26ee465e --- /dev/null +++ b/main/linux-lts/0002-skip-simpledrm-if-nvidia-drm.modeset=1-is.patch @@ -0,0 +1,86 @@ +From 768a5cf69b200e3990fbe0bb7e9017a50036844f Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Thu, 19 May 2022 14:40:07 +0200 +Subject: [PATCH] drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is + set + +The Nvidia proprietary driver has some bugs that leads to issues if used +with the simpledrm driver. The most noticeable is that does not register +an emulated fbdev device. + +It just relies on a fbdev to be registered by another driver, that could +be that could be attached to the framebuffer console. On UEFI machines, +this is the efifb driver. + +This means that disabling the efifb driver will cause virtual consoles to +not be present in the system when using the Nvidia driver. Legacy BIOS is +not affected just because fbcon is not used there, but instead vgacon. + +Unless a VGA mode is specified using the vga= kernel command line option, +in that case the vesafb driver is used instead and its fbdev attached to +the fbcon. + +This is a problem because with CONFIG_SYSFB_SIMPLEFB=y, the sysfb platform +code attempts to register a "simple-framebuffer" platform device (that is +matched against simpledrm) and only registers either an "efi-framebuffer" +or "vesa-framebuffer" if this fails to be registered due the video modes +not being compatible. + +The Nvidia driver relying on another driver to register the fbdev is quite +fragile, since it can't really assume those will stick around. For example +there are patches posted to remove the EFI and VESA platform devices once +a real DRM or fbdev driver probes. + +But in any case, moving to a simpledrm + emulated fbdev only breaks this +assumption and causes users to not have VT if the Nvidia driver is used. + +So to prevent this, let's add a workaround and make the sysfb to skip the +"simple-framebuffer" registration when nvidia-drm.modeset=1 option is set. + +This is quite horrible, but honestly I can't think of any other approach. + +For this to work, the CONFIG_FB_EFI and CONFIG_FB_VESA config options must +be enabled besides CONFIG_DRM_SIMPLEDRM. + +Signed-off-by: Javier Martinez Canillas +Cherry-picked-for: https://bugs.archlinux.org/task/73720 +--- + drivers/firmware/sysfb.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c +index 82fcfd29bc4d29..17b7e096b6828b 100644 +--- a/drivers/firmware/sysfb.c ++++ b/drivers/firmware/sysfb.c +@@ -34,6 +34,22 @@ + #include + #include + ++static int skip_simpledrm; ++ ++static int __init simpledrm_disable(char *opt) ++{ ++ if (!opt) ++ return -EINVAL; ++ ++ get_option(&opt, &skip_simpledrm); ++ ++ if (skip_simpledrm) ++ pr_info("The simpledrm driver will not be probed\n"); ++ ++ return 0; ++} ++early_param("nvidia-drm.modeset", simpledrm_disable); ++ + static struct platform_device *pd; + static DEFINE_MUTEX(disable_lock); + static bool disabled; +@@ -85,7 +101,7 @@ static __init int sysfb_init(void) + + /* try to create a simple-framebuffer device */ + compatible = sysfb_parse_mode(si, &mode); +- if (compatible) { ++ if (compatible && !skip_simpledrm) { + pd = sysfb_create_simplefb(si, &mode); + if (!IS_ERR(pd)) + goto unlock_mutex; diff --git a/main/linux-lts/0003-Default-to-maximum-amount-of-ASLR-bits.patch b/main/linux-lts/0003-Default-to-maximum-amount-of-ASLR-bits.patch new file mode 100644 index 00000000..4b1ccc64 --- /dev/null +++ b/main/linux-lts/0003-Default-to-maximum-amount-of-ASLR-bits.patch @@ -0,0 +1,33 @@ +From 3a88b77d3cb9f9cd8a8aee052ab479b73aeb2e80 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sat, 13 Jan 2024 15:29:25 +0100 +Subject: [PATCH] arch/Kconfig: Default to maximum amount of ASLR bits + +To mitigate https://zolutal.github.io/aslrnt/; do this with a patch to +avoid having to enable `CONFIG_EXPERT`. +--- + arch/Kconfig | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/Kconfig b/arch/Kconfig +index f4b210ab061291..837d0dbb28ea08 100644 +--- a/arch/Kconfig ++++ b/arch/Kconfig +@@ -1032,7 +1032,7 @@ config ARCH_MMAP_RND_BITS + int "Number of bits to use for ASLR of mmap base address" if EXPERT + range ARCH_MMAP_RND_BITS_MIN ARCH_MMAP_RND_BITS_MAX + default ARCH_MMAP_RND_BITS_DEFAULT if ARCH_MMAP_RND_BITS_DEFAULT +- default ARCH_MMAP_RND_BITS_MIN ++ default ARCH_MMAP_RND_BITS_MAX + depends on HAVE_ARCH_MMAP_RND_BITS + help + This value can be used to select the number of bits to use to +@@ -1066,7 +1066,7 @@ config ARCH_MMAP_RND_COMPAT_BITS + int "Number of bits to use for ASLR of mmap base address for compatible applications" if EXPERT + range ARCH_MMAP_RND_COMPAT_BITS_MIN ARCH_MMAP_RND_COMPAT_BITS_MAX + default ARCH_MMAP_RND_COMPAT_BITS_DEFAULT if ARCH_MMAP_RND_COMPAT_BITS_DEFAULT +- default ARCH_MMAP_RND_COMPAT_BITS_MIN ++ default ARCH_MMAP_RND_COMPAT_BITS_MAX + depends on HAVE_ARCH_MMAP_RND_COMPAT_BITS + help + This value can be used to select the number of bits to use to diff --git a/main/linux-lts/0005-fix-doc-build.patch b/main/linux-lts/0005-fix-doc-build.patch new file mode 100644 index 00000000..40da6201 --- /dev/null +++ b/main/linux-lts/0005-fix-doc-build.patch @@ -0,0 +1,11 @@ +--- a/Documentation/sphinx/kernel_feat.py 2024-02-01 01:19:14.000000000 +0100 ++++ b/Documentation/sphinx/kernel_feat.py.new 2024-02-01 20:08:58.896265056 +0100 +@@ -93,6 +93,8 @@ + if len(self.arguments) > 1: + args.extend(['--arch', self.arguments[1]]) + ++ fname = ' '.join(args) ++ + lines = subprocess.check_output(args, cwd=os.path.dirname(doc.current_source)).decode('utf-8') + + line_regex = re.compile("^\.\. FILE (\S+)$") diff --git a/main/linux-lts/PKGBUILD b/main/linux-lts/PKGBUILD new file mode 100644 index 00000000..13766cba --- /dev/null +++ b/main/linux-lts/PKGBUILD @@ -0,0 +1,378 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=linux-lts +pkgver=%version% +pkgrel=%release% +pkgdesc='LTS Linux' +url='https://www.kernel.org' +arch=(x86_64) +makedepends=( + bc + cpio + gettext + libelf + pahole + perl + python + tar + xz + + # htmldocs + graphviz + imagemagick + python-sphinx + texlive-latexextra +) +options=('!strip') +_srcname=linux-$pkgver +_srctag=v$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-skip-simpledrm-if-nvidia-drm.modeset=1-is.patch + 0003-Default-to-maximum-amount-of-ASLR-bits.patch + 0005-fix-doc-build.patch + config # the main kernel config file +) +validpgpkeys=( + ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds + 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256sums=('3e9ef879dae8319338eb0dc2d2c2025c13257fdeddf6245c000cb5a85a8af6f5' + 'SKIP' + '21195509fded29d0256abfce947b5a8ce336d0d3e192f3f8ea90bde9dd95a889' + '2f23be91455e529d16aa2bbf5f2c7fe3d10812749828fc752240c21b2b845849' + '6400a06e6eb3a24b650bc3b1bba9626622f132697987f718e7ed6a5b8c0317bc' + '17d8a31e96dfbf5225b12efc35dc757cc129d4d00741b9781b9cd24b1d57f2ab' + '5b5fe5a99e0d1b7f17657f1c2027640be226379289636a9ada27df4b0c9d9daa') +b2sums=('0f4643c758bb3857396f08b0cc291e1cf7cc7d120fe53791ba8cdaa32f08f20822353e04464551b88e8de64e367de6900da01504e57bc684d47390b51d001285' + 'SKIP' + '02a10396c92ab93124139fc3e37b1d4d8654227556d0d11486390da35dfc401ff5784ad86d0d2aa7eacac12bc451aa2ff138749748c7e24deadd040d5404734c' + '5dc21a7a6f0b840e6a671dcf09a865e42f0e2c000d5e45d3f3202c02946a8ab2207858d0b2ef1004648b8c2963efb428298b263c8494be806dfc9b6af66d5413' + 'ba6ebe349b3757411364a9ba2deaa30a8d71a247d518c159385977c2b4782771bda4edfc96bd954808617c9ba984d832471b63c11f5bd6003369bfe4051df31f' + '55a20d84c052c9de3e36514a36689238f970f7956e679a425efbff6ef668fbc56ea096ff2b000f3629ea8ec32cdbcbafc44acd27e4a9dffaa885237811ddc558' + 'e86fa38fa76100f8ff988087248c4248b05798cc35a811a122fdd177cc6c32b2e97d6ff3b25f0cac2521f06dbd640b817367989d5f3b226e1fee24c20cefe4c6') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version..." + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + src="${src%.zst}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig + diff -u ../config .config || : + + make -s kernelrelease > version + echo "Prepared $pkgbase version $( +size = 172486 +arch = x86_64 +license = GPL-2.0-only +group = linux-tools +depend = glibc +makedepend = git +makedepend = asciidoc +makedepend = xmlto +makedepend = perl +makedepend = python +makedepend = python-setuptools +makedepend = slang +makedepend = elfutils +makedepend = libunwind +makedepend = numactl +makedepend = audit +makedepend = zstd +makedepend = libcap +makedepend = libtraceevent +makedepend = openssl +makedepend = clang +makedepend = pciutils +makedepend = glib2 +makedepend = sysfsutils +makedepend = udev +makedepend = ncurses +makedepend = readline +makedepend = zlib +makedepend = libelf +makedepend = libcap +makedepend = python-docutils +makedepend = libcap +makedepend = llvm +makedepend = clang diff --git a/main/linux-tools/PKGBUILD b/main/linux-tools/PKGBUILD new file mode 100644 index 00000000..101f6730 --- /dev/null +++ b/main/linux-tools/PKGBUILD @@ -0,0 +1,310 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=linux-tools +pkgname=( + 'bootconfig' + 'bpf' + 'cgroup_event_listener' + 'cpupower' + 'hyperv' + 'linux-tools-meta' + 'perf' + 'tmon' + 'turbostat' + 'usbip' + 'x86_energy_perf_policy' +) +pkgver=%version% +pkgrel=%release% +license=('GPL2') +arch=('x86_64') +url='https://www.kernel.org' +options=('!strip' '!lto') +makedepends=('git') +# split packages need all package dependencies set manually in makedepends +# kernel source deps +makedepends+=('asciidoc' 'xmlto') +# perf deps +makedepends+=('perl' 'python' 'python-setuptools' 'slang' 'elfutils' 'libunwind' + 'numactl' 'audit' 'zstd' 'libcap' 'libtraceevent' 'openssl' 'clang') +# cpupower deps +makedepends+=('pciutils') +# usbip deps +makedepends+=('glib2' 'sysfsutils' 'udev') +# tmon deps +makedepends+=('ncurses') +# bpf deps +makedepends+=('readline' 'zlib' 'libelf' 'libcap' 'python-docutils') +# turbostat deps +makedepends+=('libcap') +# bpftool +makedepends+=('llvm' 'clang') +groups=("$pkgbase") +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git#tag=v${pkgver//_/-}?signed" + #"https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-$pkgver.7.xz" + 'cpupower.default' + 'cpupower.systemd' + 'cpupower.service' + 'usbipd.service' + 'hv_fcopy_daemon.service' + 'hv_kvp_daemon.service' + 'hv_vss_daemon.service' +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +sha256sums=('SKIP' + '4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f' + 'b692f4859ed3fd9831a058a450a84d8c409bf7e3e45aac1c2896a14bb83f3d7a' + '42d2ec9f1d9cc255ee7945a27301478364ef482f5a6ddfc960189f03725ccec2' + '2e187734d8aec58a3046d79883510d779aa93fb3ab20bd3132c1a607ebe5498f' + '16855c197d2334f820cb190312a5a7fffe9165189db01344a957e582e39e17d8' + 'b1315cb77a35454e1af9172f821a52e2a0cb18561be05a340d21cf337b01ae61' + '2d5e2f8d40b6f19bf2e1dead57ca105d72098fb0b418c09ff2e0cb91089710af') + +prepare() { + cd linux + + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + src="${src%.xz}" + [[ $src = *.patch || $src = patch-* ]] || continue + echo ":: Applying patch $src" + patch -p1 -N -i "$srcdir/$src" + done + # force our perf version + cat > tools/perf/util/PERF-VERSION-GEN << EOF +#!/bin/sh +echo '#define PERF_VERSION "$pkgver-$pkgrel"' > "\${1:-.}"/PERF-VERSION-FILE +EOF +} + +build() { + echo ':: perf' + pushd linux/tools/perf + make -f Makefile.perf \ + prefix=/usr \ + lib=lib/perf \ + perfexecdir=lib/perf \ + EXTRA_CFLAGS=' -Wno-error=bad-function-cast -Wno-error=declaration-after-statement -Wno-error=switch-enum' \ + NO_SDT=1 \ + BUILD_BPF_SKEL=1 \ + PYTHON=python \ + PYTHON_CONFIG=python-config \ + DESTDIR="$pkgdir" + popd + + echo ':: cpupower' + pushd linux/tools/power/cpupower + make VERSION=$pkgver-$pkgrel + popd + + echo ':: x86_energy_perf_policy' + pushd linux/tools/power/x86/x86_energy_perf_policy + make + popd + + echo ':: usbip' + pushd linux/tools/usb/usbip + # Fix gcc compilation + sed -i 's,-Wall -Werror -Wextra,-fcommon,' configure.ac + ./autogen.sh + ./configure --prefix=/usr --sbindir=/usr/bin + make + popd + + echo ':: tmon' + pushd linux/tools/thermal/tmon + make + popd + + echo ':: cgroup_event_listener' + pushd linux/tools/cgroup + make + popd + + echo ':: turbostat' + pushd linux/tools/power/x86/turbostat + make + popd + + echo ':: hv' + pushd linux/tools/hv + CFLAGS+=' -DKVP_SCRIPTS_PATH=\"/usr/lib/hyperv/kvp_scripts/\"' make + popd + + echo ':: bpf' + pushd linux/tools/bpf + # doesn't compile when we don't first compile bpftool in its own directory and + # man pages require to be also launch from the subdirectory + make -C bpftool all doc + # runqslower, require kernel binary path to build, skip it + make -W runqslower + popd + + echo ':: bootconfig' + pushd linux/tools/bootconfig + make + popd +} + +package_linux-tools-meta() { + pkgdesc='Linux kernel tools meta package' + groups=() + depends=( + 'bootconfig' + 'bpf' + 'cgroup_event_listener' + 'cpupower' + 'hyperv' + 'perf' + 'tmon' + 'turbostat' + 'usbip' + 'x86_energy_perf_policy' + ) + conflicts=( + 'acpidump' + ) +} + +package_perf() { + pkgdesc='Linux kernel performance auditing tool' + depends=('glibc' 'perl' 'python' 'slang' 'elfutils' 'libunwind' 'binutils' + 'numactl' 'audit' 'coreutils' 'glib2' 'xz' 'zlib' 'libelf' 'bash' + 'zstd' 'libcap' 'libtraceevent' 'openssl' 'libsframe.so') + + cd linux/tools/perf + make -f Makefile.perf \ + prefix=/usr \ + lib=lib/perf \ + perfexecdir=lib/perf \ + EXTRA_CFLAGS=' -Wno-error=bad-function-cast -Wno-error=declaration-after-statement -Wno-error=switch-enum' \ + NO_SDT=1 \ + BUILD_BPF_SKEL=1 \ + PYTHON=python \ + PYTHON_CONFIG=python-config \ + DESTDIR="$pkgdir" \ + install install-python_ext + cd "$pkgdir" + # add linker search path + mkdir "$pkgdir/etc/ld.so.conf.d" + echo '/usr/lib/perf' > "$pkgdir/etc/ld.so.conf.d/$pkgname.conf" + # move completion in new directory + install -Dm644 etc/bash_completion.d/perf usr/share/bash-completion/completions/perf + rm -r etc/bash_completion.d + # no exec on usr/share + find usr/share -type f -exec chmod a-x {} \; +} + +package_cpupower() { + pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor' + backup=('etc/default/cpupower') + depends=('glibc' 'bash' 'pciutils') + conflicts=('cpufrequtils') + replaces=('cpufrequtils') + install=cpupower.install + + pushd linux/tools/power/cpupower + make \ + DESTDIR="$pkgdir" \ + sbindir='/usr/bin' \ + libdir='/usr/lib' \ + mandir='/usr/share/man' \ + docdir='/usr/share/doc/cpupower' \ + install install-man + popd + # install startup scripts + install -Dm 644 $pkgname.default "$pkgdir/etc/default/$pkgname" + install -Dm 644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -Dm 755 $pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$pkgname" +} + +package_x86_energy_perf_policy() { + pkgdesc='Read or write MSR_IA32_ENERGY_PERF_BIAS' + depends=('glibc') + + cd linux/tools/power/x86/x86_energy_perf_policy + install -Dm 755 x86_energy_perf_policy "$pkgdir/usr/bin/x86_energy_perf_policy" + install -Dm 644 x86_energy_perf_policy.8 "$pkgdir/usr/share/man/man8/x86_energy_perf_policy.8" +} + +package_usbip() { + pkgdesc='An USB device sharing system over IP network' + depends=('glibc' 'glib2' 'sysfsutils' 'systemd-libs') + + pushd linux/tools/usb/usbip + make install DESTDIR="$pkgdir" + popd + # module loading + install -Dm 644 /dev/null "$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + printf 'usbip-core\nusbip-host\n' > "$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + # systemd + install -Dm 644 usbipd.service "$pkgdir/usr/lib/systemd/system/usbipd.service" +} + +package_tmon() { + pkgdesc='Monitoring and Testing Tool for Linux kernel thermal subsystem' + depends=('glibc' 'ncurses') + + cd linux/tools/thermal/tmon + make install INSTALL_ROOT="$pkgdir" +} + +package_cgroup_event_listener() { + pkgdesc='Simple listener of cgroup events' + depends=('glibc') + + cd linux/tools/cgroup + install -Dm755 cgroup_event_listener "$pkgdir/usr/bin/cgroup_event_listener" +} + +package_turbostat() { + pkgdesc='Report processor frequency and idle statistics' + depends=('glibc' 'libcap') + + cd linux/tools/power/x86/turbostat + make install DESTDIR="$pkgdir" +} + +package_hyperv() { + pkgdesc='Hyper-V tools' + depends=('glibc') + + cd linux/tools/hv + for _p in hv_fcopy_daemon hv_kvp_daemon hv_vss_daemon; do + install -Dm755 "$_p" "$pkgdir/usr/bin/$_p" + install -Dm644 "$srcdir/$_p.service" "$pkgdir/usr/lib/systemd/system/$_p.service" + done + install -dm755 "$pkgdir/usr/lib/hyperv/kvp_scripts" +} + +package_bpf() { + pkgdesc='BPF tools' + depends=('glibc' 'readline' 'zlib' 'libelf' 'libcap' 'zstd' 'llvm-libs' 'binutils' 'libsframe.so') + + cd linux/tools/bpf + # skip runsqlower until disabled in build + make -W runqslower_install install prefix=/usr DESTDIR="$pkgdir" + # fix bpftool hard written path + mv "$pkgdir"/usr/sbin/bpftool "$pkgdir"/usr/bin/bpftool + rmdir "$pkgdir"/usr/sbin + # install man pages + make -C bpftool doc-install prefix=/usr/share DESTDIR="$pkgdir" +} + +package_bootconfig() { + pkgdesc='Apply, delete or show boot config to initrd' + depends=('glibc') + + cd linux/tools/bootconfig + install -dm755 "$pkgdir/usr/bin" + make install DESTDIR="$pkgdir" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/linux-tools/README b/main/linux-tools/README new file mode 100644 index 00000000..81c7c82b --- /dev/null +++ b/main/linux-tools/README @@ -0,0 +1,43 @@ +linux-tools +________________________________________________________________________________ + +Apply, delete or show boot config to initrd BPF tools Simple listener of cgroup events Linux kernel tool to examine and tune power saving related features of your processor Hyper-V tools Linux kernel tools meta package Linux kernel performance auditing tool Monitoring and Testing Tool for Linux kernel thermal subsystem Report processor frequency and idle statistics An USB device sharing system over IP network Read or write MSR_IA32_ENERGY_PERF_BIAS + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S linux-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org diff --git a/main/linux-tools/cpupower.default b/main/linux-tools/cpupower.default new file mode 100644 index 00000000..b5c522ea --- /dev/null +++ b/main/linux-tools/cpupower.default @@ -0,0 +1,29 @@ +# Define CPUs governor +# valid governors: ondemand, performance, powersave, conservative, userspace. +#governor='ondemand' + +# Limit frequency range +# Valid suffixes: Hz, kHz (default), MHz, GHz, THz +#min_freq="2.25GHz" +#max_freq="3GHz" + +# Specific frequency to be set. +# Requires userspace governor to be available. +# Do not set governor field if you use this one. +#freq= + +# Utilizes cores in one processor package/socket first before processes are +# scheduled to other processor packages/sockets. +# See man (1) CPUPOWER-SET for additional details. +#mc_scheduler= + +# Utilizes thread siblings of one processor core first before processes are +# scheduled to other cores. See man (1) CPUPOWER-SET for additional details. +#smp_scheduler= + +# Sets a register on supported Intel processore which allows software to convey +# its policy for the relative importance of performance versus energy savings to +# the processor. See man (1) CPUPOWER-SET for additional details. +#perf_bias= + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/linux-tools/cpupower.install b/main/linux-tools/cpupower.install new file mode 100644 index 00000000..10e07ae5 --- /dev/null +++ b/main/linux-tools/cpupower.install @@ -0,0 +1,13 @@ +#!/bin/sh + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if [ "$(vercmp $2 3.7-4)" -le 0 ]; then + cat << EOF +===> cpupower startup config file moved to /etc/default/cpupower +EOF + fi +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/linux-tools/cpupower.service b/main/linux-tools/cpupower.service new file mode 100644 index 00000000..dd432daa --- /dev/null +++ b/main/linux-tools/cpupower.service @@ -0,0 +1,12 @@ +[Unit] +Description=Apply cpupower configuration +ConditionVirtualization=!container + +[Service] +Type=oneshot +EnvironmentFile=/etc/default/cpupower +ExecStart=/usr/lib/systemd/scripts/cpupower +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/main/linux-tools/cpupower.systemd b/main/linux-tools/cpupower.systemd new file mode 100644 index 00000000..c7266f01 --- /dev/null +++ b/main/linux-tools/cpupower.systemd @@ -0,0 +1,32 @@ +#!/bin/bash +# Copyright © 2012, Sébastien Luttringer +# SPDX-License-Identifier: GPL-2.0-or-later + +declare -i fail=0 + +# parse frequency options +declare -a params=() +params+=(${governor:+-g $governor}) +params+=(${min_freq:+-d $min_freq}) +params+=(${max_freq:+-u $max_freq}) +params+=(${freq:+-f $freq}) + +# apply frequency options +if ((${#params[@]} > 0)); then + cpupower frequency-set "${params[@]}" >/dev/null || fail=1 +fi + +# parse cpu options +declare -a params=() +params+=(${mc_scheduler:+-m $mc_scheduler}) +params+=(${smp_scheduler:+-s $smp_scheduler}) +params+=(${perf_bias:+-b $perf_bias}) + +# apply cpu options +if ((${#params[@]} > 0)); then + cpupower set "${params[@]}" >/dev/null || fail=1 +fi + +exit $fail + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/linux-tools/hv_fcopy_daemon.service b/main/linux-tools/hv_fcopy_daemon.service new file mode 100644 index 00000000..373b2ff8 --- /dev/null +++ b/main/linux-tools/hv_fcopy_daemon.service @@ -0,0 +1,9 @@ +[Unit] +Description=Hyper-V file copy service (FCOPY) +ConditionPathExists=/dev/vmbus/hv_fcopy + +[Service] +ExecStart=/usr/bin/hv_fcopy_daemon -n + +[Install] +WantedBy=multi-user.target diff --git a/main/linux-tools/hv_kvp_daemon.service b/main/linux-tools/hv_kvp_daemon.service new file mode 100644 index 00000000..119ceae0 --- /dev/null +++ b/main/linux-tools/hv_kvp_daemon.service @@ -0,0 +1,9 @@ +[Unit] +Description=Hyper-V key-value pair (KVP) +ConditionPathExists=/dev/vmbus/hv_kvp + +[Service] +ExecStart=/usr/bin/hv_kvp_daemon -n + +[Install] +WantedBy=multi-user.target diff --git a/main/linux-tools/hv_vss_daemon.service b/main/linux-tools/hv_vss_daemon.service new file mode 100644 index 00000000..ee343fdf --- /dev/null +++ b/main/linux-tools/hv_vss_daemon.service @@ -0,0 +1,9 @@ +[Unit] +Description=Hyper-V volume shadow copy service (VSS) +ConditionPathExists=/dev/vmbus/hv_vss + +[Service] +ExecStart=/usr/bin/hv_vss_daemon -n + +[Install] +WantedBy=multi-user.target diff --git a/main/linux-tools/usbipd.service b/main/linux-tools/usbipd.service new file mode 100644 index 00000000..1807e94b --- /dev/null +++ b/main/linux-tools/usbipd.service @@ -0,0 +1,9 @@ +[Unit] +Description=USB/IP server +After=network.target + +[Service] +ExecStart=/usr/bin/usbipd + +[Install] +WantedBy=multi-user.target diff --git a/main/linux-tools/version b/main/linux-tools/version new file mode 100644 index 00000000..3957d4e4 --- /dev/null +++ b/main/linux-tools/version @@ -0,0 +1 @@ +6.9 1 diff --git a/main/livecd-sounds/PKGBUILD b/main/livecd-sounds/PKGBUILD new file mode 100644 index 00000000..86a7f45e --- /dev/null +++ b/main/livecd-sounds/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=livecd-sounds +pkgver=%version% +pkgrel=%release% +pkgdesc="Sound files for accessibility features in a boot medium" +arch=(any) +url="https://alex19ep.me/public/" +license=(custom:CCPL) +source=(https://alex19ep.me/public/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('d5b566f712c6f0f3342b2fc24f0a301df1a3fa6bd1fb31d82e3e8443a391cebe1a7d874c9fafc2a6238caba3aa60223e6f75a5a5282c3cfe2571af88d2bf0c42' + 'SKIP') +b2sums=('2f2a15d194b55f567ad8134dbf3949a3109cca536b05b3782c52b25427d9a23271ad9859af086c9ce25708bcd92d8eefce318839c6b121157272b4619b8cd67d' + 'SKIP') +validpgpkeys=('6C7F7F22E0152A6FD5728592DAD6F3056C897266') # Alexander Epaneshnikov + +package() { + install -vDm 644 *.wav -t "$pkgdir/usr/share/$pkgname/" + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/livecd-sounds/README b/main/livecd-sounds/README new file mode 100644 index 00000000..1000f39e --- /dev/null +++ b/main/livecd-sounds/README @@ -0,0 +1,43 @@ +livecd-sounds +________________________________________________________________________________ + +Sound files for accessibility features in a boot medium + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S livecd-sounds | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://alex19ep.me/public/ diff --git a/main/livecd-sounds/version b/main/livecd-sounds/version new file mode 100644 index 00000000..cf49c569 --- /dev/null +++ b/main/livecd-sounds/version @@ -0,0 +1 @@ +1.0 2 diff --git a/main/llvm/.PKGINFO b/main/llvm/.PKGINFO new file mode 100644 index 00000000..055a6746 --- /dev/null +++ b/main/llvm/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = llvm-libs +pkgbase = llvm +xdata = pkgtype=split +pkgver = 17.0.6-5 +pkgdesc = LLVM runtime libraries +url = https://llvm.org/ +builddate = 1716337549 +packager = Developer +size = 135519941 +arch = x86_64 +license = custom:Apache 2.0 with LLVM Exception +depend = gcc-libs +depend = zlib +depend = zstd +depend = libffi +depend = libedit +depend = ncurses +depend = libxml2 +makedepend = cmake +makedepend = ninja +makedepend = zlib +makedepend = zstd +makedepend = libffi +makedepend = libedit +makedepend = ncurses +makedepend = libxml2 +makedepend = python-setuptools +makedepend = python-psutil +makedepend = python-sphinx +makedepend = python-recommonmark diff --git a/main/llvm/PKGBUILD b/main/llvm/PKGBUILD new file mode 100644 index 00000000..99563be5 --- /dev/null +++ b/main/llvm/PKGBUILD @@ -0,0 +1,152 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=('llvm' 'llvm-libs') +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url="https://llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +makedepends=('cmake' 'ninja' 'zlib' 'zstd' 'libffi' 'libedit' 'ncurses' + 'libxml2' 'python-setuptools' 'python-psutil' 'python-sphinx' + 'python-recommonmark') +options=('staticlibs' '!lto') # tools/llvm-shlib/typeids.test fails with LTO +_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver +source=($_source_base/llvm-$pkgver.src.tar.xz{,.sig} + $_source_base/cmake-$pkgver.src.tar.xz{,.sig} + $_source_base/third-party-$pkgver.src.tar.xz{,.sig}) +sha256sums=('b638167da139126ca11917b6880207cc6e8f9d1cbb1a48d87d017f697ef78188' + 'SKIP' + '807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4' + 'SKIP' + '3054d0a9c9375dab1a4539cc2cc45ab340341c5d71475f9599ba7752e222947b' + 'SKIP') +validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard + 'D574BD5D1D0E98895E3BF90044F2485E45D59042') # Tobias Hieta + +# 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) + ;; + # 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 +} + +prepare() { + rename -v -- "-$pkgver.src" '' {cmake,third-party}-$pkgver.src + cd llvm-$pkgver.src + mkdir build +} + +build() { + cd llvm-$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_DOCDIR=share/doc + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_SKIP_RPATH=ON + -DLLVM_BINUTILS_INCDIR=/usr/include + -DLLVM_BUILD_DOCS=ON + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_BUILD_TESTS=ON + -DLLVM_ENABLE_BINDINGS=OFF + -DLLVM_ENABLE_FFI=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_SPHINX=ON + -DLLVM_HOST_TRIPLE=$CHOST + -DLLVM_INCLUDE_BENCHMARKS=OFF + -DLLVM_INSTALL_GTEST=ON + -DLLVM_INSTALL_UTILS=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_USE_PERF=ON + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + + 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 +} + +check() { + cd llvm-$pkgver.src/build + LD_LIBRARY_PATH=$PWD/lib ninja check +} + +package_llvm() { + pkgdesc="Compiler infrastructure" + depends=('llvm-libs' 'perl') + + cd llvm-$pkgver.src/build + + DESTDIR="$pkgdir" ninja install-distribution + + # Include lit for running lit-based tests in other projects + pushd ../utils/lit + python3 setup.py install --root="$pkgdir" -O1 + popd + + # The runtime libraries go into llvm-libs + mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir" + mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir" + + # Remove documentation sources + rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo} + + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_llvm-libs() { + pkgdesc="LLVM runtime libraries" + depends=('gcc-libs' 'zlib' 'zstd' 'libffi' 'libedit' 'ncurses' 'libxml2') + + install -d "$pkgdir/usr/lib" + cp -P \ + "$srcdir"/lib{LLVM,LTO,Remarks}*.so* \ + "$srcdir"/LLVMgold.so \ + "$pkgdir/usr/lib/" + + # Symlink LLVMgold.so from /usr/lib/bfd-plugins + # https://bugs.archlinux.org/task/28479 + install -d "$pkgdir/usr/lib/bfd-plugins" + ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so" + + install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/llvm/README b/main/llvm/README new file mode 100644 index 00000000..f019e001 --- /dev/null +++ b/main/llvm/README @@ -0,0 +1,43 @@ +llvm +________________________________________________________________________________ + +Compiler infrastructure LLVM runtime libraries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S llvm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://llvm.org/ diff --git a/main/llvm/version b/main/llvm/version new file mode 100644 index 00000000..b8c15f6f --- /dev/null +++ b/main/llvm/version @@ -0,0 +1 @@ +17.0.6 5 diff --git a/main/lm_sensors/PKGBUILD b/main/lm_sensors/PKGBUILD new file mode 100644 index 00000000..81cec2ec --- /dev/null +++ b/main/lm_sensors/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lm_sensors +pkgver=%version% +_commit=31d1f125d8076f1c8c8f3224b31d240e6e6a1763 +#_pkgver=${pkgver//./-} +pkgrel=%release% +epoch=1 +pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring" +arch=('x86_64') +url="https://hwmon.wiki.kernel.org/lm_sensors" +license=('GPL' 'LGPL') +depends=('bash' 'glibc') +makedepends=('rrdtool' 'perl' 'git') +optdepends=('rrdtool: for logging with sensord' + 'perl: for sensor detection and configuration convert') +provides=('libsensors.so') +backup=('etc/sensors3.conf' 'etc/healthd.conf' 'etc/conf.d/sensord') +#source=(lm_sensors-${pkgver}.tar.gz::https://github.com/lm-sensors/lm-sensors/archive/V${_pkgver}.tar.gz +source=("git+https://github.com/groeck/lm-sensors.git#commit=${_commit}" + healthd healthd.conf healthd.service sensord.conf) +sha256sums=('SKIP' + '0ac9afb2a9155dd74ab393756ed552cd542dde1081149beb2ab4ec7ff55b8f4a' + '5d17a366b175cf9cb4bb0115c030d4b8d91231546f713784a74935b6e533da9f' + '2638cd363e60f8d36bcac468f414a6ba29a1b5599f40fc651ca953858c8429d7' + '23bebef4c250f8c0aaba2c75fd3d2c8ee9473cc91a342161a9f5b3a34ddfa9e5') +validpgpkeys=('7CA69F4460F1BDC41FD2C858A5526B9BB3CD4E6A') + +pkgver() { + cd "${srcdir}"/lm-sensors* + + git describe --long --tags | sed 's/V//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd "${srcdir}"/lm-sensors* + sed -i 's|/etc/sysconfig|/etc/conf.d|' prog/{detect/sensors-detect,init/{sensord,lm_sensors}.service} + sed -i 's/EnvironmentFile=/EnvironmentFile=-/' prog/init/lm_sensors.service +} + +build() { + cd "${srcdir}"/lm-sensors* + make PREFIX=/usr +} + +package() { + cd "${srcdir}"/lm-sensors* + make PROG_EXTRA=sensord BUILD_STATIC_LIB=0 \ + PREFIX=/usr SBINDIR=/usr/bin MANDIR=/usr/share/man DESTDIR="${pkgdir}" install + + install -D -m755 "${srcdir}/healthd" "${pkgdir}/usr/bin/healthd" + + install -D -m644 "${srcdir}/healthd.conf" "${pkgdir}/etc/healthd.conf" + install -D -m644 "${srcdir}/sensord.conf" "${pkgdir}/etc/conf.d/sensord" + + install -D -m644 "${srcdir}/healthd.service" "${pkgdir}/usr/lib/systemd/system/healthd.service" + install -D -m644 prog/init/*.service "${pkgdir}/usr/lib/systemd/system/" +} diff --git a/main/lm_sensors/README b/main/lm_sensors/README new file mode 100644 index 00000000..c9dc427b --- /dev/null +++ b/main/lm_sensors/README @@ -0,0 +1,43 @@ +lm_sensors +________________________________________________________________________________ + +Collection of user space tools for general SMBus access and hardware monitoring + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lm_sensors | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://hwmon.wiki.kernel.org/lm_sensors diff --git a/main/lm_sensors/healthd b/main/lm_sensors/healthd new file mode 100644 index 00000000..b1e2fd69 --- /dev/null +++ b/main/lm_sensors/healthd @@ -0,0 +1,53 @@ +#!/bin/bash + +# +# /usr/bin/healthd +# + +. /etc/healthd.conf + +cmd="${ALARM_CMD}" +addr="${ADMIN_EMAIL}" +slp="${ALARM_SLEEP}" +sensors="/usr/bin/sensors" + + +while [ $# -gt 0 ] ; do + case "${1}" in + -c ) cmd="${2}" ; shift 2 ;; + -m ) addr="${2}" ; shift 2 ;; + -s ) slp="${2}" ; shift 2 ;; + * ) shift 1 ;; + esac +done + +case "${ALARM_RESET}" in + yes) /usr/bin/sensors > /dev/null + ;; + no) true + ;; +esac + +[ -n "${cmd}" ] && [ -n "$( which -- "${cmd%% *}" )" ] || \ + [ -n "${addr}" ] || exit 1 + +[ "${slp}" -ge 2 ] || slp=600 + +while true ; do + sleep 15 + message="$( $sensors )" + case "$message" in + '' ) message='Could not get any sensor values !' ;; + *ALARM* ) : ;; + * ) message='' ;; + esac + if [ -n "$message" ]; then + if [ -n "${addr}" ]; then + echo "$message" | mail -s \ + "Sensors ALARM detected at host: $( hostname )" \ + "${addr}" + fi + [ -z "${cmd}" ] || ${cmd} & + sleep ${slp} + fi +done & diff --git a/main/lm_sensors/healthd.conf b/main/lm_sensors/healthd.conf new file mode 100644 index 00000000..8df3e399 --- /dev/null +++ b/main/lm_sensors/healthd.conf @@ -0,0 +1,17 @@ +# +# /etc/healthd.conf +# + +# reset any pending alarms on startup +ALARM_RESET="yes" + +# where to sent mails on alarm +ADMIN_EMAIL="root" + +# Seconds to sleep when alarm detected before checking again +# If you want to fill up your mail inbox set this to 2. ;-) +ALARM_SLEEP=600 + +# command to run in background on each alarm +# N.B.: If you choose to use the beep command, you'll need to install it: pacman -S beep +ALARM_CMD="beep -f 800 -l 500 -d 500 -r 600" diff --git a/main/lm_sensors/healthd.service b/main/lm_sensors/healthd.service new file mode 100644 index 00000000..1933192d --- /dev/null +++ b/main/lm_sensors/healthd.service @@ -0,0 +1,9 @@ +[Unit] +Description=A daemon which can be used to alert you in the event of a hardware health monitoring alarm + +[Service] +Type=forking +ExecStart=/usr/bin/healthd + +[Install] +WantedBy=multi-user.target diff --git a/main/lm_sensors/sensord.conf b/main/lm_sensors/sensord.conf new file mode 100644 index 00000000..133783aa --- /dev/null +++ b/main/lm_sensors/sensord.conf @@ -0,0 +1,9 @@ +# +# /etc/conf.d/sensord +# + +#Specify the interval between scanning for sensor alarms +INTERVAL=60s + +#Specify the interval between logging all sensor readings +LOG_INTERVAL=30m diff --git a/main/lm_sensors/version b/main/lm_sensors/version new file mode 100644 index 00000000..ef403d62 --- /dev/null +++ b/main/lm_sensors/version @@ -0,0 +1 @@ +3.6.0.r41.g31d1f125 2 diff --git a/main/lmdb/PKGBUILD b/main/lmdb/PKGBUILD new file mode 100644 index 00000000..ee155139 --- /dev/null +++ b/main/lmdb/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lmdb +pkgver=%version% +_commit=e96d8dfa3951c06062a6fffbe1d7a2f3c9c1ff76 +pkgrel=%release% +pkgdesc="Symas Lightning Memory-Mapped Database" +arch=('x86_64') +url="https://symas.com/lmdb" +license=('custom:OpenLDAP') +depends=('glibc') +makedepends=('git') +options=('!emptydirs') +source=("git+https://git.openldap.org/openldap/openldap.git#commit=$_commit" + lmdb.pc) +sha512sums=('SKIP' + '0349d4b08a1f93fe338d8f8e3e5a83e24211a46f999fe529bc1ac49c8c4975559d95a548c203d9427e3f82d62e934ba3cd1be6f734f9b9405b2a26477be4ed33') + +prepare() { + sed -e "s|@PKGVER@|$pkgver|" -i lmdb.pc +} + +build() { + cd openldap/libraries/liblmdb + make CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" prefix=/usr +} + +check() { + cd openldap/libraries/liblmdb + make test +} + +package() { + cd openldap/libraries/liblmdb + install -dm755 "$pkgdir"/usr/{bin,lib,include,man/man1,share} + make DESTDIR="$pkgdir" prefix=/usr install + + mv "$pkgdir"/usr/man "$pkgdir"/usr/share/man + + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + install -Dm644 "$srcdir"/lmdb.pc -t "$pkgdir"/usr/lib/pkgconfig/ +} diff --git a/main/lmdb/README b/main/lmdb/README new file mode 100644 index 00000000..5bbe5bb8 --- /dev/null +++ b/main/lmdb/README @@ -0,0 +1,43 @@ +lmdb +________________________________________________________________________________ + +Symas Lightning Memory-Mapped Database + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lmdb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://symas.com/lmdb diff --git a/main/lmdb/lmdb.pc b/main/lmdb/lmdb.pc new file mode 100644 index 00000000..de300612 --- /dev/null +++ b/main/lmdb/lmdb.pc @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: liblmdb +Description: Lightning Memory-Mapped Database +URL: https://symas.com/products/lightning-memory-mapped-database/ +Version: @PKGVER@ +Libs: -L${libdir} -llmdb +Cflags: -I${includedir} diff --git a/main/lmdb/version b/main/lmdb/version new file mode 100644 index 00000000..dceed0da --- /dev/null +++ b/main/lmdb/version @@ -0,0 +1 @@ +0.9.32 1 diff --git a/main/lrzip/PKGBUILD b/main/lrzip/PKGBUILD new file mode 100644 index 00000000..dc7c95c3 --- /dev/null +++ b/main/lrzip/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lrzip +pkgver=%version% +pkgrel=%release% +pkgdesc='Multi-threaded compression with rzip/lzma, lzo, and zpaq' +url='https://github.com/ckolivas/lrzip' +license=('GPL') +arch=('x86_64') +depends=('lzo') +makedepends=('git') +source=("git+https://github.com/ckolivas/lrzip#tag=v${pkgver}" + "${pkgname}-${pkgver}-CVE-2018-5786.patch::https://github.com/ckolivas/lrzip/commit/3495188cd8f2215a9feea201f3e05c1341ed95fb.patch") +sha256sums=('SKIP' + '8573ff8dd049c91cd0e6d754683e889ae439119cb9e738241dedd369c280a6fc') + +prepare() { + cd "${pkgname}" + patch -Np1 < "../${pkgname}-${pkgver}-CVE-2018-5786.patch" +} + +build() { + cd "${pkgname}" + + CFLAGS="$CFLAGS -fomit-frame-pointer" + CXXFLAGS="$CXXFLAGS -fomit-frame-pointer" + + ./autogen.sh --prefix=/usr "$flags" + make +} + +check() { + make -C "${pkgname}" -k check +} + +package() { + make -C "${pkgname}" DESTDIR="${pkgdir}" install-strip +} + +# vim: ts=2 sw=2 et: +# getver: -u 3 github.com/ckolivas/lrzip/blob/master/ChangeLog diff --git a/main/lrzip/README b/main/lrzip/README new file mode 100644 index 00000000..31d48f22 --- /dev/null +++ b/main/lrzip/README @@ -0,0 +1,43 @@ +lrzip +________________________________________________________________________________ + +Multi-threaded compression with rzip/lzma, lzo, and zpaq + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lrzip | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/ckolivas/lrzip diff --git a/main/lrzip/version b/main/lrzip/version new file mode 100644 index 00000000..095941bd --- /dev/null +++ b/main/lrzip/version @@ -0,0 +1 @@ +0.651 2 diff --git a/main/lsb-release/PKGBUILD b/main/lsb-release/PKGBUILD new file mode 100644 index 00000000..039d4d7a --- /dev/null +++ b/main/lsb-release/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer + +pkgname=lsb-release +pkgver=%version% +_commit=a86f885597a91cd41837d706bf6a08d4c239a54b +pkgrel=%release% +pkgdesc="LSB version query program" +arch=('any') +url="https://refspecs.linuxfoundation.org/lsb.shtml" +license=('GPL') +depends=('sh') +makedepends=('git') +source=("git+https://github.com/LinuxStandardBase/lsb-samples.git#commit=$_commit" + 'lsb-release' + 'lsb_release_description.patch' + 'lsb_release_make_man_page_reproducible.patch') +sha512sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +pkgver() { + cd lsb-samples/lsb_release/src + printf "%s.r%s.%s" "$(grep -Po 'SCRIPTVERSION="\K[^"]*' lsb_release)" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd lsb-samples/lsb_release/src + patch -Np0 -i "$srcdir/lsb_release_description.patch" + patch -Np1 -i "$srcdir/lsb_release_make_man_page_reproducible.patch" +} + +build() { + cd lsb-samples/lsb_release/src + make +} + +package() { + cd lsb-samples/lsb_release/src + install -Dm644 lsb_release.1.gz -t "$pkgdir/usr/share/man/man1" + install -Dm755 lsb_release -t "$pkgdir/usr/bin" + install -Dm644 "$srcdir/lsb-release" -t "$pkgdir/etc" +} diff --git a/main/lsb-release/README b/main/lsb-release/README new file mode 100644 index 00000000..1e95dbd4 --- /dev/null +++ b/main/lsb-release/README @@ -0,0 +1,43 @@ +lsb-release +________________________________________________________________________________ + +LSB version query program + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lsb-release | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://refspecs.linuxfoundation.org/lsb.shtml diff --git a/main/lsb-release/lsb-release b/main/lsb-release/lsb-release new file mode 100644 index 00000000..1a71c7a6 --- /dev/null +++ b/main/lsb-release/lsb-release @@ -0,0 +1,3 @@ +DISTRIB_ID="TuxCore" +DISTRIB_RELEASE="rolling" +DISTRIB_DESCRIPTION="TuxCore" diff --git a/main/lsb-release/lsb_release_description.patch b/main/lsb-release/lsb_release_description.patch new file mode 100644 index 00000000..d46835b9 --- /dev/null +++ b/main/lsb-release/lsb_release_description.patch @@ -0,0 +1,11 @@ +--- lsb_release.orig 2012-11-13 05:12:02.000000000 -0800 ++++ lsb_release 2013-11-24 17:13:55.943608718 -0800 +@@ -216,7 +216,7 @@ + TMP_DISTRIB_DESC=$DISTRIB_DESCRIPTION + fi + +- if [ -z "$TMP_DISTRIB_DESC" ] # head or lsb-release init ++ if [ -z "$DISTRIB_DESCRIPTION" ] # head or lsb-release init + then # file contains no data + DISTRIB_DESCRIPTION=$MSG_NONE + NO="y" diff --git a/main/lsb-release/lsb_release_make_man_page_reproducible.patch b/main/lsb-release/lsb_release_make_man_page_reproducible.patch new file mode 100644 index 00000000..cf31cc78 --- /dev/null +++ b/main/lsb-release/lsb_release_make_man_page_reproducible.patch @@ -0,0 +1,40 @@ +From 1f5eb29ad59e7302e0407855333fbf1377f6f127 Mon Sep 17 00:00:00 2001 +Date: Sat, 11 Jul 2020 17:02:59 +0200 +Subject: [PATCH] Make man page reproducible + +Respect SOURCE_DATE_EPOCH and remove the embedded timestamp from the gzipped +man page. +--- + Makefile | 2 +- + help2man | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 04fdecd..d2f6230 100644 +--- a/Makefile ++++ b/Makefile +@@ -17,7 +17,7 @@ man: lsb_release.1.gz + + lsb_release.1.gz: lsb_release + @./help2man -N --include ./lsb_release.examples --alt_version_key=program_version ./lsb_release >lsb_release.1 +- @gzip -9f lsb_release.1 ++ @gzip -9f -n lsb_release.1 + + install: all + install -D -m 644 lsb_release.1.gz ${mandir}/man1/lsb_release.1.gz +diff --git a/help2man b/help2man +index 13015c2..d448342 100755 +--- a/help2man ++++ b/help2man +@@ -173,7 +173,7 @@ my ($help_text, $version_text) = map { + or die "$this_program: can't get `--$_' info from $ARGV[0]\n" + } qw(help), $opt_version_key; + +-my $date = strftime "%B %Y", localtime; ++my $date = strftime "%B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time); + (my $program = $ARGV[0]) =~ s!.*/!!; + my $package = $program; + my $version; +-- +2.27.0 + diff --git a/main/lsb-release/version b/main/lsb-release/version new file mode 100644 index 00000000..4c13d344 --- /dev/null +++ b/main/lsb-release/version @@ -0,0 +1 @@ +2.0.r53.a86f885 3 diff --git a/main/lsscsi/PKGBUILD b/main/lsscsi/PKGBUILD new file mode 100644 index 00000000..4b5348bd --- /dev/null +++ b/main/lsscsi/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lsscsi +pkgver=%version% +pkgrel=%release% +pkgdesc='A tool that lists devices connected via SCSI and its transports' +arch=('x86_64') +url='http://sg.danny.cz/scsi/lsscsi.html' +license=('GPL') +depends=('sysfsutils') +source=("http://sg.danny.cz/scsi/$pkgname-$pkgver.tgz") +sha256sums=('0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1') + +build() { + cd $pkgname-*/ + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-*/ + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/lsscsi/README b/main/lsscsi/README new file mode 100644 index 00000000..5970d1fe --- /dev/null +++ b/main/lsscsi/README @@ -0,0 +1,43 @@ +lsscsi +________________________________________________________________________________ + +A tool that lists devices connected via SCSI and its transports + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lsscsi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://sg.danny.cz/scsi/lsscsi.html diff --git a/main/lsscsi/version b/main/lsscsi/version new file mode 100644 index 00000000..2c2c9e62 --- /dev/null +++ b/main/lsscsi/version @@ -0,0 +1 @@ +0.32 1 diff --git a/main/lua/.nvchecker.toml b/main/lua/.nvchecker.toml new file mode 100644 index 00000000..6a8e9e07 --- /dev/null +++ b/main/lua/.nvchecker.toml @@ -0,0 +1,4 @@ +[lua] +source = "regex" +url = "https://www.lua.org/versions.html" +regex = "Lua (5\\.4\\.\\d+)" diff --git a/main/lua/LICENSE b/main/lua/LICENSE new file mode 100644 index 00000000..40ec0416 --- /dev/null +++ b/main/lua/LICENSE @@ -0,0 +1,30 @@ +License + +Lua is free software distributed under the terms of the MIT license +reproduced below; it may be used for any purpose, including commercial +purposes, at absolutely no cost without having to ask us. The only +requirement is that if you do use Lua, then you should give us credit +by including the appropriate copyright notice somewhere in your +product or its documentation. + + Copyright © 1994–2015 Lua.org, PUC-Rio. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff --git a/main/lua/PKGBUILD b/main/lua/PKGBUILD new file mode 100644 index 00000000..257675d9 --- /dev/null +++ b/main/lua/PKGBUILD @@ -0,0 +1,79 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lua +pkgver=%version% +_majorver=${pkgver%.*} +pkgrel=%release% +pkgdesc='Powerful lightweight programming language designed for extending applications' +arch=('x86_64') +url='https://www.lua.org/' +depends=('readline') +license=('MIT') +options=('!emptydirs') +source=(https://www.lua.org/ftp/lua-$pkgver.tar.gz + liblua.so.patch + paths.patch + lua.pc + LICENSE) +sha256sums=('7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88' + '644fba6f3e03c4d0c394d241149fc558da79d0114e7816c2a597097304249cb7' + '6bb84383498a96514d4c7deb79fd45bf484fa5e3253a1574a3311ee0bb7c24fa' + 'ca9252633e782b8f85d6a94ea4f6babd4fe30bd759085b373160b1878e36ff78' + '142fb08b41a807b192b4b2c166696a1830a1c97967e5099ad0e579bf500e1da4') + +prepare() { + patch -d lua-$pkgver -p1 -i ../liblua.so.patch + patch -d lua-$pkgver -p1 -i ../paths.patch + cp -r lua-$pkgver lua++-$pkgver + + sed "s/%VER%/$_majorver/g;s/%REL%/$pkgver/g" lua.pc > lua-$pkgver/lua.pc + sed "s/%VER%/$_majorver/g;s/%REL%/$pkgver/g;s/-llua/-llua++/g" lua.pc > lua++-$pkgver/lua++.pc +} + +build() { + cd lua-$pkgver + + make MYCFLAGS="$CFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" linux-readline + + cd ../lua++-$pkgver + + make MYCFLAGS="$CXXFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" CC=g++ LUA_A=liblua++.a LUA_SO=liblua++.so linux-readline +} + +package() { + cd lua-$pkgver + + make \ + TO_LIB="liblua.so liblua.so.$_majorver liblua.so.$pkgver" \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$pkgdir"/usr \ + INSTALL_MAN="$pkgdir"/usr/share/man/man1 \ + install + ln -sf /usr/bin/lua "$pkgdir"/usr/bin/lua$_majorver + ln -sf /usr/bin/luac "$pkgdir"/usr/bin/luac$_majorver + ln -sf /usr/lib/liblua.so.$pkgver "$pkgdir"/usr/lib/liblua$_majorver.so + + install -Dm644 lua.pc "$pkgdir"/usr/lib/pkgconfig/lua54.pc + ln -sf lua54.pc "$pkgdir"/usr/lib/pkgconfig/lua.pc + ln -sf lua54.pc "$pkgdir"/usr/lib/pkgconfig/lua5.4.pc + ln -sf lua54.pc "$pkgdir"/usr/lib/pkgconfig/lua-5.4.pc + + install -d "$pkgdir"/usr/share/doc/$pkgname + install -m644 doc/*.{gif,png,css,html} "$pkgdir"/usr/share/doc/$pkgname + install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + + cd ../lua++-$pkgver + make \ + TO_LIB="liblua++.so liblua++.so.$_majorver liblua++.so.$pkgver" \ + INSTALL_BIN=null INSTALL_INC=null INSTALL_MAN=../null \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$pkgdir"/usr \ + install + ln -sf /usr/lib/liblua++.so.$pkgver "$pkgdir"/usr/lib/liblua++$_majorver.so + + install -Dm644 lua++.pc "$pkgdir"/usr/lib/pkgconfig/lua++54.pc + ln -sf lua++54.pc "$pkgdir"/usr/lib/pkgconfig/lua++.pc + ln -sf lua++54.pc "$pkgdir"/usr/lib/pkgconfig/lua++5.4.pc + ln -sf lua++54.pc "$pkgdir"/usr/lib/pkgconfig/lua++-5.4.pc +} diff --git a/main/lua/README b/main/lua/README new file mode 100644 index 00000000..5f81eae6 --- /dev/null +++ b/main/lua/README @@ -0,0 +1,43 @@ +lua +________________________________________________________________________________ + +Powerful lightweight programming language designed for extending applications + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lua | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.lua.org/ diff --git a/main/lua/liblua.so.patch b/main/lua/liblua.so.patch new file mode 100644 index 00000000..a1052447 --- /dev/null +++ b/main/lua/liblua.so.patch @@ -0,0 +1,47 @@ +diff --git a/Makefile b/Makefile +index 416f444..eeaff03 100644 +--- a/Makefile ++++ b/Makefile +@@ -52,7 +52,7 @@ R= $V.0 + all: $(PLAT) + + $(PLATS) help test clean: +- @cd src && $(MAKE) $@ ++ @cd src && $(MAKE) $@ V=$(V) R=$(R) + + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) +diff --git a/src/Makefile b/src/Makefile +index 514593d..372a6dc 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -33,6 +33,7 @@ CMCFLAGS= -Os + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o + BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) +@@ -44,7 +45,7 @@ LUAC_T= luac + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -60,6 +61,12 @@ $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO) ++ ++ + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + diff --git a/main/lua/lua.pc b/main/lua/lua.pc new file mode 100644 index 00000000..bf7977bc --- /dev/null +++ b/main/lua/lua.pc @@ -0,0 +1,20 @@ +V=%VER% +R=%REL% + +prefix=/usr +INSTALL_BIN=${prefix}/bin +INSTALL_INC=${prefix}/include +INSTALL_LIB=${prefix}/lib +INSTALL_MAN=${prefix}/man/man1 +INSTALL_LMOD=${prefix}/share/lua/${V} +INSTALL_CMOD=${prefix}/lib/lua/${V} +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} diff --git a/main/lua/paths.patch b/main/lua/paths.patch new file mode 100644 index 00000000..512a09b5 --- /dev/null +++ b/main/lua/paths.patch @@ -0,0 +1,33 @@ +diff --git a/src/luaconf.h b/src/luaconf.h +--- a/src/luaconf.h 2023-05-03 06:02:30.000000000 +1000 ++++ b/src/luaconf.h 2023-12-13 12:24:30.287727037 +1100 +@@ -224,19 +224,28 @@ + #else /* }{ */ + + #define LUA_ROOT "/usr/local/" ++#define LUA_ROOT2 "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" ++#define LUA_LDIR2 LUA_ROOT2 "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" ++#define LUA_CDIR2 LUA_ROOT2 "lib/lua/" LUA_VDIR "/" + + #if !defined(LUA_PATH_DEFAULT) + #define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ ++ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ ++ LUA_CDIR2"?.lua;" LUA_CDIR2"?/init.lua;" \ + "./?.lua;" "./?/init.lua" + #endif + + #if !defined(LUA_CPATH_DEFAULT) + #define LUA_CPATH_DEFAULT \ +- LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" ++ LUA_CDIR"?.so;" \ ++ LUA_CDIR2"?.so;" \ ++ LUA_CDIR"loadall.so;" \ ++ LUA_CDIR2"loadall.so;" \ ++ "./?.so" + #endif + + #endif /* } */ diff --git a/main/lua/version b/main/lua/version new file mode 100644 index 00000000..932dbf76 --- /dev/null +++ b/main/lua/version @@ -0,0 +1 @@ +5.4.6 3 diff --git a/main/luit/PKGBUILD b/main/luit/PKGBUILD new file mode 100644 index 00000000..91ddb4fa --- /dev/null +++ b/main/luit/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=luit +pkgver=%version% +pkgrel=%release% +pkgdesc="Filter that can be run between an arbitrary application and a UTF-8 terminal emulator" +arch=('x86_64') +url="https://invisible-island.net/luit/luit.html" +license=('custom') +depends=('libfontenc') +makedepends=('libx11') +replaces=('xorg-luit') +conflicts=('xorg-luit') +source=(https://invisible-mirror.net/archives/${pkgname}/${pkgname}-${pkgver}.tgz{,.asc}) +sha256sums=('a07aea28cdcec50ef225d8c96d3944c3ef6401a913b0d78a84ddc85191ebc082' + 'SKIP') +validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB' + '19882D92DDA4C400C22C0D56CC2AF4472167BE03') # "Thomas Dickey " + +build() { + cd luit-${pkgver} + ./configure --prefix=/usr --enable-fontenc + make +} + +package() { + cd luit-${pkgver} + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/luit/README b/main/luit/README new file mode 100644 index 00000000..64c9ca5a --- /dev/null +++ b/main/luit/README @@ -0,0 +1,43 @@ +luit +________________________________________________________________________________ + +Filter that can be run between an arbitrary application and a UTF-8 terminal emulator + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S luit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://invisible-island.net/luit/luit.html diff --git a/main/luit/version b/main/luit/version new file mode 100644 index 00000000..1001db92 --- /dev/null +++ b/main/luit/version @@ -0,0 +1 @@ +20240102 1 diff --git a/main/lv2/PKGBUILD b/main/lv2/PKGBUILD new file mode 100644 index 00000000..4c48ef04 --- /dev/null +++ b/main/lv2/PKGBUILD @@ -0,0 +1,99 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=lv2 +pkgname=(lv2 lv2-docs lv2-example-plugins) +pkgver=%version% +pkgrel=%release% +pkgdesc="Plugin standard for audio systems" +arch=(x86_64) +url="https://lv2plug.in/" +license=(ISC) +makedepends=( + asciidoc + codespell + doxygen + flake8 + gtk2 + libsamplerate + libsndfile + meson + pygmentize + python-black + python-lxml + python-markdown + python-pygments + python-pylint + python-rdflib + serd + sord +) +source=(https://lv2plug.in/spec/$pkgbase-$pkgver.tar.xz{,.sig}) +sha512sums=('ab4bcf593f633b1ed16c0eb6aa4525458a00655ef9c87619bf85eaa966f8fd094a8e871b825f679e0d97923f8bbbf11841ff467022390ca2f1a5b5f66ccd5d1b' + 'SKIP') +b2sums=('72f9bc50ebac5d71279e0616bb1eb3c2a6748a28ff68988294135b18c7adc68c46a52b4698faf79f633768bf850d5052128a9f84b90aa9b5f9a56721acaf04c3' + 'SKIP') +validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + arch-meson $pkgbase-$pkgver build + meson compile -C build +} + +check() { + meson test -C build +} + +package_lv2() { + optdepends=( + 'lv2-docs: for developer documentation' + 'lv2-example-plugins: for example plugins' + 'python-lxml: for lv2specgen.py' + 'python-markdown: for lv2specgen.py' + 'python-pygments: for lv2specgen.py' + 'python-rdflib: for lv2specgen.py' + 'sord: for lv2_validate' + ) + + meson install -C build --destdir "$pkgdir" + + ( + cd "$pkgdir" + _pick lv2-docs usr/share/doc/lv2/ + _pick lv2-example-plugins usr/lib/lv2/eg-* + ) + + install -vDm 644 $pkgbase-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgbase-$pkgver/{NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_lv2-docs() { + pkgdesc+=" - documentation" + + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lv2-example-plugins() { + pkgdesc+=" - example plugins" + depends=(libsamplerate libsndfile lv2-host) + optdepends=( + 'gtk2: for eg-sampler.lv2 and eg-scope.lv2' + ) + groups=(lv2-plugins pro-audio) + + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/lv2/README b/main/lv2/README new file mode 100644 index 00000000..926f03f8 --- /dev/null +++ b/main/lv2/README @@ -0,0 +1,43 @@ +lv2 +________________________________________________________________________________ + +Plugin standard for audio systems Plugin standard for audio systems - documentation Plugin standard for audio systems - example plugins + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lv2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lv2plug.in/ diff --git a/main/lv2/version b/main/lv2/version new file mode 100644 index 00000000..89ada932 --- /dev/null +++ b/main/lv2/version @@ -0,0 +1 @@ +1.18.10 1 diff --git a/main/lvm2/.PKGINFO b/main/lvm2/.PKGINFO new file mode 100644 index 00000000..a6861a33 --- /dev/null +++ b/main/lvm2/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = lvm2 +pkgbase = lvm2 +xdata = pkgtype=split +pkgver = 2.03.24-1 +pkgdesc = Logical Volume Manager 2 utilities +url = https://sourceware.org/lvm2/ +builddate = 1716253270 +packager = Developer +size = 5775379 +arch = x86_64 +license = GPL2 +license = LGPL2.1 +conflict = lvm +conflict = mkinitcpio<38-1 +backup = etc/lvm/lvm.conf +backup = etc/lvm/lvmlocal.conf +depend = bash +depend = device-mapper>=2.03.24 +depend = systemd-libs +depend = libudev.so=1-64 +depend = util-linux-libs +depend = libblkid.so=1-64 +depend = readline +depend = libreadline.so=8-64 +depend = thin-provisioning-tools +depend = libaio +depend = libaio.so=1-64 +makedepend = git +makedepend = systemd +makedepend = libaio +makedepend = thin-provisioning-tools diff --git a/main/lvm2/0001-udev-initcpio.patch b/main/lvm2/0001-udev-initcpio.patch new file mode 100644 index 00000000..cd0fb255 --- /dev/null +++ b/main/lvm2/0001-udev-initcpio.patch @@ -0,0 +1,48 @@ +From d0a716460c389ebf3af034616c507f5e45610ea6 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 7 Feb 2022 21:12:20 +0100 +Subject: [PATCH 1/1] udev initcpio + +apply with: +patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch +--- + udev/69-dm-lvm.rules.in | 26 +------------------------- + 1 file changed, 1 insertion(+), 25 deletions(-) + +diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in +index ff1568145..1d7737a6f 100644 +--- a/udev/69-dm-lvm.rules.in ++++ b/udev/69-dm-lvm.rules.in +@@ -52,31 +52,7 @@ ACTION!="add", GOTO="lvm_end" + + LABEL="lvm_scan" + +-# pvscan will check if this device completes a VG, +-# i.e. all PVs in the VG are now present with the +-# arrival of this PV. If so, it prints to stdout: +-# LVM_VG_NAME_COMPLETE='foo' +-# +-# When the VG is complete it can be activated, so +-# vgchange -aay is run. It is run via +-# systemd since it can take longer to run than +-# udev wants to block when processing rules. +-# (if there are hundreds of LVs to activate, +-# the vgchange can take many seconds.) +-# +-# pvscan only reads the single device specified, +-# and uses temp files under /run/lvm to check if +-# other PVs in the VG are present. +-# +-# If event_activation=0 in lvm.conf, this pvscan +-# (using checkcomplete) will do nothing, so that +-# no event-based autoactivation will be happen. +-# +-# TODO: adjust the output of vgchange -aay so that +-# it's better suited to appearing in the journal. +- +-IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}" +-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(SYSTEMDRUN) --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}" ++RUN+="(LVM_EXEC)/lvm pvscan --background --cache --activate ay --major $major --minor $minor", ENV{LVM_SCANNED}="1" + GOTO="lvm_end" + + LABEL="lvm_end" diff --git a/main/lvm2/11-dm-initramfs.rules b/main/lvm2/11-dm-initramfs.rules new file mode 100644 index 00000000..d2c16732 --- /dev/null +++ b/main/lvm2/11-dm-initramfs.rules @@ -0,0 +1,3 @@ +# needed with new udev/mkinitcpio and as implemented in dracut: +# +SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", ACTION=="add|change", OPTIONS="db_persist" diff --git a/main/lvm2/PKGBUILD b/main/lvm2/PKGBUILD new file mode 100644 index 00000000..1bdfe6b5 --- /dev/null +++ b/main/lvm2/PKGBUILD @@ -0,0 +1,123 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=lvm2 +pkgname=('lvm2' 'device-mapper') +# latest release does not have a tag... :-\ +_commit='d786a8f820d54ce87a919e6af5426c333c173b11' +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url='https://sourceware.org/lvm2/' +license=('GPL2' 'LGPL2.1') +makedepends=('git' 'systemd' 'libaio' 'thin-provisioning-tools') +validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon + 'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos +source=("git+https://sourceware.org/git/lvm2.git#commit=${_commit}" + '0001-udev-initcpio.patch' + '11-dm-initramfs.rules') +sha256sums=('6b78c40ae7cda44b87e182a89d58adb4863524f3a78d717d500d8d8d0183b222' + '2b3a16ec05e2bc6678e9ebd5ffa8319ebfde29aa260ce004f79f9b8df57d73c9' + 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0') + +_backports=( +) + +prepare() { + cd lvm2/ + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git show "${_c}" -- ':(exclude)WHATS_NEW' | git apply + done + + # prepare for non-systemd initcpio + patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch + + # remove install section from systemd units that are enabled by default + sed -i -e '/^\[Install\]$/,$d' \ + scripts/dm_event_systemd_red_hat.socket.in \ + scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \ + scripts/lvm2_monitoring_systemd_red_hat.service.in +} + +build() { + # build system requires bash: + # https://www.redhat.com/archives/linux-lvm/2020-January/msg00004.html + # https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Defining-Variables.html + export CONFIG_SHELL=/bin/bash + + cd lvm2/ + + ./configure \ + CONFIG_SHELL=/bin/bash \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-cmdlib \ + --enable-dmeventd \ + --enable-lvmpolld \ + --enable-pkgconfig \ + --enable-readline \ + --enable-udev_rules \ + --enable-udev_sync \ + --enable-write_install \ + --with-cache=internal \ + --with-default-dm-run-dir=/run \ + --with-default-locking-dir=/run/lock/lvm \ + --with-default-pid-dir=/run \ + --with-default-run-dir=/run/lvm \ + --with-libexecdir=/usr/lib/lvm2 \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-thin=internal \ + --with-udev-prefix=/usr + make + + make -C udev/ 69-dm-lvm-initcpio.rules +} + +package_device-mapper() { + pkgdesc="Device mapper userspace library and tools" + url="http://sourceware.org/dm/" + depends=('glibc' 'systemd-libs' 'libudev.so') + provides=('libdevmapper.so' + 'libdevmapper-event.so') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_device-mapper + # extra udev rule for device-mapper in initramfs + install -D -m0644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules" + # Install dmeventd socket and service + make DESTDIR="${pkgdir}" install_systemd_units + rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*} + install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants" + ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket" +} + +package_lvm2() { + pkgdesc="Logical Volume Manager 2 utilities" + depends=('bash' "device-mapper>=${pkgver}" 'systemd-libs' + 'libudev.so' 'util-linux-libs' 'libblkid.so' 'readline' 'libreadline.so' + 'thin-provisioning-tools' 'libaio' 'libaio.so') + conflicts=('lvm' 'mkinitcpio<38-1') + backup=('etc/lvm/lvm.conf' + 'etc/lvm/lvmlocal.conf') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_lvm2 + # /etc directories + install -d "${pkgdir}"/etc/lvm/{archive,backup} + # extra udev rule for non-systemd initramfs + install -D -m0644 udev/69-dm-lvm-initcpio.rules "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm.rules" + # systemd support + make DESTDIR="${pkgdir}" install_systemd_units + rm -f "${pkgdir}/usr/lib/systemd/system/"dm-* + install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants" + ln -sf ../lvm2-lvmpolld.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket" + ln -sf ../lvm2-monitor.service "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-monitor.service" + make DESTDIR="${pkgdir}" install_systemd_generators +} diff --git a/main/lvm2/README b/main/lvm2/README new file mode 100644 index 00000000..eda4f1e5 --- /dev/null +++ b/main/lvm2/README @@ -0,0 +1,43 @@ +lvm2 +________________________________________________________________________________ + +Logical Volume Manager 2 utilities Device mapper userspace library and tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lvm2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] %url% diff --git a/main/lvm2/version b/main/lvm2/version new file mode 100644 index 00000000..e55e1231 --- /dev/null +++ b/main/lvm2/version @@ -0,0 +1 @@ +2.03.24 1 diff --git a/main/lynx/.PKGINFO b/main/lynx/.PKGINFO new file mode 100644 index 00000000..d8ffd840 --- /dev/null +++ b/main/lynx/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = lynx +pkgbase = lynx +xdata = pkgtype=pkg +pkgver = 2.9.1-1 +pkgdesc = A text browser for the World Wide Web +url = https://lynx.invisible-island.net/ +builddate = 1713312583 +packager = Developer +size = 5208995 +arch = x86_64 +license = GPL-2.0-only +backup = etc/lynx.cfg +depend = brotli +depend = bzip2 +depend = glibc +depend = libidn2 +depend = ncurses +depend = openssl +depend = zlib diff --git a/main/lynx/.nvchecker.toml b/main/lynx/.nvchecker.toml new file mode 100644 index 00000000..d0866227 --- /dev/null +++ b/main/lynx/.nvchecker.toml @@ -0,0 +1,4 @@ +[lynx] +source = "regex" +url = "https://lynx.invisible-island.net/" +regex = '/lynx(\d+\.\d+\.\d+)/' diff --git a/main/lynx/PKGBUILD b/main/lynx/PKGBUILD new file mode 100644 index 00000000..ccb80de9 --- /dev/null +++ b/main/lynx/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lynx +pkgver=%version% +pkgrel=%release% +pkgdesc='A text browser for the World Wide Web' +url='https://lynx.invisible-island.net/' +arch=(x86_64) +license=(GPL-2.0-only) +depends=(brotli + bzip2 + glibc + libidn2 + ncurses + openssl + zlib) +backup=(etc/lynx.cfg) +options=(!lto) +_archive="$pkgname$pkgver" +source=("https://invisible-mirror.net/archives/lynx/tarballs/$_archive.tar.bz2"{,.asc}) +sha256sums=('5bcae5e2e6043ca7b220963a97763c49c13218d849ffda6be7739bfd5a2d36ff' + 'SKIP') +validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas Dickey + +build() { + cd "$_archive" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-ssl=/usr \ + --enable-externs \ + --enable-nls \ + --enable-ipv6 \ + --mandir=/usr/share/man + make +} + +package() { + cd "$_archive" + make DESTDIR="$pkgdir" install + # FS#20404 - points to local help + sed -i -e "s|^HELPFILE.*$|HELPFILE:file:///usr/share/doc/lynx/lynx_help/lynx_help_main.html|" "${pkgdir}/etc/lynx.cfg" + install -d "$pkgdir/usr/share/doc/lynx" + cp -rf lynx_help "$pkgdir/usr/share/doc/lynx" +} diff --git a/main/lynx/README b/main/lynx/README new file mode 100644 index 00000000..9959d8d7 --- /dev/null +++ b/main/lynx/README @@ -0,0 +1,43 @@ +lynx +________________________________________________________________________________ + +A text browser for the World Wide Web + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lynx | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lynx.invisible-island.net/ diff --git a/main/lynx/version b/main/lynx/version new file mode 100644 index 00000000..1e63090b --- /dev/null +++ b/main/lynx/version @@ -0,0 +1 @@ +2.9.1 1 diff --git a/main/lz4/PKGBUILD b/main/lz4/PKGBUILD new file mode 100644 index 00000000..97d72e57 --- /dev/null +++ b/main/lz4/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lz4 +epoch=1 +pkgver=%version% +pkgrel=%release% +pkgdesc='Extremely fast compression algorithm' +arch=('x86_64') +url='https://lz4.github.io/lz4/' +license=('GPL2') +makedepends=('git' 'cmake' 'ninja') +checkdepends=('diffutils') +depends=('glibc') +source=("git+https://github.com/lz4/lz4.git#tag=v$pkgver") +sha256sums=('SKIP') + +build() { + cmake -B build -S "$pkgname"/build/cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE='None' \ + -DCMAKE_INSTALL_PREFIX='/usr' \ + -Wno-dev + cmake --build build +} + +check() { + rm -f passwd.lz4 + build/lz4 /etc/passwd passwd.lz4 + build/lz4 -d passwd.lz4 passwd + diff -q /etc/passwd passwd + rm passwd +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + +# vim:set ts=2 sw=2 et: diff --git a/main/lz4/README b/main/lz4/README new file mode 100644 index 00000000..04994a19 --- /dev/null +++ b/main/lz4/README @@ -0,0 +1,43 @@ +lz4 +________________________________________________________________________________ + +Extremely fast compression algorithm + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lz4 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://lz4.github.io/lz4/ diff --git a/main/lz4/version b/main/lz4/version new file mode 100644 index 00000000..c296d039 --- /dev/null +++ b/main/lz4/version @@ -0,0 +1 @@ +1.9.4 3 diff --git a/main/lzo/PKGBUILD b/main/lzo/PKGBUILD new file mode 100644 index 00000000..92d52c12 --- /dev/null +++ b/main/lzo/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lzo +pkgver=%version% +pkgrel=%release% +pkgdesc="Portable lossless data compression library" +arch=('x86_64') +url="https://www.oberhumer.com/opensource/lzo" +license=('GPL') +depends=('glibc') +provides=('liblzo2.so' 'libminilzo.so') +source=(https://www.oberhumer.com/opensource/lzo/download/lzo-${pkgver}.tar.gz) +sha256sums=('c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072') + +build() { + cd lzo-${pkgver} + ./configure --prefix=/usr --enable-shared + make + + # build minilzo + gcc $CPPFLAGS $CFLAGS -fpic -Iinclude/lzo -o minilzo/minilzo.o -c minilzo/minilzo.c + gcc $LDFLAGS -shared -o libminilzo.so.0 -Wl,-soname,libminilzo.so.0 minilzo/minilzo.o +} + +check() { + cd lzo-${pkgver} + make test # Larger test + make check +} + +package() { + cd lzo-${pkgver} + make DESTDIR="${pkgdir}" install + + # install minilzo + install -m 755 libminilzo.so.0 "${pkgdir}"/usr/lib + install -p -m 644 minilzo/minilzo.h ${pkgdir}/usr/include/lzo + cd "${pkgdir}"/usr/lib + ln -s libminilzo.so.0 libminilzo.so +} diff --git a/main/lzo/README b/main/lzo/README new file mode 100644 index 00000000..3390ec48 --- /dev/null +++ b/main/lzo/README @@ -0,0 +1,43 @@ +lzo +________________________________________________________________________________ + +Portable lossless data compression library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lzo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.oberhumer.com/opensource/lzo diff --git a/main/lzo/version b/main/lzo/version new file mode 100644 index 00000000..3ffb3f9a --- /dev/null +++ b/main/lzo/version @@ -0,0 +1 @@ +2.10 5 diff --git a/main/lzop/PKGBUILD b/main/lzop/PKGBUILD new file mode 100644 index 00000000..043a4552 --- /dev/null +++ b/main/lzop/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=lzop +pkgver=%version% +pkgrel=%release% +pkgdesc='File compressor using lzo lib' +url='https://www.lzop.org/' +arch=('x86_64') +license=('GPL') +depends=('lzo') +source=(https://www.lzop.org/download/${pkgname}-${pkgver}.tar.gz) +sha512sums=('5829b4495ffefab549aa697a05c536ce593c572c9eee6004460583a0090abcd317c6074c4f981dfee6be61ac8d127f02dd37053b6cb782af64db41586a8bbb6e') + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/lzop/README b/main/lzop/README new file mode 100644 index 00000000..33dab906 --- /dev/null +++ b/main/lzop/README @@ -0,0 +1,43 @@ +lzop +________________________________________________________________________________ + +File compressor using lzo lib + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S lzop | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.lzop.org/ diff --git a/main/lzop/version b/main/lzop/version new file mode 100644 index 00000000..378a417e --- /dev/null +++ b/main/lzop/version @@ -0,0 +1 @@ +1.04 3 diff --git a/main/m4/PKGBUILD b/main/m4/PKGBUILD new file mode 100644 index 00000000..c3f10c6d --- /dev/null +++ b/main/m4/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=m4 +pkgver=%version% +pkgrel=%release% +pkgdesc="The GNU macro processor" +arch=('x86_64') +url="https://www.gnu.org/software/m4" +license=('GPL3') +depends=('glibc' 'bash') +source=("https://ftp.gnu.org/gnu/m4/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96' + 'SKIP') +validpgpkeys=('71C2CC22B1C4602927D2F3AAA7A16B4A2527436A') # Eric Blake + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make prefix="${pkgdir}"/usr install +} diff --git a/main/m4/README b/main/m4/README new file mode 100644 index 00000000..1f7f2b17 --- /dev/null +++ b/main/m4/README @@ -0,0 +1,43 @@ +m4 +________________________________________________________________________________ + +The GNU macro processor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S m4 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/m4 diff --git a/main/m4/version b/main/m4/version new file mode 100644 index 00000000..c5fa1166 --- /dev/null +++ b/main/m4/version @@ -0,0 +1 @@ +1.4.19 3 diff --git a/main/mailcap/PKGBUILD b/main/mailcap/PKGBUILD new file mode 100644 index 00000000..e3659c4e --- /dev/null +++ b/main/mailcap/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mailcap +pkgver=%version% +pkgrel=%release% +pkgdesc="Helper application and MIME type associations for file types" +url="https://pagure.io/mailcap" +arch=(any) +license=(MIT) +makedepends=(git) +checkdepends=(python) +provides=(mime-types) +conflicts=(mime-types) +replaces=(mime-types) +backup=( + etc/mailcap + etc/mime.types + etc/nginx/mime.types +) +_commit=9699055a1b4dfb90f7594ee2e8dda705fa56d3b8 # tags/r2-1-54 +source=("git+https://pagure.io/mailcap#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd mailcap + git describe --tags | sed 's/^r//;s/-/./;s/-/./;s/-/+/g' +} + +build() { + cd mailcap + make +} + +check() { + cd mailcap + make check +} + +package() { + cd mailcap + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/mailcap/README b/main/mailcap/README new file mode 100644 index 00000000..cdff2444 --- /dev/null +++ b/main/mailcap/README @@ -0,0 +1,43 @@ +mailcap +________________________________________________________________________________ + +Helper application and MIME type associations for file types + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mailcap | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pagure.io/mailcap diff --git a/main/mailcap/version b/main/mailcap/version new file mode 100644 index 00000000..f7fa90d5 --- /dev/null +++ b/main/mailcap/version @@ -0,0 +1 @@ +2.1.54 1 diff --git a/main/make/PKGBUILD b/main/make/PKGBUILD new file mode 100644 index 00000000..f785f585 --- /dev/null +++ b/main/make/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=make +pkgver=%version% +pkgrel=%release% +pkgdesc="GNU make utility to maintain groups of programs" +arch=('x86_64') +url="https://www.gnu.org/software/make" +license=('GPL3') +depends=('glibc' 'guile') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.lz"{,.sig}) +sha256sums=('8814ba072182b605d156d7589c19a43b89fc58ea479b9355146160946f8cf6e9' + 'SKIP') +validpgpkeys=('6D4EEB02AD834703510B117680CB727A20C79BB2') # Paul Smith + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + make -k check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/make/README b/main/make/README new file mode 100644 index 00000000..00c3b8d8 --- /dev/null +++ b/main/make/README @@ -0,0 +1,43 @@ +make +________________________________________________________________________________ + +GNU make utility to maintain groups of programs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S make | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/make diff --git a/main/make/version b/main/make/version new file mode 100644 index 00000000..c468b852 --- /dev/null +++ b/main/make/version @@ -0,0 +1 @@ +4.4.1 2 diff --git a/main/man-db/.PKGINFO b/main/man-db/.PKGINFO new file mode 100644 index 00000000..869f5587 --- /dev/null +++ b/main/man-db/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = man-db +pkgbase = man-db +xdata = pkgtype=pkg +pkgver = 2.12.1-1 +pkgdesc = A utility for reading man pages +url = https://gitlab.com/man-db/man-db +builddate = 1712542325 +packager = Developer +size = 2427101 +arch = x86_64 +license = GPL-2.0-or-later AND GPL-3.0-or-later +replaces = man +conflict = man +provides = man +backup = etc/man_db.conf +depend = bash +depend = gdbm +depend = zlib +depend = groff +depend = libpipeline +depend = less +depend = libseccomp +depend = glibc +optdepend = gzip +makedepend = po4a diff --git a/main/man-db/.nvchecker.toml b/main/man-db/.nvchecker.toml new file mode 100644 index 00000000..36a26bea --- /dev/null +++ b/main/man-db/.nvchecker.toml @@ -0,0 +1,4 @@ +[man-db] +source = "gitlab" +gitlab = "man-db/man-db" +use_max_tag = true diff --git a/main/man-db/PKGBUILD b/main/man-db/PKGBUILD new file mode 100644 index 00000000..7abee286 --- /dev/null +++ b/main/man-db/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=man-db +pkgver=%version% +pkgrel=%release% +pkgdesc="A utility for reading man pages" +arch=('x86_64') +url="https://gitlab.com/man-db/man-db" +license=('GPL' 'LGPL') +depends=( 'bash' 'gdbm' 'zlib' 'groff' 'libpipeline' 'less' 'libseccomp' 'glibc') +makedepends=('po4a') +optdepends=('gzip') # covered by virtual "base" package +backup=('etc/man_db.conf') +conflicts=('man') +provides=('man') +replaces=('man') +install=${pkgname}.install +source=(https://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.xz{,.asc} + # fallback should be used within first 24h after a release + #https://download-mirror.savannah.gnu.org/releases/man-db/$pkgname-$pkgver.tar.xz{,.asc} +) +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson +sha512sums=('4b644a508cf10ef6d27b6325b08f8a89e0695bbc1409bf420efd27649c6851860cc472c4d86063f7b71dccd01fb158faa82afa1e2b91c9a20154acf66b0349bf' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-snapdir=/var/lib/snapd/snap \ + --with-db=gdbm \ + --disable-setuid \ + --enable-cache-owner=root \ + --enable-mandirs=GNU \ + --with-sections="1 1p n l 8 3 3p 0 0p 2 3type 5 4 9 6 7" + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # part of groff pkg + rm -f ${pkgdir}/usr/bin/zsoelim + + install -d -m755 ${pkgdir}/usr/lib/systemd/system/timers.target.wants + ln -s ../man-db.timer ${pkgdir}/usr/lib/systemd/system/timers.target.wants/man-db.timer +} diff --git a/main/man-db/README b/main/man-db/README new file mode 100644 index 00000000..122e5be8 --- /dev/null +++ b/main/man-db/README @@ -0,0 +1,43 @@ +man-db +________________________________________________________________________________ + +A utility for reading man pages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S man-db | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/man-db/man-db diff --git a/main/man-db/man-db.install b/main/man-db/man-db.install new file mode 100644 index 00000000..8db2147a --- /dev/null +++ b/main/man-db/man-db.install @@ -0,0 +1,11 @@ +post_upgrade() { + # force database rebuild as recommended per upstream + if [ "`vercmp $2 2.7.0`" -lt 0 ]; then + echo "(re)building database..." + mandb -c --quiet + fi +} + +post_remove() { + rm -rf /var/cache/man +} diff --git a/main/man-db/version b/main/man-db/version new file mode 100644 index 00000000..f30894e2 --- /dev/null +++ b/main/man-db/version @@ -0,0 +1 @@ +2.12.0 1 diff --git a/main/man-pages/.PKGINFO b/main/man-pages/.PKGINFO new file mode 100644 index 00000000..67149ec2 --- /dev/null +++ b/main/man-pages/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = man-pages +pkgbase = man-pages +xdata = pkgtype=pkg +pkgver = 6.8-1 +pkgdesc = Linux man pages +url = https://www.kernel.org/doc/man-pages/ +builddate = 1716419863 +packager = Developer +size = 5728286 +arch = any +license = BSD-2-Clause +license = BSD-3-Clause +license = BSD-4.3TAHOE +license = BSD-4-Clause-UC +license = GPL-1.0-or-later +license = GPL-2.0-only +license = GPL-2.0-or-later +license = LGPL-3.0-or-later +license = LGPL-3.0-linking-exception +license = LicenseRef-Public-Domain +license = LicenseRef-UltraPermissive +license = Linux-man-pages-1-para +license = Linux-man-pages-copyleft +license = Linux-man-pages-copyleft-2-para +license = Linux-man-pages-copyleft-var +license = MIT +license = Spencer-94 +makedepend = man2html +makedepend = git diff --git a/main/man-pages/.nvchecker.toml b/main/man-pages/.nvchecker.toml new file mode 100644 index 00000000..553c724d --- /dev/null +++ b/main/man-pages/.nvchecker.toml @@ -0,0 +1,5 @@ +[man-pages] +source = "git" +git = "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git" +use_max_tag = true +prefix = "man-pages-" diff --git a/main/man-pages/PKGBUILD b/main/man-pages/PKGBUILD new file mode 100644 index 00000000..21740092 --- /dev/null +++ b/main/man-pages/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=man-pages +pkgver=%version% +_posixver=2017-a +pkgrel=%release% +pkgdesc="Linux man pages" +arch=('any') +license=(BSD-2-Clause + BSD-3-Clause + BSD-4.3TAHOE + BSD-4-Clause-UC + GPL-1.0-or-later + GPL-2.0-only + GPL-2.0-or-later + LGPL-3.0-or-later + LGPL-3.0-linking-exception + LicenseRef-Public-Domain + LicenseRef-UltraPermissive + Linux-man-pages-1-para + Linux-man-pages-copyleft + Linux-man-pages-copyleft-2-para + Linux-man-pages-copyleft-var + MIT + Spencer-94) +url="https://www.kernel.org/doc/man-pages/" +makedepends=('man2html' 'git') +# https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/ +source=(https://www.kernel.org/pub/linux/docs/man-pages/$pkgname-$pkgver.tar.{xz,sign} + https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/$pkgname-posix-${_posixver}.tar.{xz,sign}) +# https://www.kernel.org/pub/linux/docs/man-pages/sha256sums.asc +sha256sums=('82403ad4bc17aadb924f68638b79d6930b2cbd551531248a7a9688779db4efb2' + 'SKIP' + 'ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3' + 'SKIP') +validpgpkeys=('E522595B52EDA4E6BFCCCB5E856199113A35CE5E') # Michael Kerrisk (Linux man-pages maintainer) +# + for posix tarball +validpgpkeys+=('A9348594CE31283A826FBDD8D57633D441E25BB5') # Alejandro Colomar Andres + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + + # included in shadow + rm man5/passwd.5 + rm man3/getspnam.3 + # included in tzdata + rm man5/tzfile.5 man8/{tzselect,zdump,zic}.8 + # included in libxcrypt + rm man3/crypt*.3 + # nscd is dead + rm man5/nscd.conf.5 man8/nscd.8 +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + + # install man-pages + make DESTDIR="${pkgdir}" prefix=/usr install + + # install posix pages + pushd "${srcdir}"/$pkgname-posix-${_posixver%-*} + make DESTDIR="${pkgdir}" install + popd + + # posix pages have a custom license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}"/$pkgname-$pkgver/LICENSES/* "${pkgdir}/usr/share/licenses/${pkgname}"/ + install -m644 "${srcdir}"/$pkgname-posix-${_posixver%-*}/POSIX-COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/POSIX-COPYRIGHT" +} diff --git a/main/man-pages/README b/main/man-pages/README new file mode 100644 index 00000000..64bff9fb --- /dev/null +++ b/main/man-pages/README @@ -0,0 +1,43 @@ +man-pages +________________________________________________________________________________ + +Linux man pages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S man-pages | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org/doc/man-pages/ diff --git a/main/man-pages/version b/main/man-pages/version new file mode 100644 index 00000000..41fc191f --- /dev/null +++ b/main/man-pages/version @@ -0,0 +1 @@ +6.8 1 diff --git a/main/mc/.nvchecker.toml b/main/mc/.nvchecker.toml new file mode 100644 index 00000000..419c066b --- /dev/null +++ b/main/mc/.nvchecker.toml @@ -0,0 +1,4 @@ +[mc] +source = "github" +github = "MidnightCommander/mc" +use_max_tag = true diff --git a/main/mc/PKGBUILD b/main/mc/PKGBUILD new file mode 100644 index 00000000..3b8b137f --- /dev/null +++ b/main/mc/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mc +pkgver=%version% +pkgrel=%release% +pkgdesc='A file manager that emulates Norton Commander' +arch=('x86_64') +url='https://midnight-commander.org/' +license=('GPL-3.0-or-later') +depends=( + 'e2fsprogs' + 'glib2' + 'glibc' + 'gpm' + 'libssh2' + 'sh' + 'slang' + 'which' +) +makedepends=( + 'aspell' + 'git' + 'libxt' + 'libx11' + 'unzip' +) +optdepends=( + 'aspell: spelling corrections' + 'cabextract: ucab extfs' + 'cdparanoia: audio extfs' + 'cdrkit: iso9660 extfs' + 'cvs: CVS support' + 'gawk: hp48+ extfs' + 'mtools: a+ extfs' + 'p7zip: support for 7zip archives' + 'perl: needed by several extfs scripts' + 'python: to access uc1541 or s3 storage' + 'unace: uace extfs' + 'unarj: uarj extfs' + 'unrar: urar extfs' + 'unzip: open zip archives' + 'zip: uzip extfs' +) +backup=( + 'etc/mc/edit.indent.rc' + 'etc/mc/filehighlight.ini' + 'etc/mc/mc.ext' + 'etc/mc/mc.keymap' + 'etc/mc/mc.menu' + 'etc/mc/mcedit.menu' + 'etc/mc/sfs.ini' +) +options=('!emptydirs') +source=("git+https://github.com/MidnightCommander/mc#tag=$pkgver") +sha256sums=('70a9fa0da9da13b82e6a612f132626bba4d685078a74884d8d0f2b6abdf317e1') + +prepare() { + cd "$pkgname" + + ./autogen.sh +} + +build() { + cd "$pkgname" + + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --enable-aspell \ + --with-screen=slang \ + --with-x + + make +} + +package() { + cd "$pkgname" + + make DESTDIR="$pkgdir" install + + # FS#50889: Replace mc.keymap symlink with target file to fix backup mechanism. + rm "$pkgdir/etc/mc/mc.keymap" + cp "$pkgdir"/etc/mc/mc{.default,}.keymap + # remove s3 support until it no longer depends on deprecated python-boto: + # https://midnight-commander.org/ticket/3904 + rm -v "$pkgdir/usr/lib/mc/extfs.d/s3+" +} diff --git a/main/mc/README b/main/mc/README new file mode 100644 index 00000000..ebd38ddc --- /dev/null +++ b/main/mc/README @@ -0,0 +1,43 @@ +mc +________________________________________________________________________________ + +A file manager that emulates Norton Commander + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://midnight-commander.org/ diff --git a/main/mc/version b/main/mc/version new file mode 100644 index 00000000..26b81aff --- /dev/null +++ b/main/mc/version @@ -0,0 +1 @@ +4.8.31 3 diff --git a/main/md4c/.nvchecker.toml b/main/md4c/.nvchecker.toml new file mode 100644 index 00000000..d4a8787a --- /dev/null +++ b/main/md4c/.nvchecker.toml @@ -0,0 +1,5 @@ +[md4c] +source = 'github' +github = 'mity/md4c' +use_max_tag = true +prefix = 'release-' diff --git a/main/md4c/PKGBUILD b/main/md4c/PKGBUILD new file mode 100644 index 00000000..23148cc7 --- /dev/null +++ b/main/md4c/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=md4c +pkgver=%version% +pkgrel=%release% +pkgdesc='C Markdown parser' +arch=(x86_64) +url='https://github.com/mity/md4c' +license=(MIT) +depends=(glibc) +makedepends=(cmake) +source=($pkgname-$pkgver.tar.gz::"https://github.com/mity/md4c/archive/release-$pkgver.tar.gz") +sha256sums=('55d0111d48fb11883aaee91465e642b8b640775a4d6993c2d0e7a8092758ef21') + +build() { + cmake -B build -S $pkgname-release-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 $pkgname-release-$pkgver/LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/md4c/README b/main/md4c/README new file mode 100644 index 00000000..38dbfa28 --- /dev/null +++ b/main/md4c/README @@ -0,0 +1,43 @@ +md4c +________________________________________________________________________________ + +C Markdown parser + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S md4c | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/mity/md4c diff --git a/main/md4c/version b/main/md4c/version new file mode 100644 index 00000000..b6c71939 --- /dev/null +++ b/main/md4c/version @@ -0,0 +1 @@ +0.5.2 1 diff --git a/main/mdadm/PKGBUILD b/main/mdadm/PKGBUILD new file mode 100644 index 00000000..bea2ffe5 --- /dev/null +++ b/main/mdadm/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mdadm +pkgver=%version% +pkgrel=%release% +pkgdesc='A tool for managing/monitoring Linux md device arrays, also known as Software RAID' +arch=('x86_64') +license=('GPL-2.0-or-later') +url='https://git.kernel.org/pub/scm/utils/mdadm' +makedepends=('git') +depends=('glibc' 'systemd') +conflicts=('mkinitcpio<38') +optdepends=('bash: mdcheck') +replaces=('raidtools') +backup=('etc/mdadm.conf') +validpgpkeys=('6A86B80E1D22F21D0B26BA75397D82E0531A9C91' # Jes Sorensen + 'EED84966493AEEAF4B466F696F9E3E9D4EDEBB11' # Mariusz Tkaczyk + ) +source=("git+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git#tag=${pkgname}-${pkgver}?signed" + 'mdadm.conf') +sha256sums=('SKIP' + '4ce1e90690282f98e4828e11576fbd61be65e97a2cdae6c7eac7035ea5ee53e5') + +build() { + cd mdadm + + make CXFLAGS="$CFLAGS" BINDIR=/usr/bin UDEVDIR=/usr/lib/udev +} + +package() { + cd mdadm + + make INSTALL=/usr/bin/install BINDIR=/usr/bin DESTDIR="$pkgdir" UDEVDIR=/usr/lib/udev install + make SYSTEMD_DIR="$pkgdir"/usr/lib/systemd/system install-systemd + install -D -m644 ../mdadm.conf "$pkgdir"/etc/mdadm.conf + install -D -m755 misc/mdcheck "$pkgdir"/usr/share/mdadm/mdcheck +} diff --git a/main/mdadm/README b/main/mdadm/README new file mode 100644 index 00000000..601c747b --- /dev/null +++ b/main/mdadm/README @@ -0,0 +1,43 @@ +mdadm +________________________________________________________________________________ + +A tool for managing/monitoring Linux md device arrays, also known as Software RAID + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mdadm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/utils/mdadm diff --git a/main/mdadm/mdadm.conf b/main/mdadm/mdadm.conf new file mode 100644 index 00000000..36eaa0cc --- /dev/null +++ b/main/mdadm/mdadm.conf @@ -0,0 +1,67 @@ +# mdadm configuration file +# +# mdadm will function properly without the use of a configuration file, +# but this file is useful for keeping track of arrays and member disks. +# In general, a mdadm.conf file is created, and updated, after arrays +# are created. This is the opposite behavior of /etc/raidtab which is +# created prior to array construction. +# +# +# the config file takes two types of lines: +# +# DEVICE lines specify a list of devices of where to look for +# potential member disks +# +# ARRAY lines specify information about how to identify arrays so +# so that they can be activated +# + + +# You can have more than one device line and use wild cards. The first +# example includes SCSI the first partition of SCSI disks /dev/sdb, +# /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second +# line looks for array slices on IDE disks. +# +#DEVICE /dev/sd[bcdjkl]1 +#DEVICE /dev/hda1 /dev/hdb1 +# +# The designation "partitions" will scan all partitions found in +# /proc/partitions +DEVICE partitions + + +# ARRAY lines specify an array to assemble and a method of identification. +# Arrays can currently be identified by using a UUID, superblock minor number, +# or a listing of devices. +# +# super-minor is usually the minor number of the metadevice +# UUID is the Universally Unique Identifier for the array +# Each can be obtained using +# +# mdadm -D +# +# To capture the UUIDs for all your RAID arrays to this file, run these: +# to get a list of running arrays: +# # mdadm -D --scan >>/etc/mdadm.conf +# to get a list from superblocks: +# # mdadm -E --scan >>/etc/mdadm.conf +# +#ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 +#ARRAY /dev/md1 super-minor=1 +#ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 +# +# ARRAY lines can also specify a "spare-group" for each array. mdadm --monitor +# will then move a spare between arrays in a spare-group if one array has a +# failed drive but no spare +#ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df spare-group=group1 +#ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 spare-group=group1 +# + + +# When used in --follow (aka --monitor) mode, mdadm needs a +# mail address and/or a program. To start mdadm's monitor mode, enable +# mdadm.service in systemd. +# +# If the lines are not found, mdadm will exit quietly +#MAILADDR root@mydomain.tld +#PROGRAM /usr/sbin/handle-mdadm-events diff --git a/main/mdadm/version b/main/mdadm/version new file mode 100644 index 00000000..e47357bf --- /dev/null +++ b/main/mdadm/version @@ -0,0 +1 @@ +4.3 2 diff --git a/main/media-player-info/PKGBUILD b/main/media-player-info/PKGBUILD new file mode 100644 index 00000000..c9fe4389 --- /dev/null +++ b/main/media-player-info/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=media-player-info +pkgver=%version% +pkgrel=%release% +pkgdesc="Data files describing media player capabilities, for post-HAL systems" +arch=('any') +license=('BSD') +url="https://www.freedesktop.org/wiki/Software/media-player-info/" +depends=('systemd') +makedepends=('python' git) +_commit=337c758d95cc37f5a1b7a2a065e2e2cd8a75c4d8 # tags/24^0 +source=("git+https://anongit.freedesktop.org/git/media-player-info#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + NOCONFIGURE=1 ./autogen.sh +} + +check() { + cd $pkgname + make check +} + +build() { + cd $pkgname + + ./configure --prefix=/usr \ + --with-udevdir=/usr/lib/udev + LANG="en_US.UTF-8" make +} + +package() { + cd "$pkgname" + make DESTDIR="$pkgdir" install + + install -d "$pkgdir/usr/share/licenses/$pkgname" + install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/media-player-info/README b/main/media-player-info/README new file mode 100644 index 00000000..19709746 --- /dev/null +++ b/main/media-player-info/README @@ -0,0 +1,43 @@ +media-player-info +________________________________________________________________________________ + +Data files describing media player capabilities, for post-HAL systems + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S media-player-info | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/media-player-info/ diff --git a/main/media-player-info/version b/main/media-player-info/version new file mode 100644 index 00000000..5b2e3c73 --- /dev/null +++ b/main/media-player-info/version @@ -0,0 +1 @@ +24 2 diff --git a/main/mesa-demos/.nvchecker.toml b/main/mesa-demos/.nvchecker.toml new file mode 100644 index 00000000..d91a9da7 --- /dev/null +++ b/main/mesa-demos/.nvchecker.toml @@ -0,0 +1,6 @@ +[mesa-demos] +source = "gitlab" +gitlab = "mesa/demos" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "mesa-demos-" diff --git a/main/mesa-demos/LICENSE b/main/mesa-demos/LICENSE new file mode 100644 index 00000000..ae33d270 --- /dev/null +++ b/main/mesa-demos/LICENSE @@ -0,0 +1,82 @@ +Disclaimer + +Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from Silicon Graphics, +Inc.(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. + +Please do not refer to the library as MesaGL (for legal +reasons). It's just Mesa or The Mesa 3-D graphics +library + +* OpenGL is a trademark of Silicon Graphics Incorporated. + +License / Copyright Information + +The Mesa distribution consists of several components. Different copyrights +and licenses apply to different components. For example, GLUT is copyrighted +by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa +device drivers are copyrighted by their authors. See below for a list of +Mesa's main components and the license for each. + +The core Mesa library is licensed according to the terms of the MIT license. +This allows integration with the XFree86, Xorg and DRI projects. + +The default Mesa license is as follows: + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Attention, Contributors + +When contributing to the Mesa project you must agree to the licensing terms +of the component to which you're contributing. +The following section lists the primary components of the Mesa distribution +and their respective licenses. + + +Mesa Component Licenses + +Component Location Primary Author License +---------------------------------------------------------------------------- +Main Mesa code src/mesa/ Brian Paul Mesa (MIT) + +Device drivers src/mesa/drivers/* See drivers See drivers + +Ext headers include/GL/glext.h SGI SGI Free B + include/GL/glxext.h + +GLUT src/glut/ Mark Kilgard Mark's copyright + +Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL + +SGI GLU library src/glu/sgi/ SGI SGI Free B + +demo programs progs/demos/ various see source files + +X demos progs/xdemos/ Brian Paul see source files + +SGI demos progs/samples/ SGI SGI copyright + +RedBook demos progs/redbook/ SGI SGI copyright diff --git a/main/mesa-demos/PKGBUILD b/main/mesa-demos/PKGBUILD new file mode 100644 index 00000000..eae2d95c --- /dev/null +++ b/main/mesa-demos/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=mesa-demos +pkgname=('mesa-demos' 'mesa-utils') +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url="https://www.mesa3d.org/" +license=('custom') +#makedepends=('meson' 'mesa' 'glu' 'freeglut' 'wayland-protocols') +makedepends=('meson' 'mesa' 'libxkbcommon-x11' + 'libdecor' 'glu' 'freeglut' + 'glslang' 'vulkan-headers' 'wayland-protocols') +source=(https://mesa.freedesktop.org/archive/demos/mesa-demos-${pkgver}.tar.xz{,.sig} + 'LICENSE') +sha512sums=('af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1' + 'SKIP' + '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2') +#validpgpkeys=('E390B9700582FAEA959ACAD41EEF53D38A3A9C67') # "Andreas Boll " +validpgpkeys=('FF4CF638C624C3CF21ED2CF227EF763A2AA39F96') # Erik Faye-Lund + +build() { + + arch-meson mesa-demos-$pkgver build \ + -D gles1=disabled \ + -D with-system-data-files=true + + # Print config + meson configure build + + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_mesa-demos() { + pkgdesc="Mesa demos" + depends=('libgl' 'glu' 'freeglut' 'libdecor' 'libxkbcommon') + install=mesa-demos.install + + DESTDIR="$pkgdir" meson install -C build + + # rename linktest to avoid fileconflict with haskell-tidal-link - FS#75919 + mv "$pkgdir"/usr/bin/linktest "$pkgdir"/usr/bin/linktest-mesa + + # remove utils + rm "${pkgdir}"/usr/bin/{glxinfo,glxgears,\ +eglinfo,eglgears_wayland,eglgears_x11,\ +eglkms,egltri_wayland,egltri_x11,\ +es2_info,es2gears_wayland,es2gears_x11,es2tri,\ +peglgears,xeglgears,\ +xeglthreads,vkgears} + + install -Dm 0644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +package_mesa-utils() { + pkgdesc="Essential Mesa utilities" + depends=('libgl' 'libdecor' 'libxkbcommon-x11') + provides=('glxinfo' 'glxgears' + 'eglinfo' 'eglgears' + 'es2info' 'es2gears') + + + install -Dm 0755 build/src/egl/opengl/\ +{eglinfo,eglgears_wayland,eglgears_x11,\ +eglkms,egltri_wayland,egltri_x11,\ +peglgears,xeglgears,xeglthreads} -t "${pkgdir}/usr/bin/" + + install -Dm 0755 build/src/egl/opengles2/\ +{es2_info,es2gears_wayland,es2gears_x11,es2tri} -t "${pkgdir}/usr/bin/" + + install -Dm 0755 build/src/xdemos/{glxinfo,glxgears} -t "${pkgdir}/usr/bin/" + install -Dm 0755 build/src/vulkan/vkgears -t "${pkgdir}/usr/bin/" + + install -Dm 0644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/mesa-demos/README b/main/mesa-demos/README new file mode 100644 index 00000000..9297dbd5 --- /dev/null +++ b/main/mesa-demos/README @@ -0,0 +1,43 @@ +mesa-demos +________________________________________________________________________________ + +Mesa demos Essential Mesa utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mesa-demos | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.mesa3d.org/ diff --git a/main/mesa-demos/mesa-demos.install b/main/mesa-demos/mesa-demos.install new file mode 100644 index 00000000..4d887e89 --- /dev/null +++ b/main/mesa-demos/mesa-demos.install @@ -0,0 +1,6 @@ +post_upgrade() { + if [ "`vercmp $2 8.4.0-5`" -lt 0 ]; then + echo ">>> glxinfo, eglinfo and glxgears are now part of" + echo ">>> the new \"mesa-utils\" package." + fi +} diff --git a/main/mesa-demos/version b/main/mesa-demos/version new file mode 100644 index 00000000..5d0025e9 --- /dev/null +++ b/main/mesa-demos/version @@ -0,0 +1 @@ +9.0.0 3 diff --git a/main/milou/.PKGINFO b/main/milou/.PKGINFO new file mode 100644 index 00000000..7e1e2a9d --- /dev/null +++ b/main/milou/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = milou +pkgbase = milou +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = A dedicated search application built on top of Baloo +url = https://kde.org/plasma-desktop/ +builddate = 1713663685 +packager = Developer +size = 291464 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kirigami +depend = krunner +depend = ksvg +depend = libplasma +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/milou/PKGBUILD b/main/milou/PKGBUILD new file mode 100644 index 00000000..0cc59a4d --- /dev/null +++ b/main/milou/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=milou +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='A dedicated search application built on top of Baloo' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kirigami + krunner + ksvg + libplasma + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2efbf9e2a644145d2da4a1040e6a2f4e547032eafc61190659bb571f8e7cd3a2' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/milou/README b/main/milou/README new file mode 100644 index 00000000..75446542 --- /dev/null +++ b/main/milou/README @@ -0,0 +1,43 @@ +milou +________________________________________________________________________________ + +A dedicated search application built on top of Baloo + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S milou | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/milou/version b/main/milou/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/milou/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/mkinitcpio-busybox/PKGBUILD b/main/mkinitcpio-busybox/PKGBUILD new file mode 100644 index 00000000..ceca6320 --- /dev/null +++ b/main/mkinitcpio-busybox/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mkinitcpio-busybox +pkgver=%version% +pkgrel=%release% +pkgdesc='Base initramfs tools' +arch=(x86_64) +url="https://www.busybox.net/" +license=(GPL) +depends=(glibc libxcrypt) +options=(!buildflags) +source=(https://busybox.net/downloads/busybox-$pkgver.tar.bz2{,.sig} + config) +sha256sums=('b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314' + 'SKIP' + 'f1a67ecda5b73a50e49953efaaa0be582e4b707cf5a6270519e28ee022098518') +validpgpkeys=('C9E9416F76E610DBD09D040F47B70C55ACC9965B') # Denis Vlasenko + +prepare() { + cd "busybox-$pkgver" + + local safeflags="-march=${CARCH/_/-} -mtune=generic -Os -pipe -fno-strict-aliasing" + + # use make oldconfig for updating the config file + sed 's|^\(CONFIG_EXTRA_CFLAGS\)=.*|\1="'"$safeflags"'"|' "$srcdir/config" > .config +} + +build() { + # reproducible build + export KCONFIG_NOTIMESTAMP=1 + make -C "busybox-$pkgver" +} + +package() { + install -Dm755 "$srcdir/busybox-$pkgver/busybox" "$pkgdir/usr/lib/initcpio/busybox" +} diff --git a/main/mkinitcpio-busybox/README b/main/mkinitcpio-busybox/README new file mode 100644 index 00000000..c4691762 --- /dev/null +++ b/main/mkinitcpio-busybox/README @@ -0,0 +1,43 @@ +mkinitcpio-busybox +________________________________________________________________________________ + +Base initramfs tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mkinitcpio-busybox | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.busybox.net/ diff --git a/main/mkinitcpio-busybox/config b/main/mkinitcpio-busybox/config new file mode 100644 index 00000000..90546607 --- /dev/null +++ b/main/mkinitcpio-busybox/config @@ -0,0 +1,1223 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.36.1 +# Mon Jun 26 13:06:20 2023 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_WTMP is not set +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +# CONFIG_STATIC is not set +CONFIG_PIE=y +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +# CONFIG_STATIC_LIBGCC is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=0 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y +CONFIG_SHA3_SMALL=0 +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=255 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +# CONFIG_GUNZIP is not set +# CONFIG_ZCAT is not set +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZCAT is not set +# CONFIG_UNLZMA is not set +# CONFIG_LZCAT is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZCAT is not set +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y +CONFIG_FEATURE_CPIO_RENUMBER_INODES=y +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +CONFIG_FEATURE_GZIP_LEVELS=y +CONFIG_FEATURE_GZIP_DECOMPRESS=y +CONFIG_LZOP=y +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +# CONFIG_FEATURE_UNZIP_BZIP2 is not set +# CONFIG_FEATURE_UNZIP_LZMA is not set +# CONFIG_FEATURE_UNZIP_XZ is not set +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +# CONFIG_FEATURE_TIMEZONE is not set + +# +# Common options for cp and mv +# +# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +CONFIG_CRC32=y +# CONFIG_COMM is not set +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +# CONFIG_DATE is not set +# CONFIG_FEATURE_DATE_ISOFMT is not set +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_EXPAND is not set +# CONFIG_UNEXPAND is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +# CONFIG_FACTOR is not set +CONFIG_FALSE=y +# CONFIG_FOLD is not set +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +# CONFIG_ID is not set +# CONFIG_GROUPS is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +# CONFIG_FEATURE_LS_COLOR is not set +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +# CONFIG_NICE is not set +# CONFIG_NL is not set +# CONFIG_NOHUP is not set +CONFIG_NPROC=y +# CONFIG_OD is not set +CONFIG_PASTE=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +# CONFIG_SHRED is not set +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +# CONFIG_FEATURE_SORT_BIG is not set +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +# CONFIG_STTY is not set +# CONFIG_SUM is not set +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +# CONFIG_TEST2 is not set +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_SUSV3 is not set +# CONFIG_TR is not set +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TSORT=y +# CONFIG_TTY is not set +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +# CONFIG_USLEEP is not set +# CONFIG_UUDECODE is not set +CONFIG_BASE32=y +CONFIG_BASE64=y +# CONFIG_UUENCODE is not set +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +# CONFIG_WHO is not set +# CONFIG_W is not set +# CONFIG_USERS is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Console Utilities +# +# CONFIG_CHVT is not set +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +# CONFIG_FGCONSOLE is not set +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +# CONFIG_RESET is not set +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +# CONFIG_CMP is not set +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +# CONFIG_FEATURE_VI_UNDO is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +# CONFIG_FIND is not set +# CONFIG_FEATURE_FIND_PRINT0 is not set +# CONFIG_FEATURE_FIND_MTIME is not set +# CONFIG_FEATURE_FIND_ATIME is not set +# CONFIG_FEATURE_FIND_CTIME is not set +# CONFIG_FEATURE_FIND_MMIN is not set +# CONFIG_FEATURE_FIND_AMIN is not set +# CONFIG_FEATURE_FIND_CMIN is not set +# CONFIG_FEATURE_FIND_PERM is not set +# CONFIG_FEATURE_FIND_TYPE is not set +# CONFIG_FEATURE_FIND_EXECUTABLE is not set +# CONFIG_FEATURE_FIND_XDEV is not set +# CONFIG_FEATURE_FIND_MAXDEPTH is not set +# CONFIG_FEATURE_FIND_NEWER is not set +# CONFIG_FEATURE_FIND_INUM is not set +# CONFIG_FEATURE_FIND_SAMEFILE is not set +# CONFIG_FEATURE_FIND_EXEC is not set +# CONFIG_FEATURE_FIND_EXEC_PLUS is not set +# CONFIG_FEATURE_FIND_USER is not set +# CONFIG_FEATURE_FIND_GROUP is not set +# CONFIG_FEATURE_FIND_NOT is not set +# CONFIG_FEATURE_FIND_DEPTH is not set +# CONFIG_FEATURE_FIND_PAREN is not set +# CONFIG_FEATURE_FIND_SIZE is not set +# CONFIG_FEATURE_FIND_PRUNE is not set +# CONFIG_FEATURE_FIND_QUIT is not set +# CONFIG_FEATURE_FIND_DELETE is not set +# CONFIG_FEATURE_FIND_EMPTY is not set +# CONFIG_FEATURE_FIND_PATH is not set +# CONFIG_FEATURE_FIND_REGEX is not set +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_FEATURE_GREP_CONTEXT is not set +# CONFIG_XARGS is not set +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set +# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set +# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +# CONFIG_LINUXRC is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=0 +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +# CONFIG_GETTY is not set +# CONFIG_LOGIN is not set +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +# CONFIG_PASSWD is not set +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_DEPMOD is not set +# CONFIG_INSMOD is not set +# CONFIG_LSMOD is not set +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_RMMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="" +CONFIG_DEFAULT_DEPMOD_FILE="" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKDISCARD=y +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +# CONFIG_FEATURE_FDISK_WRITABLE is not set +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_HD is not set +CONFIG_XXD=y +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IONICE is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +# CONFIG_LSUSB is not set +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +# CONFIG_MORE is not set +# CONFIG_MOUNT is not set +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +# CONFIG_FEATURE_MOUNT_LABEL is not set +# CONFIG_FEATURE_MOUNT_NFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +# CONFIG_FEATURE_MOUNT_FLAGS is not set +# CONFIG_FEATURE_MOUNT_FSTAB is not set +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +CONFIG_NSENTER=y +# CONFIG_PIVOT_ROOT is not set +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_RENICE is not set +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +# CONFIG_LINUX32 is not set +# CONFIG_LINUX64 is not set +# CONFIG_SETPRIV is not set +# CONFIG_FEATURE_SETPRIV_DUMP is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set +# CONFIG_SETSID is not set +# CONFIG_SWAPON is not set +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWAPOFF is not set +# CONFIG_FEATURE_SWAPONOFF_LABEL is not set +# CONFIG_SWITCH_ROOT is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set +# CONFIG_UEVENT is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +# CONFIG_VOLUMEID is not set +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EROFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_F2FS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +# CONFIG_DC is not set +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CDETECT is not set +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_LSSCSI=y +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +CONFIG_MIM=y +# CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SEEDRNG=y +CONFIG_SETFATTR=y +# CONFIG_SETSERIAL is not set +CONFIG_STRINGS=y +# CONFIG_TIME is not set +CONFIG_TREE=y +CONFIG_TS=y +# CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set +# CONFIG_VOLNAME is not set +# CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +# CONFIG_FEATURE_HWIB is not set +# CONFIG_FEATURE_TLS_SHA1 is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_HTTPD is not set +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_FEATURE_NSLOOKUP_BIG is not set +# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +# CONFIG_FEATURE_NTP_AUTH is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set +CONFIG_TCPSVD=y +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +# CONFIG_FEATURE_TELNET_TTYPE is not set +# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set +CONFIG_FEATURE_TELNET_WIDTH=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +# CONFIG_TFTPD is not set +CONFIG_FEATURE_TFTP_GET=y +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +# CONFIG_UDHCPD is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +CONFIG_UDHCPC=y +# CONFIG_FEATURE_UDHCPC_ARPING is not set +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script" +CONFIG_UDHCPC6=y +CONFIG_FEATURE_UDHCPC6_RFC3646=y +CONFIG_FEATURE_UDHCPC6_RFC4704=y +CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" +CONFIG_FEATURE_UDHCP_PORT=y +CONFIG_UDHCP_DEBUG=9 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_SHOW_THREADS is not set +CONFIG_FREE=y +# CONFIG_FUSER is not set +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_LSOF is not set +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +CONFIG_PGREP=y +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +CONFIG_FEATURE_PS_LONG=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +# CONFIG_BB_SYSCTL is not set +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_INTERACTIVE is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVC is not set +# CONFIG_SVOK is not set +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +# CONFIG_ASH_INTERNAL_GLOB is not set +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +# CONFIG_FEATURE_SH_HISTFILESIZE is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +# CONFIG_LOGGER is not set +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/main/mkinitcpio-busybox/version b/main/mkinitcpio-busybox/version new file mode 100644 index 00000000..fd85f73d --- /dev/null +++ b/main/mkinitcpio-busybox/version @@ -0,0 +1 @@ +1.36.1 1 diff --git a/main/mkinitcpio-nfs-utils/PKGBUILD b/main/mkinitcpio-nfs-utils/PKGBUILD new file mode 100644 index 00000000..164f849f --- /dev/null +++ b/main/mkinitcpio-nfs-utils/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mkinitcpio-nfs-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio" +arch=('x86_64') +url="http://www.archlinux.org/" +license=('GPL2') +depends=('glibc') +source=("https://sources.archlinux.org/other/mkinitcpio/$pkgname-$pkgver.tar.xz" + 'nfsmount-fix-wrong-umount-path.patch' + 'initcpio-install-net' + 'initcpio-hook-net') +sha256sums=('d290d489844fae100ca7b848b8eef40078124ff373203086bacc07329d1e8939' + '6edb239f3d541b8ddee816e2d18bfb3ee1d3f5f8827769674cc8bf2a7ce38f21' + 'ce9f021763c020b9b62a761974437fd1e9e894df3effc58e71671bf83b061255' + '29a5a4a9ebd61bfa1afbb8dcaf2187e487ee1f34b1979a85a853fa2acbeb510e') + +build() { + cd "$pkgname-$pkgver" + + # upstream commit 029622dfbfe25203275a385a5bf33d44c2409b00 + patch -Np1 < "$srcdir/nfsmount-fix-wrong-umount-path.patch" + + make +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # override hooks, they need updates + install -m644 "$srcdir/initcpio-install-net" "$pkgdir/usr/lib/initcpio/install/net" + install -m644 "$srcdir/initcpio-hook-net" "$pkgdir/usr/lib/initcpio/hooks/net" +} diff --git a/main/mkinitcpio-nfs-utils/README b/main/mkinitcpio-nfs-utils/README new file mode 100644 index 00000000..8a02f16e --- /dev/null +++ b/main/mkinitcpio-nfs-utils/README @@ -0,0 +1,43 @@ +mkinitcpio-nfs-utils +________________________________________________________________________________ + +ipconfig and nfsmount tools for NFS root support in mkinitcpio + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mkinitcpio-nfs-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.archlinux.org/ diff --git a/main/mkinitcpio-nfs-utils/initcpio-hook-net b/main/mkinitcpio-nfs-utils/initcpio-hook-net new file mode 100644 index 00000000..4d1ebb95 --- /dev/null +++ b/main/mkinitcpio-nfs-utils/initcpio-hook-net @@ -0,0 +1,90 @@ +# vim: set ft=sh: +run_hook() { + local line i net_mac bootif_mac bootif_dev defaultrootpath defaultserver + # These variables will be parsed from /tmp/net-*.conf generated by ipconfig + local DEVICE + local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 + local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH + local filename + # /tmp/net-*.conf + + if [ -z "${ip}" -a -n "${nfsaddrs}" ]; then + ip="${nfsaddrs}" + fi + + if [ -n "${ip}" ]; then + if [ -n "${BOOTIF}" ]; then + bootif_mac=${BOOTIF#01-} + bootif_mac=${bootif_mac//-/:} + for i in /sys/class/net/*/address; do + read net_mac < ${i} + if [ "${bootif_mac}" == "${net_mac}" ]; then + bootif_dev=${i#/sys/class/net/} + bootif_dev=${bootif_dev%/address} + break + fi + done + ip="${ip}::${bootif_dev}" + fi + + # setup network and save some values + ipconfig "ip=${ip}" + + for conf in /tmp/net-*.conf; do + [ -f "$conf" ] && . "$conf" + done + + # calculate nfs_server, nfs_path and nfs_option for later nfs mount + if [ "${root}" = "/dev/nfs" -o "${nfsroot}" != "" ]; then + # parse ROOTPATH if defined by dhcp server + if [ -n "${ROOTPATH}" ]; then + line="${ROOTPATH}" + nfs_server="${line%%:*}" + [ "${nfs_server}" = "${line}" ] && nfs_server="${ROOTSERVER}" + defaultserver="${nfs_server}" + line="${line#*:}" + nfs_path="${line}" + defaultrootpath="${nfs_path}" + else + # define a default ROOTPATH + if [ "${ROOTPATH}" = "" ]; then + defaultrootpath="/tftpboot/${IPV4ADDR}" + fi + fi + + # parse nfsroot if present (overrides ROOTPATH) + if [ -n "${nfsroot}" ]; then + line="${nfsroot}" + nfs_server="${line%%:*}" + [ -z "${nfs_server}" ] && nfs_server="${defaultserver}" + line="${line#*:}" + nfs_path="${line%%,*}" + line="${line#"${nfs_path}"}" + [ -z "${nfs_path}" ] && nfs_path="${defaultrootpath}" + nfs_option="${line#","}" + fi + + # ensure root and filesystem type are set proper for nfs boot + root="/dev/nfs" + rootfstype="nfs" + + echo "NFS-Mount: ${nfs_server}:${nfs_path}" + + # set mount handler for NFS + mount_handler="nfs_mount_handler" + fi + fi +} + +nfs_mount_handler() { + if [ -z "$nfs_server" -o -z "$nfs_path" ]; then + err "Unable to mount root filesystem over NFS: wrong parameters." + echo "You are being dropped to a recovery shell" + echo " Type 'exit' to try and continue booting" + launch_interactive_shell + msg "Trying to continue (this will most likely fail) ..." + fi + nfsmount ${nfs_option:+-o ${nfs_option}} "${nfs_server}:${nfs_path}" "$1" +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/main/mkinitcpio-nfs-utils/initcpio-install-net b/main/mkinitcpio-nfs-utils/initcpio-install-net new file mode 100644 index 00000000..79b67894 --- /dev/null +++ b/main/mkinitcpio-nfs-utils/initcpio-install-net @@ -0,0 +1,108 @@ +#!/bin/bash + +build() { + add_checked_modules '/drivers/net/' + add_module nfsv3? + + add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig" + add_binary "/usr/lib/initcpio/nfsmount" "/bin/nfsmount" + + add_runscript +} + +help() { + cat <:::::: +nfsaddrs= is an alias to ip= and can be used too. + + IP address of the client. If empty, the address will + either be determined by RARP/BOOTP/DHCP. What protocol + is used de- pends on the parameter. If this + parameter is not empty, autoconf will be used. + + IP address of the NFS server. If RARP is used to + determine the client address and this parameter is NOT + empty only replies from the specified server are + accepted. To use different RARP and NFS server, + specify your RARP server here (or leave it blank), and + specify your NFS server in the 'nfsroot' parameter + (see above). If this entry is blank the address of the + server is used which answered the RARP/BOOTP/DHCP + request. + + IP address of a gateway if the server is on a different + subnet. If this entry is empty no gateway is used and the + server is assumed to be on the local network, unless a + value has been received by BOOTP/DHCP. + + Netmask for local network interface. If this is empty, + the netmask is derived from the client IP address assuming + classful addressing, unless overridden in BOOTP/DHCP reply. + + Name of the client. If empty, the client IP address is + used in ASCII notation, or the value received by + BOOTP/DHCP. + + Name of network device to use. If this is empty, all + devices are used for RARP/BOOTP/DHCP requests, and the + first one we receive a reply on is configured. If you + have only one device, you can safely leave this blank. + + Method to use for autoconfiguration. If this is either + 'rarp', 'bootp', or 'dhcp' the specified protocol is + used. If the value is 'both', 'all' or empty, all + protocols are used. 'off', 'static' or 'none' means + no autoconfiguration. +Examples: +ip=127.0.0.1:::::lo:none --> Enable the loopback interface. +ip=192.168.1.1:::::eth2:none --> Enable static eth2 interface. +ip=:::::eth0:dhcp --> Enable dhcp protcol for eth0 configuration. + +nfsroot=[:][,] + +If the 'nfsroot' parameter is NOT given on the command line, the default +"/tftpboot/%s" will be used. + + Specifies the IP address of the NFS server. If this field + is not given, the default address as determined by the + 'ip' variable (see below) is used. One use of this + parameter is for example to allow using different servers + for RARP and NFS. Usually you can leave this blank. + + Name of the directory on the server to mount as root. If + there is a "%s" token in the string, the token will be + replaced by the ASCII-representation of the client's IP + address. + + Standard NFS options. All options are separated by commas. + If the options field is not given, the following defaults + will be used: + port = as given by server portmap daemon + rsize = 1024 + wsize = 1024 + timeo = 7 + retrans = 3 + acregmin = 3 + acregmax = 60 + acdirmin = 30 + acdirmax = 60 + flags = hard, nointr, noposix, cto, ac + +root=/dev/nfs + +If you don't use nfsroot= parameter you need to set root=/dev/nfs +to boot from a nfs root by autoconfiguration. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/main/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch b/main/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch new file mode 100644 index 00000000..0f62fea8 --- /dev/null +++ b/main/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch @@ -0,0 +1,14 @@ +--- a/nfsmount/mount.c 2012-11-10 20:16:31.894540497 -0500 ++++ b/nfsmount/mount.c 2012-11-10 20:16:39.957369011 -0500 +@@ -358,9 +358,9 @@ + bail: + if (mounted) { + if (data->flags & NFS_MOUNT_VER3) { +- umount_v3(path, clnt); ++ umount_v3(rem_path, clnt); + } else { +- umount_v2(path, clnt); ++ umount_v2(rem_path, clnt); + } + } + diff --git a/main/mkinitcpio-nfs-utils/version b/main/mkinitcpio-nfs-utils/version new file mode 100644 index 00000000..d87c956f --- /dev/null +++ b/main/mkinitcpio-nfs-utils/version @@ -0,0 +1 @@ +0.3 8 diff --git a/main/mkinitcpio-tuxiso/.nvchecker.toml b/main/mkinitcpio-tuxiso/.nvchecker.toml new file mode 100644 index 00000000..abba7405 --- /dev/null +++ b/main/mkinitcpio-tuxiso/.nvchecker.toml @@ -0,0 +1,4 @@ +[mkinitcpio-archiso] +source = "git" +git = "https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso" +prefix = "v" diff --git a/main/mkinitcpio-tuxiso/PKGBUILD b/main/mkinitcpio-tuxiso/PKGBUILD new file mode 100644 index 00000000..6428434c --- /dev/null +++ b/main/mkinitcpio-tuxiso/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +pkgname=mkinitcpio-tuxiso +pkgver=%version% +pkgrel=%release% +pkgdesc="Initcpio scripts" +arch=(any) +url="https://git.tuxcore.org/developer/mkinitcpio-tuxiso" +license=(GPL-3.0-or-later) +depends=( + bash + device-mapper + mkinitcpio +) +makedepends=(git) +checkdepends=( + shellcheck + shfmt +) +optdepends=( + 'curl: for PXE over HTTP' + 'gnupg: for PGP signature verification of rootfs over PXE' + 'mkinitcpio-nfs-utils: for PXE over NFS' + 'nbd: for PXE over NBD' + 'openssl: for CMS signature verification of rootfs over PXE' + 'pv: for status display during copy to RAM' +) +source=(git+$url) +sha512sums=('SKIP') +b2sums=('SKIP') + +check() { + make -k check -C $pkgname +} + +package() { + make DESTDIR="$pkgdir/" PREFIX=/usr install -C $pkgname +} diff --git a/main/mkinitcpio-tuxiso/README b/main/mkinitcpio-tuxiso/README new file mode 100644 index 00000000..2fb697e6 --- /dev/null +++ b/main/mkinitcpio-tuxiso/README @@ -0,0 +1,43 @@ +mkinitcpio-tuxiso +________________________________________________________________________________ + +Initcpio scripts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mkinitcpio-tuxiso | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tuxcore.org diff --git a/main/mkinitcpio-tuxiso/version b/main/mkinitcpio-tuxiso/version new file mode 100644 index 00000000..cd2500b7 --- /dev/null +++ b/main/mkinitcpio-tuxiso/version @@ -0,0 +1 @@ +70 1 diff --git a/main/mobile-broadband-provider-info/.PKGINFO b/main/mobile-broadband-provider-info/.PKGINFO new file mode 100644 index 00000000..2f755069 --- /dev/null +++ b/main/mobile-broadband-provider-info/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = mobile-broadband-provider-info +pkgbase = mobile-broadband-provider-info +xdata = pkgtype=pkg +pkgver = 20240407-1 +pkgdesc = APN configuration presets for mobile broadband connections +url = https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info +builddate = 1715045399 +packager = Developer +size = 513236 +arch = any +license = CC-PDDC +makedepend = git +makedepend = libxslt +makedepend = meson diff --git a/main/mobile-broadband-provider-info/PKGBUILD b/main/mobile-broadband-provider-info/PKGBUILD new file mode 100644 index 00000000..28eddecb --- /dev/null +++ b/main/mobile-broadband-provider-info/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mobile-broadband-provider-info +pkgver=%version% +pkgrel=%release% +pkgdesc="APN configuration presets for mobile broadband connections" +url="https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info" +arch=(any) +license=(custom) +makedepends=(git libxslt) +_commit=aae7c68671d225e6d35224613d5b98192b9b2ffe # tags/20230416^0 +source=("git+https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname + NOCONFIGURE=1 ./autogen.sh +} + +check() { + cd $pkgname + make check +} + +build() { + cd $pkgname + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/mobile-broadband-provider-info/README b/main/mobile-broadband-provider-info/README new file mode 100644 index 00000000..c074b217 --- /dev/null +++ b/main/mobile-broadband-provider-info/README @@ -0,0 +1,43 @@ +mobile-broadband-provider-info +________________________________________________________________________________ + +APN configuration presets for mobile broadband connections + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mobile-broadband-provider-info | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info diff --git a/main/mobile-broadband-provider-info/version b/main/mobile-broadband-provider-info/version new file mode 100644 index 00000000..2b2bfc12 --- /dev/null +++ b/main/mobile-broadband-provider-info/version @@ -0,0 +1 @@ +20240407 1 diff --git a/main/modemmanager-qt/.PKGINFO b/main/modemmanager-qt/.PKGINFO new file mode 100644 index 00000000..6a621259 --- /dev/null +++ b/main/modemmanager-qt/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = modemmanager-qt +pkgbase = modemmanager-qt +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Qt wrapper for ModemManager DBus API +url = https://community.kde.org/Frameworks +builddate = 1718491869 +packager = Developer +size = 1536423 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = modemmanager +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/modemmanager-qt/PKGBUILD b/main/modemmanager-qt/PKGBUILD new file mode 100644 index 00000000..2e64a128 --- /dev/null +++ b/main/modemmanager-qt/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer +# Mainrainer: Antonio Rojas + +pkgname=modemmanager-qt +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt wrapper for ModemManager DBus API' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + modemmanager + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('efd6ea3eae52b21279bdee38e80f667c35d98b977a442f4bd6b8a0a471f90ff3' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/modemmanager-qt/README b/main/modemmanager-qt/README new file mode 100644 index 00000000..f82888fa --- /dev/null +++ b/main/modemmanager-qt/README @@ -0,0 +1,43 @@ +modemmanager-qt +________________________________________________________________________________ + +Qt wrapper for ModemManager DBus API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S modemmanager-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/modemmanager-qt/version b/main/modemmanager-qt/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/modemmanager-qt/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/modemmanager/PKGBUILD b/main/modemmanager/PKGBUILD new file mode 100644 index 00000000..ded27165 --- /dev/null +++ b/main/modemmanager/PKGBUILD @@ -0,0 +1,108 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=modemmanager +pkgname=( + modemmanager + libmm-glib +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Mobile broadband modem management service" +url="https://www.freedesktop.org/wiki/Software/ModemManager/" +arch=(x86_64) +license=( + GPL2 + LGPL2.1 +) +depends=( + libgudev + libmbim + libqmi + mobile-broadband-provider-info + polkit + ppp + systemd +) +makedepends=( + bash-completion + git + gobject-introspection + gtk-doc + meson + vala +) +checkdepends=( + python-dbus + python-gobject +) +_commit=03f786ce66360d67c669f4f122f8aa458e6f01ea # tags/1.22.0^0 +source=("git+https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd ModemManager + git describe --tags | sed 's/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd ModemManager +} + +build() { + local meson_options=( + -D dbus_policy_dir=/usr/share/dbus-1/system.d + -D dist_version="\"$pkgver-$pkgrel\"" + -D gtk_doc=true + -D polkit=permissive + -D vapi=true + ) + + arch-meson ModemManager build "${meson_options[@]}" + meson compile -C build +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_modemmanager() { + depends+=( + libgudev-1.0.so + libg{lib,object,io,module}-2.0.so + libmbim-glib.so + libmm-glib.so + libqmi-glib.so + libsystemd.so + ) + optdepends=( + 'usb_modeswitch: install if your modem shows up as a storage drive' + ) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + _pick libmm usr/include + _pick libmm usr/lib/girepository-1.0 + _pick libmm usr/lib/libmm-glib.so* + _pick libmm usr/lib/pkgconfig + _pick libmm usr/share/gir-1.0 + _pick libmm usr/share/gtk-doc/html/libmm-glib + _pick libmm usr/share/vala +} + +package_libmm-glib() { + pkgdesc="ModemManager library" + depends=(libg{lib,object,io}-2.0.so) + provides=(libmm-glib.so) + + mv libmm/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/modemmanager/README b/main/modemmanager/README new file mode 100644 index 00000000..dc88a0dd --- /dev/null +++ b/main/modemmanager/README @@ -0,0 +1,43 @@ +modemmanager +________________________________________________________________________________ + +Mobile broadband modem management service ModemManager library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S modemmanager | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/ModemManager/ diff --git a/main/modemmanager/version b/main/modemmanager/version new file mode 100644 index 00000000..8bb782e4 --- /dev/null +++ b/main/modemmanager/version @@ -0,0 +1 @@ +1.22.0 1 diff --git a/main/mpdecimal/PKGBUILD b/main/mpdecimal/PKGBUILD new file mode 100644 index 00000000..f13559fe --- /dev/null +++ b/main/mpdecimal/PKGBUILD @@ -0,0 +1,25 @@ +# Packager = Developer +pkgname=mpdecimal +pkgver=%version% +pkgrel=%release% +pkgdesc="Package for correctly-rounded arbitrary precision decimal floating point arithmetic" +arch=('x86_64') +url="https://www.bytereef.org/mpdecimal/index.html" +license=('BSD') +depends=('glibc' 'gcc-libs') +source=("https://www.bytereef.org/software/$pkgname/releases/$pkgname-$pkgver.tar.gz") +sha512sums=('7610ac53ac79f7a8a33fa7a3e61515810444ec73ebca859df7a9ddc18e96b990c99323172810c9cc7f6d6e1502c0be308cd443d6c2d5d0c871648e4842e05d59') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr + LDXXFLAGS="$LDFLAGS" make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 COPYRIGHT.txt -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/mpdecimal/version b/main/mpdecimal/version new file mode 100644 index 00000000..7fe3b1f1 --- /dev/null +++ b/main/mpdecimal/version @@ -0,0 +1 @@ +4.0.0 2 diff --git a/main/mpfr/.PKGINFO b/main/mpfr/.PKGINFO new file mode 100644 index 00000000..cb16e044 --- /dev/null +++ b/main/mpfr/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = mpfr +pkgbase = mpfr +xdata = pkgtype=pkg +pkgver = 4.2.1-3 +pkgdesc = Multiple-precision floating-point library +url = https://www.mpfr.org/ +builddate = 1715214749 +packager = Developer +size = 1054290 +arch = x86_64 +license = GPL-3.0-or-later +license = LGPL-3.0-or-later +provides = libmpfr.so=6-64 +depend = glibc +depend = gmp diff --git a/main/mpfr/.nvchecker.toml b/main/mpfr/.nvchecker.toml new file mode 100644 index 00000000..0f2c8c56 --- /dev/null +++ b/main/mpfr/.nvchecker.toml @@ -0,0 +1,4 @@ +[mpfr] +source = 'regex' +url = 'https://ftp.gnu.org/gnu/mpfr/' +regex = 'mpfr-([\d.]+)\.[a-z]' diff --git a/main/mpfr/PKGBUILD b/main/mpfr/PKGBUILD new file mode 100644 index 00000000..3730e948 --- /dev/null +++ b/main/mpfr/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mpfr +_pkgver=%version% +_patchver=0 +if (( _patchver == 0 )); then + pkgver=$_pkgver +else + pkgver=$_pkgver.p$_patchver +fi +pkgrel=%release% +pkgdesc='Multiple-precision floating-point library' +arch=(x86_64) +url='https://www.mpfr.org/' +license=( + GPL-3.0-or-later + LGPL-3.0-or-later +) +depends=( + glibc + gmp +) +provides=(libmpfr.so) +# NOTE: download potentially existing patches from upstream: +# `curl patches.diff -o https://www.mpfr.org/mpfr-${_pkgver}/allpatches` +source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$_pkgver.tar.xz{,.sig}) +sha512sums=('bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475' + 'SKIP') +b2sums=('ad69f53bc910294647523e7613b18a683f1d0f3dd994168ab2a46b66d0371ffa9b8e7cb59495f898470aea69d343e83fc722f11babe4af7b3a12665a1e65860c' + 'SKIP') +validpgpkeys=('07F3DBBECC1A39605078094D980C197698C3739D' + 'A534BE3F83E241D918280AEB5831D11A0D4DB02A') # Vincent Lefevre + +prepare() { + cd $pkgname-${_pkgver} + + for src in "${source[@]}"; do + [[ "$src" == *.diff ]] || [[ "$src" == *.patch ]] || continue + printf "Applying patch %s...\n" "$src" + patch -Np1 -i "../$src" + done + + autoreconf -fiv +} + +build() { + cd $pkgname-${_pkgver} + ./configure --prefix=/usr \ + --enable-thread-safe \ + --enable-shared + make +} + +check() { + cd $pkgname-${_pkgver} + make check + make check-exported-symbols +} + +package() { + cd $pkgname-${_pkgver} + make DESTDIR="$pkgdir" install +} diff --git a/main/mpfr/README b/main/mpfr/README new file mode 100644 index 00000000..54088851 --- /dev/null +++ b/main/mpfr/README @@ -0,0 +1,43 @@ +mpfr +________________________________________________________________________________ + +Multiple-precision floating-point library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mpfr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.mpfr.org/ diff --git a/main/mpfr/version b/main/mpfr/version new file mode 100644 index 00000000..49302e85 --- /dev/null +++ b/main/mpfr/version @@ -0,0 +1 @@ +4.2.1 3 diff --git a/main/mpg123/.PKGINFO b/main/mpg123/.PKGINFO new file mode 100644 index 00000000..14ce59e4 --- /dev/null +++ b/main/mpg123/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = mpg123 +pkgbase = mpg123 +xdata = pkgtype=pkg +pkgver = 1.32.6-1 +pkgdesc = Console based real time MPEG Audio Player for Layer 1, 2 and 3 +url = https://mpg123.de/ +builddate = 1715045401 +packager = Developer +size = 1213423 +arch = x86_64 +license = LGPL2.1 +provides = libmpg123.so=0-64 +provides = libout123.so=0-64 +provides = libsyn123.so=0-64 +depend = alsa-lib +optdepend = sdl2: for sdl audio support +optdepend = jack: for jack audio support +optdepend = libpulse: for pulse audio support +optdepend = perl: for conplay +makedepend = sdl2 +makedepend = jack +makedepend = libpulse diff --git a/main/mpg123/PKGBUILD b/main/mpg123/PKGBUILD new file mode 100644 index 00000000..228e6468 --- /dev/null +++ b/main/mpg123/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mpg123 +pkgver=%version% +pkgrel=%release% +pkgdesc='Console based real time MPEG Audio Player for Layer 1, 2 and 3' +url='https://mpg123.de/' +arch=('x86_64') +license=('LGPL2.1') +depends=('alsa-lib') +makedepends=('sdl2' 'jack' 'libpulse') +optdepends=( + 'sdl2: for sdl audio support' + 'jack: for jack audio support' + 'libpulse: for pulse audio support' + 'perl: for conplay' +) +provides=(lib{mpg,out,syn}123.so) +source=(https://downloads.sourceforge.net/sourceforge/mpg123/mpg123-${pkgver}.tar.bz2{,.sig}) +sha512sums=('3fbc2fcf5e17bec75e98b34ea9c6135ee5895730f127a9cdeef88060f1d49ce8b89ff6c82bb6645f575914f59e27337d4e8774d4beee6fe7c89e587ddf969502' + 'SKIP') +validpgpkeys=('D021FF8ECF4BE09719D61A27231C4CBC60D5CAFE') + +build() { + cd mpg123-${pkgver} + ./configure \ + --prefix=/usr \ + --enable-int-quality \ + --with-audio="alsa oss sdl jack pulse" + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd mpg123-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 755 scripts/conplay -t "${pkgdir}/usr/bin" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/mpg123/README b/main/mpg123/README new file mode 100644 index 00000000..0d58f6c2 --- /dev/null +++ b/main/mpg123/README @@ -0,0 +1,43 @@ +mpg123 +________________________________________________________________________________ + +Console based real time MPEG Audio Player for Layer 1, 2 and 3 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mpg123 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://mpg123.de/ diff --git a/main/mpg123/version b/main/mpg123/version new file mode 100644 index 00000000..c4c630b1 --- /dev/null +++ b/main/mpg123/version @@ -0,0 +1 @@ +1.32.6 1 diff --git a/main/mtdev/PKGBUILD b/main/mtdev/PKGBUILD new file mode 100644 index 00000000..a401f48c --- /dev/null +++ b/main/mtdev/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mtdev +pkgver=%version% +pkgrel=%release% +pkgdesc="A stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol" +arch=('x86_64') +url="https://bitmath.org/code/mtdev/" +license=('custom:MIT') +depends=('glibc') +source=("$url$pkgname-$pkgver.tar.bz2") +sha512sums=('859fb0803f330ecaae69f80713ff5a5235c0cb00de6d5ac2717ad82cea856a92b866f0c272ecfe743186abcf925f95585149ba4828b4c91555cfeb2f2a1c98f1') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd "$pkgname-$pkgver" + make -k check +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + + # license + install -Dm644 COPYING \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/mtdev/README b/main/mtdev/README new file mode 100644 index 00000000..e76ba7c1 --- /dev/null +++ b/main/mtdev/README @@ -0,0 +1,43 @@ +mtdev +________________________________________________________________________________ + +A stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mtdev | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://bitmath.org/code/mtdev/ diff --git a/main/mtdev/version b/main/mtdev/version new file mode 100644 index 00000000..3fc8343c --- /dev/null +++ b/main/mtdev/version @@ -0,0 +1 @@ +1.1.6 2 diff --git a/main/mtools/.PKGINFO b/main/mtools/.PKGINFO new file mode 100644 index 00000000..66552bfa --- /dev/null +++ b/main/mtools/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = mtools +pkgbase = mtools +xdata = pkgtype=pkg +pkgver = 1:4.0.44-1 +pkgdesc = A collection of utilities to access MS-DOS disks +url = https://www.gnu.org/software/mtools/ +builddate = 1717337472 +packager = Developer +size = 397816 +arch = x86_64 +license = GPL-3.0-or-later +backup = etc/mtools.conf +depend = bash +depend = glibc +optdepend = libx11: required by floppyd +optdepend = libxau: required by floppyd +makedepend = libx11 +makedepend = texinfo diff --git a/main/mtools/PKGBUILD b/main/mtools/PKGBUILD new file mode 100644 index 00000000..06ff3616 --- /dev/null +++ b/main/mtools/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=mtools +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="A collection of utilities to access MS-DOS disks" +arch=(x86_64) +url="https://www.gnu.org/software/mtools/" +license=(GPL3) +depends=( + bash + glibc +) +makedepends=( + libx11 + texinfo +) +optdepends=( + 'libx11: required by floppyd' + 'libxau: required by floppyd' +) +backup=(etc/$pkgname.conf) +source=(https://ftp.gnu.org/gnu/mtools/$pkgname-$pkgver.tar.bz2{,.sig}) +sha512sums=('b70e483688124a653dd333ab127494dab12d413809680a4846dc4ae5c166a0b9938a2ab290e518c1f1a5b18ed96d2c2a29d92d61b16b772a4ab5e495379fe410' + 'SKIP') +b2sums=('d000839bbb6bc647eb5a32b08b40b1350cd0a85fd564f0705ecbfe20f8f4ef21bf2d59cd0ccd7a159c829c019c6c2f3cbdef82ff3f4a9e8828cc13d44ddabd1d' + 'SKIP') +validpgpkeys=('51A23D9D7C4DF41AA48FA893E99CF5537790B839') # Alain KNAFF + +prepare() { + # comment entry in default config + sed -e '/^SAMPLE FILE$/s:^:# :' -i $pkgname-$pkgver/mtools.conf +} + +build() { + local configure_options=( + --prefix=/usr + --mandir=/usr/share/man + --infodir=/usr/share/info + --sysconfdir=/etc + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + make +} + +check() { + make -k check -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/mtools.conf -t "$pkgdir/etc/" + install -vDm 644 $pkgname-$pkgver/{README,NEWS} -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/main/mtools/README b/main/mtools/README new file mode 100644 index 00000000..3f53a622 --- /dev/null +++ b/main/mtools/README @@ -0,0 +1,43 @@ +mtools +________________________________________________________________________________ + +A collection of utilities to access MS-DOS disks + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S mtools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/mtools/ diff --git a/main/mtools/version b/main/mtools/version new file mode 100644 index 00000000..258a9636 --- /dev/null +++ b/main/mtools/version @@ -0,0 +1 @@ +1:4.0.44 1 diff --git a/main/musepack/.PKGINFO b/main/musepack/.PKGINFO new file mode 100644 index 00000000..6d3bacb9 --- /dev/null +++ b/main/musepack/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libmpcdec +pkgbase = musepack +xdata = pkgtype=split +pkgver = 1:0.1+r475-5 +pkgdesc = MusePack decoding library +url = https://musepack.net/ +builddate = 1715739087 +packager = Developer +size = 92111 +arch = x86_64 +license = BSD-3-Clause +depend = glibc diff --git a/main/musepack/01_am-maintainer-mode.patch b/main/musepack/01_am-maintainer-mode.patch new file mode 100644 index 00000000..e18babad --- /dev/null +++ b/main/musepack/01_am-maintainer-mode.patch @@ -0,0 +1,12 @@ +Index: libmpc-0.1~r459/configure.in +=================================================================== +--- libmpc-0.1~r459.orig/configure.in 2010-05-31 16:32:02.551447078 +0200 ++++ libmpc-0.1~r459/configure.in 2010-05-31 16:32:09.578951197 +0200 +@@ -4,6 +4,7 @@ + AC_CONFIG_SRCDIR([libmpcdec/mpc_reader.c]) + AM_CONFIG_HEADER([include/config.h]) + AM_INIT_AUTOMAKE ++AM_MAINTAINER_MODE + + AC_LANG_C + AC_PROG_CC diff --git a/main/musepack/02_link-libm.patch b/main/musepack/02_link-libm.patch new file mode 100644 index 00000000..14789d16 --- /dev/null +++ b/main/musepack/02_link-libm.patch @@ -0,0 +1,7 @@ +--- a/libmpcdec/Makefile.am.old 2009-10-20 20:11:41.000000000 +0200 ++++ b/libmpcdec/Makefile.am 2009-10-20 20:12:02.000000000 +0200 +@@ -17,3 +17,4 @@ + $(common_sources) + + libmpcdec_la_LDFLAGS = -no-undefined -version-info 7:0:1 ++libmpcdec_la_LIBADD = -lm diff --git a/main/musepack/03_mpcchap.patch b/main/musepack/03_mpcchap.patch new file mode 100644 index 00000000..b1f04b0a --- /dev/null +++ b/main/musepack/03_mpcchap.patch @@ -0,0 +1,66 @@ +Index: libmpc/configure.in +=================================================================== +--- libmpc.orig/configure.in ++++ libmpc/configure.in +@@ -28,6 +28,12 @@ esac + AC_SUBST([EXTRALIBS]) + + AC_ARG_ENABLE([mpcchap], [AS_HELP_STRING([--enable-mpcchap], [enable building mpcchap])]) ++if test "x$enable_mpcchap" = xyes; then ++ PKG_CHECK_MODULES(LIBCUE, libcue) ++ AC_SUBST(LIBCUE_CFLAGS) ++ AC_SUBST(LIBCUE_LIBS) ++fi ++ + AM_CONDITIONAL([MPC_CHAP], [test "x$enable_mpcchap" = xyes]) + + +Index: libmpc/mpcchap/Makefile.am +=================================================================== +--- libmpc.orig/mpcchap/Makefile.am ++++ libmpc/mpcchap/Makefile.am +@@ -4,7 +4,8 @@ bin_PROGRAMS = mpcchap + + common_sources = ../common/tags.c ../common/crc32.c + +-AM_CPPFLAGS = -I$(top_srcdir)/include ++AM_CPPFLAGS = -I$(top_srcdir)/include \ ++ $(LIBCUE_CFLAGS) + + if HAVE_VISIBILITY + AM_CFLAGS = -fvisibility=hidden +@@ -16,4 +17,4 @@ dictionary.h iniparser.h + + mpcchap_LDADD = $(top_builddir)/libmpcdec/libmpcdec.la \ + $(top_builddir)/libmpcenc/libmpcenc.a \ +- -lm -lcuefile ++ -lm $(LIBCUE_LIBS) +Index: libmpc/mpcchap/mpcchap.c +=================================================================== +--- libmpc.orig/mpcchap/mpcchap.c ++++ libmpc/mpcchap/mpcchap.c +@@ -24,7 +24,7 @@ + + #include + +-#include ++#include + + // tags.c + void Init_Tags ( void ); +@@ -153,13 +153,13 @@ mpc_status add_chaps_ini(char * mpc_file + mpc_status add_chaps_cue(char * mpc_file, char * chap_file, mpc_demux * demux, mpc_streaminfo * si) + { + Cd *cd = 0; +- int nchap, format = UNKNOWN; ++ int nchap; + struct stat stbuf; + FILE * in_file; + int chap_pos, end_pos, chap_size, i; + char * tmp_buff; + +- if (0 == (cd = cf_parse(chap_file, &format))) { ++ if (0 == (cd = cue_parse_file(chap_file))) { + fprintf(stderr, "%s: input file error\n", chap_file); + return !MPC_STATUS_OK; + } diff --git a/main/musepack/04_link-order.patch b/main/musepack/04_link-order.patch new file mode 100644 index 00000000..a2e9dba1 --- /dev/null +++ b/main/musepack/04_link-order.patch @@ -0,0 +1,44 @@ +--- + mpc2sv8/Makefile.am | 5 +++-- + mpcdec/Makefile.am | 5 +++-- + mpcenc/Makefile.am | 5 +++-- + 3 files changed, 9 insertions(+), 6 deletions(-) + +--- libmpc.orig/mpc2sv8/Makefile.am ++++ libmpc/mpc2sv8/Makefile.am +@@ -11,6 +11,7 @@ common_sources = ../common/crc32.c + METASOURCES = AUTO + bin_PROGRAMS = mpc2sv8 + mpc2sv8_SOURCES = mpc2sv8.c $(common_sources) +-mpc2sv8_LDADD = -lm \ ++mpc2sv8_LDADD = \ + $(top_builddir)/libmpcdec/libmpcdec.la \ +- $(top_builddir)/libmpcenc/libmpcenc.a ++ $(top_builddir)/libmpcenc/libmpcenc.a \ ++ -lm +--- libmpc.orig/mpcdec/Makefile.am ++++ libmpc/mpcdec/Makefile.am +@@ -9,6 +9,7 @@ endif + METASOURCES = AUTO + bin_PROGRAMS = mpcdec + mpcdec_SOURCES = mpcdec.c +-mpcdec_LDADD = -lm \ ++mpcdec_LDADD = \ + $(top_builddir)/libmpcdec/libmpcdec.la \ +- $(top_builddir)/libwavformat/libwavformat.a ++ $(top_builddir)/libwavformat/libwavformat.a \ ++ -lm +--- libmpc.orig/mpcenc/Makefile.am ++++ libmpc/mpcenc/Makefile.am +@@ -22,8 +22,9 @@ mpcenc_SOURCES = keyboard.c mpcenc.c pip + $(common_sources) \ + mpcenc.h predict.h config.h + +-mpcenc_LDADD = -lm \ ++mpcenc_LDADD = \ + $(EXTRALIBS) \ + $(top_builddir)/libmpcpsy/libmpcpsy.a \ +- $(top_builddir)/libmpcenc/libmpcenc.a ++ $(top_builddir)/libmpcenc/libmpcenc.a \ ++ -lm + diff --git a/main/musepack/05_visibility.patch b/main/musepack/05_visibility.patch new file mode 100644 index 00000000..887fdce8 --- /dev/null +++ b/main/musepack/05_visibility.patch @@ -0,0 +1,13 @@ +Index: libmpc/configure.in +=================================================================== +--- libmpc.orig/configure.in ++++ libmpc/configure.in +@@ -37,7 +37,7 @@ fi + AM_CONDITIONAL([MPC_CHAP], [test "x$enable_mpcchap" = xyes]) + + +-CHECK_VISIBILITY ++AM_CONDITIONAL([HAVE_VISIBILITY], [true]) + + AC_CONFIG_FILES([ + Makefile diff --git a/main/musepack/1001_missing_extern_kw.patch b/main/musepack/1001_missing_extern_kw.patch new file mode 100644 index 00000000..031d8f6f --- /dev/null +++ b/main/musepack/1001_missing_extern_kw.patch @@ -0,0 +1,22 @@ +Subject: Add extern keyword to global variable declaration. +Origin: upstream, commit:r479 +Bug-Debian: http://bugs.debian.org/665974 +--- + libmpcdec/requant.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- libmpc.orig/libmpcdec/requant.h ++++ libmpc/libmpcdec/requant.h +@@ -47,9 +47,9 @@ extern "C" { + + + /* C O N S T A N T S */ +-const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer +-const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients +-const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset ++extern const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer ++extern const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients ++extern const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset + + #define Cc (__Cc + 1) + #define Dc (__Dc + 1) diff --git a/main/musepack/PKGBUILD b/main/musepack/PKGBUILD new file mode 100644 index 00000000..bbaffff9 --- /dev/null +++ b/main/musepack/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=musepack +pkgname=('musepack-tools' 'libmpcdec') +_revision=475 +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='MusePack commandline utilities and decoder library' +arch=('x86_64') +url='https://musepack.net/' +license=('BSD-3-Clause AND LGPL-2.1-or-later AND GPL-2.0-or-later') +depends=('glibc' 'libcue' 'libreplaygain') +source=("https://files.musepack.net/source/musepack_src_r$_revision.tar.gz" + '01_am-maintainer-mode.patch' + '02_link-libm.patch' + '03_mpcchap.patch' + '04_link-order.patch' + '05_visibility.patch' + '1001_missing_extern_kw.patch' + 'add_subdir-objects.patch') +sha256sums=('a4b1742f997f83e1056142d556a8c20845ba764b70365ff9ccf2e3f81c427b2b' + '76b5b7295f5e0be5de7edeb2ef481fe912cef349be5bd26f8b0870572a1ed5ee' + 'cf7ded3474ecefbe877a672539996b99dd6d62be546b74b70c4d56a7b943952d' + 'c6ef8e91b8e4450854d14e47fb4b4bde643b3f22a0d30cd0fae79d1897feb9f7' + 'b184df85c164cb6f37e077b5511bee994e767f25f641d5a44ad3877db0e7eba1' + 'db78faeb4944ab443c89a1da058693e419a8eef1ca4859550afcc6232ec407fb' + 'b736438a93fa5cc10bde753e82a0ce432db5c8c9a4a0689baa738d421166bff4' + '88e2d7df269c8f19daccb98bd9d1a2bdc9002c7ea03ca093e2dc68b0fb04e636') + +prepare() { + cd musepack_src_r$_revision + patch -Np1 -i ../01_am-maintainer-mode.patch + patch -Np1 -i ../02_link-libm.patch + patch -Np1 -i ../03_mpcchap.patch + patch -Np1 -i ../04_link-order.patch + patch -Np1 -i ../05_visibility.patch + patch -Np1 -i ../1001_missing_extern_kw.patch + patch -Np1 -i ../add_subdir-objects.patch + mv configure.in configure.ac + autoreconf -fi +} + +build() { + cd musepack_src_r$_revision + ./configure --prefix=/usr --enable-mpcchap + make +} + +package_libmpcdec() { + pkgdesc='MusePack decoding library' + license=('BSD-3-Clause') + depends=('glibc') + + cd musepack_src_r$_revision + make -C include DESTDIR="$pkgdir" install + make -C libmpcdec DESTDIR="$pkgdir" install + install -Dm644 libmpcdec/COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +package_musepack-tools() { + pkgdesc='MusePack commandline tools' + depends+=("libmpcdec>=1:0.1+r$_revision") + options=('!emptydirs') + + cd musepack_src_r$_revision + make DESTDIR="$pkgdir" install + make -C libmpcdec DESTDIR="$pkgdir" uninstall + make -C include DESTDIR="$pkgdir" uninstall + install -Dm644 libmpcdec/COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/musepack/README b/main/musepack/README new file mode 100644 index 00000000..98872f36 --- /dev/null +++ b/main/musepack/README @@ -0,0 +1,43 @@ +musepack +________________________________________________________________________________ + +MusePack commandline utilities and decoder library MusePack commandline tools MusePack decoding library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S musepack | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://musepack.net/ diff --git a/main/musepack/add_subdir-objects.patch b/main/musepack/add_subdir-objects.patch new file mode 100644 index 00000000..35efdf55 --- /dev/null +++ b/main/musepack/add_subdir-objects.patch @@ -0,0 +1,16 @@ +Description: avoid automake error +Author: Hideki Yamane +Forwarded: no +Last-Update: 2013-10-23 + +--- libmpc-0.1~r459.orig/configure.in ++++ libmpc-0.1~r459/configure.in +@@ -3,7 +3,7 @@ AC_CONFIG_AUX_DIR([config]) + AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_SRCDIR([libmpcdec/mpc_reader.c]) + AM_CONFIG_HEADER([include/config.h]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE(subdir-objects) + AM_MAINTAINER_MODE + + AC_LANG_C diff --git a/main/musepack/version b/main/musepack/version new file mode 100644 index 00000000..c776bee2 --- /dev/null +++ b/main/musepack/version @@ -0,0 +1 @@ +1:0.1+r475 5 diff --git a/main/nano/.PKGINFO b/main/nano/.PKGINFO new file mode 100644 index 00000000..81dd9787 --- /dev/null +++ b/main/nano/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = nano +pkgbase = nano +xdata = pkgtype=pkg +pkgver = 8.0-1 +pkgdesc = Pico editor clone with enhancements +url = https://www.nano-editor.org +builddate = 1715045403 +packager = Developer +size = 2663257 +arch = x86_64 +license = GPL-3.0-or-later +backup = etc/nanorc +depend = ncurses +depend = file +depend = glibc diff --git a/main/nano/PKGBUILD b/main/nano/PKGBUILD new file mode 100644 index 00000000..31826ef7 --- /dev/null +++ b/main/nano/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nano +pkgver=%version% +pkgrel=%release% +pkgdesc="Pico editor clone with enhancements" +arch=('x86_64') +license=('GPL') +url="https://www.nano-editor.org" +depends=('ncurses' 'file' 'sh') +backup=('etc/nanorc') +source=(https://www.nano-editor.org/dist/v7/${pkgname}-${pkgver}.tar.xz{,.asc}) +sha256sums=('86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526' + 'SKIP') +#validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7') # "Chris Allegretta " +#validpgpkeys=('A7F6A64A67DA09EF92782DD79DF4862AF1175C5B') # "Benno Schulenberg " +#validpgpkeys=('BFD009061E535052AD0DF2150D28D4D2A0ACE884') # "Benno Schulenberg " +validpgpkeys=('168E6F4297BFD7A79AFD4496514BBE2EB8E1961F') # "Benno Schulenberg " + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-color \ + --enable-nanorc \ + --enable-multibuffer + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -DTm644 "${srcdir}"/${pkgname}-${pkgver}/doc/sample.nanorc "${pkgdir}"/etc/nanorc +} diff --git a/main/nano/README b/main/nano/README new file mode 100644 index 00000000..c2f555a5 --- /dev/null +++ b/main/nano/README @@ -0,0 +1,43 @@ +nano +________________________________________________________________________________ + +Pico editor clone with enhancements + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nano | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nano-editor.org diff --git a/main/nano/version b/main/nano/version new file mode 100644 index 00000000..ab1a98da --- /dev/null +++ b/main/nano/version @@ -0,0 +1 @@ +8.0 1 diff --git a/main/nbd/PKGBUILD b/main/nbd/PKGBUILD new file mode 100644 index 00000000..a70a2b23 --- /dev/null +++ b/main/nbd/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nbd +pkgver=%version% +pkgrel=%release% +pkgdesc='tools for network block devices, allowing you to use remote block devices over TCP/IP' +arch=('x86_64') +url='https://github.com/NetworkBlockDevice/nbd/' +license=('GPL') +depends=('glib2' 'gnutls' 'libnl') +makedepends=('docbook-utils' 'docbook-sgml' 'perl-sgmls' 'autoconf-archive') +backup=('etc/nbd-server/config') +source=("https://github.com/NetworkBlockDevice/${pkgname}/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.xz" + 'config' + 'nbd.service' + 'sysusers_nbd.conf') +sha256sums=('f0cf509fa5b20b1a07f7904eb637e9b47d3e30b6ed6f00075af5d8b701c78fef' + 'ee2e9fbbeb8a8b9b71d16b6f32eb41788f6def9d00cc4a47897ed3cb97cdde7c' + '1b1add55d82d7623eabf7ff3dfec15c1fbe3c340fa74160df3d60e91eb1c71ba' + '3fd98fe87d0b31b82126dc669f00355865f58fae81af3fccbc0d06504baef6cd') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + cat > systemd/sh.tmpl < +size = 4130368 +arch = x86_64 +license = MIT-open-group +replaces = alacritty-terminfo +provides = libncurses++w.so=6-64 +provides = libformw.so=6-64 +provides = libmenuw.so=6-64 +provides = libpanelw.so=6-64 +provides = libncursesw.so=6-64 +depend = glibc +depend = gcc-libs +optdepend = bash: for ncursesw6-config +makedepend = autoconf-archive +makedepend = git diff --git a/main/ncurses/PKGBUILD b/main/ncurses/PKGBUILD new file mode 100644 index 00000000..077f1c52 --- /dev/null +++ b/main/ncurses/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ncurses +pkgver=%version% +pkgrel=%release% +pkgdesc='System V Release 4.0 curses emulation library' +arch=(x86_64) +url='https://invisible-island.net/ncurses/ncurses.html' +license=(MIT) +depends=(glibc gcc-libs) +makedepends=(autoconf-archive) +optdepends=('bash: for ncursesw6-config') +provides=(libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so) +replaces=(alacritty-terminfo) +source=( + https://invisible-mirror.net/archives/$pkgname/current/$pkgname-${pkgver/_/-}.tgz{,.asc} + $pkgname-6.3-libs.patch + $pkgname-6.3-pkgconfig.patch +) +sha512sums=('bbb1dd33f4c701165b7612657a7577d3175b94c5815a89eaab3a8774510feb9322d284896dba8d3896f6dd89a8b98031829a76f7e3397aebb6cf2a71e989f93c' + 'SKIP' + 'adb02b838c40f1e58a1b31c26d5cd0f2a1c43f3b6d68e839981764c0f6c905a9eb51dd36ff018628fdeb20747cc7467727d57135408ab4848259384077a52b28' + '2d2c0ec3c880e638ab4aa3dbff5e28e4cd233153e24816bd87e077f848aa3edd5114cd0f2a7f6e8869dd1861a2746e512886c18264ff1676927dcc320c5ef958') +b2sums=('d5e88198140ab6471a36bef08685e17ac2e43b4e66b53abaa961d5f8912eb3eae3784db194436c2b3e5f2deaeefaaed93e0550bcab0456f1486fc35d0cdac440' + 'SKIP' + '31bb10e82dd018a75e57252052650d9f0f5eb5e7e887118c2ea40032b11f59ec6aa4d9bae804c615cbecdf3382f3434e0c9e9e8440fdefe66a507be020b8965c' + 'fb6cf606cf3db7f6b306272696a63bce83d52cfa91e850f9a7bdb9d3d8455a26943529a9cf79731dddc7f763c27211a9afab9c4c31dbb6d12fd720eb390eb0a3') +validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas Dickey + +prepare() { + # do not link against test libraries + patch -Np1 -d $pkgname-${pkgver/_/-} -i ../$pkgname-6.3-libs.patch + # do not leak build-time LDFLAGS into the pkgconfig files: + # https://bugs.archlinux.org/task/68523 + patch -Np1 -d $pkgname-${pkgver/_/-} -i ../$pkgname-6.3-pkgconfig.patch + # NOTE: can't run autoreconf because the autotools setup is custom and ancient +} + +build() { + local configure_options=( + --prefix=/usr + --disable-root-access + --disable-root-environ + --disable-setuid-environ + --enable-widec + --enable-pc-files + --mandir=/usr/share/man + --with-cxx-binding + --with-cxx-shared + --with-manpage-format=normal + --with-pkg-config-libdir=/usr/lib/pkgconfig + --with-shared + --with-versioned-syms + --with-xterm-kbs=del + --without-ada + ) + + cd $pkgname-${pkgver/_/-} + ./configure "${configure_options[@]}" + make +} + +package() { + local _pkgver=${pkgver/_*/} + + make DESTDIR="$pkgdir" install -C $pkgname-${pkgver/_/-} + install -vDm 644 $pkgname-${pkgver/_/-}/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + + # fool packages looking to link to non-wide-character ncurses libraries + for lib in ncurses ncurses++ form panel menu; do + printf "INPUT(-l%sw)\n" "${lib}" > "$pkgdir/usr/lib/lib${lib}.so" + ln -sv ${lib}w.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc" + done + + # some packages look for -lcurses during build + printf 'INPUT(-lncursesw)\n' > "$pkgdir/usr/lib/libcursesw.so" + ln -sv libncurses.so "$pkgdir/usr/lib/libcurses.so" + + # tic and ticinfo functionality is built in by default + # make sure that anything linking against it links against libncursesw.so instead + for lib in tic tinfo; do + printf "INPUT(libncursesw.so.%s)\n" "${_pkgver:0:1}" > "$pkgdir/usr/lib/lib${lib}.so" + ln -sv libncursesw.so.${pkgver:0:1} "$pkgdir/usr/lib/lib${lib}.so.${_pkgver:0:1}" + ln -sv ncursesw.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc" + done +} diff --git a/main/ncurses/README b/main/ncurses/README new file mode 100644 index 00000000..d34cda5c --- /dev/null +++ b/main/ncurses/README @@ -0,0 +1,43 @@ +ncurses +________________________________________________________________________________ + +System V Release 4.0 curses emulation library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ncurses | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://invisible-island.net/ncurses/ncurses.html diff --git a/main/ncurses/ncurses-6.3-libs.patch b/main/ncurses/ncurses-6.3-libs.patch new file mode 100644 index 00000000..1933a541 --- /dev/null +++ b/main/ncurses/ncurses-6.3-libs.patch @@ -0,0 +1,58 @@ +diff -ruN a/c++/Makefile.in b/c++/Makefile.in +--- a/c++/Makefile.in 2021-07-03 20:53:57.000000000 +0200 ++++ b/c++/Makefile.in 2021-11-03 10:58:04.147647447 +0100 +@@ -118,7 +118,7 @@ + -l@FORM_NAME@@USE_LIB_SUFFIX@ \ + -l@MENU_NAME@@USE_LIB_SUFFIX@ \ + -l@PANEL_NAME@@USE_LIB_SUFFIX@ \ +- -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@ ++ -lncurses@USE_LIB_SUFFIX@ + + LIBROOT = ncurses++ + +@@ -157,8 +157,7 @@ + LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@) + + # flags for library built by this makefile +-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \ +- @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS) ++LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ $(CXXLIBS) + + AUTO_SRC = \ + etip.h +diff -ruN a/form/Makefile.in b/form/Makefile.in +--- a/form/Makefile.in 2021-07-03 17:45:33.000000000 +0200 ++++ b/form/Makefile.in 2021-11-03 10:58:45.301114373 +0100 +@@ -110,7 +110,7 @@ + LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ + + SHLIB_DIRS = -L../lib +-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@ ++SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ + + RPATH_LIST = @RPATH_LIST@ + RESULTING_SYMS = @RESULTING_SYMS@ +diff -ruN a/menu/Makefile.in b/menu/Makefile.in +--- a/menu/Makefile.in 2021-07-03 17:45:33.000000000 +0200 ++++ b/menu/Makefile.in 2021-11-03 10:58:59.461160284 +0100 +@@ -110,7 +110,7 @@ + LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ + + SHLIB_DIRS = -L../lib +-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@ ++SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ + + RPATH_LIST = @RPATH_LIST@ + RESULTING_SYMS = @RESULTING_SYMS@ +diff -ruN a/panel/Makefile.in b/panel/Makefile.in +--- a/panel/Makefile.in 2021-07-03 17:45:33.000000000 +0200 ++++ b/panel/Makefile.in 2021-11-03 10:59:33.957938691 +0100 +@@ -112,7 +112,7 @@ + LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ + + SHLIB_DIRS = -L../lib +-SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@ ++SHLIB_LIST = $(SHLIB_DIRS) -lncurses@USE_LIB_SUFFIX@ + + RPATH_LIST = @RPATH_LIST@ + RESULTING_SYMS = @RESULTING_SYMS@ diff --git a/main/ncurses/ncurses-6.3-pkgconfig.patch b/main/ncurses/ncurses-6.3-pkgconfig.patch new file mode 100644 index 00000000..e3b5d465 --- /dev/null +++ b/main/ncurses/ncurses-6.3-pkgconfig.patch @@ -0,0 +1,24 @@ +diff -ruN a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in +--- a/misc/gen-pkgconfig.in 2021-08-07 23:36:33.000000000 +0200 ++++ b/misc/gen-pkgconfig.in 2021-11-03 11:12:51.127160950 +0100 +@@ -83,7 +83,7 @@ + fi + + lib_flags= +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@ ++for opt in -L$libdir @LIBS@ + do + case $opt in + -l*) # LIBS is handled specially below +diff -ruN a/misc/ncurses-config.in b/misc/ncurses-config.in +--- a/misc/ncurses-config.in 2021-08-07 23:36:14.000000000 +0200 ++++ b/misc/ncurses-config.in 2021-11-03 11:26:12.393533954 +0100 +@@ -101,7 +101,7 @@ + # There is no portable way to find the list of standard library directories. + # Require a POSIX shell anyway, to keep this simple. + lib_flags= +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS ++for opt in -L$libdir $LIBS + do + case $opt in + -specs*) # ignore linker specs-files which were used to build library diff --git a/main/ncurses/version b/main/ncurses/version new file mode 100644 index 00000000..491d3e1d --- /dev/null +++ b/main/ncurses/version @@ -0,0 +1 @@ +6.4_20230520 3 diff --git a/main/ndisc6/PKGBUILD b/main/ndisc6/PKGBUILD new file mode 100644 index 00000000..5cd820bb --- /dev/null +++ b/main/ndisc6/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ndisc6 +pkgver=%version% +pkgrel=%release% +pkgdesc='Collection of IPv6 networking utilities' +arch=('x86_64') +url='https://www.remlab.net/ndisc6/' +license=('GPL') +depends=('glibc' 'perl') +makedepends=('glibc' 'gcc' 'systemd') +options=('!emptydirs') +install=$pkgname.install +source=("https://www.remlab.net/files/ndisc6/$pkgname-$pkgver.tar.bz2" + 'rdnssd@.service' + 'resolvconf-hook') +#Contacted by mail, Rémi was not able to provide its public key. +#He suggested to only rely on https to trust the source. +sha256sums=('1f2fb2dc1172770aa5a09d39738a44d8b753cc5e2e25e306ca78682f9fea0b4f' + '7b3055a55b6367691cc42e6ba30879f6a2690629ad66211448649a6e7a81758c' + 'c485bb8e5ee480dca2897f950ba9854f8b9deaf782480072536fa4f2d0152d24') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + # patch invalid path + sed -ri 's,^PATH=.*,PATH=/usr/local/sbin:/usr/local/bin:/usr/bin,' rdnss/merge-hook.in +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --sysconfdir=/etc + make +} + +package() { + pushd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + popd + + # service + install -Dm644 "$srcdir/rdnssd@.service" "$pkgdir/usr/lib/systemd/system/rdnssd@.service" + + # tmpfiles + install -Dm644 /dev/null "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + echo 'd /run/rdnssd 0755 nobody root' > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + # resolvconf merge hook + install -Dm755 "$srcdir/resolvconf-hook" "$pkgdir/etc/rdnssd/resolvconf-hook" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/ndisc6/README b/main/ndisc6/README new file mode 100644 index 00000000..ae88ccfc --- /dev/null +++ b/main/ndisc6/README @@ -0,0 +1,43 @@ +ndisc6 +________________________________________________________________________________ + +Collection of IPv6 networking utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ndisc6 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.remlab.net/ndisc6/ diff --git a/main/ndisc6/ndisc6.install b/main/ndisc6/ndisc6.install new file mode 100644 index 00000000..7e96aaf2 --- /dev/null +++ b/main/ndisc6/ndisc6.install @@ -0,0 +1,14 @@ +#!/bin/bash + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if (( "$(vercmp $2 1.0.2-7)" <= 0 )); then + cat << EOF +===> rdnssd.service has been replaced by rdnssd@.service. Update your setup. +===> hint: systemctl enable rdnssd@merge-hook.service +EOF + fi +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/main/ndisc6/rdnssd@.service b/main/ndisc6/rdnssd@.service new file mode 100644 index 00000000..dc209b60 --- /dev/null +++ b/main/ndisc6/rdnssd@.service @@ -0,0 +1,10 @@ +[Unit] +Description=RDNSS daemon for Linux +Before=network.target +Requires=network.target + +[Service] +ExecStart=/usr/bin/rdnssd -f -H /etc/rdnssd/%i + +[Install] +WantedBy=multi-user.target diff --git a/main/ndisc6/resolvconf-hook b/main/ndisc6/resolvconf-hook new file mode 100644 index 00000000..e35ebe73 --- /dev/null +++ b/main/ndisc6/resolvconf-hook @@ -0,0 +1,5 @@ +#!/bin/bash + +if [[ -f /run/rdnssd/resolv.conf ]]; then + /usr/bin/resolvconf -a rdnssd < /run/rdnssd/resolv.conf +fi diff --git a/main/ndisc6/version b/main/ndisc6/version new file mode 100644 index 00000000..0bc3d1eb --- /dev/null +++ b/main/ndisc6/version @@ -0,0 +1 @@ +1.0.8 1 diff --git a/main/neofetch/.nvchecker.toml b/main/neofetch/.nvchecker.toml new file mode 100644 index 00000000..a40c5e44 --- /dev/null +++ b/main/neofetch/.nvchecker.toml @@ -0,0 +1,4 @@ +[neofetch] +source = "github" +github = "dylanaraps/neofetch" +use_max_tag = true diff --git a/main/neofetch/PKGBUILD b/main/neofetch/PKGBUILD new file mode 100644 index 00000000..17bd6680 --- /dev/null +++ b/main/neofetch/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=neofetch +pkgver=%version% +pkgrel=%release% +pkgdesc="A CLI system information tool written in BASH that supports displaying images." +arch=('any') +url="https://github.com/dylanaraps/neofetch" +license=('MIT') +depends=('bash') +makedepends=('git') +backup=('etc/neofetch/config.conf') +optdepends=( + 'catimg: Display Images' + 'chafa: Image to text support' + 'feh: Wallpaper Display' + 'imagemagick: Image cropping / Thumbnail creation / Take a screenshot' + 'jp2a: Display Images' + 'libcaca: Display Images' + 'nitrogen: Wallpaper Display' + 'w3m: Display Images' + 'xdotool: See https://github.com/dylanaraps/neofetch/wiki/Images-in-the-terminal' + 'xorg-xdpyinfo: Resolution detection (Single Monitor)' + 'xorg-xprop: Desktop Environment and Window Manager' + 'xorg-xrandr: Resolution detection (Multi Monitor + Refresh rates)' + 'xorg-xwininfo: See https://github.com/dylanaraps/neofetch/wiki/Images-in-the-terminal' +) +_commit="60d07dee6b76769d8c487a40639fb7b5a1a7bc85" +source=("git+https://github.com/dylanaraps/neofetch.git#commit=${_commit}?signed") +validpgpkeys=("7C20ADCD35D9797789B6BCC046D62DD9F1DE636E") # Dylan Araps +sha256sums=('SKIP') + +package() { + cd "${pkgname}" + make DESTDIR="$pkgdir" install + install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md" +} diff --git a/main/neofetch/README b/main/neofetch/README new file mode 100644 index 00000000..86d8953c --- /dev/null +++ b/main/neofetch/README @@ -0,0 +1,43 @@ +neofetch +________________________________________________________________________________ + +A CLI system information tool written in BASH that supports displaying images. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S neofetch | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/dylanaraps/neofetch diff --git a/main/neofetch/version b/main/neofetch/version new file mode 100644 index 00000000..df7d2412 --- /dev/null +++ b/main/neofetch/version @@ -0,0 +1 @@ +7.1.0 2 diff --git a/main/nettle/.nvchecker.toml b/main/nettle/.nvchecker.toml new file mode 100644 index 00000000..30c1456b --- /dev/null +++ b/main/nettle/.nvchecker.toml @@ -0,0 +1,7 @@ +[nettle] +source = "gitlab" +gitlab = "nettle/nettle" +host = "git.lysator.liu.se" +use_max_tag = true +from_pattern = 'nettle_(\d+).(\d+).(\d+)_release_(\d+)' +to_pattern = '\1.\2.\3' diff --git a/main/nettle/PKGBUILD b/main/nettle/PKGBUILD new file mode 100644 index 00000000..f4c0684a --- /dev/null +++ b/main/nettle/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nettle +pkgver=%version% +pkgrel=%release% +pkgdesc="A low-level cryptographic library" +arch=('x86_64') +url="https://www.lysator.liu.se/~nisse/nettle" +license=('GPL2') +depends=('glibc' 'gmp') +provides=('libnettle.so' 'libhogweed.so') +checkdepends=('valgrind') +source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig}) +sha256sums=('ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3' + 'SKIP') +validpgpkeys=('343C2FF0FBEE5EC2EDBEF399F3599FF828C67298') # Niels Möller + + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make -k check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} diff --git a/main/nettle/README b/main/nettle/README new file mode 100644 index 00000000..b749af63 --- /dev/null +++ b/main/nettle/README @@ -0,0 +1,43 @@ +nettle +________________________________________________________________________________ + +A low-level cryptographic library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nettle | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.lysator.liu.se/~nisse/nettle diff --git a/main/nettle/version b/main/nettle/version new file mode 100644 index 00000000..0059660b --- /dev/null +++ b/main/nettle/version @@ -0,0 +1 @@ +3.9.1 1 diff --git a/main/network-manager-applet/PKGBUILD b/main/network-manager-applet/PKGBUILD new file mode 100644 index 00000000..a9d48a86 --- /dev/null +++ b/main/network-manager-applet/PKGBUILD @@ -0,0 +1,91 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=network-manager-applet +pkgname=( + network-manager-applet + nm-connection-editor +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Applet for managing network connections" +url="https://gitlab.gnome.org/GNOME/network-manager-applet" +arch=(x86_64) +license=(GPL-2.0-or-later) +depends=( + libappindicator-gtk3 + libmm-glib + libnma + libsecret + networkmanager +) +makedepends=( + git + gobject-introspection + gtk-doc + meson +) +_commit=8accd508caa0400304a01da718eeab587ee8fb04 # tags/1.36.0^0 +source=("git+https://gitlab.gnome.org/GNOME/network-manager-applet.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/-dev/dev/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgbase +} + +build() { + local meson_options=( + -D selinux=false + ) + + arch-meson $pkgbase build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_network-manager-applet() { + depends+=(nm-connection-editor) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + + _pick nmce usr/bin/nm-connection-editor + _pick nmce usr/share/applications/nm-connection-editor.desktop + _pick nmce usr/share/icons/hicolor/*/*/nm-device-wwan{,-symbolic}.* + _pick nmce usr/share/locale + _pick nmce usr/share/man/man1/nm-connection-editor.1 + _pick nmce usr/share/metainfo +} + +package_nm-connection-editor() { + pkgdesc="NetworkManager GUI connection editor and widgets" + depends=( + jansson + libnma + ) + conflicts=('libnm-gtk<1.8.18-1') + replaces=('libnm-gtk<1.8.18-1') + + mv nmce/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/network-manager-applet/README b/main/network-manager-applet/README new file mode 100644 index 00000000..d153a339 --- /dev/null +++ b/main/network-manager-applet/README @@ -0,0 +1,43 @@ +network-manager-applet +________________________________________________________________________________ + +Applet for managing network connections NetworkManager GUI connection editor and widgets + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S network-manager-applet | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.gnome.org/GNOME/network-manager-applet diff --git a/main/network-manager-applet/version b/main/network-manager-applet/version new file mode 100644 index 00000000..ef6ed77a --- /dev/null +++ b/main/network-manager-applet/version @@ -0,0 +1 @@ +1.36.0 1 diff --git a/main/networkmanager-qt/.PKGINFO b/main/networkmanager-qt/.PKGINFO new file mode 100644 index 00000000..eea4a5dd --- /dev/null +++ b/main/networkmanager-qt/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = networkmanager-qt +pkgbase = networkmanager-qt +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Qt wrapper for NetworkManager API +url = https://community.kde.org/Frameworks +builddate = 1718491875 +packager = Developer +size = 3943537 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = networkmanager +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/networkmanager-qt/PKGBUILD b/main/networkmanager-qt/PKGBUILD new file mode 100644 index 00000000..636015a2 --- /dev/null +++ b/main/networkmanager-qt/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=networkmanager-qt +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt wrapper for NetworkManager API' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + networkmanager + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('225fc9f44e11d06687ce2ca56be7c7452f0ad2cc850b22f5715c8b701dabb700' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/networkmanager-qt/README b/main/networkmanager-qt/README new file mode 100644 index 00000000..e69b6879 --- /dev/null +++ b/main/networkmanager-qt/README @@ -0,0 +1,43 @@ +networkmanager-qt +________________________________________________________________________________ + +Qt wrapper for NetworkManager API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S networkmanager-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/networkmanager-qt/version b/main/networkmanager-qt/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/networkmanager-qt/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/networkmanager/.PKGINFO b/main/networkmanager/.PKGINFO new file mode 100644 index 00000000..78e1bb46 --- /dev/null +++ b/main/networkmanager/.PKGINFO @@ -0,0 +1,88 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = networkmanager +pkgbase = networkmanager +xdata = pkgtype=split +pkgver = 1.48.0-1 +pkgdesc = Network connection manager and user applications +url = https://networkmanager.dev/ +builddate = 1718491871 +packager = Developer +size = 15863322 +arch = x86_64 +license = LGPL-2.1-or-later +license = GPL-2.0-or-later +backup = etc/NetworkManager/NetworkManager.conf +depend = audit +depend = curl +depend = gcc-libs +depend = glib2 +depend = glibc +depend = iproute2 +depend = jansson +depend = libmm-glib +depend = libndp +depend = libnewt +depend = libnm +depend = libpsl +depend = libteam +depend = mobile-broadband-provider-info +depend = nspr +depend = nss +depend = readline +depend = systemd-libs +depend = wpa_supplicant +optdepend = bluez: Bluetooth support +optdepend = dhclient: alternative DHCP client +optdepend = dhcpcd: alternative DHCP client +optdepend = dnsmasq: connection sharing +optdepend = firewalld: firewall support +optdepend = iptables: connection sharing +optdepend = iwd: wpa_supplicant alternative +optdepend = modemmanager: cellular network support +optdepend = nftables: connection sharing +optdepend = openresolv: alternative resolv.conf manager +optdepend = pacrunner: PAC proxy support +optdepend = polkit: let non-root users control networking +optdepend = ppp: dialup connection support +makedepend = audit +makedepend = bash +makedepend = curl +makedepend = dhclient +makedepend = dhcpcd +makedepend = dnsmasq +makedepend = gcc-libs +makedepend = git +makedepend = glib2 +makedepend = glibc +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = iproute2 +makedepend = iptables +makedepend = iwd +makedepend = jansson +makedepend = libmm-glib +makedepend = libndp +makedepend = libnewt +makedepend = libpsl +makedepend = libteam +makedepend = meson +makedepend = modemmanager +makedepend = nftables +makedepend = nspr +makedepend = nss +makedepend = openresolv +makedepend = pacrunner +makedepend = perl-yaml +makedepend = polkit +makedepend = ppp +makedepend = python-gobject +makedepend = python-packaging +makedepend = readline +makedepend = systemd +makedepend = systemd-libs +makedepend = vala +makedepend = vala +makedepend = wpa_supplicant +checkdepend = libx11 +checkdepend = python-dbus diff --git a/main/networkmanager/PKGBUILD b/main/networkmanager/PKGBUILD new file mode 100644 index 00000000..84d17dbc --- /dev/null +++ b/main/networkmanager/PKGBUILD @@ -0,0 +1,228 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=networkmanager +pkgname=( + networkmanager + libnm + nm-cloud-setup + networkmanager-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Network connection manager and user applications" +url="https://networkmanager.dev/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +makedepends=( + audit + curl + dhclient + dhcpcd + dnsmasq + git + glib2-docs + gobject-introspection + gtk-doc + iproute2 + iptables + iwd + jansson + libmm-glib + libndp + libnewt + libpsl + libteam + meson + modemmanager + nftables + nss + openresolv + pacrunner + perl-yaml + polkit + ppp + python-gobject + systemd + vala + vala + wpa_supplicant +) +checkdepends=( + libx11 + python-dbus +) +_commit=e39f48a30a2ef7b445276a859bbd5255e4c5071d # tags/1.46.0^0 +source=( + "git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd NetworkManager + git describe --tags | sed 's/-dev/dev/;s/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd NetworkManager +} + +build() { + local meson_options=( + # build checks this option; injecting just via *FLAGS is broken + -D b_lto=true + + # system paths + -D dbus_conf_dir=/usr/share/dbus-1/system.d + + # platform + -D dist_version="$pkgver-$pkgrel" + -D session_tracking_consolekit=false + -D suspend_resume=systemd + -D modify_system=true + -D selinux=false + + # features + -D iwd=true + -D teamdctl=true + + # configuration plugins + -D config_plugins_default=keyfile + -D ifupdown=false + + # handlers for resolv.conf + -D netconfig=no + -D config_dns_rc_manager_default=symlink + + # miscellaneous + -D vapi=true + -D docs=true + -D more_asserts=no + -D more_logging=false + -D qt=false + ) + + # NM uses malloc_usable_size in code copied from systemd + CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + arch-meson NetworkManager build "${meson_options[@]}" + meson compile -C build +} + +check() { + NMTST_FORCE_REAL_ROOT=1 meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_networkmanager() { + depends=( + audit + curl + iproute2 + jansson + libmm-glib + libndp + libnewt + libnm + libpsl + libteam + mobile-broadband-provider-info + wpa_supplicant + ) + optdepends=( + 'bluez: Bluetooth support' + 'dhclient: alternative DHCP client' + 'dhcpcd: alternative DHCP client' + 'dnsmasq: connection sharing' + 'firewalld: firewall support' + 'iptables: connection sharing' + 'iwd: wpa_supplicant alternative' + 'modemmanager: cellular network support' + 'nftables: connection sharing' + 'openresolv: alternative resolv.conf manager' + 'pacrunner: PAC proxy support' + 'polkit: let non-root users control networking' + 'ppp: dialup connection support' + ) + backup=(etc/NetworkManager/NetworkManager.conf) + + # NM wants to move to LGPL only, but there's still GPL code left + license+=(GPL-2.0-or-later) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + + # /etc/NetworkManager + install -d etc/NetworkManager/{conf,dnsmasq}.d + install -dm700 etc/NetworkManager/system-connections + install -m644 /dev/stdin etc/NetworkManager/NetworkManager.conf < +# Maintainer: Developer + +pkgbase=nfs-utils +pkgname=('nfs-utils' 'nfsidmap') +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url='http://nfs.sourceforge.net' +makedepends=('libevent' 'sqlite' 'rpcsvc-proto' 'device-mapper') +# http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=summary +source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.{xz,sign} + exports + sysusers.d) +# https://mirrors.edge.kernel.org/pub/linux/utils/nfs-utils/2.6.4/sha256sums.asc +sha256sums=('01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d' + 'SKIP' + 'b8238b74179f7e1626db2b637671ddc17288a1c5b7692954ae6d2fbb1be3788d' + '8e1b6aa59cf5539b9da13cfec217b3ca7b6c32e08df3b0a204901ed2891b2ded') +validpgpkeys=('E1B71E339E20A10A676F7CB69AFB1D681A125177') # Steve Dickson + +prepare() { + cd "${pkgbase}"-${pkgver} + + # fix hardcoded sbin/libexec path to our needs + sed -i "s|sbindir = /sbin|sbindir = /usr/bin|g" utils/*/Makefile.am + sed -i "s|sbin|bin|" utils/nfsidmap/id_resolver.conf + sed -i "s|libexec|bin|" tools/nfsrahead/99-nfs.rules + autoreconf -vfi +} + +build() { + cd "${pkgbase}"-${pkgver} + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/bin \ + --with-statedir=/var/lib/nfs \ + --with-statdpath=/var/lib/nfs/statd \ + --with-start-statd=/usr/bin/start-statd \ + --enable-nfsv4server \ + --enable-gss \ + --without-tcp-wrappers \ + --enable-ipv6 \ + --enable-libmount-mount \ + --enable-mountconfig \ + --with-systemd + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd "${pkgbase}"-${pkgver} + #make -k check || /bin/true + make check +} + +package_nfs-utils() { + + pkgdesc="Support programs for Network File Systems" + license=('GPL2') + + backup=(etc/{exports,nfs.conf,nfsmount.conf} + var/lib/nfs/{etab,rmtab}) + depends=('rpcbind' 'nfsidmap' 'gssproxy' 'libevent' 'device-mapper') + optdepends=('sqlite: for nfsdcltrack and fsidd usage' + 'python: for rpcctl, nfsiostat, nfsdclnts and mountstats usage') + + cd "${pkgbase}"-${pkgver} + make DESTDIR="$pkgdir" install + + install -D -m 644 utils/mount/nfsmount.conf "$pkgdir"/etc/nfsmount.conf + install -D -m 644 nfs.conf "$pkgdir"/etc/nfs.conf + + install -d -m 755 "$pkgdir"/usr/share/doc/$pkgname + install -D -m 644 systemd/README "$pkgdir"/usr/share/doc/$pkgname/README.systemd + + # docs + install -m 644 {NEWS,README} "$pkgdir"/usr/share/doc/$pkgname/ + + # empty exports file + install -D -m 644 ../exports "$pkgdir"/etc/exports + + # config file for idmappers in newer kernels + install -D -m 644 utils/nfsidmap/id_resolver.conf "$pkgdir"/etc/request-key.d/id_resolver.conf + + mkdir "$pkgdir"/etc/exports.d + mkdir -m 555 "$pkgdir"/var/lib/nfs/rpc_pipefs + mkdir "$pkgdir"/var/lib/nfs/v4recovery + + # systemd sysusers - FS#75536 + install -D -m 644 ../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/rpcuser.conf + chown -Rv 34:34 "${pkgdir}"/var/lib/nfs/statd + chmod -R 700 "${pkgdir}"/var/lib/nfs/statd + chmod 644 "${pkgdir}"/var/lib/nfs/statd/state + + # nfsidmap cleanup + rm -vrf "$pkgdir"/usr/include #/nfsid* + rm -vrf "$pkgdir"/usr/lib/libnfsidmap* + rm -vrf "$pkgdir"/usr/lib/pkgconfig #/libnfsidmap.pc + rm -v "$pkgdir"/usr/share/man/{man3/nfs4_uid_to_name*,man5/idmapd.conf*} + rm -rf "$pkgdir"/usr/share/man/man3 +} + +package_nfsidmap() { + + pkgdesc="Library to help mapping IDs, mainly for NFSv4" + license=('GPL2') + backup=(etc/idmapd.conf) + depends=('libldap' 'krb5') + + cd "${pkgbase}"-${pkgver} + make -C support DESTDIR="$pkgdir" install + + # part of -utils pkg + rm -v "$pkgdir"/usr/bin/fsidd + rmdir -v "$pkgdir"/usr/bin + + # config file + install -D -m 644 support/nfsidmap/idmapd.conf "$pkgdir"/etc/idmapd.conf + # license + install -Dm644 support/nfsidmap/COPYING $pkgdir/usr/share/licenses/nfsidmap/LICENSE +} diff --git a/main/nfs-utils/README b/main/nfs-utils/README new file mode 100644 index 00000000..f45f479f --- /dev/null +++ b/main/nfs-utils/README @@ -0,0 +1,43 @@ +nfs-utils +________________________________________________________________________________ + +Support programs for Network File Systems Library to help mapping IDs, mainly for NFSv4 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nfs-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://nfs.sourceforge.net diff --git a/main/nfs-utils/exports b/main/nfs-utils/exports new file mode 100644 index 00000000..6ac9649a --- /dev/null +++ b/main/nfs-utils/exports @@ -0,0 +1,12 @@ +# /etc/exports - exports(5) - directories exported to NFS clients +# +# Example for NFSv3: +# /srv/home hostname1(rw,sync) hostname2(ro,sync) +# Example for NFSv4: +# /srv/nfs4 hostname1(rw,sync,fsid=0) +# /srv/nfs4/home hostname1(rw,sync,nohide) +# Using Kerberos and integrity checking: +# /srv/nfs4 *(rw,sync,sec=krb5i,fsid=0) +# /srv/nfs4/home *(rw,sync,sec=krb5i,nohide) +# +# Use `exportfs -arv` to reload. diff --git a/main/nfs-utils/sysusers.d b/main/nfs-utils/sysusers.d new file mode 100644 index 00000000..4399cd7d --- /dev/null +++ b/main/nfs-utils/sysusers.d @@ -0,0 +1 @@ +u rpcuser 34 "RPC Service User" /var/lib/nfs diff --git a/main/nfs-utils/version b/main/nfs-utils/version new file mode 100644 index 00000000..c689264b --- /dev/null +++ b/main/nfs-utils/version @@ -0,0 +1 @@ +2.6.4 1 diff --git a/main/nftables/.PKGINFO b/main/nftables/.PKGINFO new file mode 100644 index 00000000..3249e957 --- /dev/null +++ b/main/nftables/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = nftables +pkgbase = nftables +xdata = pkgtype=pkg +pkgver = 1:1.0.9-3 +pkgdesc = Netfilter tables userspace tools +url = https://netfilter.org/projects/nftables/ +builddate = 1716253273 +packager = Developer +size = 1081618 +arch = x86_64 +license = GPL-2.0-only +backup = etc/nftables.conf +depend = libmnl +depend = libnftnl +depend = gmp +depend = readline +depend = ncurses +depend = jansson +optdepend = python: Python bindings +makedepend = asciidoc +makedepend = python +makedepend = python-setuptools +makedepend = python-build +makedepend = python-installer +makedepend = python-wheel diff --git a/main/nftables/PKGBUILD b/main/nftables/PKGBUILD new file mode 100644 index 00000000..efa89c2f --- /dev/null +++ b/main/nftables/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nftables +epoch=1 +pkgver=%version% +pkgrel=%release% +pkgdesc='Netfilter tables userspace tools' +arch=('x86_64') +url='https://netfilter.org/projects/nftables/' +license=('GPL2') +depends=('libmnl' 'libnftnl' 'gmp' 'readline' 'ncurses' 'jansson') +optdepends=('python: Python bindings') +makedepends=('asciidoc' 'python' 'python-setuptools' 'python-build' + 'python-installer' 'python-wheel') +backup=('etc/nftables.conf') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://netfilter.org/projects/nftables/files/nftables-$pkgver.tar.xz"{,.sig} + 'nftables.conf' + 'nftables.service') +install=nftables.install +sha256sums=('a3c304cd9ba061239ee0474f9afb938a9bb99d89b960246f66f0c3a0a85e14cd' + 'SKIP' + '2aff88019097d21dbfa4713f5b54c184751c86376e458b683f8d90f3abd232a8' + 'deffeef36fe658867dd9203ec13dec85047a6d224ea63334dcf60db97e1809ea') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/usr/share \ + --with-json \ + --with-cli=readline \ + --disable-python \ + --disable-debug + make + + # Building the Python module separately due to the automatic build resulting + # in an incorrect directory structure and unimportable module (see FS#79229) + cd py + python -m build --wheel --no-isolation +} + +package() { + pushd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + python -m installer --destdir="$pkgdir" py/dist/*.whl + popd + # basic safe firewall config + install -Dm644 nftables.conf "$pkgdir/etc/nftables.conf" + # systemd + install -Dm644 nftables.service "$pkgdir/usr/lib/systemd/system/nftables.service" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/nftables/README b/main/nftables/README new file mode 100644 index 00000000..ab435f1e --- /dev/null +++ b/main/nftables/README @@ -0,0 +1,43 @@ +nftables +________________________________________________________________________________ + +Netfilter tables userspace tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nftables | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://netfilter.org/projects/nftables/ diff --git a/main/nftables/nftables.conf b/main/nftables/nftables.conf new file mode 100644 index 00000000..fe835b30 --- /dev/null +++ b/main/nftables/nftables.conf @@ -0,0 +1,27 @@ +#!/usr/bin/nft -f +# vim:set ts=2 sw=2 et: + +# IPv4/IPv6 Simple & Safe firewall ruleset. +# More examples in /usr/share/nftables/ and /usr/share/doc/nftables/examples/. + +table inet filter +delete table inet filter +table inet filter { + chain input { + type filter hook input priority filter + policy drop + + ct state invalid drop comment "early drop of invalid connections" + ct state {established, related} accept comment "allow tracked connections" + iifname lo accept comment "allow from loopback" + ip protocol icmp accept comment "allow icmp" + meta l4proto ipv6-icmp accept comment "allow icmp v6" + tcp dport ssh accept comment "allow sshd" + pkttype host limit rate 5/second counter reject with icmpx type admin-prohibited + counter + } + chain forward { + type filter hook forward priority filter + policy drop + } +} diff --git a/main/nftables/nftables.install b/main/nftables/nftables.install new file mode 100644 index 00000000..455245dd --- /dev/null +++ b/main/nftables/nftables.install @@ -0,0 +1,10 @@ +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + (( $(vercmp "$2" '1:0.9.9-1') > 0 )) || cat < Stopping/restarting the nftables service does NOT flush the ruleset anymore. +==> The nftables.conf file requires a delete/flush directive to be restarted. +==> See examples in /usr/share/nftables/ and /usr/share/doc/nftables/examples. +==> The nftables service reload has been removed as it is now equivalent to a restart. +EOF +} diff --git a/main/nftables/nftables.service b/main/nftables/nftables.service new file mode 100644 index 00000000..464d8df2 --- /dev/null +++ b/main/nftables/nftables.service @@ -0,0 +1,12 @@ +[Unit] +Description=Netfilter Tables +Documentation=man:nft(8) +Wants=network-pre.target +Before=network-pre.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/nft -f /etc/nftables.conf + +[Install] +WantedBy=multi-user.target diff --git a/main/nftables/version b/main/nftables/version new file mode 100644 index 00000000..682baa92 --- /dev/null +++ b/main/nftables/version @@ -0,0 +1 @@ +1:1.0.9 3 diff --git a/main/nilfs-utils/.PKGINFO b/main/nilfs-utils/.PKGINFO new file mode 100644 index 00000000..e365e343 --- /dev/null +++ b/main/nilfs-utils/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = nilfs-utils +pkgbase = nilfs-utils +xdata = pkgtype=pkg +pkgver = 2.2.11-1 +pkgdesc = A log-structured file system supporting continuous snapshotting (userspace utils) +url = http://nilfs.sourceforge.net/ +builddate = 1713663686 +packager = Developer +size = 396329 +arch = x86_64 +license = GPL2 +license = LGPL2.1 +backup = etc/nilfs_cleanerd.conf +depend = util-linux diff --git a/main/nilfs-utils/PKGBUILD b/main/nilfs-utils/PKGBUILD new file mode 100644 index 00000000..90d41ec0 --- /dev/null +++ b/main/nilfs-utils/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nilfs-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="A log-structured file system supporting continuous snapshotting (userspace utils)" +arch=('x86_64') +url="http://nilfs.sourceforge.net/" +license=('GPL2' 'LGPL2.1') +backup=('etc/nilfs_cleanerd.conf') +depends=('util-linux') +source=(http://nilfs.sourceforge.net/download/$pkgname-$pkgver.tar.bz2) +sha256sums=('969355f6990a73e104e329386f26e82c4e5e4faf5f7eb1b9eed513659bdf31eb') + +build() { + cd $pkgname-$pkgver + sed -i -e 's#root_sbindir=/sbin#root_sbindir=/usr/bin#' configure + ./configure --sbindir=/usr/bin --with-libmount + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" sbindir=/usr/bin install LDCONFIG=/bin/true +} diff --git a/main/nilfs-utils/README b/main/nilfs-utils/README new file mode 100644 index 00000000..6384fad5 --- /dev/null +++ b/main/nilfs-utils/README @@ -0,0 +1,43 @@ +nilfs-utils +________________________________________________________________________________ + +A log-structured file system supporting continuous snapshotting (userspace utils) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nilfs-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://nilfs.sourceforge.net/ diff --git a/main/nilfs-utils/version b/main/nilfs-utils/version new file mode 100644 index 00000000..f4759704 --- /dev/null +++ b/main/nilfs-utils/version @@ -0,0 +1 @@ +2.2.11 1 diff --git a/main/nmap/.PKGINFO b/main/nmap/.PKGINFO new file mode 100644 index 00000000..526d959f --- /dev/null +++ b/main/nmap/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = nmap +pkgbase = nmap +xdata = pkgtype=pkg +pkgver = 7.95-1 +pkgdesc = Utility for network discovery and security auditing +url = https://nmap.org/ +builddate = 1715739127 +packager = Developer +size = 26210589 +arch = x86_64 +license = LicenseRef-Nmap-Public-Source-License-Version-0.95 +depend = gcc-libs +depend = glibc +depend = libpcap +depend = libssh2 +depend = libssh2.so=1-64 +depend = lua +depend = openssl +depend = pcre2 +depend = zlib diff --git a/main/nmap/PKGBUILD b/main/nmap/PKGBUILD new file mode 100644 index 00000000..80babb1b --- /dev/null +++ b/main/nmap/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nmap +pkgver=%version% +pkgrel=%release% +pkgdesc='Utility for network discovery and security auditing' +url='https://nmap.org/' +arch=('x86_64') +license=('LicenseRef-Nmap-Public-Source-License-Version-0.95') +depends=('glibc' 'pcre' 'openssl' 'lua' 'libpcap' + 'libssh2' 'libssh2.so' 'zlib' 'gcc-libs') +source=("https://nmap.org/dist/${pkgname}-${pkgver}.tar.bz2" + "https://nmap.org/dist/sigs/${pkgname}-${pkgver}.tar.bz2.asc") +sha256sums=('d71be189eec43d7e099bac8571509d316c4577ca79491832ac3e1217bc8f92cc' + 'SKIP') +b2sums=('5819b458b50e33f6a507ad3c32a731c13e730c40d31a61731c3cfcd41fad8e3fdfcbb721ef46b05a80e406d0a646d0966d4b645551711144822551ef374a443a' + 'SKIP') +validpgpkeys=( + '436D66AB9A798425FDA0E3F801AF9F036B9355D0' # Nmap Project Signing Key (http://www.insecure.org/) +) + +prepare() { + cd "${pkgname}-${pkgver}" + # ensure we build devendored deps + rm -rf liblua libpcap libpcre macosx mwin32 libssh2 libz + autoreconf -fiv +} + +build() { + cd "${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --with-libpcap=/usr \ + --with-libpcre=/usr \ + --with-zlib=/usr \ + --with-libssh2=/usr \ + --with-liblua=/usr \ + --without-ndiff \ + --without-zenmap + make +} + +check() { + cd "${pkgname}-${pkgver}" + make check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm 644 README.md docs/nmap.usage.txt -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 LICENSE docs/3rd-party-licenses.txt -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/nmap/README b/main/nmap/README new file mode 100644 index 00000000..c547e4b2 --- /dev/null +++ b/main/nmap/README @@ -0,0 +1,43 @@ +nmap +________________________________________________________________________________ + +Utility for network discovery and security auditing + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nmap | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://nmap.org/ diff --git a/main/nmap/version b/main/nmap/version new file mode 100644 index 00000000..91014210 --- /dev/null +++ b/main/nmap/version @@ -0,0 +1 @@ +7.95 1 diff --git a/main/noto-fonts-emoji/.nvchecker.toml b/main/noto-fonts-emoji/.nvchecker.toml new file mode 100644 index 00000000..1e26e27b --- /dev/null +++ b/main/noto-fonts-emoji/.nvchecker.toml @@ -0,0 +1,5 @@ +[noto-fonts-emoji] +source = 'github' +github = 'googlefonts/noto-emoji' +use_max_tag = true +prefix = 'v' diff --git a/main/noto-fonts-emoji/66-noto-color-emoji.conf b/main/noto-fonts-emoji/66-noto-color-emoji.conf new file mode 100644 index 00000000..4f7c74c2 --- /dev/null +++ b/main/noto-fonts-emoji/66-noto-color-emoji.conf @@ -0,0 +1,27 @@ + + + + + + + + Noto Color Emoji + + + charset + + 0x0000 + 0x00FF + + + + + + Noto + + Noto Color Emoji + + + diff --git a/main/noto-fonts-emoji/PKGBUILD b/main/noto-fonts-emoji/PKGBUILD new file mode 100644 index 00000000..0da5f612 --- /dev/null +++ b/main/noto-fonts-emoji/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=noto-fonts-emoji +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='Google Noto emoji fonts' +arch=(any) +url='https://www.google.com/get/noto/' +license=(custom:OFL) +provides=(emoji-font) +makedepends=(git) +source=(git+https://github.com/googlefonts/noto-emoji.git#tag=v$pkgver) +sha256sums=('SKIP') + +package() { + cd noto-emoji + mkdir -p "$pkgdir"/usr/share/fonts/noto + install -m644 fonts/NotoColorEmoji.ttf "$pkgdir"/usr/share/fonts/noto + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/main/noto-fonts-emoji/README b/main/noto-fonts-emoji/README new file mode 100644 index 00000000..85b5581b --- /dev/null +++ b/main/noto-fonts-emoji/README @@ -0,0 +1,43 @@ +noto-fonts-emoji +________________________________________________________________________________ + +Google Noto emoji fonts + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S noto-fonts-emoji | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.google.com/get/noto/ diff --git a/main/noto-fonts-emoji/version b/main/noto-fonts-emoji/version new file mode 100644 index 00000000..55b218b8 --- /dev/null +++ b/main/noto-fonts-emoji/version @@ -0,0 +1 @@ +2.042 1 diff --git a/main/npth/.nvchecker.toml b/main/npth/.nvchecker.toml new file mode 100644 index 00000000..0bb1f97f --- /dev/null +++ b/main/npth/.nvchecker.toml @@ -0,0 +1,4 @@ +[npth] +source = "git" +git = "https://dev.gnupg.org/source/npth.git" +prefix = "npth-" diff --git a/main/npth/PKGBUILD b/main/npth/PKGBUILD new file mode 100644 index 00000000..31cd097b --- /dev/null +++ b/main/npth/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=npth +pkgver=%version% +pkgrel=%release% +pkgdesc='The new GNU portable threads library' +arch=(x86_64) +url="https://www.gnupg.org/software/npth/index.html" +license=(LGPL-2.1-or-later) +depends=(glibc sh) +provides=(libnpth.so) +source=(https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}) +sha512sums=('8893023bcf953a3f7c490cf8116bed323a9d4af2bea35277e919f437916fda8b8e68ded28ec1777717cf9187c504892556159cbdb8bc02ed4a8b30b3d897d244' + 'SKIP') +b2sums=('39bc5857fb61a4264bef6ff23c28755d2a3b3ceef93034aefd5cf1c2ad905adf696c6753ebd5cea5e0a875df4ecb97db03e023a50a27f51ec0641bbc36b54089' + 'SKIP') +validpgpkeys=( + 'D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch (dist sig) + '46CC730865BB5C78EBABADCF04376F3EE0856959' # David Shaw (GnuPG Release Signing Key) + '031EC2536E580D8EA286A9F22071B08A33BD3F06' # NIIBE Yutaka (GnuPG Release Key) + 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9' # Werner Koch (Release Signing Key) + '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) +) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + make check -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{README,NEWS,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/npth/README b/main/npth/README new file mode 100644 index 00000000..20051dfa --- /dev/null +++ b/main/npth/README @@ -0,0 +1,43 @@ +npth +________________________________________________________________________________ + +The new GNU portable threads library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S npth | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnupg.org/software/npth/index.html diff --git a/main/npth/version b/main/npth/version new file mode 100644 index 00000000..46b73aef --- /dev/null +++ b/main/npth/version @@ -0,0 +1 @@ +1.7 1 diff --git a/main/nspr/.PKGINFO b/main/nspr/.PKGINFO new file mode 100644 index 00000000..d434c28e --- /dev/null +++ b/main/nspr/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = nspr +pkgbase = nspr +xdata = pkgtype=pkg +pkgver = 4.35-3 +pkgdesc = Netscape Portable Runtime +url = https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR +builddate = 1718491877 +packager = Developer +size = 745495 +arch = x86_64 +license = MPL-2.0 +depend = glibc +depend = sh +makedepend = mercurial +makedepend = zip diff --git a/main/nspr/0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch b/main/nspr/0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch new file mode 100644 index 00000000..48acd224 --- /dev/null +++ b/main/nspr/0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch @@ -0,0 +1,78 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Thu, 4 Oct 2018 15:55:32 +0200 +Subject: [PATCH] linux: prefer GCC-provided atomics to asssembly + implementation + +--- + pr/include/md/_linux.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h +index ad57d083301c..57877b86fd84 100644 +--- a/pr/include/md/_linux.h ++++ b/pr/include/md/_linux.h +@@ -105,43 +105,63 @@ + #endif + + #if defined(__i386__) ++#if defined(__GNUC__) ++/* Use GCC built-in functions */ ++#define _PR_HAVE_ATOMIC_OPS ++#define _MD_INIT_ATOMIC() ++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) ++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) ++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) ++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) ++#else + #define _PR_HAVE_ATOMIC_OPS + #define _MD_INIT_ATOMIC() + extern PRInt32 _PR_x86_AtomicIncrement(PRInt32 *val); + #define _MD_ATOMIC_INCREMENT _PR_x86_AtomicIncrement + extern PRInt32 _PR_x86_AtomicDecrement(PRInt32 *val); + #define _MD_ATOMIC_DECREMENT _PR_x86_AtomicDecrement + extern PRInt32 _PR_x86_AtomicAdd(PRInt32 *ptr, PRInt32 val); + #define _MD_ATOMIC_ADD _PR_x86_AtomicAdd + extern PRInt32 _PR_x86_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_AtomicSet + #endif ++#endif + + #if defined(__ia64__) + #define _PR_HAVE_ATOMIC_OPS + #define _MD_INIT_ATOMIC() + extern PRInt32 _PR_ia64_AtomicIncrement(PRInt32 *val); + #define _MD_ATOMIC_INCREMENT _PR_ia64_AtomicIncrement + extern PRInt32 _PR_ia64_AtomicDecrement(PRInt32 *val); + #define _MD_ATOMIC_DECREMENT _PR_ia64_AtomicDecrement + extern PRInt32 _PR_ia64_AtomicAdd(PRInt32 *ptr, PRInt32 val); + #define _MD_ATOMIC_ADD _PR_ia64_AtomicAdd + extern PRInt32 _PR_ia64_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_ia64_AtomicSet + #endif + + #if defined(__x86_64__) ++#if defined(__GNUC__) ++/* Use GCC built-in functions */ ++#define _PR_HAVE_ATOMIC_OPS ++#define _MD_INIT_ATOMIC() ++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) ++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) ++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) ++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) ++#else + #define _PR_HAVE_ATOMIC_OPS + #define _MD_INIT_ATOMIC() + extern PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val); + #define _MD_ATOMIC_INCREMENT _PR_x86_64_AtomicIncrement + extern PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val); + #define _MD_ATOMIC_DECREMENT _PR_x86_64_AtomicDecrement + extern PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val); + #define _MD_ATOMIC_ADD _PR_x86_64_AtomicAdd + extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet + #endif ++#endif + + #if defined(__loongarch__) + #if defined(__GNUC__) diff --git a/main/nspr/0002-configure.in-Remove-assembly-files-from-build.patch b/main/nspr/0002-configure.in-Remove-assembly-files-from-build.patch new file mode 100644 index 00000000..7b20f39c --- /dev/null +++ b/main/nspr/0002-configure.in-Remove-assembly-files-from-build.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sun, 10 Dec 2023 16:11:13 +0100 +Subject: [PATCH] configure.in: Remove assembly files from build + +--- + configure.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index 7d4446689a82..9d14d1b4ab91 100644 +--- a/configure.in ++++ b/configure.in +@@ -1683,21 +1683,21 @@ tools are selected during the Xcode/Developer Tools installation.]) + ;; + i*86) + AC_DEFINE(i386) +- PR_MD_ASFILES=os_Linux_x86.s ++ PR_MD_ASFILES= + ;; + ia64) + PR_MD_ASFILES=os_Linux_ia64.s + ;; + x86_64) + if test -n "$USE_64"; then +- PR_MD_ASFILES=os_Linux_x86_64.s ++ PR_MD_ASFILES= + elif test -n "$USE_X32"; then +- PR_MD_ASFILES=os_Linux_x86_64.s ++ PR_MD_ASFILES= + CC="$CC -mx32" + CXX="$CXX -mx32" + else + AC_DEFINE(i386) +- PR_MD_ASFILES=os_Linux_x86.s ++ PR_MD_ASFILES= + CC="$CC -m32" + CXX="$CXX -m32" + fi diff --git a/main/nspr/PKGBUILD b/main/nspr/PKGBUILD new file mode 100644 index 00000000..9699eee4 --- /dev/null +++ b/main/nspr/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nspr +pkgver=%version% +pkgrel=%release% +pkgdesc="Netscape Portable Runtime" +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" +arch=(x86_64) +license=(MPL-2.0) +depends=( + glibc + sh +) +makedepends=( + mercurial + zip +) +_revision=b563bfc16c887c48b038b7b441fcc4e40a126d3b +source=( + "hg+https://hg.mozilla.org/projects/nspr#revision=$_revision" + 0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch + 0002-configure.in-Remove-assembly-files-from-build.patch +) +b2sums=('SKIP' + 'fe81bbb23478958438e385ec5563842cdaf7400021def0d2f2184c0c38389e75f28ed7a4f3b52cada4d76c6318c104dda661f1d4efaa224bc832a989729ef852' + '1fd6e9b1f3111a29a052b6034f796e4e9577a3dbb2d0e96798ce1f47b74f515c882c9f595198fa1646648611525b48857b33ed62e713991e2f28850690e99060') + +pkgver() { + cd nspr + hg id -t -r. | sed 's/^NSPR_//;s/_RTM$//;s/_/./g' +} + +prepare() { + cd nspr + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1496426 + # https://gitlab.archlinux.org/archlinux/packaging/packages/nspr/-/merge_requests/1 + patch -Np1 -i ../0001-linux-prefer-GCC-provided-atomics-to-asssembly-imple.patch + patch -Np1 -i ../0002-configure.in-Remove-assembly-files-from-build.patch + + autoreconf -fvi +} + +build() { + local configure_options=( + --prefix=/usr + --libdir=/usr/lib + --includedir=/usr/include/nspr + --enable-optimize + --disable-debug + --enable-64bit + ) + + cd nspr + ./configure "${configure_options[@]}" + make ${SOURCE_DATE_EPOCH:+ + SH_NOW="${SOURCE_DATE_EPOCH}000000" + SH_DATE="$(date --utc --date="@$SOURCE_DATE_EPOCH" '+%Y-%m-%d %T')" + } +} + +package() { + cd nspr + make DESTDIR="$pkgdir" install + ln -s nspr.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nspr.pc" + + rm -r "$pkgdir"/usr/include/nspr/md + rm "$pkgdir"/usr/bin/{compile-et.pl,prerr.properties} +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/nspr/README b/main/nspr/README new file mode 100644 index 00000000..9fa92789 --- /dev/null +++ b/main/nspr/README @@ -0,0 +1,43 @@ +nspr +________________________________________________________________________________ + +Netscape Portable Runtime + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nspr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR diff --git a/main/nspr/version b/main/nspr/version new file mode 100644 index 00000000..d75e53a7 --- /dev/null +++ b/main/nspr/version @@ -0,0 +1 @@ +4.35 3 diff --git a/main/nss/.PKGINFO b/main/nss/.PKGINFO new file mode 100644 index 00000000..675b5852 --- /dev/null +++ b/main/nss/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = nss +pkgbase = nss +xdata = pkgtype=split +pkgver = 3.101-1 +pkgdesc = Network Security Services +url = https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS +builddate = 1718491878 +packager = Developer +size = 5202035 +arch = x86_64 +license = MPL-2.0 +depend = nspr>=4.35 +depend = p11-kit>=0.23.19 +depend = glibc +depend = sqlite +depend = zlib +depend = sh +makedepend = gyp +makedepend = mercurial +makedepend = perl +makedepend = python diff --git a/main/nss/PKGBUILD b/main/nss/PKGBUILD new file mode 100644 index 00000000..f9fbde1c --- /dev/null +++ b/main/nss/PKGBUILD @@ -0,0 +1,121 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=nss +pkgname=( + nss + ca-certificates-mozilla +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Network Security Services" +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" +arch=(x86_64) +license=(MPL-2.0) +depends=( + 'nspr>=4.35' + 'p11-kit>=0.23.19' + sqlite + zlib + + sh # nss-config script +) +makedepends=( + gyp + mercurial + perl + python +) +_revision=3594a1841f437338d44afa970a527714d86f36c7 # NSS_3_99_RTM +source=( + "hg+https://hg.mozilla.org/projects/nss#revision=$_revision" + bundle.sh + certdata2pem.py +) +b2sums=('SKIP' + '4be5dd836c844fdd7b63302a6994d62149082c3bc81eef70f373f416fed80a61a923960e4390d1c391b81ab01b409370d788818a30ffdd3a4ed467b670f990f6' + '6bb59dcc9289916dcbf8fb6d73db0c0cd7582dc12a3aa4e8be19ec62c9ede65fdd9470a2d92ec5a114506b78d2d21b8ae0a1b45a17dc1f90f7d75434a93da510') + +pkgver() { + cd nss + hg id -t -r. | sed 's/^NSS_//;s/_RTM$//;s/_/./g' +} + +prepare() { + mkdir -p certs + ln -srft certs nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} +} + +build() { + local buildsh_options=( + --disable-tests + --enable-libpkix + --opt + --system-nspr + --system-sqlite + --target x64 + ) + + cd certs + ../certdata2pem.py + + cd .. + ./bundle.sh + + cd nss + ./build.sh "${buildsh_options[@]}" +} + +package_nss() { + local nsprver="$(pkg-config --modversion nspr)" + local libdir=/usr/lib includedir=/usr/include/nss + + sed nss/pkg/pkg-config/nss.pc.in \ + -e "s,%prefix%,/usr,g" \ + -e "s,%exec_prefix%,\${prefix},g" \ + -e "s,%libdir%,$libdir,g" \ + -e "s,%includedir%,$includedir,g" \ + -e "s,%NSPR_VERSION%,$nsprver,g" \ + -e "s,%NSS_VERSION%,$pkgver,g" | + install -Dm644 /dev/stdin "$pkgdir$libdir/pkgconfig/nss.pc" + + ln -s nss.pc "$pkgdir$libdir/pkgconfig/mozilla-nss.pc" + + install -Dt "$pkgdir$libdir" dist/Release/lib/*.so + + local vmajor vminor vpatch + { read vmajor; read vminor; read vpatch; } \ + < <(awk '/#define.*NSS_V(MAJOR|MINOR|PATCH)/ {print $3}' nss/lib/nss/nss.h) + + sed nss/pkg/pkg-config/nss-config.in \ + -e "s,@prefix@,/usr,g" \ + -e "s,@exec_prefix@,/usr,g" \ + -e "s,@libdir@,$libdir,g" \ + -e "s,@includedir@,$includedir,g" \ + -e "s,@MOD_MAJOR_VERSION@,$vmajor,g" \ + -e "s,@MOD_MINOR_VERSION@,$vminor,g" \ + -e "s,@MOD_PATCH_VERSION@,$vpatch,g" | + install -D /dev/stdin "$pkgdir/usr/bin/nss-config" + + install -Dt "$pkgdir/usr/bin" \ + dist/Release/bin/{*util,shlibsign,signtool,signver,ssltap} + + install -Dt "$pkgdir$includedir" -m644 dist/public/nss/*.h + + install -Dt "$pkgdir/usr/share/man/man1" -m644 \ + nss/doc/nroff/{*util,signtool,signver,ssltap}.1 + + # Replace built-in trust with p11-kit connection + ln -s pkcs11/p11-kit-trust.so "$pkgdir$libdir/p11-kit-trust.so" + ln -sf p11-kit-trust.so "$pkgdir$libdir/libnssckbi.so" +} + +package_ca-certificates-mozilla() { + pkgdesc="Mozilla's set of trusted CA certificates" + depends=('ca-certificates-utils>=20181109-3') + + install -Dm644 ca-bundle.trust.p11-kit \ + "$pkgdir/usr/share/ca-certificates/trust-source/mozilla.trust.p11-kit" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/nss/README b/main/nss/README new file mode 100644 index 00000000..67729971 --- /dev/null +++ b/main/nss/README @@ -0,0 +1,43 @@ +nss +________________________________________________________________________________ + +Network Security Services Mozilla's set of trusted CA certificates + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nss | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS diff --git a/main/nss/bundle.sh b/main/nss/bundle.sh new file mode 100755 index 00000000..531a4962 --- /dev/null +++ b/main/nss/bundle.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# From Fedora's ca-certificates.spec + +( + cat < ca-bundle.trust.p11-kit + +for p in certs/*.tmp-p11-kit; do + cat "$p" >> ca-bundle.trust.p11-kit +done diff --git a/main/nss/certdata2pem.py b/main/nss/certdata2pem.py new file mode 100755 index 00000000..a52ce9c7 --- /dev/null +++ b/main/nss/certdata2pem.py @@ -0,0 +1,413 @@ +#!/usr/bin/python +# vim:set et sw=4: +# +# certdata2pem.py - splits certdata.txt into multiple files +# +# Copyright (C) 2009 Philipp Kern +# Copyright (C) 2013 Kai Engert +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, +# USA. + +import base64 +import os.path +import re +import sys +import textwrap +import urllib.request, urllib.parse, urllib.error +import subprocess + +objects = [] + +def printable_serial(obj): + return ".".join([str(x) for x in obj['CKA_SERIAL_NUMBER']]) + +# Dirty file parser. +in_data, in_multiline, in_obj = False, False, False +field, ftype, value, binval, obj = None, None, None, bytearray(), dict() +for line in open('certdata.txt', 'r'): + # Ignore the file header. + if not in_data: + if line.startswith('BEGINDATA'): + in_data = True + continue + # Ignore comment lines. + if line.startswith('#'): + continue + # Empty lines are significant if we are inside an object. + if in_obj and len(line.strip()) == 0: + objects.append(obj) + obj = dict() + in_obj = False + continue + if len(line.strip()) == 0: + continue + if in_multiline: + if not line.startswith('END'): + if ftype == 'MULTILINE_OCTAL': + line = line.strip() + for i in re.finditer(r'\\([0-3][0-7][0-7])', line): + integ = int(i.group(1), 8) + binval.extend((integ).to_bytes(1, sys.byteorder)) + obj[field] = binval + else: + value += line + obj[field] = value + continue + in_multiline = False + continue + if line.startswith('CKA_CLASS'): + in_obj = True + line_parts = line.strip().split(' ', 2) + if len(line_parts) > 2: + field, ftype = line_parts[0:2] + value = ' '.join(line_parts[2:]) + elif len(line_parts) == 2: + field, ftype = line_parts + value = None + else: + raise NotImplementedError('line_parts < 2 not supported.\n' + line) + if ftype == 'MULTILINE_OCTAL': + in_multiline = True + value = "" + binval = bytearray() + continue + obj[field] = value +if len(list(obj.items())) > 0: + objects.append(obj) + +# Build up trust database. +trustmap = dict() +for obj in objects: + if obj['CKA_CLASS'] != 'CKO_NSS_TRUST': + continue + key = obj['CKA_LABEL'] + printable_serial(obj) + trustmap[key] = obj + print(" added trust", key) + +# Build up cert database. +certmap = dict() +for obj in objects: + if obj['CKA_CLASS'] != 'CKO_CERTIFICATE': + continue + key = obj['CKA_LABEL'] + printable_serial(obj) + certmap[key] = obj + print(" added cert", key) + +def obj_to_filename(obj): + label = obj['CKA_LABEL'][1:-1] + label = label.replace('/', '_')\ + .replace(' ', '_')\ + .replace('(', '=')\ + .replace(')', '=')\ + .replace(',', '_') + labelbytes = bytearray() + i = 0 + imax = len(label) + while i < imax: + if i < imax-3 and label[i] == '\\' and label[i+1] == 'x': + labelbytes.extend(bytes.fromhex(label[i+2:i+4])) + i += 4 + continue + labelbytes.extend(str.encode(label[i])) + i = i+1 + continue + label = labelbytes.decode('utf-8') + serial = printable_serial(obj) + return label + ":" + serial + +def write_cert_ext_to_file(f, oid, value, public_key): + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']) + f.write("\n") + f.write("class: x-certificate-extension\n"); + f.write("object-id: " + oid + "\n") + f.write("value: \"" + value + "\"\n") + f.write("modifiable: false\n"); + f.write(public_key) + +trust_types = { + "CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature", + "CKA_TRUST_NON_REPUDIATION": "non-repudiation", + "CKA_TRUST_KEY_ENCIPHERMENT": "key-encipherment", + "CKA_TRUST_DATA_ENCIPHERMENT": "data-encipherment", + "CKA_TRUST_KEY_AGREEMENT": "key-agreement", + "CKA_TRUST_KEY_CERT_SIGN": "cert-sign", + "CKA_TRUST_CRL_SIGN": "crl-sign", + "CKA_TRUST_SERVER_AUTH": "server-auth", + "CKA_TRUST_CLIENT_AUTH": "client-auth", + "CKA_TRUST_CODE_SIGNING": "code-signing", + "CKA_TRUST_EMAIL_PROTECTION": "email-protection", + "CKA_TRUST_IPSEC_END_SYSTEM": "ipsec-end-system", + "CKA_TRUST_IPSEC_TUNNEL": "ipsec-tunnel", + "CKA_TRUST_IPSEC_USER": "ipsec-user", + "CKA_TRUST_TIME_STAMPING": "time-stamping", + "CKA_TRUST_STEP_UP_APPROVED": "step-up-approved", +} + +legacy_trust_types = { + "LEGACY_CKA_TRUST_SERVER_AUTH": "server-auth", + "LEGACY_CKA_TRUST_CODE_SIGNING": "code-signing", + "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "email-protection", +} + +legacy_to_real_trust_types = { + "LEGACY_CKA_TRUST_SERVER_AUTH": "CKA_TRUST_SERVER_AUTH", + "LEGACY_CKA_TRUST_CODE_SIGNING": "CKA_TRUST_CODE_SIGNING", + "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "CKA_TRUST_EMAIL_PROTECTION", +} + +openssl_trust = { + "CKA_TRUST_SERVER_AUTH": "serverAuth", + "CKA_TRUST_CLIENT_AUTH": "clientAuth", + "CKA_TRUST_CODE_SIGNING": "codeSigning", + "CKA_TRUST_EMAIL_PROTECTION": "emailProtection", +} + +cert_distrust_types = { + "CKA_NSS_SERVER_DISTRUST_AFTER": "nss-server-distrust-after", + "CKA_NSS_EMAIL_DISTRUST_AFTER": "nss-email-distrust-after", +} + +for tobj in objects: + if tobj['CKA_CLASS'] == 'CKO_NSS_TRUST': + key = tobj['CKA_LABEL'] + printable_serial(tobj) + print("producing trust for " + key) + trustbits = [] + distrustbits = [] + openssl_trustflags = [] + openssl_distrustflags = [] + legacy_trustbits = [] + legacy_openssl_trustflags = [] + for t in list(trust_types.keys()): + if t in tobj and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR': + trustbits.append(t) + if t in openssl_trust: + openssl_trustflags.append(openssl_trust[t]) + if t in tobj and tobj[t] == 'CKT_NSS_NOT_TRUSTED': + distrustbits.append(t) + if t in openssl_trust: + openssl_distrustflags.append(openssl_trust[t]) + + for t in list(legacy_trust_types.keys()): + if t in tobj and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR': + real_t = legacy_to_real_trust_types[t] + legacy_trustbits.append(real_t) + if real_t in openssl_trust: + legacy_openssl_trustflags.append(openssl_trust[real_t]) + if t in tobj and tobj[t] == 'CKT_NSS_NOT_TRUSTED': + raise NotImplementedError('legacy distrust not supported.\n' + line) + + fname = obj_to_filename(tobj) + try: + obj = certmap[key] + except: + obj = None + + # optional debug code, that dumps the parsed input to files + #fulldump = "dump-" + fname + #dumpf = open(fulldump, 'w') + #dumpf.write(str(obj)); + #dumpf.write(str(tobj)); + #dumpf.close(); + + is_legacy = 0 + if 'LEGACY_CKA_TRUST_SERVER_AUTH' in tobj or 'LEGACY_CKA_TRUST_EMAIL_PROTECTION' in tobj or 'LEGACY_CKA_TRUST_CODE_SIGNING' in tobj: + is_legacy = 1 + if obj == None: + raise NotImplementedError('found legacy trust without certificate.\n' + line) + + legacy_fname = "legacy-default/" + fname + ".crt" + f = open(legacy_fname, 'w') + f.write("# alias=%s\n"%tobj['CKA_LABEL']) + f.write("# trust=" + " ".join(legacy_trustbits) + "\n") + if legacy_openssl_trustflags: + f.write("# openssl-trust=" + " ".join(legacy_openssl_trustflags) + "\n") + f.write("-----BEGIN CERTIFICATE-----\n") + temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE']) + temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64) + f.write("\n".join(temp_wrapped)) + f.write("\n-----END CERTIFICATE-----\n") + f.close() + + if 'CKA_TRUST_SERVER_AUTH' in tobj or 'CKA_TRUST_EMAIL_PROTECTION' in tobj or 'CKA_TRUST_CODE_SIGNING' in tobj: + legacy_fname = "legacy-disable/" + fname + ".crt" + f = open(legacy_fname, 'w') + f.write("# alias=%s\n"%tobj['CKA_LABEL']) + f.write("# trust=" + " ".join(trustbits) + "\n") + if openssl_trustflags: + f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n") + f.write("-----BEGIN CERTIFICATE-----\n") + f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) + f.write("\n-----END CERTIFICATE-----\n") + f.close() + + # don't produce p11-kit output for legacy certificates + continue + + pk = '' + cert_comment = '' + if obj != None: + # must extract the public key from the cert, let's use openssl + cert_fname = "cert-" + fname + fc = open(cert_fname, 'w') + fc.write("-----BEGIN CERTIFICATE-----\n") + temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE']) + temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64) + fc.write("\n".join(temp_wrapped)) + fc.write("\n-----END CERTIFICATE-----\n") + fc.close(); + pk_fname = "pubkey-" + fname + fpkout = open(pk_fname, "w") + dump_pk_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-pubkey"] + subprocess.call(dump_pk_command, stdout=fpkout) + fpkout.close() + with open (pk_fname, "r") as myfile: + pk=myfile.read() + # obtain certificate information suitable as a comment + comment_fname = "comment-" + fname + fcout = open(comment_fname, "w") + comment_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-text"] + subprocess.call(comment_command, stdout=fcout) + fcout.close() + sed_command = ["sed", "--in-place", "s/^/#/", comment_fname] + subprocess.call(sed_command) + with open (comment_fname, "r", errors = 'replace') as myfile: + cert_comment=myfile.read() + + fname += ".tmp-p11-kit" + f = open(fname, 'w') + + if obj != None: + is_distrusted = False + has_server_trust = False + has_email_trust = False + has_code_trust = False + + if 'CKA_TRUST_SERVER_AUTH' in tobj: + if tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_server_trust = True + + if 'CKA_TRUST_EMAIL_PROTECTION' in tobj: + if tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_email_trust = True + + if 'CKA_TRUST_CODE_SIGNING' in tobj: + if tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED': + is_distrusted = True + elif tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR': + has_code_trust = True + + if is_distrusted: + trust_ext_oid = "1.3.6.1.4.1.3319.6.10.1" + trust_ext_value = "0.%06%0a%2b%06%01%04%01%99w%06%0a%01%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk) + + trust_ext_oid = "2.5.29.37" + if has_server_trust: + if has_email_trust: + if has_code_trust: + # server + email + code + trust_ext_value = "0%2a%06%03U%1d%25%01%01%ff%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + else: + # server + email + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01" + else: + if has_code_trust: + # server + code + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03" + else: + # server + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%01" + else: + if has_email_trust: + if has_code_trust: + # email + code + trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%03" + else: + # email + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%04" + else: + if has_code_trust: + # code + trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%03" + else: + # none + trust_ext_value = "0%18%06%03U%1d%25%01%01%ff%04%0e0%0c%06%0a%2b%06%01%04%01%99w%06%0a%10" + + # no 2.5.29.37 for neutral certificates + if (is_distrusted or has_server_trust or has_email_trust or has_code_trust): + write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk) + + pk = '' + f.write("\n") + + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']) + f.write("\n") + if is_distrusted: + f.write("x-distrusted: true\n") + elif has_server_trust or has_email_trust or has_code_trust: + f.write("trusted: true\n") + else: + f.write("trusted: false\n") + + # requires p11-kit >= 0.23.4 + f.write("nss-mozilla-ca-policy: true\n") + f.write("modifiable: false\n"); + + # requires p11-kit >= 0.23.19 + for t in list(cert_distrust_types.keys()): + if t in obj: + value = obj[t] + if value == 'CK_FALSE': + value = bytearray(1) + f.write(cert_distrust_types[t] + ": \"") + f.write(urllib.parse.quote(value)); + f.write("\"\n") + + f.write("-----BEGIN CERTIFICATE-----\n") + temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE']) + temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64) + f.write("\n".join(temp_wrapped)) + f.write("\n-----END CERTIFICATE-----\n") + f.write(cert_comment) + f.write("\n") + + else: + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']); + f.write("\n") + f.write("class: certificate\n") + f.write("certificate-type: x-509\n") + f.write("modifiable: false\n"); + f.write("issuer: \""); + f.write(urllib.parse.quote(tobj['CKA_ISSUER'])); + f.write("\"\n") + f.write("serial-number: \""); + f.write(urllib.parse.quote(tobj['CKA_SERIAL_NUMBER'])); + f.write("\"\n") + if (tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED'): + f.write("x-distrusted: true\n") + f.write("\n\n") + f.close() + print(" -> written as '%s', trust = %s, openssl-trust = %s, distrust = %s, openssl-distrust = %s" % (fname, trustbits, openssl_trustflags, distrustbits, openssl_distrustflags)) diff --git a/main/nss/version b/main/nss/version new file mode 100644 index 00000000..314e7fb5 --- /dev/null +++ b/main/nss/version @@ -0,0 +1 @@ +3.101 1 diff --git a/main/ntfs-3g/PKGBUILD b/main/ntfs-3g/PKGBUILD new file mode 100644 index 00000000..b33cfb40 --- /dev/null +++ b/main/ntfs-3g/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ntfs-3g +_pkgname=ntfs-3g_ntfsprogs +pkgver=%version% +pkgrel=%release% +pkgdesc='NTFS filesystem driver and utilities' +url='https://www.tuxera.com/community/open-source-ntfs-3g/' +arch=('x86_64') +license=('GPL2') +depends=('util-linux' 'fuse2') +source=("https://tuxera.com/opensource/${_pkgname}-${pkgver}.tgz") +sha256sums=('f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c') + +conflicts=('ntfsprogs') +provides=('ntfsprogs') +replaces=('ntfsprogs') + +prepare() { + cd ${_pkgname}-${pkgver} + sed 's|$(DESTDIR)/sbin|$(DESTDIR)/usr/bin|' -i {ntfsprogs,src}/Makefile.in +} + +build() { + cd ${_pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --sbin=/usr/bin \ + --mandir=/usr/share/man \ + --disable-ldconfig \ + --disable-static \ + --with-fuse=external \ + --enable-xattr-mappings \ + --enable-posix-acls \ + --enable-extras \ + --enable-crypto \ + + make +} + +package_ntfs-3g() { + cd ${_pkgname}-${pkgver} + make DESTDIR="${pkgdir}" rootbindir=/usr/bin rootsbindir=/usr/bin rootlibdir=/usr/lib install + rm "${pkgdir}"/usr/share/man/man8/ntfsfallocate.8 # uninstalled binary + ln -s /usr/bin/ntfs-3g "${pkgdir}/usr/bin/mount.ntfs" +} diff --git a/main/ntfs-3g/README b/main/ntfs-3g/README new file mode 100644 index 00000000..a8117509 --- /dev/null +++ b/main/ntfs-3g/README @@ -0,0 +1,43 @@ +ntfs-3g +________________________________________________________________________________ + +NTFS filesystem driver and utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ntfs-3g | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.tuxera.com/community/open-source-ntfs-3g/ diff --git a/main/ntfs-3g/version b/main/ntfs-3g/version new file mode 100644 index 00000000..712ea374 --- /dev/null +++ b/main/ntfs-3g/version @@ -0,0 +1 @@ +2022.10.3 1 diff --git a/main/numactl/PKGBUILD b/main/numactl/PKGBUILD new file mode 100644 index 00000000..7a45c006 --- /dev/null +++ b/main/numactl/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=numactl +pkgver=%version% +pkgrel=%release% +pkgdesc="Simple NUMA policy support" +arch=(x86_64) +url="https://github.com/numactl/numactl" +license=( + GPL-2.0-only + LGPL-2.1-only +) +depends=(glibc) +provides=(libnuma.so) +source=($pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz) +sha512sums=('fc062e7fcfd90e3d26d0e3b144b4c4328b54874aef6ad0c91d7740e5989787a182037c5d409ce9271f0a6459d4d7e70f49cc5f701d93b64a15d3b7772accb9b4') +b2sums=('743f02c91897cdc90d2b0b7da4d3a51be1e1eb796fc09c6cdd321d0f9f13afffb9745ca005ac82e3448f4017f2aefd6b8e562abaebe11cef3e1ffc01c412174a') + +prepare(){ + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + make -k test -C $pkgname-$pkgver || echo "Tests known to fail depending on system load." +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/README.md -t "$pkgdir/usr/share/doc/$pkgname/" + # move_pages(2) is provided by man-pages and is more up-to-date there anyway + rm -rf "$pkgdir/usr/share/man/man2" +} diff --git a/main/numactl/README b/main/numactl/README new file mode 100644 index 00000000..13dd95a3 --- /dev/null +++ b/main/numactl/README @@ -0,0 +1,43 @@ +numactl +________________________________________________________________________________ + +Simple NUMA policy support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S numactl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/numactl/numactl diff --git a/main/numactl/version b/main/numactl/version new file mode 100644 index 00000000..7a2c91e3 --- /dev/null +++ b/main/numactl/version @@ -0,0 +1 @@ +2.0.18 1 diff --git a/main/nvme-cli/.PKGINFO b/main/nvme-cli/.PKGINFO new file mode 100644 index 00000000..03ca12a1 --- /dev/null +++ b/main/nvme-cli/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = nvme-cli +pkgbase = nvme-cli +xdata = pkgtype=pkg +pkgver = 2.9.1-1 +pkgdesc = NVM-Express user space tooling for Linux +url = https://github.com/linux-nvme/nvme-cli +builddate = 1715045435 +packager = Developer +size = 1619969 +arch = x86_64 +license = GPL +depend = util-linux +depend = libsystemd +depend = libnvme +makedepend = systemd +makedepend = meson +makedepend = git +makedepend = asciidoc +makedepend = xmlto +makedepend = swig diff --git a/main/nvme-cli/.nvchecker.toml b/main/nvme-cli/.nvchecker.toml new file mode 100644 index 00000000..b1cf6aca --- /dev/null +++ b/main/nvme-cli/.nvchecker.toml @@ -0,0 +1,6 @@ +[nvme-cli] +source = "git" +git = "https://github.com/linux-nvme/nvme-cli.git" +prefix = "v" +use_max_tag = true +exclude_regex = ".*(rc).*" diff --git a/main/nvme-cli/PKGBUILD b/main/nvme-cli/PKGBUILD new file mode 100644 index 00000000..4ce4151a --- /dev/null +++ b/main/nvme-cli/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=nvme-cli +pkgver=%version% +pkgrel=%release% +pkgdesc="NVM-Express user space tooling for Linux" +arch=('x86_64') +url="https://github.com/linux-nvme/nvme-cli" +license=('GPL') +makedepends=('systemd' 'meson' 'git' 'asciidoc' 'xmlto' 'swig') +depends=('util-linux' 'libsystemd' 'libnvme') +options=(strip) +install=nvme-cli.install +# checkdepends=('python2-nose' 'python-nose') +source=("$pkgname-$pkgver.tar.gz::https://github.com/linux-nvme/${pkgname}/archive/v${pkgver}.tar.gz") +sha256sums=('0743d9188792a87d39187ae5e5cb31e8f46cca8c6f100547c50ec0dd659d2531') + +build() { + cd "${pkgname}-${pkgver}" + + # this uses malloc_usable_size, which is incompatible with fortification level 3 + export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + meson setup \ + --prefix /usr \ + --sysconfdir /etc \ + --libexecdir lib \ + --sbindir bin \ + --buildtype plain \ + --auto-features enabled \ + -D b_lto=true -D b_pie=true \ + -D docs=man -D docs-build=true \ + -D systemddir=lib/systemd/system/ \ + -D udevrulesdir=lib/udev/rules.d \ + .build +} + +# Tests require a working NVME disk. +# check() { +# cd "${pkgname}-${pkgver}" +# make test +# } + +package() { + cd "${pkgname}-${pkgver}" + + # this uses malloc_usable_size, which is incompatible with fortification level 3 + export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + DESTDIR="$pkgdir" meson install -C .build +} diff --git a/main/nvme-cli/README b/main/nvme-cli/README new file mode 100644 index 00000000..896dd003 --- /dev/null +++ b/main/nvme-cli/README @@ -0,0 +1,43 @@ +nvme-cli +________________________________________________________________________________ + +NVM-Express user space tooling for Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S nvme-cli | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/linux-nvme/nvme-cli diff --git a/main/nvme-cli/nvme-cli.install b/main/nvme-cli/nvme-cli.install new file mode 100644 index 00000000..6babfeb6 --- /dev/null +++ b/main/nvme-cli/nvme-cli.install @@ -0,0 +1,8 @@ +post_install(){ + if [ ! -f /etc/nvme/hostnqn ]; then + nvme gen-hostnqn > /etc/nvme/hostnqn + fi + if [ ! -f /etc/nvme/hostid ]; then + uuidgen > /etc/nvme/hostid + fi +} diff --git a/main/nvme-cli/version b/main/nvme-cli/version new file mode 100644 index 00000000..1e63090b --- /dev/null +++ b/main/nvme-cli/version @@ -0,0 +1 @@ +2.9.1 1 diff --git a/main/oath-toolkit/PKGBUILD b/main/oath-toolkit/PKGBUILD new file mode 100644 index 00000000..fc14df78 --- /dev/null +++ b/main/oath-toolkit/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=oath-toolkit +pkgver=%version% +pkgrel=%release% +pkgdesc='OATH one-time password toolkit' +arch=('x86_64') +url='https://www.nongnu.org/oath-toolkit/' +license=('GPL-3.0-or-later') +depends=('glibc' 'pam' 'xmlsec') +provides=('liboath.so' 'libpskc.so') +validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE') # Simon Josefsson +source=("https://download.savannah.nongnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}) +sha256sums=('fc512a4a5b46f4c43ab0586c3189fece4d54f7e649397d6fa1e23428431e2cb4' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # Install basic docs too + install -D -m 0644 pam_oath/README "$pkgdir/usr/share/doc/$pkgname/PAM_README" + install -D -m 0644 README "$pkgdir/usr/share/doc/$pkgname/README" +} diff --git a/main/oath-toolkit/README b/main/oath-toolkit/README new file mode 100644 index 00000000..e2a20d43 --- /dev/null +++ b/main/oath-toolkit/README @@ -0,0 +1,43 @@ +oath-toolkit +________________________________________________________________________________ + +OATH one-time password toolkit + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S oath-toolkit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.nongnu.org/oath-toolkit/ diff --git a/main/oath-toolkit/version b/main/oath-toolkit/version new file mode 100644 index 00000000..b6a491c7 --- /dev/null +++ b/main/oath-toolkit/version @@ -0,0 +1 @@ +2.6.11 2 diff --git a/main/ocean-sound-theme/.PKGINFO b/main/ocean-sound-theme/.PKGINFO new file mode 100644 index 00000000..fed6707e --- /dev/null +++ b/main/ocean-sound-theme/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = ocean-sound-theme +pkgbase = ocean-sound-theme +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Ocean Sound Theme for Plasma +url = https://kde.org/plasma-desktop/ +builddate = 1713663688 +packager = Developer +size = 1227441 +arch = any +license = LGPL-2.0-or-later +group = plasma +makedepend = extra-cmake-modules +makedepend = qt6-base diff --git a/main/ocean-sound-theme/PKGBUILD b/main/ocean-sound-theme/PKGBUILD new file mode 100644 index 00000000..72cd5e2b --- /dev/null +++ b/main/ocean-sound-theme/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ocean-sound-theme +pkgdesc='Ocean Sound Theme for Plasma' +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +arch=(any) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=() +makedepends=(extra-cmake-modules + qt6-base) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('63bbdf6ec15c14ec80807cbc428650e5e2de1e9c639b7ddeae5c7899c233c536' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/ocean-sound-theme/README b/main/ocean-sound-theme/README new file mode 100644 index 00000000..7e0f9088 --- /dev/null +++ b/main/ocean-sound-theme/README @@ -0,0 +1,43 @@ +ocean-sound-theme +________________________________________________________________________________ + +Ocean Sound Theme for Plasma + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ocean-sound-theme | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/ocean-sound-theme/version b/main/ocean-sound-theme/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/ocean-sound-theme/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/ocl-icd/PKGBUILD b/main/ocl-icd/PKGBUILD new file mode 100644 index 00000000..f1f6adbf --- /dev/null +++ b/main/ocl-icd/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ocl-icd +pkgver=%version% +pkgrel=%release% +pkgdesc="OpenCL ICD Bindings" +arch=('x86_64') +url="https://github.com/OCL-dev/ocl-icd" +license=('BSD') +depends=('glibc') +makedepends=('ruby' 'mesa' 'xmlto' 'asciidoc' 'opencl-headers>=2.1') +checkdepends=() +provides=('opencl-icd-loader') +conflicts=('libcl') +replaces=('libcl') +optdepends=('opencl-driver: packaged opencl driver') +source=("ocl-icd-${pkgver}.tar.gz::https://github.com/OCL-dev/${pkgname}/archive/v${pkgver}.tar.gz") +sha256sums=('ec47d7dcd961ea06695b067e8b7edb82e420ddce03e0081a908c62fd0b8535c5') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + autoreconf -fiv +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + CFLAGS+=' -fcommon' # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common + ./configure --prefix=/usr + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make -k check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + + install -m755 -d "$pkgdir/usr/share/licenses/ocl-icd" + install -m644 "$srcdir/$pkgname-$pkgver/COPYING" "${pkgdir}/usr/share/licenses/ocl-icd/" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/ocl-icd/README b/main/ocl-icd/README new file mode 100644 index 00000000..cb87d8d7 --- /dev/null +++ b/main/ocl-icd/README @@ -0,0 +1,43 @@ +ocl-icd +________________________________________________________________________________ + +OpenCL ICD Bindings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ocl-icd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/OCL-dev/ocl-icd diff --git a/main/ocl-icd/version b/main/ocl-icd/version new file mode 100644 index 00000000..56b3f3b0 --- /dev/null +++ b/main/ocl-icd/version @@ -0,0 +1 @@ +2.3.2 1 diff --git a/main/onetbb/PKGBUILD b/main/onetbb/PKGBUILD new file mode 100644 index 00000000..2679a6a9 --- /dev/null +++ b/main/onetbb/PKGBUILD @@ -0,0 +1,36 @@ +# Packager = Developer +pkgname=onetbb +pkgver=2021.12.0 +pkgrel=2 +pkgdesc='High level abstract threading library (oneAPI Threading Building Blocks)' +arch=('x86_64') +url='https://oneapi-src.github.io/oneTBB/' +license=('Apache') +depends=('gcc-libs' 'hwloc') +makedepends=('cmake' 'inetutils' 'ninja' 'python' 'swig' 'python-setuptools') +conflicts=('intel-tbb' 'tbb') +provides=("intel-tbb=$pkgver" "tbb=$pkgver") +replaces=('intel-tbb' 'tbb') +source=(https://github.com/oneapi-src/oneTBB/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha512sums=('64022bcb61cf7b2030a1bcc11168445ef9f0d69b70290233a7febb71cc7a12cc2282dddc045f84e30893efe276342f02fd78d176706268eeaefe9aac7446d4e9') + +build() { + cmake -B build -S oneTBB-$pkgver -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DTBB_STRICT=OFF \ + -DTBB4PY_BUILD=ON \ + -DCMAKE_BUILD_TYPE=None + cmake --build build +} + +check() { + cd build + ninja test +} + +package() { + DESTDIR="$pkgdir" cmake --install build + rm -r "$pkgdir"/usr/lib/python* + cd oneTBB-$pkgver/python + TBBROOT="$pkgdir"/usr python setup.py install --root="$pkgdir" +} diff --git a/main/onetbb/version b/main/onetbb/version new file mode 100644 index 00000000..7f1bf6d3 --- /dev/null +++ b/main/onetbb/version @@ -0,0 +1 @@ +2021.12.0 2 diff --git a/main/open-iscsi/.PKGINFO b/main/open-iscsi/.PKGINFO new file mode 100644 index 00000000..f6043220 --- /dev/null +++ b/main/open-iscsi/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = open-iscsi +pkgbase = open-iscsi +xdata = pkgtype=pkg +pkgver = 2.1.10-1 +pkgdesc = iSCSI userland tools +url = https://www.open-iscsi.com/ +builddate = 1718491880 +packager = Developer +size = 1465301 +arch = x86_64 +license = GPL +backup = etc/iscsi/iscsid.conf +backup = etc/iscsi/initiatorname.iscsi +depend = systemd-libs +depend = util-linux-libs +depend = kmod +depend = openssl +depend = open-isns +makedepend = meson +makedepend = systemd diff --git a/main/open-iscsi/PKGBUILD b/main/open-iscsi/PKGBUILD new file mode 100644 index 00000000..a50066cc --- /dev/null +++ b/main/open-iscsi/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=open-iscsi +pkgver=%version% +pkgrel=%release% +pkgdesc='iSCSI userland tools' +arch=('x86_64') +url='https://www.open-iscsi.com/' +license=('GPL') +makedepends=('meson' 'systemd') +depends=('systemd-libs' 'util-linux-libs' 'kmod' 'openssl' 'open-isns') +install=$pkgname.install +backup=('etc/iscsi/iscsid.conf' + 'etc/iscsi/initiatorname.iscsi') +options=('docs') +source=("$pkgname-$pkgver.tar.gz::https://github.com/open-iscsi/open-iscsi/archive/$pkgver.tar.gz") +sha256sums=('60e2a1e3058a8af7f702e86a5a0511b05b8754d29d3d2df4e0e301399b5cf70a') + +build() { + local _meson_options=( + -Discsi_sbindir=/usr/bin/ + -Drulesdir=/usr/lib/udev/rules.d/ + ) + + arch-meson "${pkgname}-${pkgver}" build "${_meson_options[@]}" + + meson compile -C build +} + +package() { + DESTDIR="${pkgdir}" meson install -C build + + # no initiatorname in package, initialized in install script + echo -n > "${pkgdir}"/etc/iscsi/initiatorname.iscsi + + # install docs + install -D -m0644 -t "${pkgdir}"/usr/share/doc/${pkgname}/ "${pkgname}-${pkgver}"/{Changelog,README} +} diff --git a/main/open-iscsi/README b/main/open-iscsi/README new file mode 100644 index 00000000..2f65c050 --- /dev/null +++ b/main/open-iscsi/README @@ -0,0 +1,43 @@ +open-iscsi +________________________________________________________________________________ + +iSCSI userland tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S open-iscsi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.open-iscsi.com/ diff --git a/main/open-iscsi/open-iscsi.install b/main/open-iscsi/open-iscsi.install new file mode 100644 index 00000000..8b640d99 --- /dev/null +++ b/main/open-iscsi/open-iscsi.install @@ -0,0 +1,21 @@ +#!/bin/sh + +post_install() { + if [ -z $(>> Setting Initiatorname '$name'" + echo "InitiatorName=$name" >etc/iscsi/initiatorname.iscsi + fi +} + +post_upgrade() { + post_install + + # return if old package version greater 2.1.9-1 + (( $(vercmp $2 '2.1.9-1') > 0 )) && return + + echo ':: The database home changed from `/etc/iscsi` to `/var/lib/iscsi`.' + echo ' The migration is not done automatically. Please disconnect targets,' + echo ' stop the service, migrate and connect again.' +} diff --git a/main/open-iscsi/version b/main/open-iscsi/version new file mode 100644 index 00000000..19f7ae57 --- /dev/null +++ b/main/open-iscsi/version @@ -0,0 +1 @@ +2.1.10 1 diff --git a/main/open-isns/PKGBUILD b/main/open-isns/PKGBUILD new file mode 100644 index 00000000..3fe6a764 --- /dev/null +++ b/main/open-isns/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=open-isns +pkgver=%version% +pkgrel=%release% +pkgdesc='iSNS server and client for Linux' +arch=('x86_64') +depends=('openssl') +makedepends=('meson') +url='https://github.com/gonzoleeman/open-isns' +license=('GPL') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/gonzoleeman/${pkgname}/archive/v${pkgver}.tar.gz") +sha256sums=('9611344733c0cdf14395f60880950ea4c3c7d6b765565b6493ad3e1afbe216de') + +build() { + local _meson_options=( + --default-library=shared + -Dslp=disabled + -Dlibdir=lib + ) + + arch-meson "${pkgname}-${pkgver}" build "${_meson_options[@]}" + + meson compile -C build +} + +package() { + DESTDIR="${pkgdir}" meson install -C build +} diff --git a/main/open-isns/README b/main/open-isns/README new file mode 100644 index 00000000..e6b827ea --- /dev/null +++ b/main/open-isns/README @@ -0,0 +1,43 @@ +open-isns +________________________________________________________________________________ + +iSNS server and client for Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S open-isns | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/gonzoleeman/open-isns diff --git a/main/open-isns/version b/main/open-isns/version new file mode 100644 index 00000000..18c5c941 --- /dev/null +++ b/main/open-isns/version @@ -0,0 +1 @@ +0.102 3 diff --git a/main/open-vm-tools/.PKGINFO b/main/open-vm-tools/.PKGINFO new file mode 100644 index 00000000..ba8a466d --- /dev/null +++ b/main/open-vm-tools/.PKGINFO @@ -0,0 +1,41 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = open-vm-tools +pkgbase = open-vm-tools +xdata = pkgtype=pkg +pkgver = 6:12.4.0-2 +pkgdesc = The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools +url = https://github.com/vmware/open-vm-tools +builddate = 1715739133 +packager = Developer +size = 4908766 +arch = x86_64 +license = LGPL-2.1-only +backup = etc/pam.d/vmtoolsd +backup = etc/vmware-tools/vgauth.conf +backup = etc/xdg/autostart/vmware-user.desktop +depend = fuse3 +depend = icu +depend = iproute2 +depend = libdnet +depend = libmspack +depend = libsigc++ +depend = libxcrypt +depend = libcrypt.so=2-64 +depend = libxss +depend = lsb-release +depend = procps-ng +depend = uriparser +depend = which +depend = xmlsec +optdepend = gtkmm3: DnD/CP plugin +optdepend = libxtst: DnD/CP, resolution set plugins +optdepend = netctl: suspend-resume network state +optdepend = networkmanager: suspend-resume network state +makedepend = chrpath +makedepend = doxygen +makedepend = gtkmm3 +makedepend = libxtst +makedepend = python +makedepend = rpcsvc-proto +checkdepend = cunit diff --git a/main/open-vm-tools/PKGBUILD b/main/open-vm-tools/PKGBUILD new file mode 100644 index 00000000..058a931b --- /dev/null +++ b/main/open-vm-tools/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=open-vm-tools +epoch=6 +pkgver=%version% +pkgrel=%release% +pkgdesc='The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools' +arch=('x86_64') +url='https://github.com/vmware/open-vm-tools' +license=('LGPL-2.1-only') +depends=('fuse3' 'icu' 'iproute2' 'libdnet' 'libmspack' 'libsigc++' + 'libxcrypt' 'libcrypt.so' 'libxss' 'lsb-release' 'procps-ng' + 'uriparser' 'gdk-pixbuf-xlib' 'which' 'xmlsec') +makedepends=('chrpath' 'doxygen' 'gtkmm3' 'libxtst' 'python' 'rpcsvc-proto') +checkdepends=('cunit') +optdepends=('gtkmm3: DnD/CP plugin' + 'libxtst: DnD/CP, resolution set plugins' + 'netctl: suspend-resume network state' + 'networkmanager: suspend-resume network state') +backup=('etc/pam.d/vmtoolsd' + 'etc/vmware-tools/vgauth.conf' + 'etc/xdg/autostart/vmware-user.desktop') +options=('docs') +source=("$pkgname-$pkgver.tar.gz::https://github.com/vmware/open-vm-tools/archive/stable-${pkgver/_/-}.tar.gz" + 'vmtoolsd.pam' + 'vmtoolsd.service' + 'vmware-vmblock-fuse.service') +sha256sums=('ba091c58f0d61c2896418c7d04506a7ea44c7594401209928270576fa018c23a' + '9848f4b621bb1134e463fea099f03933cf3f48f1ac5e580228abef264d26137e' + '0626cc86232f75a7286c24c52d6b44260bba55e2e96c17fa22ed36decb61a4d9' + '99e3cc1da20a751049144cc02dec77174a55109b5b5960e1facd78709da7724f') + +prepare() { + cd "$srcdir/$pkgname-stable-${pkgver}/open-vm-tools/" + + autoreconf -vi +} + +build() { + cd "$srcdir/$pkgname-stable-${pkgver}/open-vm-tools/" + + sh ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --with-udev-rules-dir=/usr/lib/udev/rules.d \ + --without-kernel-modules + make +} + +check() { + cd "$srcdir/$pkgname-stable-${pkgver}/open-vm-tools/" + + make check +} + +package() { + cd "$srcdir/$pkgname-stable-${pkgver}/open-vm-tools/" + + make install DESTDIR="$pkgdir" + chmod 7755 "$pkgdir"/usr/bin/vmware-user-suid-wrapper + + # install vmware-xdg-detect-de + install -D -m0755 scripts/common/vmware-xdg-detect-de "$pkgdir"/usr/bin/vmware-xdg-detect-de + + # install pam configuration + install -D -m0644 "$srcdir"/vmtoolsd.pam "$pkgdir"/etc/pam.d/vmtoolsd + + # install systemd files + install -D -m0644 "$srcdir"/vmtoolsd.service "$pkgdir"/usr/lib/systemd/system/vmtoolsd.service + install -D -m0644 "$srcdir"/vmware-vmblock-fuse.service "$pkgdir"/usr/lib/systemd/system/vmware-vmblock-fuse.service +} diff --git a/main/open-vm-tools/README b/main/open-vm-tools/README new file mode 100644 index 00000000..88515dc0 --- /dev/null +++ b/main/open-vm-tools/README @@ -0,0 +1,43 @@ +open-vm-tools +________________________________________________________________________________ + +The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S open-vm-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/vmware/open-vm-tools diff --git a/main/open-vm-tools/version b/main/open-vm-tools/version new file mode 100644 index 00000000..e489a4c6 --- /dev/null +++ b/main/open-vm-tools/version @@ -0,0 +1 @@ +6:12.4.0 2 diff --git a/main/open-vm-tools/vmtoolsd.pam b/main/open-vm-tools/vmtoolsd.pam new file mode 100644 index 00000000..a04fd96d --- /dev/null +++ b/main/open-vm-tools/vmtoolsd.pam @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth include system-services +account include system-services +password include system-services +session include system-services diff --git a/main/open-vm-tools/vmtoolsd.service b/main/open-vm-tools/vmtoolsd.service new file mode 100644 index 00000000..90e9203b --- /dev/null +++ b/main/open-vm-tools/vmtoolsd.service @@ -0,0 +1,10 @@ +[Unit] +Description=Open Virtual Machine Tools (VMware Tools) +ConditionVirtualization=vmware +After=display-manager.service + +[Service] +ExecStart=/usr/bin/vmtoolsd + +[Install] +WantedBy=multi-user.target diff --git a/main/open-vm-tools/vmware-vmblock-fuse.service b/main/open-vm-tools/vmware-vmblock-fuse.service new file mode 100644 index 00000000..9e4d2a31 --- /dev/null +++ b/main/open-vm-tools/vmware-vmblock-fuse.service @@ -0,0 +1,12 @@ +[Unit] +Description=Open Virtual Machine Tools (vmware-vmblock-fuse) +ConditionVirtualization=vmware + +[Service] +Type=simple +RuntimeDirectory=vmblock-fuse +RuntimeDirectoryMode=755 +ExecStart=/usr/bin/vmware-vmblock-fuse -d -f -o subtype=vmware-vmblock,default_permissions,allow_other /run/vmblock-fuse + +[Install] +WantedBy=multi-user.target diff --git a/main/openconnect/PKGBUILD b/main/openconnect/PKGBUILD new file mode 100644 index 00000000..33412892 --- /dev/null +++ b/main/openconnect/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openconnect +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='Open client for Cisco AnyConnect VPN' +url='https://www.infradead.org/openconnect/' +arch=('x86_64') +license=('LGPL2.1') +depends=('libxml2' 'gnutls' 'libproxy' 'vpnc' 'krb5' 'lz4' 'pcsclite' + 'stoken' 'tpm2-tss' 'oath-toolkit' 'libproxy' 'libp11-kit' + 'xdg-utils' + libstoken.so libtss2-esys.so libtss2-mu.so libtss2-tctildr.so + libxml2.so libproxy.so libhogweed.so libp11-kit.so libpskc.so + libgssapi_krb5.so libpcsclite.so) +makedepends=('intltool' 'python') +checkdepends=('python-flask') +optdepends=('python: tncc-wrapper') +provides=('libopenconnect.so') +options=('!emptydirs') +source=(https://www.infradead.org/openconnect/download/openconnect-${pkgver}.tar.gz{,.asc}) +sha256sums=('a2bedce3aa4dfe75e36e407e48e8e8bc91d46def5335ac9564fbf91bd4b2413e' + 'SKIP') +validpgpkeys=('BE07D9FD54809AB2C4B0FF5F63762CDA67E2F359') # David Woodhouse + +build() { + cd ${pkgname}-${pkgver} + PYTHON=/usr/bin/python \ + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/openconnect/README b/main/openconnect/README new file mode 100644 index 00000000..f62aec16 --- /dev/null +++ b/main/openconnect/README @@ -0,0 +1,43 @@ +openconnect +________________________________________________________________________________ + +Open client for Cisco AnyConnect VPN + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openconnect | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.infradead.org/openconnect/ diff --git a/main/openconnect/version b/main/openconnect/version new file mode 100644 index 00000000..9421690d --- /dev/null +++ b/main/openconnect/version @@ -0,0 +1 @@ +9.12 1 diff --git a/main/opencore-amr/PKGBUILD b/main/opencore-amr/PKGBUILD new file mode 100644 index 00000000..6e1d397b --- /dev/null +++ b/main/opencore-amr/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=opencore-amr +pkgver=%version% +pkgrel=%release% +pkgdesc="Open source implementation of the Adaptive Multi Rate (AMR) speech codec" +arch=(x86_64) +license=(Apache) +url="https://sourceforge.net/projects/opencore-amr/" +source=(https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz) +depends=(glibc) +provides=(libopencore-amrwb.so libopencore-amrnb.so) +sha512sums=('8955169954b09d2d5e2190888602c75771b72455290db131ab7f40b587df32ea6a60f205126b09193b90064d0fd82b7d678032e2b4c684189788e175b83d0aa7') +b2sums=('5f2f618b6d80d667fd99f1df8793cf0260d582e2fc8021f4af35d60b2b1db7be7c897d4b78589da5a442e684161cecef005ec4247cef7a9c3df797c68db97d52') + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --disable-static \ + --enable-examples + + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{ChangeLog,README} -t "$pkgdir/usr/share/doc/$pkgname/" +} + diff --git a/main/opencore-amr/README b/main/opencore-amr/README new file mode 100644 index 00000000..2c26265c --- /dev/null +++ b/main/opencore-amr/README @@ -0,0 +1,43 @@ +opencore-amr +________________________________________________________________________________ + +Open source implementation of the Adaptive Multi Rate (AMR) speech codec + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S opencore-amr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourceforge.net/projects/opencore-amr/ diff --git a/main/opencore-amr/version b/main/opencore-amr/version new file mode 100644 index 00000000..6788a86c --- /dev/null +++ b/main/opencore-amr/version @@ -0,0 +1 @@ +0.1.6 1 diff --git a/main/opencv/PKGBUILD b/main/opencv/PKGBUILD new file mode 100644 index 00000000..c2304d42 --- /dev/null +++ b/main/opencv/PKGBUILD @@ -0,0 +1,195 @@ +# Packager = Developer +pkgbase=opencv +pkgname=(opencv + opencv-samples + python-opencv + opencv-cuda) +pkgver=4.9.0 +pkgrel=10 +pkgdesc='Open Source Computer Vision Library' +arch=(x86_64) +license=(Apache-2.0) +url='https://opencv.org/' +depends=(abseil-cpp + cblas + ffmpeg + freetype2 + gcc-libs + glib2 + glibc + gst-plugins-base + gst-plugins-base-libs + gstreamer + harfbuzz + lapack + libdc1394 + libglvnd + libjpeg-turbo + libpng + libtiff + libwebp + openexr + openjpeg2 + verdict + protobuf + tbb + zlib) +makedepends=(ant + cmake + cuda + cudnn + eigen + fmt + gcc13 + git + glew + hdf5 + java-environment + lapacke + mesa + nlohmann-json + openmpi + pugixml + python-numpy + python-setuptools + qt6-5compat + vtk) +optdepends=('opencv-samples: samples' + 'vtk: for the viz module' + 'glew: for the viz module' + 'qt6-base: for the HighGUI module' + 'hdf5: for the HDF5 module' + 'opencl-icd-loader: For coding with OpenCL' + 'java-runtime: Java interface') +source=(git+https://github.com/opencv/opencv#tag=$pkgver + git+https://github.com/opencv/opencv_contrib#tag=$pkgver + vtk9.patch) +sha256sums=('b0d2012628b4224c7dd79aa98010586544e16858617c88c807014e11696b2ca3' + '36ddaddd6f50cf13115ecf1a4777940739c4727e64135a52e768fa28ac163d4a' + 'f35a2d4ea0d6212c7798659e59eda2cb0b5bc858360f7ce9c696c77d3029668e') + +prepare() { + pushd opencv + patch -p1 < ../vtk9.patch # Don't require all vtk optdepends + + # fix build with cudnn 9 + git cherry-pick -n 05e48605a0aea00d3a89b9ab5e25cdf89568aa28 + # fix build with CUDA 12.4 + git cherry-pick -n 1668203a1c6474b8368e27c55abc10ae7f17c841 + popd + + pushd opencv_contrib + # fix build with CUDA 12.4 + git cherry-pick -n 4e766a039eda04b75f28f6905e4192d99b7874c7 + git cherry-pick -n 1ed3dd2c53888e3289afdb22ec4e9ebbff3dba87 + git cherry-pick -n 8c16a489a1fa9e2ccf21ce8eeb7fbb1affe548b1 +} + +build() { + export JAVA_HOME="/usr/lib/jvm/default" + # cmake's FindLAPACK doesn't add cblas to LAPACK_LIBRARIES, so we need to specify them manually + _opts="-DWITH_OPENCL=ON \ + -DWITH_OPENGL=ON \ + -DOpenGL_GL_PREFERENCE=LEGACY \ + -DCMAKE_CXX_STANDARD=17 \ + -DWITH_TBB=ON \ + -DWITH_VULKAN=ON \ + -DWITH_QT=ON \ + -DBUILD_TESTS=OFF \ + -DBUILD_PERF_TESTS=OFF \ + -DBUILD_EXAMPLES=ON \ + -DBUILD_PROTOBUF=OFF \ + -DPROTOBUF_UPDATE_FILES=ON \ + -DINSTALL_C_EXAMPLES=ON \ + -DINSTALL_PYTHON_EXAMPLES=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCPU_BASELINE_DISABLE=SSE3 \ + -DCPU_BASELINE_REQUIRE=SSE2 \ + -DOPENCV_EXTRA_MODULES_PATH=$srcdir/opencv_contrib/modules \ + -DOPENCV_SKIP_PYTHON_LOADER=ON \ + -DLAPACK_LIBRARIES=/usr/lib/liblapack.so;/usr/lib/libblas.so;/usr/lib/libcblas.so \ + -DLAPACK_CBLAS_H=/usr/include/cblas.h \ + -DLAPACK_LAPACKE_H=/usr/include/lapacke.h \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_ENABLE_NONFREE=ON \ + -DOPENCV_JNI_INSTALL_PATH=lib \ + -DOPENCV_GENERATE_SETUPVARS=OFF \ + -DEIGEN_INCLUDE_PATH=/usr/include/eigen3 \ + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \ + -Dprotobuf_MODULE_COMPATIBLE=ON" + + cmake -B build -S $pkgname $_opts \ + -DBUILD_WITH_DEBUG_INFO=ON + cmake --build build + + CFLAGS="${CFLAGS} -fno-lto" CXXFLAGS="${CXXFLAGS} -fno-lto" LDFLAGS="${LDFLAGS} -fno-lto" \ + cmake -B build-cuda -S $pkgname $_opts \ + -DBUILD_WITH_DEBUG_INFO=OFF \ + -DWITH_CUDA=ON \ + -DWITH_CUDNN=ON \ + -DCMAKE_C_COMPILER=gcc-13 \ + -DCMAKE_CXX_COMPILER=g++-13 \ + -DCUDA_ARCH_BIN='52-real;53-real;60-real;61-real;62-real;70-real;72-real;75-real;80-real;86-real;87-real;89-real;90-real;90-virtual' \ + -DCUDA_ARCH_PTX='90-virtual' + cmake --build build-cuda +} + +package_opencv() { + DESTDIR="$pkgdir" cmake --install build + + # separate samples package + mv "$pkgdir"/usr/share/opencv4/samples "$srcdir" + + # Add java symlinks expected by some binary blobs + ln -sr "$pkgdir"/usr/share/java/{opencv4/opencv-${pkgver//./},opencv}.jar + ln -sr "$pkgdir"/usr/lib/{libopencv_java${pkgver//./},libopencv_java}.so + + # Split Python bindings + rm -r "$pkgdir"/usr/lib/python3* +} + +package_opencv-samples() { + pkgdesc+=' (samples)' + depends=(opencv) + unset optdepends + + mkdir -p "$pkgdir"/usr/share/opencv4 + mv samples "$pkgdir"/usr/share/opencv4 +} + +package_python-opencv() { + pkgdesc='Python bindings for OpenCV' + depends=(fmt + glew + hdf5 + jsoncpp + opencv + openmpi + pugixml + python-numpy + qt6-base + vtk) + unset optdepends + + DESTDIR="$pkgdir" cmake --install build/modules/python3 +} + +package_opencv-cuda() { + pkgdesc+=' (with CUDA support)' + depends+=(cudnn) + conflicts=(opencv) + provides=(opencv=$pkgver) + options=(!debug) + + DESTDIR="$pkgdir" cmake --install build-cuda + + # Split samples + rm -r "$pkgdir"/usr/share/opencv4/samples + + # Add java symlinks expected by some binary blobs + ln -sr "$pkgdir"/usr/share/java/{opencv4/opencv-${pkgver//./},opencv}.jar + ln -sr "$pkgdir"/usr/lib/{libopencv_java${pkgver//./},libopencv_java}.so + + # Split Python bindings + rm -r "$pkgdir"/usr/lib/python3* +} diff --git a/main/opencv/version b/main/opencv/version new file mode 100644 index 00000000..8d1334b9 --- /dev/null +++ b/main/opencv/version @@ -0,0 +1 @@ +4.9.0 8 diff --git a/main/opencv/vtk9.patch b/main/opencv/vtk9.patch new file mode 100644 index 00000000..206442b3 --- /dev/null +++ b/main/opencv/vtk9.patch @@ -0,0 +1,36 @@ +diff --git a/cmake/OpenCVDetectVTK.cmake b/cmake/OpenCVDetectVTK.cmake +index 312fd41fe4..aeda80d47c 100644 +--- a/cmake/OpenCVDetectVTK.cmake ++++ b/cmake/OpenCVDetectVTK.cmake +@@ -1,8 +1,5 @@ + if(NOT VTK_FOUND) +- find_package(VTK QUIET NAMES vtk VTK) +- if(VTK_FOUND) +- if(NOT (VTK_VERSION VERSION_LESS "9.0.0") AND (VTK_VERSION VERSION_LESS "10.0.0")) # VTK 9.x +- find_package(VTK 9 QUIET NAMES vtk COMPONENTS ++ find_package(VTK 9 QUIET NAMES vtk COMPONENTS + FiltersExtraction + FiltersSources + FiltersTexture +@@ -14,21 +11,6 @@ if(NOT VTK_FOUND) + RenderingLOD + RenderingOpenGL2 + NO_MODULE) +- elseif(VTK_VERSION VERSION_GREATER "5") # VTK 6.x components +- find_package(VTK QUIET COMPONENTS vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE) +- IF(VTK_FOUND) +- IF(VTK_RENDERING_BACKEND) #in vtk 7, the rendering backend is exported as a var. +- find_package(VTK QUIET COMPONENTS vtkRendering${VTK_RENDERING_BACKEND} vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport vtkIOGeometry NO_MODULE) +- ELSE(VTK_RENDERING_BACKEND) +- find_package(VTK QUIET COMPONENTS vtkRenderingOpenGL vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE) +- ENDIF(VTK_RENDERING_BACKEND) +- ENDIF(VTK_FOUND) +- elseif(VTK_VERSION VERSION_EQUAL "5") # VTK 5.x components +- find_package(VTK QUIET COMPONENTS vtkCommon NO_MODULE) +- else() +- set(VTK_FOUND FALSE) +- endif() +- endif() + endif() + + if(NOT VTK_FOUND) diff --git a/main/openexr/.nvchecker.toml b/main/openexr/.nvchecker.toml new file mode 100644 index 00000000..d0b8d5ef --- /dev/null +++ b/main/openexr/.nvchecker.toml @@ -0,0 +1,5 @@ +[openexr] +source = 'github' +github = 'AcademySoftwareFoundation/openexr' +use_latest_release = true +prefix = 'v' diff --git a/main/openexr/PKGBUILD b/main/openexr/PKGBUILD new file mode 100644 index 00000000..24a57d09 --- /dev/null +++ b/main/openexr/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openexr +pkgver=%version% +pkgrel=%release% +pkgdesc='A high dynamic-range image file format library' +url='https://www.openexr.com/' +arch=(x86_64) +license=(BSD-3-Clause) +depends=(gcc-libs + glibc + imath + libdeflate) +makedepends=(cmake) +source=(https://github.com/openexr/openexr/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('81e6518f2c4656fdeaf18a018f135e96a96e7f66dbe1c1f05860dd94772176cc') + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 $pkgname-$pkgver/LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/openexr/README b/main/openexr/README new file mode 100644 index 00000000..47c0803d --- /dev/null +++ b/main/openexr/README @@ -0,0 +1,43 @@ +openexr +________________________________________________________________________________ + +A high dynamic-range image file format library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openexr | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.openexr.com/ diff --git a/main/openexr/version b/main/openexr/version new file mode 100644 index 00000000..c2878236 --- /dev/null +++ b/main/openexr/version @@ -0,0 +1 @@ +3.2.4 1 diff --git a/main/openjpeg2/.nvchecker.toml b/main/openjpeg2/.nvchecker.toml new file mode 100644 index 00000000..2ef711c2 --- /dev/null +++ b/main/openjpeg2/.nvchecker.toml @@ -0,0 +1,5 @@ +[openjpeg2] +source = "github" +github = "uclouvain/openjpeg" +use_max_tag = true +prefix = "v" diff --git a/main/openjpeg2/PKGBUILD b/main/openjpeg2/PKGBUILD new file mode 100644 index 00000000..79024f3b --- /dev/null +++ b/main/openjpeg2/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openjpeg2 +pkgver=%version% +pkgrel=%release% +pkgdesc="An open source JPEG 2000 codec, version ${pkgver}" +arch=(x86_64) +license=('BSD-2-Clause' 'MIT') +url="https://github.com/uclouvain/openjpeg" +makedepends=('cmake' 'doxygen' 'graphviz') +depends=('libpng' 'libtiff' 'lcms2' 'glibc') +source=("$pkgname-$pkgver.tar.gz::https://github.com/uclouvain/openjpeg/archive/v$pkgver.tar.gz") +sha256sums=('90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a') + +prepare() { + # Remove all third party libraries just to be sure + find openjpeg-"${pkgver}"/thirdparty/ -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} \; +} + +build() { + cmake -B build -S openjpeg-"${pkgver}" \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_STATIC_LIBS=OFF \ + -DBUILD_DOC=on + + VERBOSE=1 cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dm 644 "${srcdir}"/openjpeg-"${pkgver}"/LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/main/openjpeg2/README b/main/openjpeg2/README new file mode 100644 index 00000000..c7387ee2 --- /dev/null +++ b/main/openjpeg2/README @@ -0,0 +1,43 @@ +openjpeg2 +________________________________________________________________________________ + +An open source JPEG 2000 codec, version 2.5.2 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openjpeg2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/uclouvain/openjpeg diff --git a/main/openjpeg2/version b/main/openjpeg2/version new file mode 100644 index 00000000..e99804da --- /dev/null +++ b/main/openjpeg2/version @@ -0,0 +1 @@ +2.5.2 1 diff --git a/main/openldap/.PKGINFO b/main/openldap/.PKGINFO new file mode 100644 index 00000000..9cc670b6 --- /dev/null +++ b/main/openldap/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = openldap +pkgbase = openldap +xdata = pkgtype=split +pkgver = 2.6.7-2 +pkgdesc = Lightweight Directory Access Protocol (LDAP) client and server +url = https://www.openldap.org/ +builddate = 1713663690 +packager = Developer +size = 4795856 +arch = x86_64 +license = custom +backup = etc/openldap/slapd.conf +backup = etc/openldap/slapd.ldif +depend = libldap>=2.6.7 +depend = libtool +depend = unixodbc +depend = perl +depend = systemd-libs +depend = libsodium +makedepend = libtool +makedepend = libsasl +makedepend = util-linux +makedepend = chrpath +makedepend = unixodbc +makedepend = libsodium +makedepend = systemd diff --git a/main/openldap/PKGBUILD b/main/openldap/PKGBUILD new file mode 100644 index 00000000..497ce377 --- /dev/null +++ b/main/openldap/PKGBUILD @@ -0,0 +1,163 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=openldap +pkgname=('openldap' 'libldap') +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url="https://www.openldap.org/" +license=('custom') +makedepends=('libtool' 'libsasl' 'util-linux' 'chrpath' 'unixodbc' 'libsodium' 'systemd') +options=('!makeflags' 'emptydirs') +source=( + https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz{,.asc} + openldap.tmpfiles + openldap.sysusers) +sha256sums=('cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930' + 'SKIP' + '0be46138e53ff2fa6d4b4c06bfbdd2100426e0bd2ed29bf3419ade6b5974e9a0' + 'c6e3fa72138edfebb4ecb17f677e217c885ff9eef805b5c8ad1c09169bb0ff8e') +validpgpkeys=('3CE269B5398BC8B785645E987F67D5FD1CE1CBCE') # OpenLDAP Project https://www.openldap.org/software/download/OpenLDAP/gpg-pubkey.txt +options=(!lto) + +# extra modules found in contrib/slapd-modules +_extra_modules=( + 'nssov' + 'autogroup' + 'lastbind' + 'passwd/sha2' + 'allowed' + 'noopsrch' +) + +prepare() { + cd ${pkgbase}-${pkgver} + + # change perms from 0644 to 0755 + sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap}/Makefile.in + + # change rundir to /run/openldap + sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h + sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.{conf,ldif} + sed -i 's|-$(MKDIR) $(DESTDIR)$(localstatedir)/run|-$(MKDIR) $(DESTDIR)/run/openldap|' servers/slapd/Makefile.in + + # modify upstream systemd service + sed -i -e "s|EnvironmentFile.*|EnvironmentFile=-/etc/conf.d/slapd|" -e "s/slapd -d 0/\0 -u ldap -g ldap/" servers/slapd/slapd.service +} + +build() { + cd ${pkgbase}-${pkgver} + autoconf + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --localstatedir=/var/lib/openldap \ + --sbindir=/usr/bin \ + --enable-dynamic \ + --enable-syslog \ + --enable-ipv6 \ + --enable-local \ + --enable-crypt \ + --enable-spasswd \ + --enable-modules \ + --enable-backends \ + --enable-argon2 \ + --with-argon2=libsodium \ + --disable-wt \ + --enable-overlays=mod \ + --with-cyrus-sasl \ + --with-threads + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make + + # build extra modules + for module in "${_extra_modules[@]}"; do + make -C "contrib/slapd-modules/$module" \ + OPT="$CFLAGS $CPPFLAGS" \ + prefix=/usr \ + libexecdir=/usr/lib \ + sysconfdir=/etc/openldap + done +} + +check() { + cd ${pkgbase}-${pkgver} + make test +} + +package_libldap() { + pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries" + depends=('libsasl') + backup=('etc/openldap/ldap.conf') + + cd ${pkgbase}-${pkgver} + for dir in include libraries doc/man/man3 ; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + install -Dm644 -t "$pkgdir/usr/share/man/man5" doc/man/man5/ldap.conf.5 + + # remove duplicate conf files + rm "${pkgdir}"/etc/openldap/*.default + + # shared library versioning + ln -sf liblber.so "${pkgdir}"/usr/lib/liblber.so.2 + ln -sf libldap.so "${pkgdir}"/usr/lib/libldap.so.2 + + # license + install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE +} + +package_openldap() { + pkgdesc="Lightweight Directory Access Protocol (LDAP) client and server" + depends=("libldap>=${pkgver}" 'libtool' 'unixodbc' 'perl' 'systemd-libs' 'libsodium') + backup=('etc/openldap/slapd.conf' 'etc/openldap/slapd.ldif') + + cd ${pkgbase}-${pkgver} + for dir in clients servers doc/man/man{1,5,8}; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + + # install extra modules + for module in "${_extra_modules[@]}"; do + make -C "contrib/slapd-modules/$module" \ + prefix=/usr \ + libexecdir=/usr/lib \ + sysconfdir=/etc/openldap \ + DESTDIR="$pkgdir" install + + # passwd/sha2 has no man page, so skip it + if [ -f "contrib/slapd-modules/$module/slapo-$module.5" ]; then + install -m644 -t "$pkgdir/usr/share/man/man5" \ + "contrib/slapd-modules/$module/slapo-$module.5" + fi + done + + # should be in libldap package + rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5 + + # let systemd-tmpfiles generate this directory + rm -r "${pkgdir}"/run + + # get rid of duplicate conf files + rm "${pkgdir}"/etc/openldap/*.default + + ln -s ../lib/slapd "${pkgdir}"/usr/bin/slapd + + chown root:439 "${pkgdir}"/etc/openldap/slapd.{conf,ldif} + chmod 640 "${pkgdir}"/etc/openldap/slapd.{conf,ldif} + + # systemd integration + install -Dm644 "${srcdir}"/openldap.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/openldap.conf + install -Dm644 "${srcdir}"/openldap.sysusers "${pkgdir}"/usr/lib/sysusers.d/openldap.conf + + # license + install -Dm644 -t "${pkgdir}"/usr/share/licenses/"${pkgname}" LICENSE +} diff --git a/main/openldap/README b/main/openldap/README new file mode 100644 index 00000000..94a4f1b0 --- /dev/null +++ b/main/openldap/README @@ -0,0 +1,43 @@ +openldap +________________________________________________________________________________ + +Lightweight Directory Access Protocol (LDAP) client and server Lightweight Directory Access Protocol (LDAP) client libraries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openldap | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.openldap.org/ diff --git a/main/openldap/openldap.sysusers b/main/openldap/openldap.sysusers new file mode 100644 index 00000000..362d6c14 --- /dev/null +++ b/main/openldap/openldap.sysusers @@ -0,0 +1 @@ +u ldap 439 "LDAP Server" /var/lib/openldap diff --git a/main/openldap/openldap.tmpfiles b/main/openldap/openldap.tmpfiles new file mode 100644 index 00000000..9337fce4 --- /dev/null +++ b/main/openldap/openldap.tmpfiles @@ -0,0 +1,3 @@ +D /run/openldap 0755 ldap ldap - + +f /var/lib/openldap/.placeholder 0644 ldap ldap - "prevent pwcheck error; pacman should not remove ~ldap" diff --git a/main/openldap/version b/main/openldap/version new file mode 100644 index 00000000..e2957eaa --- /dev/null +++ b/main/openldap/version @@ -0,0 +1 @@ +2.6.7 2 diff --git a/main/openpgp-card-tools/.PKGINFO b/main/openpgp-card-tools/.PKGINFO new file mode 100644 index 00000000..87b69add --- /dev/null +++ b/main/openpgp-card-tools/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = openpgp-card-tools +pkgbase = openpgp-card-tools +xdata = pkgtype=pkg +pkgver = 0.11.0-1 +pkgdesc = CLI tool to inspect, manage and use OpenPGP cards +url = https://codeberg.org/openpgp-card/openpgp-card-tools +builddate = 1718491881 +packager = Developer +size = 5059659 +arch = x86_64 +license = Apache-2.0 OR MIT +depend = ccid +depend = gcc-libs +depend = glibc +depend = pcsclite +depend = libpcsclite.so=1-64 +makedepend = cargo +makedepend = pcsclite diff --git a/main/openpgp-card-tools/PKGBUILD b/main/openpgp-card-tools/PKGBUILD new file mode 100644 index 00000000..36c2b0a0 --- /dev/null +++ b/main/openpgp-card-tools/PKGBUILD @@ -0,0 +1,57 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openpgp-card-tools +pkgver=%version% +pkgrel=%release% +pkgdesc="CLI tool to inspect, manage and use OpenPGP cards" +arch=(x86_64) +url="https://codeberg.org/openpgp-card/openpgp-card-tools" +license=('Apache-2.0 OR MIT') +depends=( + ccid + gcc-libs + glibc + gmp +) +makedepends=( + bzip2 + cargo + clang + nettle + pcsclite +) +source=($pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz) +sha512sums=('261c48254b91cbe975eca34d84e7e07fc4d168a08f063ad8e9a595d5a6321757c47ba36ddcd563d133ba82f48fda41877d291ca3be541df240733a988a221a34') +b2sums=('9eabc4272731e91e14b15b6bd6e7dbab73dadcb19a1d11e8924dbe3673805af9f78ff1c0c494524ba8628fa42f768f4d387a0ec261761c55a4dbd8a04ef66cff') + +prepare() { + cd $pkgname + cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" +} + +build() { + cd $pkgname + export RUSTUP_TOOLCHAIN=stable + export CARGO_TARGET_DIR=target + cargo build --frozen --release + OCT_MANPAGE_OUTPUT_DIR="$PWD/../man/" cargo run + OCT_COMPLETION_OUTPUT_DIR="$PWD/../completion/" cargo run +} + +package() { + depends+=( + bzip2 libbz2.so + nettle libhogweed.so libnettle.so + pcsclite libpcsclite.so + ) + + cd $pkgname + install -vDm 755 target/release/oct -t "$pkgdir/usr/bin/" + install -vDm 644 {scripting,README}.md -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 LICENSES/MIT.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 ../man/*.1 -t "$pkgdir/usr/share/man/man1/" + install -vDm 644 ../completion/oct.bash "$pkgdir/usr/share/bash-completion/completions/oct" + install -vDm 644 ../completion/_oct -t "$pkgdir/usr/share/zsh/site-functions/" + install -vDm 644 ../completion/oct.fish -t "$pkgdir/usr/share/fish/vendor_completions.d/" +} diff --git a/main/openpgp-card-tools/README b/main/openpgp-card-tools/README new file mode 100644 index 00000000..a6dadf62 --- /dev/null +++ b/main/openpgp-card-tools/README @@ -0,0 +1,43 @@ +openpgp-card-tools +________________________________________________________________________________ + +CLI tool to inspect, manage and use OpenPGP cards + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openpgp-card-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://codeberg.org/openpgp-card/openpgp-card-tools diff --git a/main/openpgp-card-tools/version b/main/openpgp-card-tools/version new file mode 100644 index 00000000..0a5c73f9 --- /dev/null +++ b/main/openpgp-card-tools/version @@ -0,0 +1 @@ +0.11.0 1 diff --git a/main/openssh/.PKGINFO b/main/openssh/.PKGINFO new file mode 100644 index 00000000..543e9eab --- /dev/null +++ b/main/openssh/.PKGINFO @@ -0,0 +1,46 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = openssh +pkgbase = openssh +xdata = pkgtype=pkg +pkgver = 9.7p1-2 +pkgdesc = SSH protocol implementation for remote login, command execution and file transfer +url = https://www.openssh.com/portable.html +builddate = 1714618429 +packager = Developer +size = 5778917 +arch = x86_64 +license = BSD-2-Clause +license = BSD-3-Clause +license = ISC +license = LicenseRef-Public-Domain +license = MIT +backup = etc/pam.d/sshd +backup = etc/ssh/ssh_config +backup = etc/ssh/sshd_config +depend = glibc +depend = krb5 +depend = libkrb5.so=3-64 +depend = libgssapi_krb5.so=2-64 +depend = libedit +depend = libedit.so=0-64 +depend = libxcrypt +depend = libcrypt.so=2-64 +depend = openssl +depend = libcrypto.so=3-64 +depend = pam +depend = libpam.so=0-64 +depend = zlib +depend = libz.so=1-64 +optdepend = libfido2: FIDO/U2F support +optdepend = sh: for ssh-copy-id and findssl.sh +optdepend = x11-ssh-askpass: input passphrase in X +optdepend = xorg-xauth: X11 forwarding +makedepend = krb5 +makedepend = libedit +makedepend = libfido2 +makedepend = libxcrypt +makedepend = linux-headers +makedepend = openssl +makedepend = pam +makedepend = zlib diff --git a/main/openssh/.nvchecker.toml b/main/openssh/.nvchecker.toml new file mode 100644 index 00000000..fcb03c9f --- /dev/null +++ b/main/openssh/.nvchecker.toml @@ -0,0 +1,5 @@ +[openssh] +source = "git" +git = "https://github.com/openssh/openssh-portable" +from_pattern = 'V_(\d+)_(\d+)_P(\d+)' +to_pattern = '\1.\2p\3' diff --git a/main/openssh/99-archlinux.conf b/main/openssh/99-archlinux.conf new file mode 100644 index 00000000..365f1151 --- /dev/null +++ b/main/openssh/99-archlinux.conf @@ -0,0 +1,4 @@ +# sshd_config defaults on Arch Linux +KbdInteractiveAuthentication no +UsePAM yes +PrintMotd no diff --git a/main/openssh/PKGBUILD b/main/openssh/PKGBUILD new file mode 100644 index 00000000..9afe65df --- /dev/null +++ b/main/openssh/PKGBUILD @@ -0,0 +1,162 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openssh +pkgver=%version% +pkgrel=%release% +pkgdesc="SSH protocol implementation for remote login, command execution and file transfer" +arch=(x86_64) +url='https://www.openssh.com/portable.html' +license=( + BSD-2-Clause + BSD-3-Clause + ISC + LicenseRef-Public-Domain + MIT +) +depends=( + glibc +) +makedepends=( + krb5 + libedit + libfido2 + libxcrypt + linux-headers + openssl + pam + zlib +) +optdepends=( + 'libfido2: FIDO/U2F support' + 'sh: for ssh-copy-id and findssl.sh' + 'x11-ssh-askpass: input passphrase in X' + 'xorg-xauth: X11 forwarding' +) +backup=( + etc/pam.d/sshd + etc/ssh/ssh_config + etc/ssh/sshd_config +) +source=( + https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$pkgver.tar.gz{,.asc} + 99-archlinux.conf + $pkgname.tmpfiles + sshdgenkeys.service + sshd.service + ssh-agent.service + sshd.pam +) +sha256sums=('490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd' + 'SKIP' + '78b806c38bc1e246daaa941bfe7880e6eb6f53f093bea5d5868525ae6d223d30' + '975904668c3c98fff5dbf840717ae959593fa05e90e215e67bf7ee24369d6369' + 'e5305767b2d317183ad1c5022a5f6705bd9014a8b22495a000fd482713738611' + 'e40f8b7c8e5e2ecf3084b3511a6c36d5b5c9f9e61f2bb13e3726c71dc7d4fbc7' + 'b3b1e4f7af169cd5fccdcdf9538ef37fc919c79a9905f797925153a94e723998' + '633e24cbfcb045ba777d3e06d5f85dfaa06d44f4727d38c7fb2187c57498221d') +b2sums=('520859fcbdf678808fc8515b64585ab9a90a8055fa869df6fbba3083cb7f73ddb81ed9ea981e131520736a8aed838f85ae68ca63406a410df61039913c5cb48b' + 'SKIP' + '1ff8cd4ae22efed2b4260f1e518de919c4b290be4e0b5edbc8e2225ffe63788678d1961e6f863b85974c4697428ee827bcbabad371cfc91cc8b36eae9402eb97' + '43bf32158d6b14cf298e5e92a54d93577d6a45b32b3c0fad7a3722e55a53e446fd30df10002bc945c71528904bb397aaadc4f439dd81e5a87263a31b1daa7fc2' + '09fad3648f48f13ee80195b90913feeba21240d121b1178e0ce62f4a17b1f7e58e8edc22c04403e377ab300f5022a804c848f5be132765d5ca26a38aab262e50' + '07ad5c7fb557411a6646ff6830bc9d564c07cbddc4ce819641d31c05dbdf677bfd8a99907cf529a7ee383b8c250936a6423f4b4b97ba0f1c14f627bbd629bd4e' + '046ea6bd6aa00440991e5f7998db33864a7baa353ec6071f96a3ccb5cca5b548cb9e75f9dee56022ca39daa977d18452851d91e6ba36a66028b84b375ded9bc5' + '1d24cc029eccf71cee54dda84371cf9aa8d805433e751575ab237df654055dd869024b50facd8b73390717e63100c76bca28b493e0c8be9791c76a2e0d60990a') +validpgpkeys=('7168B983815A5EEF59A4ADFD2A3F414E736060BA') # Damien Miller + +prepare() { + cd $pkgname-$pkgver + # remove variable (but useless) first line in config (related to upstream VCS) + sed '/^#.*\$.*\$$/d' -i ssh{,d}_config + + # prepend configuration option to include drop-in configuration files for sshd_config + printf "# Include drop-in configurations\nInclude /etc/ssh/sshd_config.d/*.conf\n" | cat - sshd_config > sshd_config.tmp + mv -v sshd_config.tmp sshd_config + # prepend configuration option to include drop-in configuration files for ssh_config + printf "# Include drop-in configurations\nInclude /etc/ssh/ssh_config.d/*.conf\n" | cat - ssh_config > ssh_config.tmp + mv -v ssh_config.tmp ssh_config + + # extract separate licenses + sed -n '89,113p' LICENCE > ../rijndael.Public-Domain.txt + sed -n '116,145p' LICENCE > ../ssh.BSD-3-Clause.txt + sed -n '148,209p' LICENCE > ../BSD-2-Clause.txt + sed -n '213,218p' LICENCE > ../snprintf.Public-Domain.txt + sed -n '222,258p' LICENCE > ../openbsd-compat.BSD-3-Clause.txt + sed -n '260,278p' LICENCE > ../openbsd-compat.ISC.txt + sed -n '280,308p' LICENCE > ../openbsd-compat.MIT.txt + sed -n '280,308p' LICENCE > ../openbsd-compat.MIT.txt + sed -n '310,338p' LICENCE > ../blowfish.BSD-3-Clause.txt + sed -n '340,368p' LICENCE > ../replacement.BSD-2-Clause.txt +} + +build() { + local configure_options=( + --prefix=/usr + --sbindir=/usr/bin + --libexecdir=/usr/lib/ssh + --sysconfdir=/etc/ssh + --disable-strip + --with-libedit + --with-security-key-builtin + --with-ssl-engine + --with-pam + --with-privsep-user=nobody + --with-kerberos5=/usr + --with-xauth=/usr/bin/xauth + --with-pid-dir=/run + --with-default-path='/usr/local/sbin:/usr/local/bin:/usr/bin' + --without-zlib-version-check + ) + + cd $pkgname-$pkgver + + ./configure "${configure_options[@]}" + make +} + +check() { + # NOTE: make t-exec does not work in our build environment + make file-tests interop-tests unit -C $pkgname-$pkgver +} + +package() { + depends+=( + krb5 libkrb5.so libgssapi_krb5.so + libedit libedit.so + libxcrypt libcrypt.so + openssl libcrypto.so + pam libpam.so + zlib libz.so + ) + + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + install -vDm 644 ../99-archlinux.conf -t "$pkgdir/etc/ssh/sshd_config.d/" + install -vdm 755 "$pkgdir/etc/ssh/ssh_config.d" + + install -Dm644 LICENCE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -Dm644 ../*.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + + install -Dm644 ../sshdgenkeys.service -t "$pkgdir"/usr/lib/systemd/system/ + install -Dm644 ../sshd.service -t "$pkgdir"/usr/lib/systemd/system/ + install -Dm644 ../ssh-agent.service -t "$pkgdir"/usr/lib/systemd/user/ + install -Dm644 ../sshd.pam "$pkgdir"/etc/pam.d/sshd + + # factory files + install -Dm644 ../sshd.pam "$pkgdir"/usr/share/factory/etc/pam.d/sshd + install -Dm644 "$pkgdir/etc/ssh/moduli" -t "$pkgdir"/usr/share/factory/etc/ssh/ + install -Dm644 "$pkgdir/etc/ssh/ssh_config" -t "$pkgdir"/usr/share/factory/etc/ssh/ + install -Dm644 "$pkgdir/etc/ssh/sshd_config" -t "$pkgdir"/usr/share/factory/etc/ssh/ + install -vDm 644 ../99-archlinux.conf -t "$pkgdir/usr/share/factory/etc/ssh/sshd_config.d/" + + install -vDm 644 ../$pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + install -Dm755 contrib/findssl.sh -t "$pkgdir"/usr/bin/ + install -Dm755 contrib/ssh-copy-id -t "$pkgdir"/usr/bin/ + install -Dm644 contrib/ssh-copy-id.1 -t "$pkgdir"/usr/share/man/man1/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/openssh/README b/main/openssh/README new file mode 100644 index 00000000..16c4dae7 --- /dev/null +++ b/main/openssh/README @@ -0,0 +1,43 @@ +openssh +________________________________________________________________________________ + +SSH protocol implementation for remote login, command execution and file transfer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openssh | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.openssh.com/portable.html diff --git a/main/openssh/openssh.tmpfiles b/main/openssh/openssh.tmpfiles new file mode 100644 index 00000000..0bf38709 --- /dev/null +++ b/main/openssh/openssh.tmpfiles @@ -0,0 +1,9 @@ +C /etc/pam.d/sshd +C /etc/ssh/moduli +C /etc/ssh/ssh_config +C /etc/ssh/sshd_config +C /etc/ssh/sshd_config.d/99-archlinux.conf + +d /etc/ssh/ssh_config.d +d /etc/ssh/sshd_config.d +d /var/empty diff --git a/main/openssh/ssh-agent.service b/main/openssh/ssh-agent.service new file mode 100644 index 00000000..4a5fe554 --- /dev/null +++ b/main/openssh/ssh-agent.service @@ -0,0 +1,15 @@ +# Requires SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" to be set in environment +[Unit] +ConditionEnvironment=!SSH_AGENT_PID +Description=OpenSSH key agent +Documentation=man:ssh-agent(1) man:ssh-add(1) man:ssh(1) + +[Service] +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK +PassEnvironment=SSH_AGENT_PID +SuccessExitStatus=2 +Type=simple + +[Install] +WantedBy=default.target diff --git a/main/openssh/sshd.pam b/main/openssh/sshd.pam new file mode 100644 index 00000000..4efc1ee6 --- /dev/null +++ b/main/openssh/sshd.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include system-remote-login +account include system-remote-login +password include system-remote-login +session include system-remote-login diff --git a/main/openssh/sshd.service b/main/openssh/sshd.service new file mode 100644 index 00000000..a893724f --- /dev/null +++ b/main/openssh/sshd.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenSSH Daemon +Wants=sshdgenkeys.service +After=sshdgenkeys.service +After=network.target + +[Service] +ExecStart=/usr/bin/sshd -D +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/main/openssh/sshdgenkeys.service b/main/openssh/sshdgenkeys.service new file mode 100644 index 00000000..83230084 --- /dev/null +++ b/main/openssh/sshdgenkeys.service @@ -0,0 +1,13 @@ +[Unit] +Description=SSH Key Generation +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub + +[Service] +ExecStart=/usr/bin/ssh-keygen -A +Type=oneshot +RemainAfterExit=yes diff --git a/main/openssh/version b/main/openssh/version new file mode 100644 index 00000000..632389d9 --- /dev/null +++ b/main/openssh/version @@ -0,0 +1 @@ +9.7p1 2 diff --git a/main/openssl/.PKGINFO b/main/openssl/.PKGINFO new file mode 100644 index 00000000..ea6ed763 --- /dev/null +++ b/main/openssl/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = openssl +pkgbase = openssl +xdata = pkgtype=pkg +pkgver = 3.3.1-1 +pkgdesc = The Open Source toolkit for Secure Sockets Layer and Transport Layer Security +url = https://www.openssl.org +builddate = 1718491889 +packager = Developer +size = 11483596 +arch = x86_64 +license = Apache-2.0 +replaces = openssl-perl +replaces = openssl-doc +provides = libcrypto.so=3-64 +provides = libssl.so=3-64 +backup = etc/ssl/openssl.cnf +depend = glibc +optdepend = ca-certificates +optdepend = perl +makedepend = perl diff --git a/main/openssl/PKGBUILD b/main/openssl/PKGBUILD new file mode 100644 index 00000000..c3a4e879 --- /dev/null +++ b/main/openssl/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openssl +pkgver=%version% +pkgrel=%release% +pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security' +arch=('x86_64') +url='https://www.openssl.org' +license=('Apache-2.0') +depends=('glibc') +makedepends=('perl') +optdepends=('ca-certificates' 'perl') +replaces=('openssl-perl' 'openssl-doc') +provides=('libcrypto.so' 'libssl.so') +backup=('etc/ssl/openssl.cnf') +source=("https://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz"{,.asc} + 'ca-dir.patch') +sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39' + 'SKIP' + '0a32d9ca68e8d985ce0bfef6a4c20b46675e06178cc2d0bf6d91bd6865d648b7') +validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491' + '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C' + 'A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C' + 'EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # set ca dir to /etc/ssl by default + patch -Np1 -i "$srcdir/ca-dir.patch" +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \ + shared enable-ktls enable-ec_nistp_64_gcc_128 linux-${CARCH} + + make depend + make +} + +check() { + cd "$srcdir/$pkgbase-$pkgver" + + # the test fails due to missing write permissions in /etc/ssl + # revert this patch for make test + patch -Rp1 -i "$srcdir/ca-dir.patch" + + make HARNESS_JOBS=$(nproc) test + + patch -Np1 -i "$srcdir/ca-dir.patch" + # re-run make to re-generate CA.pl from the patched .in file. + make apps/CA.pl +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" MANDIR=/usr/share/man MANSUFFIX=ssl install_sw install_ssldirs install_man_docs + + install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt" +} diff --git a/main/openssl/README b/main/openssl/README new file mode 100644 index 00000000..3160ca51 --- /dev/null +++ b/main/openssl/README @@ -0,0 +1,43 @@ +openssl +________________________________________________________________________________ + +The Open Source toolkit for Secure Sockets Layer and Transport Layer Security + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openssl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.openssl.org diff --git a/main/openssl/ca-dir.patch b/main/openssl/ca-dir.patch new file mode 100644 index 00000000..ba05eaed --- /dev/null +++ b/main/openssl/ca-dir.patch @@ -0,0 +1,31 @@ +--- a/apps/CA.pl.in ++++ b/apps/CA.pl.in +@@ -29,7 +29,7 @@ + my $PKCS12 = "$openssl pkcs12"; + + # Default values for various configuration settings. +-my $CATOP = "./demoCA"; ++my $CATOP = "/etc/ssl"; + my $CAKEY = "cakey.pem"; + my $CAREQ = "careq.pem"; + my $CACERT = "cacert.pem"; +--- a/apps/openssl.cnf ++++ b/apps/openssl.cnf +@@ -79,7 +79,7 @@ + #################################################################### + [ CA_default ] + +-dir = ./demoCA # Where everything is kept ++dir = /etc/ssl # Where everything is kept + certs = $dir/certs # Where the issued certs are kept + crl_dir = $dir/crl # Where the issued crl are kept + database = $dir/index.txt # database index file. +@@ -309,7 +309,7 @@ + [ tsa_config1 ] + + # These are used by the TSA reply generation only. +-dir = ./demoCA # TSA root directory ++dir = /etc/ssl # TSA root directory + serial = $dir/tsaserial # The current serial number (mandatory) + crypto_device = builtin # OpenSSL engine to use for signing + signer_cert = $dir/tsacert.pem # The TSA signing certificate diff --git a/main/openssl/version b/main/openssl/version new file mode 100644 index 00000000..a0fab29c --- /dev/null +++ b/main/openssl/version @@ -0,0 +1 @@ +3.3.1 1 diff --git a/main/openvpn/0001-unprivileged.patch b/main/openvpn/0001-unprivileged.patch new file mode 100644 index 00000000..aa0e37b6 --- /dev/null +++ b/main/openvpn/0001-unprivileged.patch @@ -0,0 +1,28 @@ +diff --git a/distro/systemd/openvpn-client@.service.in b/distro/systemd/openvpn-client@.service.in +index 159fb4dc..2277a7d9 100644 +--- a/distro/systemd/openvpn-client@.service.in ++++ b/distro/systemd/openvpn-client@.service.in +@@ -11,6 +11,9 @@ Type=notify + PrivateTmp=true + WorkingDirectory=/etc/openvpn/client + ExecStart=@sbindir@/openvpn --suppress-timestamps --nobind --config %i.conf ++User=openvpn ++Group=network ++AmbientCapabilities=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_SYS_CHROOT CAP_DAC_OVERRIDE + CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_SYS_CHROOT CAP_DAC_OVERRIDE + LimitNPROC=10 + DeviceAllow=/dev/null rw +diff --git a/distro/systemd/openvpn-server@.service.in b/distro/systemd/openvpn-server@.service.in +index 6e8e7d94..b2814e4b 100644 +--- a/distro/systemd/openvpn-server@.service.in ++++ b/distro/systemd/openvpn-server@.service.in +@@ -11,6 +11,9 @@ Type=notify + PrivateTmp=true + WorkingDirectory=/etc/openvpn/server + ExecStart=@sbindir@/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf ++User=openvpn ++Group=network ++AmbientCapabilities=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_SYS_CHROOT CAP_DAC_OVERRIDE CAP_AUDIT_WRITE + CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_SYS_CHROOT CAP_DAC_OVERRIDE CAP_AUDIT_WRITE + LimitNPROC=10 + DeviceAllow=/dev/null rw diff --git a/main/openvpn/PKGBUILD b/main/openvpn/PKGBUILD new file mode 100644 index 00000000..f90ce3dd --- /dev/null +++ b/main/openvpn/PKGBUILD @@ -0,0 +1,94 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=openvpn +pkgver=%version% +pkgrel=%release% +pkgdesc='An easy-to-use, robust and highly configurable VPN (Virtual Private Network)' +arch=('x86_64') +url='https://openvpn.net/index.php/open-source.html' +license=('custom') +depends=('libcap-ng' 'libcap-ng.so' + 'libnl' 'libnl-genl-3.so' 'libnl-3.so' + 'lz4' + 'lzo' 'liblzo2.so' + 'openssl' 'libcrypto.so' 'libssl.so' + 'pkcs11-helper' 'libpkcs11-helper.so' + 'systemd-libs' 'libsystemd.so') +optdepends=('easy-rsa: easy CA and certificate handling' + 'pam: authenticate via PAM') +makedepends=('git' 'systemd' 'python-docutils') +install=openvpn.install +validpgpkeys=('F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7' # OpenVPN - Security Mailing List + 'B62E6A2B4E56570B7BDC6BE01D829EFECA562812') # Gert Doering +source=("git+https://github.com/OpenVPN/openvpn.git#tag=v${pkgver}?signed" + '0001-unprivileged.patch' + 'sysusers.conf' + 'tmpfiles.conf') +sha256sums=('9192c40cdd787a5327a4cb9cd869c06f4fb61e30fade9a534cdcf724672fb9a6' + '77874824d96c1fd6c14259a6ea16232ae574dda3d5adba1798ccd6c93694846c' + '3646b865ac67783fafc6652589cfe2a3105ecef06f3907f33de5135815f6a621' + 'b1436f953a4f1be7083711d11928a9924993f940ff56ff92d288d6100df673fc') + +prepare() { + cd "${srcdir}"/${pkgname} + + # https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19302.html + sed -i '/^CONFIGURE_DEFINES=/s/set/env/g' configure.ac + + # start with unprivileged user and keep granted privileges + patch -Np1 < ../0001-unprivileged.patch + + autoreconf --force --install +} + +build() { + mkdir "${srcdir}"/build + cd "${srcdir}"/build + + "${srcdir}"/openvpn/configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-pkcs11 \ + --enable-plugins \ + --enable-systemd \ + --enable-x509-alt-username + make +} + +check() { + cd "${srcdir}"/build + + make check +} + +package() { + cd "${srcdir}"/build + + # Install openvpn + make DESTDIR="${pkgdir}" install + + # Install sysusers and tmpfiles files + install -D -m0644 ../sysusers.conf "${pkgdir}"/usr/lib/sysusers.d/openvpn.conf + install -D -m0644 ../tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/openvpn.conf + + # Install license + install -d -m0755 "${pkgdir}"/usr/share/licenses/openvpn/ + ln -sf /usr/share/doc/openvpn/{COPYING,COPYRIGHT.GPL} "${pkgdir}"/usr/share/licenses/openvpn/ + + cd "${srcdir}"/${pkgname} + + # Install examples + install -d -m0755 "${pkgdir}"/usr/share/openvpn + cp -r sample/sample-config-files "${pkgdir}"/usr/share/openvpn/examples + + # Install contrib + for FILE in $(find contrib -type f); do + case "$(file --brief --mime-type --no-sandbox "${FILE}")" in + "text/x-shellscript") + install -D -m0755 "${FILE}" "${pkgdir}/usr/share/openvpn/${FILE}" ;; + *) + install -D -m0644 "${FILE}" "${pkgdir}/usr/share/openvpn/${FILE}" ;; + esac + done +} diff --git a/main/openvpn/README b/main/openvpn/README new file mode 100644 index 00000000..8d45b9b2 --- /dev/null +++ b/main/openvpn/README @@ -0,0 +1,43 @@ +openvpn +________________________________________________________________________________ + +An easy-to-use, robust and highly configurable VPN (Virtual Private Network) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S openvpn | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://openvpn.net/index.php/open-source.html diff --git a/main/openvpn/openvpn.install b/main/openvpn/openvpn.install new file mode 100644 index 00000000..09ded1e5 --- /dev/null +++ b/main/openvpn/openvpn.install @@ -0,0 +1,12 @@ +#!/bin/sh + +post_upgrade() { + # return if old package version greater 2.5.0-1... + (( $(vercmp $2 '2.5.0-1') > 0 )) && return + + echo ':: OpenVPN now uses a netlink interface for network configuration. The systemd' + echo " units start the process with a dedicated unprivileged user 'openvpn', with" + echo ' extra capabilities(7). The configuration should no longer drop privileges,' + echo " so remove 'user' and 'group' directives." + echo ' Scripts that require elevated privileges may need a workaround.' +} diff --git a/main/openvpn/sysusers.conf b/main/openvpn/sysusers.conf new file mode 100644 index 00000000..51864bad --- /dev/null +++ b/main/openvpn/sysusers.conf @@ -0,0 +1 @@ +u openvpn - "OpenVPN" diff --git a/main/openvpn/tmpfiles.conf b/main/openvpn/tmpfiles.conf new file mode 100644 index 00000000..be1386ad --- /dev/null +++ b/main/openvpn/tmpfiles.conf @@ -0,0 +1,4 @@ +d /etc/openvpn/client 0750 openvpn network - +d /etc/openvpn/server 0750 openvpn network - +d /run/openvpn-client 0750 openvpn network - +d /run/openvpn-server 0750 openvpn network - diff --git a/main/openvpn/version b/main/openvpn/version new file mode 100644 index 00000000..dac12470 --- /dev/null +++ b/main/openvpn/version @@ -0,0 +1 @@ +2.6.10 1 diff --git a/main/opus/.PKGINFO b/main/opus/.PKGINFO new file mode 100644 index 00000000..0d79e363 --- /dev/null +++ b/main/opus/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = opus +pkgbase = opus +xdata = pkgtype=split +pkgver = 1.5.2-1 +pkgdesc = Totally open, royalty-free, highly versatile audio codec +url = https://www.opus-codec.org/ +builddate = 1713663692 +packager = Developer +size = 5555278 +arch = x86_64 +license = BSD-3-Clause +provides = libopus.so=0-64 +depend = glibc +makedepend = doxygen +makedepend = meson diff --git a/main/opus/PKGBUILD b/main/opus/PKGBUILD new file mode 100644 index 00000000..555c6144 --- /dev/null +++ b/main/opus/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=opus +pkgname=( + opus + opus-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Totally open, royalty-free, highly versatile audio codec" +url="https://www.opus-codec.org/" +arch=(x86_64) +license=(BSD-3-Clause) +depends=( + glibc +) +makedepends=( + doxygen + meson +) +source=("https://downloads.xiph.org/releases/opus/opus-$pkgver.tar.gz") +b2sums=('5ba1d6f28594f366b545507bafb22751e15a0e78e152e7cdef456dccb0bc9fc512faa18c90fb4ea5455a9535de89df987dea8a0fabce9a25c285d0c410d4b482') + +# https://downloads.xiph.org/releases/opus/SHA256SUMS.txt +sha256sums=('b84610959b8d417b611aa12a22565e0a3732097c6389d19098d844543e340f85') + +prepare() { + ln -s opus-$pkgver opus + cd opus +} + +build() { + local meson_options=( + -D asm=disabled + -D custom-modes=true + -D enable-deep-plc=true + -D enable-dred=true + -D enable-osce=true + ) + + arch-meson opus build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package_opus() { + provides=(libopus.so) + + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/aclocal" -m644 opus/opus.m4 + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 opus/COPYING + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_opus-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/opus/README b/main/opus/README new file mode 100644 index 00000000..becfc94d --- /dev/null +++ b/main/opus/README @@ -0,0 +1,43 @@ +opus +________________________________________________________________________________ + +Totally open, royalty-free, highly versatile audio codec Totally open, royalty-free, highly versatile audio codec (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S opus | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.opus-codec.org/ diff --git a/main/opus/version b/main/opus/version new file mode 100644 index 00000000..5b702ae2 --- /dev/null +++ b/main/opus/version @@ -0,0 +1 @@ +1.5.2 1 diff --git a/main/orc/PKGBUILD b/main/orc/PKGBUILD new file mode 100644 index 00000000..a25229e3 --- /dev/null +++ b/main/orc/PKGBUILD @@ -0,0 +1,46 @@ +# Packager = Developer +pkgname=orc +pkgver=0.4.38 +pkgrel=1 +pkgdesc="Optimized Inner Loop Runtime Compiler" +url="https://gstreamer.freedesktop.org/modules/orc.html" +arch=(x86_64) +license=(BSD-3-Clause) +depends=( + glibc +) +makedepends=( + git + gtk-doc + meson + valgrind +) +provides=(liborc{,-test}-${pkgver%.*}.so) +_commit=f071d3a14f28c7c5acff5ff0b5a67ecd3f785ef3 # tags/0.4.38^0 +source=("git+https://gitlab.freedesktop.org/gstreamer/orc.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd orc + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd orc +} + +build() { + arch-meson orc build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 orc/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/orc/version b/main/orc/version new file mode 100644 index 00000000..6162a878 --- /dev/null +++ b/main/orc/version @@ -0,0 +1 @@ +0.4.38 1 diff --git a/main/os-prober/PKGBUILD b/main/os-prober/PKGBUILD new file mode 100644 index 00000000..3652c5b8 --- /dev/null +++ b/main/os-prober/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=os-prober +pkgver=%version% +pkgrel=%release% +pkgdesc='Utility to detect other OSes on a set of drives' +url='https://joeyh.name/code/os-prober/' +arch=('x86_64') +license=('GPL3') +depends=('sh') +source=(https://deb.debian.org/debian/pool/main/o/${pkgname}/${pkgname}_${pkgver}.tar.xz) +sha512sums=('ffb0e618f9e58a7a8e4a265d253bad4e168c220697216684acb38dbfa20680e552eb7c5f3d2186cd750c61a8929bf152527aa85c39318ed8b025a4ffffadde50') +b2sums=('0159870612d265c5e610e093a8839129aa9dc111a6f3abee65a6044b4c997ba65a69f70deca246bde53c1cf5314812312178e82c0893093d9f23ced3b0176f9d') + +prepare() { + cd ${pkgname}-${pkgver} + # adjust lib dir to allow detection of 64-bit distros + sed -i -e "s:/lib/ld\*\.so\*:/lib*/ld*.so*:g" os-probes/mounted/common/90linux-distro + rm -f Makefile +} + +build() { + cd ${pkgname}-${pkgver} + make newns +} + +package() { + cd ${pkgname}-${pkgver} + + install -Dm 755 os-prober linux-boot-prober -t "${pkgdir}/usr/bin" + install -Dm 755 newns -t "${pkgdir}/usr/lib/os-prober" + install -Dm 755 common.sh -t "${pkgdir}/usr/share/os-prober" + + for dir in os-probes os-probes/mounted os-probes/init linux-boot-probes linux-boot-probes/mounted; do + install -dm 755 "${pkgdir}/usr/lib/${dir}" + install -m 755 -t "${pkgdir}/usr/lib/${dir}" "${dir}"/common/* + [[ -d "${dir}"/x86 ]] && cp -r "${dir}"/x86/* "${pkgdir}/usr/lib/${dir}" + done + + install -Dm 755 os-probes/mounted/powerpc/20macosx "${pkgdir}"/usr/lib/os-probes/mounted/20macosx + install -dm 755 "${pkgdir}"/var/lib/os-prober +} + +# vim: ts=2 sw=2 et: diff --git a/main/os-prober/README b/main/os-prober/README new file mode 100644 index 00000000..c3ac4f60 --- /dev/null +++ b/main/os-prober/README @@ -0,0 +1,43 @@ +os-prober +________________________________________________________________________________ + +Utility to detect other OSes on a set of drives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S os-prober | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://joeyh.name/code/os-prober/ diff --git a/main/os-prober/version b/main/os-prober/version new file mode 100644 index 00000000..831d51bf --- /dev/null +++ b/main/os-prober/version @@ -0,0 +1 @@ +1.81 1 diff --git a/main/oxygen-sounds/.PKGINFO b/main/oxygen-sounds/.PKGINFO new file mode 100644 index 00000000..a6101ee4 --- /dev/null +++ b/main/oxygen-sounds/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = oxygen-sounds +pkgbase = oxygen-sounds +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = The Oxygen Sound Theme +url = https://kde.org/plasma-desktop/ +builddate = 1713663700 +packager = Developer +size = 2165140 +arch = any +license = LGPL-2.0-or-later +group = plasma +makedepend = extra-cmake-modules diff --git a/main/oxygen-sounds/PKGBUILD b/main/oxygen-sounds/PKGBUILD new file mode 100644 index 00000000..143736a1 --- /dev/null +++ b/main/oxygen-sounds/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=oxygen-sounds +pkgdesc='The Oxygen Sound Theme' +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +arch=(any) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=() +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('30ea00a09c7595f6e8471aa028b45d3f518f58e3b19ac14c8817b16245284fa6' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/oxygen-sounds/README b/main/oxygen-sounds/README new file mode 100644 index 00000000..756b54e8 --- /dev/null +++ b/main/oxygen-sounds/README @@ -0,0 +1,43 @@ +oxygen-sounds +________________________________________________________________________________ + +The Oxygen Sound Theme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S oxygen-sounds | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/oxygen-sounds/version b/main/oxygen-sounds/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/oxygen-sounds/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/p11-kit/PKGBUILD b/main/p11-kit/PKGBUILD new file mode 100644 index 00000000..521c3636 --- /dev/null +++ b/main/p11-kit/PKGBUILD @@ -0,0 +1,110 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=p11-kit +pkgname=( + p11-kit + libp11-kit + p11-kit-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Loads and enumerates PKCS#11 modules" +url="https://p11-glue.freedesktop.org" +arch=(x86_64) +license=(BSD) +depends=( + glibc + libffi + libtasn1 +) +makedepends=( + bash-completion + gtk-doc + meson + systemd +) +checkdepends=( + gnutls +) +source=( + https://github.com/p11-glue/p11-kit/releases/download/$pkgver/p11-kit-$pkgver.tar.xz{,.sig} +) +b2sums=('5c695c1ef95edf4bbbab001aa634076c433df0bc89cb8104deaec2ce00c6908640e467755b49c6900e5d7d5d81e1a3871f4978a212c6f6ae088386ac0b95289a' + 'SKIP') +validpgpkeys=( + C0F67099B808FB063E2C81117BFB1108D92765AF # Stef Walter + 462225C3B46F34879FC8496CD605848ED7E69871 # Daiki Ueno + 5D46CB0F763405A7053556F47A75A648B3F9220C # Zoltan Fridrich +) + +prepare() { + cd p11-kit-$pkgver +} + +build() { + local meson_options=( + -D gtk_doc=true + -D man=true + -D trust_paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source + ) + + arch-meson p11-kit-$pkgver build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_p11-kit() { + depends=( + "libp11-kit=$pkgver-$pkgrel" + coreutils + libp11-kit.so + libsystemd.so + ) + install=p11-kit.install + + meson install -C build --destdir "$pkgdir" + ln -srf "$pkgdir/usr/bin/update-ca-trust" "$pkgdir/usr/lib/p11-kit/trust-extract-compat" + + _pick lib "$pkgdir"/usr/include + _pick lib "$pkgdir"/usr/lib/{p11-kit-proxy.so,libp11-kit.*} + _pick lib "$pkgdir"/usr/lib/{pkcs11,pkgconfig} + _pick lib "$pkgdir"/usr/share/p11-kit + + _pick doc "$pkgdir"/usr/share/gtk-doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 p11-kit-$pkgver/COPYING +} + +package_libp11-kit() { + pkgdesc+=" (library)" + provides=(libp11-kit.so) + + mv lib/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 p11-kit-$pkgver/COPYING +} + +package_p11-kit-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 p11-kit-$pkgver/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/p11-kit/README b/main/p11-kit/README new file mode 100644 index 00000000..dd39863d --- /dev/null +++ b/main/p11-kit/README @@ -0,0 +1,43 @@ +p11-kit +________________________________________________________________________________ + +%desc% + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S p11-kit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://p11-glue.freedesktop.org diff --git a/main/p11-kit/p11-kit.install b/main/p11-kit/p11-kit.install new file mode 100644 index 00000000..2f82c56c --- /dev/null +++ b/main/p11-kit/p11-kit.install @@ -0,0 +1,23 @@ +_global_units() { + local unit=p11-kit-server.socket dir=/etc/systemd/user/sockets.target.wants + + case $1 in + enable) + mkdir -p $dir + ln -sf /usr/lib/systemd/user/$unit $dir/$unit + ;; + disable) + rm -f $dir/$unit + rmdir -p --ignore-fail-on-non-empty $dir + ;; + esac +} + +post_install() { + # Enable socket by default + _global_units enable +} + +pre_remove() { + _global_units disable +} diff --git a/main/p11-kit/version b/main/p11-kit/version new file mode 100644 index 00000000..c700367c --- /dev/null +++ b/main/p11-kit/version @@ -0,0 +1 @@ +0.25.3 1 diff --git a/main/pam/.PKGINFO b/main/pam/.PKGINFO new file mode 100644 index 00000000..df4f45a2 --- /dev/null +++ b/main/pam/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = pam +pkgbase = pam +xdata = pkgtype=pkg +pkgver = 1.6.1-2 +pkgdesc = PAM (Pluggable Authentication Modules) library +url = http://linux-pam.org +builddate = 1712886852 +packager = Developer +size = 3351167 +arch = x86_64 +license = GPL-2.0-only +provides = libpam.so=0-64 +provides = libpamc.so=0-64 +provides = libpam_misc.so=0-64 +backup = etc/security/access.conf +backup = etc/security/faillock.conf +backup = etc/security/group.conf +backup = etc/security/limits.conf +backup = etc/security/namespace.conf +backup = etc/security/namespace.init +backup = etc/security/pwhistory.conf +backup = etc/security/pam_env.conf +backup = etc/security/time.conf +backup = etc/environment +depend = glibc +depend = libtirpc +depend = pambase +depend = audit +depend = libaudit.so=1-64 +depend = libxcrypt +depend = libcrypt.so=2-64 +depend = libnsl +makedepend = flex +makedepend = w3m +makedepend = docbook-xml>=4.4 +makedepend = docbook-xsl diff --git a/main/pam/PKGBUILD b/main/pam/PKGBUILD new file mode 100644 index 00000000..4bbc930e --- /dev/null +++ b/main/pam/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pam +pkgver=%version% +pkgrel=%release% +pkgdesc="PAM (Pluggable Authentication Modules) library" +arch=('x86_64') +license=('GPL-2.0-only') +url="http://linux-pam.org" +depends=('glibc' 'libtirpc' 'pambase' 'audit' 'libaudit.so' 'libxcrypt' 'libcrypt.so') +makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl') +provides=('libpam.so' 'libpamc.so' 'libpam_misc.so') +backup=(etc/security/{access.conf,faillock.conf,group.conf,limits.conf,namespace.conf,namespace.init,pwhistory.conf,pam_env.conf,time.conf} etc/environment) +source=(https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver{,-docs}.tar.xz{,.asc} + https://github.com/linux-pam/linux-pam/commit/470b5bdd8fd29d6b35e3a80f9a57bdd4b2438200.patch + https://github.com/linux-pam/linux-pam/commit/b7b96362087414e52524d3d9d9b3faa21e1db620.patch + $pkgname.tmpfiles) +validpgpkeys=( + '8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB' # Thorsten Kukuk + '296D6F29A020808E8717A8842DB5BD89A340AEB7' #Dimitry V. Levin +) + +sha256sums=('fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad' + 'SKIP' + '3e82730d3350795c42f3708f6609a92c1df841d518aa17c28fd702fe5ec23a32' + 'SKIP' + 'ee7333ad2c8b2a710c73d8a2d202027d0c79d3628fefe58073f2d78ecefa121e' + '450760e1989f036acee157f91a3028264f8ce7fb0cbdd65eccf8a0fc0084497c' + '5631f224e90c4f0459361c2a5b250112e3a91ba849754bb6f67d69d683a2e5ac') + +options=('!emptydirs') + +prepare() { + cd Linux-PAM-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd Linux-PAM-$pkgver + ./configure \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-logind \ + --disable-db + make +} + +package() { + install -Dm 644 $pkgname.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf + cd Linux-PAM-$pkgver + make DESTDIR="$pkgdir" SCONFIGDIR=/etc/security install + + # set unix_chkpwd uid + chmod +s "$pkgdir"/usr/bin/unix_chkpwd +} + +# vim: ts=2 sw=2 et: diff --git a/main/pam/README b/main/pam/README new file mode 100644 index 00000000..d7a52ea4 --- /dev/null +++ b/main/pam/README @@ -0,0 +1,43 @@ +pam +________________________________________________________________________________ + +PAM (Pluggable Authentication Modules) library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pam | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://linux-pam.org diff --git a/main/pam/pam.tmpfiles b/main/pam/pam.tmpfiles new file mode 100644 index 00000000..f6e490ba --- /dev/null +++ b/main/pam/pam.tmpfiles @@ -0,0 +1 @@ +d /run/faillock 0755 root root - diff --git a/main/pam/version b/main/pam/version new file mode 100644 index 00000000..c88f302e --- /dev/null +++ b/main/pam/version @@ -0,0 +1 @@ +1.6.1 2 diff --git a/main/pambase/PKGBUILD b/main/pambase/PKGBUILD new file mode 100644 index 00000000..dfb041fb --- /dev/null +++ b/main/pambase/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pambase +pkgver=%version% +pkgrel=%release% +pkgdesc="Base PAM configuration for services" +arch=(any) +url="https://www.archlinux.org" +license=(GPL-3.0-or-later) +backup=( + etc/pam.d/system-auth + etc/pam.d/system-local-login + etc/pam.d/system-login + etc/pam.d/system-remote-login + etc/pam.d/system-services + etc/pam.d/other +) +source=( + system-auth + system-local-login + system-login + system-remote-login + system-services + other +) +sha512sums=('af25e6428930c3e915d9052d091f8bd5db050bcc4f07eb05fe84c101589d2817ad4fbd1471a7ab5da366e89f9bdab8e2113b3932bd4bfe888a1301f027b2ae1a' + '83cc3d84ef5afded9afd4d347132901b9adcbd8b21be45b80d010370a2082e8388a713eb78d052944bc47b07fd7383edf18e2674d9d0545215cc45e14a2e14b1' + 'aebf4dcbc2df04bba551a921355f545ebf3ba5b1ee949de8e151ee1f42884d5a2e5e7cbe866238c60e4b16a6e0d919ab84b57ad54cb430ff3c9a20ddb3222ea6' + '83cc3d84ef5afded9afd4d347132901b9adcbd8b21be45b80d010370a2082e8388a713eb78d052944bc47b07fd7383edf18e2674d9d0545215cc45e14a2e14b1' + '5c2947f8644803783d19cc97ddc19fdaa234dac41a939edd32c9452e78bb2a4751bceeb4737d0791fb122ca932b8b941aab869b6dec3146bf90e94517d31724a' + 'df554f70f017dd3f6023a3c62b95d19123eaf41c08deaac0c4bc343fcce6eeefcf468910f7cb9ba58ee2846abb88091d18d718eb0228e38f6ce26ebced94c407') +b2sums=('189fb86628a959e53512e16ac506b4e925d0005f4cd19289f23c0c7c70ac961f7750f784ae3d7948d0d3320813af1ad53044f8f763c66fd4a1e403f2e8e7bd0c' + '900a5250f5a9e464c1c3ab8fc112475c99f4d76b597abf362041b661707dcc458cd385fd2cfeecf1ba9e3e831176ca8d183cffc9a913fb79e8ddcaa68223a7e6' + '46a76303623e08fbcada2fdf868b8885afc540c5db88da6d941f29f845e7a9c97fbc6d03002133b7a0117cb9c9c13749745384e25b72408812d01706c4fa6a2f' + '900a5250f5a9e464c1c3ab8fc112475c99f4d76b597abf362041b661707dcc458cd385fd2cfeecf1ba9e3e831176ca8d183cffc9a913fb79e8ddcaa68223a7e6' + 'e11e8959c961036a384016096f0fce0696d8a3ecc63d0d12d8016cc7c27a7afc80f8580ab639c97360aed0d49af3159462d85260b4404b9d65963f440eb77243' + '3de32ccd196fecaf0a3cce8e61867f93f85fff651044519d8521a28d9f8d6ddaf51f3e30eac4979884c505f9f52d01f458e5bccc5d5adc4f1d7d372068dd02da') + +package() { + install -vDm 644 "${source[@]}" -t "$pkgdir/etc/pam.d/" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/pambase/README b/main/pambase/README new file mode 100644 index 00000000..a9143c90 --- /dev/null +++ b/main/pambase/README @@ -0,0 +1,43 @@ +pambase +________________________________________________________________________________ + +Base PAM configuration for services + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pambase | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.archlinux.org diff --git a/main/pambase/other b/main/pambase/other new file mode 100644 index 00000000..3f50bd1c --- /dev/null +++ b/main/pambase/other @@ -0,0 +1,9 @@ +#%PAM-1.0 +auth required pam_deny.so +auth required pam_warn.so +account required pam_deny.so +account required pam_warn.so +password required pam_deny.so +password required pam_warn.so +session required pam_deny.so +session required pam_warn.so diff --git a/main/pambase/system-auth b/main/pambase/system-auth new file mode 100644 index 00000000..5785ce8a --- /dev/null +++ b/main/pambase/system-auth @@ -0,0 +1,27 @@ +#%PAM-1.0 + +auth required pam_faillock.so preauth +# Optionally use requisite above if you do not want to prompt for the password +# on locked accounts. +-auth [success=2 default=ignore] pam_systemd_home.so +auth [success=1 default=bad] pam_unix.so try_first_pass nullok +auth [default=die] pam_faillock.so authfail +auth optional pam_permit.so +auth required pam_env.so +auth required pam_faillock.so authsucc +# If you drop the above call to pam_faillock.so the lock will be done also +# on non-consecutive authentication failures. + +-account [success=1 default=ignore] pam_systemd_home.so +account required pam_unix.so +account optional pam_permit.so +account required pam_time.so + +-password [success=1 default=ignore] pam_systemd_home.so +password required pam_unix.so try_first_pass nullok shadow +password optional pam_permit.so + +-session optional pam_systemd_home.so +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so diff --git a/main/pambase/system-local-login b/main/pambase/system-local-login new file mode 100644 index 00000000..347b8155 --- /dev/null +++ b/main/pambase/system-local-login @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include system-login +account include system-login +password include system-login +session include system-login diff --git a/main/pambase/system-login b/main/pambase/system-login new file mode 100644 index 00000000..e48136d0 --- /dev/null +++ b/main/pambase/system-login @@ -0,0 +1,20 @@ +#%PAM-1.0 + +auth required pam_shells.so +auth requisite pam_nologin.so +auth include system-auth + +account required pam_access.so +account required pam_nologin.so +account include system-auth + +password include system-auth + +session optional pam_loginuid.so +session optional pam_keyinit.so force revoke +session include system-auth +session optional pam_motd.so +session optional pam_mail.so dir=/var/spool/mail standard quiet +session optional pam_umask.so +-session optional pam_systemd.so +session required pam_env.so diff --git a/main/pambase/system-remote-login b/main/pambase/system-remote-login new file mode 100644 index 00000000..347b8155 --- /dev/null +++ b/main/pambase/system-remote-login @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include system-login +account include system-login +password include system-login +session include system-login diff --git a/main/pambase/system-services b/main/pambase/system-services new file mode 100644 index 00000000..6ed9bdc1 --- /dev/null +++ b/main/pambase/system-services @@ -0,0 +1,11 @@ +#%PAM-1.0 + +auth sufficient pam_permit.so + +account include system-auth + +session optional pam_loginuid.so +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so +session required pam_env.so diff --git a/main/pambase/version b/main/pambase/version new file mode 100644 index 00000000..ba26ec49 --- /dev/null +++ b/main/pambase/version @@ -0,0 +1 @@ +20230918 1 diff --git a/main/pango/.PKGINFO b/main/pango/.PKGINFO new file mode 100644 index 00000000..d83df848 --- /dev/null +++ b/main/pango/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = pango +pkgbase = pango +xdata = pkgtype=split +pkgver = 1:1.54.0-1 +pkgdesc = A library for layout and rendering of text +url = https://www.pango.org/ +builddate = 1718491897 +packager = Developer +size = 2404655 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libpango-1.0.so=0-64 +provides = libpangocairo-1.0.so=0-64 +provides = libpangoft2-1.0.so=0-64 +provides = libpangoxft-1.0.so=0-64 +depend = cairo +depend = fontconfig +depend = freetype2 +depend = fribidi +depend = glib2 +depend = glibc +depend = harfbuzz +depend = libsysprof-capture +depend = libthai +depend = libx11 +depend = libxft +depend = libxrender +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = help2man +makedepend = meson diff --git a/main/pango/PKGBUILD b/main/pango/PKGBUILD new file mode 100644 index 00000000..1e4d1c7f --- /dev/null +++ b/main/pango/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=pango +pkgname=( + pango + pango-docs +) +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="A library for layout and rendering of text" +url="https://www.pango.org/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + cairo + fribidi + harfbuzz + libthai + libxft +) +makedepends=( + gi-docgen + git + gobject-introspection + help2man + meson +) +source=("git+https://gitlab.gnome.org/GNOME/pango.git#tag=$pkgver") +b2sums=('ba5b6814bad4f9834557bedc4341a0985fed5fa0150b423bbbc4e1765b1e2834a5d21b3da6e195f5a0a413fc44859fdd52e4112b220747653030085ee969b055') + +pkgver() { + cd pango + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd pango +} + +build() { + local meson_options=( + -D gtk_doc=true + ) + + arch-meson pango build "${meson_options[@]}" + meson compile -C build +} + +# not running checks: validation breaks when deps +# (especially harfbuzz) don't match upstream CI + +package_pango() { + provides=(libpango{,cairo,ft2,xft}-1.0.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_pango-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/pango/README b/main/pango/README new file mode 100644 index 00000000..16d87c24 --- /dev/null +++ b/main/pango/README @@ -0,0 +1,43 @@ +pango +________________________________________________________________________________ + +A library for layout and rendering of text A library for layout and rendering of text (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pango | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.pango.org/ diff --git a/main/pango/version b/main/pango/version new file mode 100644 index 00000000..948d4e7e --- /dev/null +++ b/main/pango/version @@ -0,0 +1 @@ +1:1.54.0 1 diff --git a/main/partclone/PKGBUILD b/main/partclone/PKGBUILD new file mode 100644 index 00000000..537216e4 --- /dev/null +++ b/main/partclone/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer +# Contrinutor: Dan Serban + +pkgname=partclone +pkgver=%version% +pkgrel=%release% +pkgdesc="Utilities to save and restore used blocks on a partition" +arch=('x86_64') +url="https://partclone.org" +license=('GPL') +depends=('ntfs-3g' 'nilfs-utils') +source=($pkgname-$pkgver.tar.gz::https://github.com/Thomas-Tsai/partclone/archive/$pkgver.tar.gz) +sha256sums=('933e81dceb9c05bd2cb6027ef115a4422eb35b2bc05ed9a5fd42f637dfba5c17') + +build() { + cd $pkgname-$pkgver + ./autogen + ./configure \ + --prefix=/usr \ + --enable-extfs \ + --enable-fat \ + --enable-hfsp \ + --enable-btrfs \ + --enable-ncursesw \ + --enable-ntfs \ + --enable-exfat \ + --enable-f2fs \ + --enable-minix \ + --enable-nilfs2 \ + --enable-xfs \ + --sbindir=/usr/bin + make +} + +package() { + cd $pkgname-$pkgver + make PREFIX=/usr DESTDIR="$pkgdir" install +} diff --git a/main/partclone/README b/main/partclone/README new file mode 100644 index 00000000..a87b373f --- /dev/null +++ b/main/partclone/README @@ -0,0 +1,43 @@ +partclone +________________________________________________________________________________ + +Utilities to save and restore used blocks on a partition + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S partclone | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://partclone.org diff --git a/main/partclone/version b/main/partclone/version new file mode 100644 index 00000000..89a3f014 --- /dev/null +++ b/main/partclone/version @@ -0,0 +1 @@ +0.3.27 1 diff --git a/main/parted/PKGBUILD b/main/parted/PKGBUILD new file mode 100644 index 00000000..1f11d107 --- /dev/null +++ b/main/parted/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=parted +pkgver=%version% +pkgrel=%release% +pkgdesc='A program for creating, destroying, resizing, checking and copying partitions' +arch=('x86_64') +license=('GPL3') +url='https://www.gnu.org/software/parted/parted.html' +depends=('device-mapper' 'util-linux-libs') +makedepends=('pkg-config') +validpgpkeys=('1B49F933916A37A3F45A1812015F4DD4A70FB705' # Phillip Susi + 'B4C6B451E4FA8B4232CA191E117E8C168EFE3A7F') # Brian C. Lane +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha256sums=('3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612' + 'SKIP') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Do *not* add --disable-debug, it prevents building fatresize + # https://github.com/ya-mouse/fatresize/issues/9 + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --disable-rpath + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install +} diff --git a/main/parted/README b/main/parted/README new file mode 100644 index 00000000..f35a1748 --- /dev/null +++ b/main/parted/README @@ -0,0 +1,43 @@ +parted +________________________________________________________________________________ + +A program for creating, destroying, resizing, checking and copying partitions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S parted | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/parted/parted.html diff --git a/main/parted/version b/main/parted/version new file mode 100644 index 00000000..712a0c0b --- /dev/null +++ b/main/parted/version @@ -0,0 +1 @@ +3.6 1 diff --git a/main/partimage/PKGBUILD b/main/partimage/PKGBUILD new file mode 100644 index 00000000..f7ec7c38 --- /dev/null +++ b/main/partimage/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=partimage +pkgver=%version% +pkgrel=%release% +pkgdesc='Partition Image saves partitions in many formats to an image file.' +arch=('x86_64') +url='https://www.partimage.org/' +license=('GPL') +depends=('libnewt' 'bzip2' 'openssl') +backup=('etc/partimaged/partimagedusers') +source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + 'partimage-0.6.9-zlib-1.2.6.patch' + 'use-SSLv3-by-default.patch' + 'partimage-build-fix.patch' + 'partimaged-gencrt' + 'partimaged.service' + 'partimage.sysusers') +sha256sums=('753a6c81f4be18033faed365320dc540fe5e58183eaadcd7a5b69b096fec6635' + '9d6aa1a37647349aa70f89ab134574c1750e70c6904baa30211f965f35f42b9c' + '1b35697e349e5baca2a0d57d04d2a90f8dacfbf69b0bfb1d8661d9f08cead1fd' + 'b228103401a0e62158234d7a2f69cab237624c4f352a492a6c8bf629d7e124d3' + '4c14d9fb10d994e04887d774e4c530ec92c99e32adf727e439ffdf6333886359' + '6127a866a1b54b77b5ca7616fec1bad29ec0f394b9c5edb8209fde2b4b0552fd' + 'f8c2760fbe9bab5be0069248b53a0352bb08d399060084f67e4bb5112343623b') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np1 -i ../partimage-0.6.9-zlib-1.2.6.patch + patch -Np1 -i ../use-SSLv3-by-default.patch + patch -p1 -i ../partimage-build-fix.patch # Fix build with recent glibc + + sed -e 's/CRYPTO_lock/X509_new/g' -i configure +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --enable-pam + + make + make pamfile +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -Dm0644 partimaged.pam "${pkgdir}/etc/pam.d/partimaged" + install -Dm0755 "${srcdir}/partimaged-gencrt" "${pkgdir}/usr/bin/partimaged-gencrt" + + chmod 644 "${pkgdir}/etc/partimaged/partimagedusers" + chown 110:110 "${pkgdir}/etc/partimaged/partimagedusers" + + install -Dm0644 ../partimaged.service "${pkgdir}/usr/lib/systemd/system/partimaged.service" + install -Dm0644 ../partimage.sysusers "${pkgdir}/usr/lib/sysusers.d/partimage.conf" +} diff --git a/main/partimage/README b/main/partimage/README new file mode 100644 index 00000000..96d01d54 --- /dev/null +++ b/main/partimage/README @@ -0,0 +1,43 @@ +partimage +________________________________________________________________________________ + +Partition Image saves partitions in many formats to an image file. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S partimage | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.partimage.org/ diff --git a/main/partimage/partimage-0.6.9-zlib-1.2.6.patch b/main/partimage/partimage-0.6.9-zlib-1.2.6.patch new file mode 100644 index 00000000..0f311d26 --- /dev/null +++ b/main/partimage/partimage-0.6.9-zlib-1.2.6.patch @@ -0,0 +1,35 @@ +diff --git a/src/client/imagefile.cpp b/src/client/imagefile.cpp +index dd83411..62d0f72 100644 +--- a/src/client/imagefile.cpp ++++ b/src/client/imagefile.cpp +@@ -783,7 +783,7 @@ void CImage::openWriting() + else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression + { + showDebug(1, "open gzip\n"); +- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "wb"); //"wb1h"); ++ m_gzImageFile = gzdopen(m_nFdImage, "wb"); //"wb1h"); + if (m_gzImageFile == NULL) + { + showDebug(1, "error:%d %s\n", errno, strerror(errno)); +@@ -1098,7 +1098,7 @@ void CImage::openReading(CVolumeHeader *vh /* = NULL */) + } + else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression + { +- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "rb"); ++ m_gzImageFile = gzdopen(m_nFdImage, "rb"); + if (m_gzImageFile == NULL) + THROW(ERR_ERRNO, errno); + else +diff --git a/src/client/imagefile.h b/src/client/imagefile.h +index 4ba8910..6adb098 100644 +--- a/src/client/imagefile.h ++++ b/src/client/imagefile.h +@@ -41,7 +41,7 @@ class CImage + COptions m_options; + + FILE *m_fImageFile; +- gzFile *m_gzImageFile; ++ gzFile m_gzImageFile; + BZFILE *m_bzImageFile; + + int m_nFdImage; diff --git a/main/partimage/partimage-build-fix.patch b/main/partimage/partimage-build-fix.patch new file mode 100644 index 00000000..8e0e00e0 --- /dev/null +++ b/main/partimage/partimage-build-fix.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/580290 + +--- a/src/client/misc.h ++++ b/src/client/misc.h +@@ -36,7 +36,7 @@ struct COptions; + #endif + + #ifndef makedev +- #define makedev(maj,min) (((maj) << 8) | min)) ++ #define makedev(maj,min) (((maj) << 8) | (min)) + #endif + + // ======================================================= diff --git a/main/partimage/partimage.sysusers b/main/partimage/partimage.sysusers new file mode 100644 index 00000000..6ecef4f6 --- /dev/null +++ b/main/partimage/partimage.sysusers @@ -0,0 +1 @@ +u partimag 110 "Partimage user" - diff --git a/main/partimage/partimaged-gencrt b/main/partimage/partimaged-gencrt new file mode 100644 index 00000000..16fe5ff1 --- /dev/null +++ b/main/partimage/partimaged-gencrt @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ `whoami` != "root" ]; then + echo "You must be root to generate certificates." + exit +fi + +echo -n "==> Generating certificate for Partimage/PartimageD SSL... " +cd /etc/partimaged +openssl req -new -x509 -outform PEM > partimaged.csr +openssl rsa -in privkey.pem -out partimaged.key +rm privkey.pem +openssl x509 -in partimaged.csr -out partimaged.cert -signkey partimaged.key +rm partimaged.csr +chmod 600 partimaged.key +chmod 600 partimaged.cert +chown partimag:partimag partimaged.key +chown partimag:partimag partimaged.cert diff --git a/main/partimage/partimaged.service b/main/partimage/partimaged.service new file mode 100644 index 00000000..baa68298 --- /dev/null +++ b/main/partimage/partimaged.service @@ -0,0 +1,10 @@ +[Unit] +Description=A partition imaging daemon +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=/usr/bin/partimaged --daemon + +[Install] +WantedBy=multi-user.target diff --git a/main/partimage/use-SSLv3-by-default.patch b/main/partimage/use-SSLv3-by-default.patch new file mode 100644 index 00000000..cf219957 --- /dev/null +++ b/main/partimage/use-SSLv3-by-default.patch @@ -0,0 +1,80 @@ +From 8b05af027723ff3a64040275d4050ff0e992d629 Mon Sep 17 00:00:00 2001 +From: Marko Kohtala +Date: Sun, 9 Feb 2014 22:54:11 +0200 +Subject: [PATCH] Use SSLv3 by default + +SSLv2_client_method may be hidden. Use the SSLv23_client_method instead. + +This is a fix from Debian package partimage-0.6.8-2.2. + +Signed-off-by: Marko Kohtala +--- + src/client/netclient.cpp | 3 +-- + src/client/netclient.h | 6 ------ + src/server/netserver.cpp | 3 +-- + src/server/netserver.h | 6 ------ + 4 files changed, 2 insertions(+), 16 deletions(-) + +diff --git a/src/client/netclient.cpp b/src/client/netclient.cpp +index 30b8d5c..43b2672 100644 +--- a/src/client/netclient.cpp ++++ b/src/client/netclient.cpp +@@ -43,9 +43,8 @@ CNetClient::CNetClient(bool bMustLogin, bool bUseSSL):CNet() + { + showDebug(3, "initializing client ssl\n"); + SSLeay_add_ssl_algorithms(); +- meth = SSLv2_client_method(); + SSL_load_error_strings(); +- ctx = SSL_CTX_new(meth); ++ ctx = SSL_CTX_new(SSLv23_client_method()); + if (!ctx) + THROW(ERR_SSL_CTX); + m_bUseSSL = (ctx != NULL); +diff --git a/src/client/netclient.h b/src/client/netclient.h +index 8423798..9d98b39 100644 +--- a/src/client/netclient.h ++++ b/src/client/netclient.h +@@ -35,12 +35,6 @@ class CNetClient : public CNet + #ifdef HAVE_SSL + SSL_CTX * ctx; + X509 * server_cert; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- SSL_METHOD const * meth; +-#else +- SSL_METHOD * meth; +-#endif // OPENSSL_VERSION_NUMBER +- + #endif + bool m_bUseSSL; + bool m_bMustLogin; +diff --git a/src/server/netserver.cpp b/src/server/netserver.cpp +index a542760..28c43cc 100644 +--- a/src/server/netserver.cpp ++++ b/src/server/netserver.cpp +@@ -39,8 +39,7 @@ CNetServer::CNetServer( uint32_t ip4_addr, unsigned short int port):CNet() + { + SSL_load_error_strings(); + SSLeay_add_ssl_algorithms(); +- meth = SSLv23_server_method(); +- ctx = SSL_CTX_new(meth); ++ ctx = SSL_CTX_new(SSLv23_server_method()); + if (!ctx) + { + ERR_print_errors_fp(stderr); +diff --git a/src/server/netserver.h b/src/server/netserver.h +index 01f6b6c..29d2a32 100644 +--- a/src/server/netserver.h ++++ b/src/server/netserver.h +@@ -41,12 +41,6 @@ class CNetServer : public CNet + #ifdef HAVE_SSL + SSL_CTX * ctx; + X509 * client_cert; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L +- SSL_METHOD const * meth; +-#else +- SSL_METHOD * meth; +-#endif // OPENSSL_VERSION_NUMBER +- + int err; + #endif + diff --git a/main/partimage/version b/main/partimage/version new file mode 100644 index 00000000..3433f75b --- /dev/null +++ b/main/partimage/version @@ -0,0 +1 @@ +0.6.9 14 diff --git a/main/pbzip2/PKGBUILD b/main/pbzip2/PKGBUILD new file mode 100644 index 00000000..8e925bb7 --- /dev/null +++ b/main/pbzip2/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pbzip2 +pkgver=%version% +pkgrel=%release% +pkgdesc="Parallel implementation of the bzip2 block-sorting file compressor" +arch=('x86_64') +url="http://compression.ca/pbzip2/" +license=('BSD') +depends=('bzip2' 'gcc-libs') +source=(https://launchpad.net/$pkgname/1.1/$pkgver/+download/$pkgname-$pkgver.tar.gz{,.asc}) +sha256sums=('8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6' + 'SKIP') +validpgpkeys=('F3D99FF0F0AA96A659AD61A9D332F1B09A0D9836') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + # Use our CXXFLAGS and LDFLAGS + sed -i '/^\(CXX\|LD\)FLAGS =/d' Makefile +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make PREFIX=/usr DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/pbzip2/README b/main/pbzip2/README new file mode 100644 index 00000000..707e3217 --- /dev/null +++ b/main/pbzip2/README @@ -0,0 +1,43 @@ +pbzip2 +________________________________________________________________________________ + +Parallel implementation of the bzip2 block-sorting file compressor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pbzip2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://compression.ca/pbzip2/ diff --git a/main/pbzip2/version b/main/pbzip2/version new file mode 100644 index 00000000..87623855 --- /dev/null +++ b/main/pbzip2/version @@ -0,0 +1 @@ +1.1.13 3 diff --git a/main/pcaudiolib/.nvchecker.toml b/main/pcaudiolib/.nvchecker.toml new file mode 100644 index 00000000..397e7034 --- /dev/null +++ b/main/pcaudiolib/.nvchecker.toml @@ -0,0 +1,4 @@ +[pcaudiolib] +source = "github" +github = "espeak-ng/pcaudiolib" +use_latest_release = true diff --git a/main/pcaudiolib/PKGBUILD b/main/pcaudiolib/PKGBUILD new file mode 100644 index 00000000..dcca5f86 --- /dev/null +++ b/main/pcaudiolib/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pcaudiolib +pkgver=%version% +pkgrel=%release% +pkgdesc='Portable C Audio Library' +url=https://github.com/espeak-ng/pcaudiolib +arch=('x86_64') +license=('GPL3') +depends=('alsa-lib' 'libpulse') +source=("$url/archive/$pkgver/$pkgname-$pkgver.tar.gz") +b2sums=('a16e50fd789a88f10a56323afd2637c13e2383392cc287aad4cd8ef3f1f475c2754dca53e0fd5453b5fc9ee45392a0b9b6d8d7a2d0e88214e6194bbc2ce1e1ff') + +prepare() { + cd $pkgname-$pkgver + ./autogen.sh +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/pcaudiolib/README b/main/pcaudiolib/README new file mode 100644 index 00000000..f68a37c2 --- /dev/null +++ b/main/pcaudiolib/README @@ -0,0 +1,43 @@ +pcaudiolib +________________________________________________________________________________ + +Portable C Audio Library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pcaudiolib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/espeak-ng/pcaudiolib diff --git a/main/pcaudiolib/version b/main/pcaudiolib/version new file mode 100644 index 00000000..154ba13d --- /dev/null +++ b/main/pcaudiolib/version @@ -0,0 +1 @@ +1.2 2 diff --git a/main/pciutils/.PKGINFO b/main/pciutils/.PKGINFO new file mode 100644 index 00000000..0fc0873a --- /dev/null +++ b/main/pciutils/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = pciutils +pkgbase = pciutils +xdata = pkgtype=pkg +pkgver = 3.13.0-1 +pkgdesc = PCI bus configuration space access library and tools +url = https://mj.ucw.cz/sw/pciutils/ +builddate = 1718491904 +packager = Developer +size = 389969 +arch = x86_64 +license = GPL-2.0-only +depend = glibc +depend = hwdata +depend = kmod +optdepend = which: for update-pciids +optdepend = grep: for update-pciids +optdepend = curl: for update-pciids +makedepend = git diff --git a/main/pciutils/PKGBUILD b/main/pciutils/PKGBUILD new file mode 100644 index 00000000..a591b941 --- /dev/null +++ b/main/pciutils/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=pciutils +pkgver=%version% +pkgrel=%release% +pkgdesc="PCI bus configuration space access library and tools" +arch=(x86_64) +license=('GPL2') +url="https://mj.ucw.cz/sw/pciutils/" +depends=('glibc' 'hwdata' 'kmod') +makedepends=('git') +optdepends=('which: for update-pciids' + 'grep: for update-pciids' + 'curl: for update-pciids') +source=(#ftp://ftp.kernel.org/pub/software/utils/${pkgname}/${pkgname}-${pkgver}.tar.bz2 + https://mj.ucw.cz/download/linux/pci/${pkgname}-${pkgver}.tar.gz{,.sign}) + #git+https://github.com/pciutils/pciutils.git#tag=v$pkgver?signed) +validpgpkeys=( + 'C466A56CADA981F4297D20C31F3D0761D9B65F0B' # Martin Mares + ) +sha256sums=('1904864ce5b0272d0a2e42e72ceac9e8810d1898480567f36b70642f8205fbfd' + 'SKIP') + +build() { + cd $pkgname-$pkgver + make OPT="${CFLAGS} -fPIC -DPIC" ZLIB=no SHARED=no PREFIX=/usr SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man SBINDIR=/usr/bin lib/libpci.a + cp lib/libpci.a "${srcdir}/" + make clean + make OPT="${CFLAGS}" ZLIB=no SHARED=yes PREFIX=/usr SBINDIR=/usr/bin SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man all +} + +package() { + cd $pkgname-$pkgver + make SHARED=yes PREFIX=/usr SBINDIR=/usr/bin SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man DESTDIR="${pkgdir}" install install-lib + rm -rf "$pkgdir"/usr/share/hwdata +} diff --git a/main/pciutils/README b/main/pciutils/README new file mode 100644 index 00000000..150c7a3f --- /dev/null +++ b/main/pciutils/README @@ -0,0 +1,43 @@ +pciutils +________________________________________________________________________________ + +PCI bus configuration space access library and tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pciutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://mj.ucw.cz/sw/pciutils/ diff --git a/main/pciutils/version b/main/pciutils/version new file mode 100644 index 00000000..fe1bd551 --- /dev/null +++ b/main/pciutils/version @@ -0,0 +1 @@ +3.13.0 1 diff --git a/main/pcre/0001-pcre-JIT-compiler-update-for-Intel-CET.patch b/main/pcre/0001-pcre-JIT-compiler-update-for-Intel-CET.patch new file mode 100644 index 00000000..8d312b77 --- /dev/null +++ b/main/pcre/0001-pcre-JIT-compiler-update-for-Intel-CET.patch @@ -0,0 +1,2638 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sun, 20 Dec 2020 13:32:56 -0800 +Subject: [PATCH 1/2] JIT compiler update for Intel CET + +--- + pcre_jit_compile.c | 43 ++++--- + sljit/sljitConfig.h | 17 ++- + sljit/sljitConfigInternal.h | 67 ++++++++-- + sljit/sljitExecAllocator.c | 17 ++- + sljit/sljitLir.c | 95 +++++++++------ + sljit/sljitLir.h | 92 ++++++++++---- + sljit/sljitNativeARM_32.c | 64 ++++++---- + sljit/sljitNativeARM_64.c | 75 +++++++----- + sljit/sljitNativeARM_T2_32.c | 56 +++++---- + sljit/sljitNativeMIPS_32.c | 31 ++--- + sljit/sljitNativeMIPS_64.c | 21 ++-- + sljit/sljitNativeMIPS_common.c | 184 +++++++++++++++------------- + sljit/sljitNativePPC_common.c | 56 +++++---- + sljit/sljitNativeSPARC_common.c | 54 ++++++--- + sljit/sljitNativeTILEGX_64.c | 44 ++++--- + sljit/sljitNativeX86_32.c | 50 ++++++-- + sljit/sljitNativeX86_64.c | 28 ++++- + sljit/sljitNativeX86_common.c | 209 ++++++++++++++++++++++++++++++-- + sljit/sljitUtils.c | 157 +++++++++++++++++------- + 19 files changed, 953 insertions(+), 407 deletions(-) + +diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c +index 4dcf8fc..9e67a20 100644 +--- a/pcre_jit_compile.c ++++ b/pcre_jit_compile.c +@@ -549,6 +549,8 @@ the start pointers when the end of the capturing group has not yet reached. */ + sljit_emit_op1(compiler, (op), (dst), (dstw), (src), (srcw)) + #define OP2(op, dst, dstw, src1, src1w, src2, src2w) \ + sljit_emit_op2(compiler, (op), (dst), (dstw), (src1), (src1w), (src2), (src2w)) ++#define OP_SRC(op, src, srcw) \ ++ sljit_emit_op_src(compiler, (op), (src), (srcw)) + #define LABEL() \ + sljit_emit_label(compiler) + #define JUMP(type) \ +@@ -3230,7 +3232,7 @@ jump = JUMP(SLJIT_NOT_ZERO); + /* Two byte sequence. */ + OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); + OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, IN_UCHARS(2)); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + JUMPHERE(jump); + OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); +@@ -3244,7 +3246,7 @@ jump = JUMP(SLJIT_NOT_ZERO); + /* Three byte sequence. */ + OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); + OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, IN_UCHARS(3)); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + /* Four byte sequence. */ + JUMPHERE(jump); +@@ -3255,7 +3257,7 @@ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); + OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); + OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); + OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, IN_UCHARS(4)); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + static void do_utfreadchar16(compiler_common *common) +@@ -3277,7 +3279,7 @@ OP2(SLJIT_AND | SLJIT_SET_Z, SLJIT_UNUSED, 0, TMP1, 0, SLJIT_IMM, 0x800); + jump = JUMP(SLJIT_NOT_ZERO); + /* Two byte sequence. */ + OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + JUMPHERE(jump); + OP2(SLJIT_AND | SLJIT_SET_Z, SLJIT_UNUSED, 0, TMP1, 0, SLJIT_IMM, 0x400); +@@ -3291,7 +3293,7 @@ OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); + OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); + /* Three byte sequence. */ + OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + static void do_utfreadtype8(compiler_common *common) +@@ -3316,18 +3318,18 @@ OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); + OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3f); + OP2(SLJIT_OR, TMP2, 0, TMP2, 0, TMP1, 0); + OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + JUMPHERE(compare); + OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + /* We only have types for characters less than 256. */ + JUMPHERE(jump); + OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(utf8_table4) - 0xc0); + OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); + OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + #endif /* COMPILE_PCRE8 */ +@@ -3378,7 +3380,7 @@ OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_stage2)); + OP1(SLJIT_MOV_U16, TMP2, 0, SLJIT_MEM2(TMP2, TMP1), 1); + OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype)); + OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM2(TMP1, TMP2), 3); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + #endif + +@@ -4868,7 +4870,7 @@ JUMPHERE(jump); + jump = CMP(SLJIT_NOT_ZERO /* SIG_LESS */, TMP2, 0, SLJIT_IMM, 0); + /* End of reverting values. */ + OP1(SLJIT_MOV, STACK_TOP, 0, TMP3, 0); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + + JUMPHERE(jump); + OP1(SLJIT_NEG, TMP2, 0, TMP2, 0); +@@ -4984,7 +4986,7 @@ else + set_jumps(skipread_list, LABEL()); + + OP2(SLJIT_XOR | SLJIT_SET_Z, SLJIT_UNUSED, 0, TMP2, 0, SLJIT_MEM1(SLJIT_SP), LOCALS1); +-sljit_emit_fast_return(compiler, SLJIT_MEM1(SLJIT_SP), LOCALS0); ++OP_SRC(SLJIT_FAST_RETURN, SLJIT_MEM1(SLJIT_SP), LOCALS0); + } + + static BOOL check_class_ranges(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) +@@ -5163,7 +5165,7 @@ if (common->utf) + #endif + #endif /* SUPPORT_UTF || COMPILE_PCRE16 || COMPILE_PCRE32 */ + OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + static void check_hspace(compiler_common *common) +@@ -5202,7 +5204,7 @@ if (common->utf) + #endif /* SUPPORT_UTF || COMPILE_PCRE16 || COMPILE_PCRE32 */ + OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); + +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + static void check_vspace(compiler_common *common) +@@ -5230,7 +5232,7 @@ if (common->utf) + #endif /* SUPPORT_UTF || COMPILE_PCRE16 || COMPILE_PCRE32 */ + OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); + +-sljit_emit_fast_return(compiler, RETURN_ADDR, 0); ++OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); + } + + static void do_casefulcmp(compiler_common *common) +@@ -5310,7 +5312,7 @@ if (char1_reg == STR_END) + OP1(SLJIT_MOV, char2_reg, 0, RETURN_ADDR, 0); + } + +-sljit_emit_fast_return(compiler, TMP1, 0); ++OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); + } + + static void do_caselesscmp(compiler_common *common) +@@ -5408,7 +5410,7 @@ if (char2_reg == STACK_TOP) + } + + OP1(SLJIT_MOV, char1_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCALS1); +-sljit_emit_fast_return(compiler, TMP1, 0); ++OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); + } + + #if defined SUPPORT_UTF && defined SUPPORT_UCP +@@ -10221,6 +10223,7 @@ else if (has_alternatives) + return; + sljit_emit_ijump(compiler, SLJIT_JUMP, SLJIT_MEM1(TMP1), (sljit_sw)next_update_addr); + add_label_addr(common, next_update_addr++); ++ sljit_emit_op0(compiler, SLJIT_ENDBR); + } + else + { +@@ -10352,7 +10355,10 @@ if (has_alternatives) + if (opcode != OP_ONCE) + { + if (alt_max > 4) ++ { + add_label_addr(common, next_update_addr++); ++ sljit_emit_op0(compiler, SLJIT_ENDBR); ++ } + else + { + if (alt_count != 2 * sizeof(sljit_uw)) +@@ -10960,7 +10966,7 @@ else + OP1(SLJIT_MOV, TMP1, 0, TMP3, 0); + OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->recursive_head_ptr, TMP2, 0); + } +-sljit_emit_fast_return(compiler, SLJIT_MEM1(STACK_TOP), STACK(-1)); ++OP_SRC(SLJIT_FAST_RETURN, SLJIT_MEM1(STACK_TOP), STACK(-1)); + } + + #undef COMPILE_BACKTRACKINGPATH +@@ -11308,6 +11314,7 @@ if (common->forced_quit != NULL) + set_jumps(common->forced_quit, common->forced_quit_label); + if (minlength_check_failed != NULL) + SET_LABEL(minlength_check_failed, common->forced_quit_label); ++sljit_emit_op0(compiler, SLJIT_SKIP_FRAMES_BEFORE_RETURN); + sljit_emit_return(compiler, SLJIT_MOV, SLJIT_RETURN_REG, 0); + + if (mode != JIT_COMPILE) +@@ -11433,7 +11440,7 @@ OP1(SLJIT_MOV, TMP2, 0, STACK_LIMIT, 0); + OP1(SLJIT_MOV, STACK_LIMIT, 0, SLJIT_RETURN_REG, 0); + OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCALS0); + OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), LOCALS1); +-sljit_emit_fast_return(compiler, TMP1, 0); ++OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); + + /* Allocation failed. */ + JUMPHERE(jump); +diff --git a/sljit/sljitConfig.h b/sljit/sljitConfig.h +index d54b5e6..4560450 100644 +--- a/sljit/sljitConfig.h ++++ b/sljit/sljitConfig.h +@@ -27,6 +27,10 @@ + #ifndef _SLJIT_CONFIG_H_ + #define _SLJIT_CONFIG_H_ + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* --------------------------------------------------------------------- */ + /* Custom defines */ + /* --------------------------------------------------------------------- */ +@@ -65,12 +69,19 @@ + #define SLJIT_UTIL_GLOBAL_LOCK 1 + #endif + +-/* Implements a stack like data structure (by using mmap / VirtualAlloc). */ ++/* Implements a stack like data structure (by using mmap / VirtualAlloc */ ++/* or a custom allocator). */ + #ifndef SLJIT_UTIL_STACK + /* Enabled by default */ + #define SLJIT_UTIL_STACK 1 + #endif + ++/* Uses user provided allocator to allocate the stack (see SLJIT_UTIL_STACK) */ ++#ifndef SLJIT_UTIL_SIMPLE_STACK_ALLOCATION ++/* Disabled by default */ ++#define SLJIT_UTIL_SIMPLE_STACK_ALLOCATION 0 ++#endif ++ + /* Single threaded application. Does not require any locks. */ + #ifndef SLJIT_SINGLE_THREADED + /* Disabled by default. */ +@@ -144,4 +155,8 @@ + + /* For further configurations, see the beginning of sljitConfigInternal.h */ + ++#ifdef __cplusplus ++} /* extern "C" */ ++#endif ++ + #endif +diff --git a/sljit/sljitConfigInternal.h b/sljit/sljitConfigInternal.h +index acba9da..c81b6a4 100644 +--- a/sljit/sljitConfigInternal.h ++++ b/sljit/sljitConfigInternal.h +@@ -27,6 +27,20 @@ + #ifndef _SLJIT_CONFIG_INTERNAL_H_ + #define _SLJIT_CONFIG_INTERNAL_H_ + ++#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) \ ++ || (defined SLJIT_DEBUG && SLJIT_DEBUG && (!defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE))) ++#include ++#endif ++ ++#if (defined SLJIT_DEBUG && SLJIT_DEBUG \ ++ && (!defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE) || !defined(SLJIT_HALT_PROCESS))) ++#include ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* + SLJIT defines the following architecture dependent types and macros: + +@@ -191,6 +205,24 @@ + #define SLJIT_CONFIG_SPARC 1 + #endif + ++/***********************************************************/ ++/* Intel Control-flow Enforcement Technology (CET) spport. */ ++/***********************************************************/ ++ ++#ifdef SLJIT_CONFIG_X86 ++#if defined(__CET__) ++#define SLJIT_CONFIG_X86_CET 1 ++#endif ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++#if defined(__GNUC__) ++#if !defined (__SHSTK__) ++#error "-mshstk is needed to compile with -fcf-protection" ++#endif ++#include ++#endif ++#endif ++#endif ++ + /**********************************/ + /* External function definitions. */ + /**********************************/ +@@ -287,7 +319,7 @@ + #if __has_builtin(__builtin___clear_cache) + + #define SLJIT_CACHE_FLUSH(from, to) \ +- __builtin___clear_cache((char*)from, (char*)to) ++ __builtin___clear_cache((char*)(from), (char*)(to)) + + #endif /* __has_builtin(__builtin___clear_cache) */ + #endif /* (!defined SLJIT_CACHE_FLUSH && defined __has_builtin) */ +@@ -318,7 +350,7 @@ + #elif (defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) + + #define SLJIT_CACHE_FLUSH(from, to) \ +- __builtin___clear_cache((char*)from, (char*)to) ++ __builtin___clear_cache((char*)(from), (char*)(to)) + + #elif defined __ANDROID__ + +@@ -451,6 +483,25 @@ typedef double sljit_f64; + #define SLJIT_BIG_ENDIAN 1 + #endif + ++#ifndef SLJIT_MIPS_REV ++ ++/* Auto detecting mips revision. */ ++#if (defined __mips_isa_rev) && (__mips_isa_rev >= 6) ++#define SLJIT_MIPS_REV 6 ++#elif (defined __mips_isa_rev && __mips_isa_rev >= 1) \ ++ || (defined __clang__ && defined _MIPS_ARCH_OCTEON) \ ++ || (defined __clang__ && defined _MIPS_ARCH_P5600) ++/* clang either forgets to define (clang-7) __mips_isa_rev at all ++ * or sets it to zero (clang-8,-9) for -march=octeon (MIPS64 R2+) ++ * and -march=p5600 (MIPS32 R5). ++ * It also sets the __mips macro to 64 or 32 for -mipsN when N <= 5 ++ * (should be set to N exactly) so we cannot rely on this too. ++ */ ++#define SLJIT_MIPS_REV 1 ++#endif ++ ++#endif /* !SLJIT_MIPS_REV */ ++ + #elif (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) + + #define SLJIT_BIG_ENDIAN 1 +@@ -679,24 +730,16 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); + /* Debug and verbose related macros. */ + /*************************************/ + +-#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) +-#include +-#endif +- + #if (defined SLJIT_DEBUG && SLJIT_DEBUG) + + #if !defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE) + + /* SLJIT_HALT_PROCESS must halt the process. */ + #ifndef SLJIT_HALT_PROCESS +-#include +- + #define SLJIT_HALT_PROCESS() \ + abort(); + #endif /* !SLJIT_HALT_PROCESS */ + +-#include +- + #endif /* !SLJIT_ASSERT || !SLJIT_UNREACHABLE */ + + /* Feel free to redefine these two macros. */ +@@ -742,4 +785,8 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); + + #endif /* !SLJIT_COMPILE_ASSERT */ + ++#ifdef __cplusplus ++} /* extern "C" */ ++#endif ++ + #endif +diff --git a/sljit/sljitExecAllocator.c b/sljit/sljitExecAllocator.c +index 92ddb94..7653907 100644 +--- a/sljit/sljitExecAllocator.c ++++ b/sljit/sljitExecAllocator.c +@@ -106,10 +106,10 @@ static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size) + + static SLJIT_INLINE int get_map_jit_flag() + { ++/* On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a version ++ of macOS where it's OK to have more than one JIT block. ++ On non-macOS systems, returns MAP_JIT if it is defined. */ + #if TARGET_OS_OSX +- /* On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a version +- of macOS where it's OK to have more than one JIT block. On non-macOS systems, returns +- MAP_JIT if it is defined. */ + static int map_jit_flag = -1; + + /* The following code is thread safe because multiple initialization +@@ -124,12 +124,19 @@ static SLJIT_INLINE int get_map_jit_flag() + /* Kernel version for 10.14.0 (Mojave) */ + if (atoi(name.release) >= 18) { + /* Only use MAP_JIT if a hardened runtime is used, because MAP_JIT is incompatible with fork(). */ +- void *ptr = mmap(NULL, getpagesize(), PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); ++ ++ /* mirroring page size detection from sljit_allocate_stack */ ++ long page_size = sysconf(_SC_PAGESIZE); ++ /* Should never happen */ ++ if (page_size < 0) ++ page_size = 4096; ++ ++ void *ptr = mmap(NULL, page_size, PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANON, -1, 0); + + if (ptr == MAP_FAILED) { + map_jit_flag = MAP_JIT; + } else { +- munmap(ptr, getpagesize()); ++ munmap(ptr, page_size); + } + } + } +diff --git a/sljit/sljitLir.c b/sljit/sljitLir.c +index 9bab0c3..86772cc 100644 +--- a/sljit/sljitLir.c ++++ b/sljit/sljitLir.c +@@ -926,7 +926,8 @@ static void sljit_verbose_fparam(struct sljit_compiler *compiler, sljit_s32 p, s + + static const char* op0_names[] = { + (char*)"breakpoint", (char*)"nop", (char*)"lmul.uw", (char*)"lmul.sw", +- (char*)"divmod.u", (char*)"divmod.s", (char*)"div.u", (char*)"div.s" ++ (char*)"divmod.u", (char*)"divmod.s", (char*)"div.u", (char*)"div.s", ++ (char*)"endbr", (char*)"skip_frames_before_return" + }; + + static const char* op1_names[] = { +@@ -943,6 +944,12 @@ static const char* op2_names[] = { + (char*)"shl", (char*)"lshr", (char*)"ashr", + }; + ++static const char* op_src_names[] = { ++ (char*)"fast_return", (char*)"skip_frames_before_fast_return", ++ (char*)"prefetch_l1", (char*)"prefetch_l2", ++ (char*)"prefetch_l3", (char*)"prefetch_once", ++}; ++ + static const char* fop1_names[] = { + (char*)"mov", (char*)"conv", (char*)"conv", (char*)"conv", + (char*)"conv", (char*)"conv", (char*)"cmp", (char*)"neg", +@@ -1152,37 +1159,21 @@ static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_enter(struct sljit_c + CHECK_RETURN_OK; + } + +-static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +-#if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) +- FUNCTION_CHECK_SRC(src, srcw); +- CHECK_ARGUMENT(src != SLJIT_IMM); +- compiler->last_flags = 0; +-#endif +-#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) +- if (SLJIT_UNLIKELY(!!compiler->verbose)) { +- fprintf(compiler->verbose, " fast_return "); +- sljit_verbose_param(compiler, src, srcw); +- fprintf(compiler->verbose, "\n"); +- } +-#endif +- CHECK_RETURN_OK; +-} +- + static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) + { + #if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) + CHECK_ARGUMENT((op >= SLJIT_BREAKPOINT && op <= SLJIT_LMUL_SW) +- || ((op & ~SLJIT_I32_OP) >= SLJIT_DIVMOD_UW && (op & ~SLJIT_I32_OP) <= SLJIT_DIV_SW)); +- CHECK_ARGUMENT(op < SLJIT_LMUL_UW || compiler->scratches >= 2); +- if (op >= SLJIT_LMUL_UW) ++ || ((op & ~SLJIT_I32_OP) >= SLJIT_DIVMOD_UW && (op & ~SLJIT_I32_OP) <= SLJIT_DIV_SW) ++ || (op >= SLJIT_ENDBR && op <= SLJIT_SKIP_FRAMES_BEFORE_RETURN)); ++ CHECK_ARGUMENT(GET_OPCODE(op) < SLJIT_LMUL_UW || GET_OPCODE(op) >= SLJIT_ENDBR || compiler->scratches >= 2); ++ if ((GET_OPCODE(op) >= SLJIT_LMUL_UW && GET_OPCODE(op) <= SLJIT_DIV_SW) || op == SLJIT_SKIP_FRAMES_BEFORE_RETURN) + compiler->last_flags = 0; + #endif + #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) + if (SLJIT_UNLIKELY(!!compiler->verbose)) + { + fprintf(compiler->verbose, " %s", op0_names[GET_OPCODE(op) - SLJIT_OP0_BASE]); +- if (GET_OPCODE(op) >= SLJIT_DIVMOD_UW) { ++ if (GET_OPCODE(op) >= SLJIT_DIVMOD_UW && GET_OPCODE(op) <= SLJIT_DIV_SW) { + fprintf(compiler->verbose, (op & SLJIT_I32_OP) ? "32" : "w"); + } + fprintf(compiler->verbose, "\n"); +@@ -1224,7 +1215,7 @@ static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op1(struct sljit_compiler + break; + } + +- FUNCTION_CHECK_DST(dst, dstw, 1); ++ FUNCTION_CHECK_DST(dst, dstw, HAS_FLAGS(op)); + FUNCTION_CHECK_SRC(src, srcw); + + if (GET_OPCODE(op) >= SLJIT_NOT) { +@@ -1304,7 +1295,7 @@ static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op2(struct sljit_compiler + break; + } + +- FUNCTION_CHECK_DST(dst, dstw, 1); ++ FUNCTION_CHECK_DST(dst, dstw, HAS_FLAGS(op)); + FUNCTION_CHECK_SRC(src1, src1w); + FUNCTION_CHECK_SRC(src2, src2w); + compiler->last_flags = GET_FLAG_TYPE(op) | (op & (SLJIT_I32_OP | SLJIT_SET_Z)); +@@ -1325,6 +1316,33 @@ static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op2(struct sljit_compiler + CHECK_RETURN_OK; + } + ++static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++#if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) ++ CHECK_ARGUMENT(op >= SLJIT_FAST_RETURN && op <= SLJIT_PREFETCH_ONCE); ++ FUNCTION_CHECK_SRC(src, srcw); ++ ++ if (op == SLJIT_FAST_RETURN || op == SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN) ++ { ++ CHECK_ARGUMENT(src != SLJIT_IMM); ++ compiler->last_flags = 0; ++ } ++ else if (op >= SLJIT_PREFETCH_L1 && op <= SLJIT_PREFETCH_ONCE) ++ { ++ CHECK_ARGUMENT(src & SLJIT_MEM); ++ } ++#endif ++#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) ++ if (SLJIT_UNLIKELY(!!compiler->verbose)) { ++ fprintf(compiler->verbose, " %s ", op_src_names[op - SLJIT_OP_SRC_BASE]); ++ sljit_verbose_param(compiler, src, srcw); ++ fprintf(compiler->verbose, "\n"); ++ } ++#endif ++ CHECK_RETURN_OK; ++} ++ + static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_get_register_index(sljit_s32 reg) + { + SLJIT_UNUSED_ARG(reg); +@@ -2016,7 +2034,7 @@ static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compiler *comp + #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \ + || (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ +- || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1)) ++ || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1)) + + static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *compiler, sljit_s32 type, + sljit_s32 dst_reg, +@@ -2381,15 +2399,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return SLJIT_ERR_UNSUPPORTED; + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- SLJIT_UNUSED_ARG(compiler); +- SLJIT_UNUSED_ARG(src); +- SLJIT_UNUSED_ARG(srcw); +- SLJIT_UNREACHABLE(); +- return SLJIT_ERR_UNSUPPORTED; +-} +- + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) + { + SLJIT_UNUSED_ARG(compiler); +@@ -2429,6 +2438,17 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_ERR_UNSUPPORTED; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ SLJIT_UNUSED_ARG(compiler); ++ SLJIT_UNUSED_ARG(op); ++ SLJIT_UNUSED_ARG(src); ++ SLJIT_UNUSED_ARG(srcw); ++ SLJIT_UNREACHABLE(); ++ return SLJIT_ERR_UNSUPPORTED; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + SLJIT_UNREACHABLE(); +@@ -2549,6 +2569,13 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_set_target(struct sljit_jump *jump, sljit_uw + SLJIT_UNREACHABLE(); + } + ++SLJIT_API_FUNC_ATTRIBUTE void sljit_set_put_label(struct sljit_put_label *put_label, struct sljit_label *label) ++{ ++ SLJIT_UNUSED_ARG(put_label); ++ SLJIT_UNUSED_ARG(label); ++ SLJIT_UNREACHABLE(); ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw) + { + SLJIT_UNUSED_ARG(compiler); +diff --git a/sljit/sljitLir.h b/sljit/sljitLir.h +index 836d25c..aef90e6 100644 +--- a/sljit/sljitLir.h ++++ b/sljit/sljitLir.h +@@ -80,6 +80,10 @@ of sljitConfigInternal.h */ + + #include "sljitConfigInternal.h" + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* --------------------------------------------------------------------- */ + /* Error codes */ + /* --------------------------------------------------------------------- */ +@@ -154,10 +158,10 @@ of sljitConfigInternal.h */ + */ + + /* When SLJIT_UNUSED is specified as the destination of sljit_emit_op1 +- or sljit_emit_op2 operations the result is discarded. If no status +- flags are set, no instructions are emitted for these operations. Data +- prefetch is a special exception, see SLJIT_MOV operation. Other SLJIT +- operations do not support SLJIT_UNUSED as a destination operand. */ ++ or sljit_emit_op2 operations the result is discarded. Some status ++ flags must be set when the destination is SLJIT_UNUSED, because the ++ operation would have no effect otherwise. Other SLJIT operations do ++ not support SLJIT_UNUSED as a destination operand. */ + #define SLJIT_UNUSED 0 + + /* Scratch registers. */ +@@ -571,6 +575,8 @@ static SLJIT_INLINE sljit_uw sljit_get_generated_code_size(struct sljit_compiler + #define SLJIT_HAS_CLZ 2 + /* [Emulated] Conditional move is supported. */ + #define SLJIT_HAS_CMOV 3 ++/* [Emulated] Conditional move is supported. */ ++#define SLJIT_HAS_PREFETCH 4 + + #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) + /* [Not emulated] SSE2 support is available on x86. */ +@@ -658,10 +664,10 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *comp + sljit_s32 src, sljit_sw srcw); + + /* Generating entry and exit points for fast call functions (see SLJIT_FAST_CALL). +- Both sljit_emit_fast_enter and sljit_emit_fast_return functions preserve the ++ Both sljit_emit_fast_enter and SLJIT_FAST_RETURN operations preserve the + values of all registers and stack frame. The return address is stored in the + dst argument of sljit_emit_fast_enter, and this return address can be passed +- to sljit_emit_fast_return to continue the execution after the fast call. ++ to SLJIT_FAST_RETURN to continue the execution after the fast call. + + Fast calls are cheap operations (usually only a single call instruction is + emitted) but they do not preserve any registers. However the callee function +@@ -669,16 +675,15 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *comp + efficiently exploited by various optimizations. Registers can be saved + manually by the callee function if needed. + +- Although returning to different address by sljit_emit_fast_return is possible, ++ Although returning to different address by SLJIT_FAST_RETURN is possible, + this address usually cannot be predicted by the return address predictor of +- modern CPUs which may reduce performance. Furthermore using sljit_emit_ijump +- to return is also inefficient since return address prediction is usually +- triggered by a specific form of ijump. ++ modern CPUs which may reduce performance. Furthermore certain security ++ enhancement technologies such as Intel Control-flow Enforcement Technology ++ (CET) may disallow returning to a different address. + + Flags: - (does not modify flags). */ + + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw); +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw); + + /* + Source and destination operands for arithmetical instructions +@@ -887,6 +892,14 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler + the behaviour is undefined. */ + #define SLJIT_DIV_SW (SLJIT_OP0_BASE + 7) + #define SLJIT_DIV_S32 (SLJIT_DIV_SW | SLJIT_I32_OP) ++/* Flags: - (does not modify flags) ++ ENDBR32 instruction for x86-32 and ENDBR64 instruction for x86-64 ++ when Intel Control-flow Enforcement Technology (CET) is enabled. ++ No instruction for other architectures. */ ++#define SLJIT_ENDBR (SLJIT_OP0_BASE + 8) ++/* Flags: - (may destroy flags) ++ Skip stack frames before return. */ ++#define SLJIT_SKIP_FRAMES_BEFORE_RETURN (SLJIT_OP0_BASE + 9) + + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op); + +@@ -904,15 +917,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + U32 - unsigned int (32 bit) data transfer + S32 - signed int (32 bit) data transfer + P - pointer (sljit_p) data transfer +- +- If the destination of a MOV instruction is SLJIT_UNUSED and the source +- operand is a memory address the compiler emits a prefetch instruction +- if this instruction is supported by the current CPU. Higher data sizes +- bring the data closer to the core: a MOV with word size loads the data +- into a higher level cache than a byte size. Otherwise the type does not +- affect the prefetch instruction. Furthermore a prefetch instruction +- never fails, so it can be used to prefetch a data from an address and +- check whether that address is NULL afterwards. + */ + + /* Flags: - (does not modify flags) */ +@@ -1017,8 +1021,46 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + sljit_s32 src1, sljit_sw src1w, + sljit_s32 src2, sljit_sw src2w); + ++/* Starting index of opcodes for sljit_emit_op2. */ ++#define SLJIT_OP_SRC_BASE 128 ++ ++/* Note: src cannot be an immedate value ++ Flags: - (does not modify flags) */ ++#define SLJIT_FAST_RETURN (SLJIT_OP_SRC_BASE + 0) ++/* Skip stack frames before fast return. ++ Note: src cannot be an immedate value ++ Flags: may destroy flags. */ ++#define SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN (SLJIT_OP_SRC_BASE + 1) ++/* Prefetch value into the level 1 data cache ++ Note: if the target CPU does not support data prefetch, ++ no instructions are emitted. ++ Note: this instruction never fails, even if the memory address is invalid. ++ Flags: - (does not modify flags) */ ++#define SLJIT_PREFETCH_L1 (SLJIT_OP_SRC_BASE + 2) ++/* Prefetch value into the level 2 data cache ++ Note: same as SLJIT_PREFETCH_L1 if the target CPU ++ does not support this instruction form. ++ Note: this instruction never fails, even if the memory address is invalid. ++ Flags: - (does not modify flags) */ ++#define SLJIT_PREFETCH_L2 (SLJIT_OP_SRC_BASE + 3) ++/* Prefetch value into the level 3 data cache ++ Note: same as SLJIT_PREFETCH_L2 if the target CPU ++ does not support this instruction form. ++ Note: this instruction never fails, even if the memory address is invalid. ++ Flags: - (does not modify flags) */ ++#define SLJIT_PREFETCH_L3 (SLJIT_OP_SRC_BASE + 4) ++/* Prefetch a value which is only used once (and can be discarded afterwards) ++ Note: same as SLJIT_PREFETCH_L1 if the target CPU ++ does not support this instruction form. ++ Note: this instruction never fails, even if the memory address is invalid. ++ Flags: - (does not modify flags) */ ++#define SLJIT_PREFETCH_ONCE (SLJIT_OP_SRC_BASE + 5) ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw); ++ + /* Starting index of opcodes for sljit_emit_fop1. */ +-#define SLJIT_FOP1_BASE 128 ++#define SLJIT_FOP1_BASE 160 + + /* Flags: - (does not modify flags) */ + #define SLJIT_MOV_F64 (SLJIT_FOP1_BASE + 0) +@@ -1057,7 +1099,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compil + sljit_s32 src, sljit_sw srcw); + + /* Starting index of opcodes for sljit_emit_fop2. */ +-#define SLJIT_FOP2_BASE 160 ++#define SLJIT_FOP2_BASE 192 + + /* Flags: - (does not modify flags) */ + #define SLJIT_ADD_F64 (SLJIT_FOP2_BASE + 0) +@@ -1161,7 +1203,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compi + + /* Unconditional jump types. */ + #define SLJIT_JUMP 24 +- /* Fast calling method. See sljit_emit_fast_enter / sljit_emit_fast_return. */ ++ /* Fast calling method. See sljit_emit_fast_enter / SLJIT_FAST_RETURN. */ + #define SLJIT_FAST_CALL 25 + /* Called function must be declared with the SLJIT_FUNC attribute. */ + #define SLJIT_CALL 26 +@@ -1490,4 +1532,8 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *c + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *compiler, + sljit_s32 current_flags); + ++#ifdef __cplusplus ++} /* extern "C" */ ++#endif ++ + #endif /* _SLJIT_LIR_H_ */ +diff --git a/sljit/sljitNativeARM_32.c b/sljit/sljitNativeARM_32.c +index 8da0d09..24ef02a 100644 +--- a/sljit/sljitNativeARM_32.c ++++ b/sljit/sljitNativeARM_32.c +@@ -872,6 +872,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + + case SLJIT_HAS_CLZ: + case SLJIT_HAS_CMOV: ++#if (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) ++ case SLJIT_HAS_PREFETCH: ++#endif + return 1; + + default: +@@ -1678,6 +1681,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + | (saved_reg_list[0] << 12) /* ldr rX, [sp], #8/16 */); + } + return SLJIT_SUCCESS; ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -1692,14 +1698,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +-#if (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) +- return emit_op_mem(compiler, PRELOAD | LOAD_DATA, TMP_PC, src, srcw, TMP_REG1); +-#endif +- return SLJIT_SUCCESS; +- } +- + switch (GET_OPCODE(op)) { + case SLJIT_MOV: + case SLJIT_MOV_U32: +@@ -1781,6 +1779,40 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ SLJIT_ASSERT(reg_map[TMP_REG2] == 14); ++ ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG2) | RM(src))); ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_SIZE | LOAD_DATA, TMP_REG2, src, srcw, TMP_REG1)); ++ ++ return push_inst(compiler, BX | RM(TMP_REG2)); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++#if (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) ++ SLJIT_ASSERT(src & SLJIT_MEM); ++ return emit_op_mem(compiler, PRELOAD | LOAD_DATA, TMP_PC, src, srcw, TMP_REG1); ++#else /* !SLJIT_CONFIG_ARM_V7 */ ++ return SLJIT_SUCCESS; ++#endif /* SLJIT_CONFIG_ARM_V7 */ ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -2043,22 +2075,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return emit_op_mem(compiler, WORD_SIZE, TMP_REG2, dst, dstw, TMP_REG1); + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- SLJIT_ASSERT(reg_map[TMP_REG2] == 14); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst(compiler, MOV | RD(TMP_REG2) | RM(src))); +- else +- FAIL_IF(emit_op_mem(compiler, WORD_SIZE | LOAD_DATA, TMP_REG2, src, srcw, TMP_REG1)); +- +- return push_inst(compiler, BX | RM(TMP_REG2)); +-} +- + /* --------------------------------------------------------------------- */ + /* Conditional instructions */ + /* --------------------------------------------------------------------- */ +diff --git a/sljit/sljitNativeARM_64.c b/sljit/sljitNativeARM_64.c +index e15b345..b86fc64 100644 +--- a/sljit/sljitNativeARM_64.c ++++ b/sljit/sljitNativeARM_64.c +@@ -396,6 +396,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + + case SLJIT_HAS_CLZ: + case SLJIT_HAS_CMOV: ++ case SLJIT_HAS_PREFETCH: + return 1; + + default: +@@ -1154,6 +1155,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + case SLJIT_DIV_UW: + case SLJIT_DIV_SW: + return push_inst(compiler, ((op == SLJIT_DIV_UW ? UDIV : SDIV) ^ inv_bits) | RD(SLJIT_R0) | RN(SLJIT_R0) | RM(SLJIT_R1)); ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -1171,23 +1175,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) { +- SLJIT_ASSERT(reg_map[1] == 0 && reg_map[3] == 2 && reg_map[5] == 4); +- +- if (op >= SLJIT_MOV_U8 && op <= SLJIT_MOV_S8) +- dst = 5; +- else if (op >= SLJIT_MOV_U16 && op <= SLJIT_MOV_S16) +- dst = 3; +- else +- dst = 1; +- +- /* Signed word sized load is the prefetch instruction. */ +- return emit_op_mem(compiler, WORD_SIZE | SIGNED, dst, src, srcw, TMP_REG1); +- } +- return SLJIT_SUCCESS; +- } +- + dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1; + + op = GET_OPCODE(op); +@@ -1327,6 +1314,46 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst(compiler, ORR | RD(TMP_LR) | RN(TMP_ZERO) | RM(src))); ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_SIZE, TMP_LR, src, srcw, TMP_REG1)); ++ ++ return push_inst(compiler, RET | RN(TMP_LR)); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ SLJIT_ASSERT(reg_map[1] == 0 && reg_map[3] == 2 && reg_map[5] == 4); ++ ++ /* The reg_map[op] should provide the appropriate constant. */ ++ if (op == SLJIT_PREFETCH_L1) ++ op = 1; ++ else if (op == SLJIT_PREFETCH_L2) ++ op = 3; ++ else if (op == SLJIT_PREFETCH_L3) ++ op = 5; ++ else ++ op = 2; ++ ++ /* Signed word sized load is the prefetch instruction. */ ++ return emit_op_mem(compiler, WORD_SIZE | SIGNED, op, src, srcw, TMP_REG1); ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -1578,20 +1605,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return emit_op_mem(compiler, WORD_SIZE | STORE, TMP_LR, dst, dstw, TMP_REG1); + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst(compiler, ORR | RD(TMP_LR) | RN(TMP_ZERO) | RM(src))); +- else +- FAIL_IF(emit_op_mem(compiler, WORD_SIZE, TMP_LR, src, srcw, TMP_REG1)); +- +- return push_inst(compiler, RET | RN(TMP_LR)); +-} +- + /* --------------------------------------------------------------------- */ + /* Conditional instructions */ + /* --------------------------------------------------------------------- */ +diff --git a/sljit/sljitNativeARM_T2_32.c b/sljit/sljitNativeARM_T2_32.c +index cdfe4a4..a26f48f 100644 +--- a/sljit/sljitNativeARM_T2_32.c ++++ b/sljit/sljitNativeARM_T2_32.c +@@ -480,6 +480,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + + case SLJIT_HAS_CLZ: + case SLJIT_HAS_CMOV: ++ case SLJIT_HAS_PREFETCH: + return 1; + + default: +@@ -1328,6 +1329,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + } + return SLJIT_SUCCESS; + #endif /* __ARM_FEATURE_IDIV || __ARM_ARCH_EXT_IDIV__ */ ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -1345,13 +1349,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +- /* Since TMP_PC has index 15, IS_2_LO_REGS and IS_3_LO_REGS checks always fail. */ +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) +- return emit_op_mem(compiler, PRELOAD, TMP_PC, src, srcw, TMP_REG1); +- return SLJIT_SUCCESS; +- } +- + dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1; + + op = GET_OPCODE(op); +@@ -1475,6 +1472,35 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return emit_op_mem(compiler, WORD_SIZE | STORE, dst_reg, dst, dstw, TMP_REG2); + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ SLJIT_ASSERT(reg_map[TMP_REG2] == 14); ++ ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst16(compiler, MOV | SET_REGS44(TMP_REG2, src))); ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_SIZE, TMP_REG2, src, srcw, TMP_REG2)); ++ ++ return push_inst16(compiler, BX | RN3(TMP_REG2)); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ return emit_op_mem(compiler, PRELOAD, TMP_PC, src, srcw, TMP_REG1); ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -1728,22 +1754,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return emit_op_mem(compiler, WORD_SIZE | STORE, TMP_REG2, dst, dstw, TMP_REG1); + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- SLJIT_ASSERT(reg_map[TMP_REG2] == 14); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst16(compiler, MOV | SET_REGS44(TMP_REG2, src))); +- else +- FAIL_IF(emit_op_mem(compiler, WORD_SIZE, TMP_REG2, src, srcw, TMP_REG2)); +- +- return push_inst16(compiler, BX | RN3(TMP_REG2)); +-} +- + /* --------------------------------------------------------------------- */ + /* Conditional instructions */ + /* --------------------------------------------------------------------- */ +diff --git a/sljit/sljitNativeMIPS_32.c b/sljit/sljitNativeMIPS_32.c +index 16dec05..777627b 100644 +--- a/sljit/sljitNativeMIPS_32.c ++++ b/sljit/sljitNativeMIPS_32.c +@@ -86,12 +86,12 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); + if ((flags & (REG_DEST | REG2_SOURCE)) == (REG_DEST | REG2_SOURCE)) { + if (op == SLJIT_MOV_S8) { +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + return push_inst(compiler, SEB | T(src2) | D(dst), DR(dst)); +-#else ++#else /* SLJIT_MIPS_REV < 1 */ + FAIL_IF(push_inst(compiler, SLL | T(src2) | D(dst) | SH_IMM(24), DR(dst))); + return push_inst(compiler, SRA | T(dst) | D(dst) | SH_IMM(24), DR(dst)); +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + } + return push_inst(compiler, ANDI | S(src2) | T(dst) | IMM(0xff), DR(dst)); + } +@@ -105,12 +105,12 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); + if ((flags & (REG_DEST | REG2_SOURCE)) == (REG_DEST | REG2_SOURCE)) { + if (op == SLJIT_MOV_S16) { +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + return push_inst(compiler, SEH | T(src2) | D(dst), DR(dst)); +-#else ++#else /* SLJIT_MIPS_REV < 1 */ + FAIL_IF(push_inst(compiler, SLL | T(src2) | D(dst) | SH_IMM(16), DR(dst))); + return push_inst(compiler, SRA | T(dst) | D(dst) | SH_IMM(16), DR(dst)); +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + } + return push_inst(compiler, ANDI | S(src2) | T(dst) | IMM(0xffff), DR(dst)); + } +@@ -129,12 +129,12 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + + case SLJIT_CLZ: + SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + if (op & SLJIT_SET_Z) + FAIL_IF(push_inst(compiler, CLZ | S(src2) | TA(EQUAL_FLAG) | DA(EQUAL_FLAG), EQUAL_FLAG)); + if (!(flags & UNUSED_DEST)) + FAIL_IF(push_inst(compiler, CLZ | S(src2) | T(dst) | D(dst), DR(dst))); +-#else ++#else /* SLJIT_MIPS_REV < 1 */ + if (SLJIT_UNLIKELY(flags & UNUSED_DEST)) { + FAIL_IF(push_inst(compiler, SRL | T(src2) | DA(EQUAL_FLAG) | SH_IMM(31), EQUAL_FLAG)); + return push_inst(compiler, XORI | SA(EQUAL_FLAG) | TA(EQUAL_FLAG) | IMM(1), EQUAL_FLAG); +@@ -149,7 +149,7 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + FAIL_IF(push_inst(compiler, ADDIU | S(dst) | T(dst) | IMM(1), DR(dst))); + FAIL_IF(push_inst(compiler, BGEZ | S(TMP_REG1) | IMM(-2), UNMOVABLE_INS)); + FAIL_IF(push_inst(compiler, SLL | T(TMP_REG1) | D(TMP_REG1) | SH_IMM(1), UNMOVABLE_INS)); +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + return SLJIT_SUCCESS; + + case SLJIT_ADD: +@@ -368,21 +368,22 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + SLJIT_ASSERT(!(flags & SRC2_IMM)); + + if (GET_FLAG_TYPE(op) != SLJIT_MUL_OVERFLOW) { +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) || (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + return push_inst(compiler, MUL | S(src1) | T(src2) | D(dst), DR(dst)); +-#else /* !SLJIT_MIPS_R1 && !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 1 */ + FAIL_IF(push_inst(compiler, MULT | S(src1) | T(src2), MOVABLE_INS)); + return push_inst(compiler, MFLO | D(dst), DR(dst)); +-#endif /* SLJIT_MIPS_R1 || SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 1 */ + } +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++ ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + FAIL_IF(push_inst(compiler, MUL | S(src1) | T(src2) | D(dst), DR(dst))); + FAIL_IF(push_inst(compiler, MUH | S(src1) | T(src2) | DA(EQUAL_FLAG), EQUAL_FLAG)); +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + FAIL_IF(push_inst(compiler, MULT | S(src1) | T(src2), MOVABLE_INS)); + FAIL_IF(push_inst(compiler, MFHI | DA(EQUAL_FLAG), EQUAL_FLAG)); + FAIL_IF(push_inst(compiler, MFLO | D(dst), DR(dst))); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + FAIL_IF(push_inst(compiler, SRA | T(dst) | DA(OTHER_FLAG) | SH_IMM(31), OTHER_FLAG)); + return push_inst(compiler, SUBU | SA(EQUAL_FLAG) | TA(OTHER_FLAG) | DA(OTHER_FLAG), OTHER_FLAG); + +diff --git a/sljit/sljitNativeMIPS_64.c b/sljit/sljitNativeMIPS_64.c +index a6a2bcc..479244d 100644 +--- a/sljit/sljitNativeMIPS_64.c ++++ b/sljit/sljitNativeMIPS_64.c +@@ -220,12 +220,12 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + + case SLJIT_CLZ: + SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + if (op & SLJIT_SET_Z) + FAIL_IF(push_inst(compiler, SELECT_OP(DCLZ, CLZ) | S(src2) | TA(EQUAL_FLAG) | DA(EQUAL_FLAG), EQUAL_FLAG)); + if (!(flags & UNUSED_DEST)) + FAIL_IF(push_inst(compiler, SELECT_OP(DCLZ, CLZ) | S(src2) | T(dst) | D(dst), DR(dst))); +-#else ++#else /* SLJIT_MIPS_REV < 1 */ + if (SLJIT_UNLIKELY(flags & UNUSED_DEST)) { + FAIL_IF(push_inst(compiler, SELECT_OP(DSRL32, SRL) | T(src2) | DA(EQUAL_FLAG) | SH_IMM(31), EQUAL_FLAG)); + return push_inst(compiler, XORI | SA(EQUAL_FLAG) | TA(EQUAL_FLAG) | IMM(1), EQUAL_FLAG); +@@ -240,7 +240,7 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + FAIL_IF(push_inst(compiler, SELECT_OP(DADDIU, ADDIU) | S(dst) | T(dst) | IMM(1), DR(dst))); + FAIL_IF(push_inst(compiler, BGEZ | S(TMP_REG1) | IMM(-2), UNMOVABLE_INS)); + FAIL_IF(push_inst(compiler, SELECT_OP(DSLL, SLL) | T(TMP_REG1) | D(TMP_REG1) | SH_IMM(1), UNMOVABLE_INS)); +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + return SLJIT_SUCCESS; + + case SLJIT_ADD: +@@ -459,26 +459,27 @@ static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sl + SLJIT_ASSERT(!(flags & SRC2_IMM)); + + if (GET_FLAG_TYPE(op) != SLJIT_MUL_OVERFLOW) { +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + return push_inst(compiler, SELECT_OP(DMUL, MUL) | S(src1) | T(src2) | D(dst), DR(dst)); +-#elif (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#elif (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + if (op & SLJIT_I32_OP) + return push_inst(compiler, MUL | S(src1) | T(src2) | D(dst), DR(dst)); + FAIL_IF(push_inst(compiler, DMULT | S(src1) | T(src2), MOVABLE_INS)); + return push_inst(compiler, MFLO | D(dst), DR(dst)); +-#else /* !SLJIT_MIPS_R6 && !SLJIT_MIPS_R1 */ ++#else /* SLJIT_MIPS_REV < 1 */ + FAIL_IF(push_inst(compiler, SELECT_OP(DMULT, MULT) | S(src1) | T(src2), MOVABLE_INS)); + return push_inst(compiler, MFLO | D(dst), DR(dst)); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + } +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++ ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + FAIL_IF(push_inst(compiler, SELECT_OP(DMUL, MUL) | S(src1) | T(src2) | D(dst), DR(dst))); + FAIL_IF(push_inst(compiler, SELECT_OP(DMUH, MUH) | S(src1) | T(src2) | DA(EQUAL_FLAG), EQUAL_FLAG)); +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + FAIL_IF(push_inst(compiler, SELECT_OP(DMULT, MULT) | S(src1) | T(src2), MOVABLE_INS)); + FAIL_IF(push_inst(compiler, MFHI | DA(EQUAL_FLAG), EQUAL_FLAG)); + FAIL_IF(push_inst(compiler, MFLO | D(dst), DR(dst))); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + FAIL_IF(push_inst(compiler, SELECT_OP(DSRA32, SRA) | T(dst) | DA(OTHER_FLAG) | SH_IMM(31), OTHER_FLAG)); + return push_inst(compiler, SELECT_OP(DSUBU, SUBU) | SA(EQUAL_FLAG) | TA(OTHER_FLAG) | DA(OTHER_FLAG), OTHER_FLAG); + +diff --git a/sljit/sljitNativeMIPS_common.c b/sljit/sljitNativeMIPS_common.c +index 7d1d087..7628be6 100644 +--- a/sljit/sljitNativeMIPS_common.c ++++ b/sljit/sljitNativeMIPS_common.c +@@ -25,15 +25,16 @@ + */ + + /* Latest MIPS architecture. */ +-/* Automatically detect SLJIT_MIPS_R1 */ + +-#if (defined __mips_isa_rev) && (__mips_isa_rev >= 6) +-#define SLJIT_MIPS_R6 1 ++#ifndef __mips_hard_float ++/* Disable automatic detection, covers both -msoft-float and -mno-float */ ++#undef SLJIT_IS_FPU_AVAILABLE ++#define SLJIT_IS_FPU_AVAILABLE 0 + #endif + + SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void) + { +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + + #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) + return "MIPS32-R6" SLJIT_CPUINFO; +@@ -41,7 +42,7 @@ SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void) + return "MIPS64-R6" SLJIT_CPUINFO; + #endif /* SLJIT_CONFIG_MIPS_32 */ + +-#elif (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#elif (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + + #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) + return "MIPS32-R1" SLJIT_CPUINFO; +@@ -49,9 +50,9 @@ SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void) + return "MIPS64-R1" SLJIT_CPUINFO; + #endif /* SLJIT_CONFIG_MIPS_32 */ + +-#else /* SLJIT_MIPS_R1 */ ++#else /* SLJIT_MIPS_REV < 1 */ + return "MIPS III" SLJIT_CPUINFO; +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + } + + /* Length of an instruction word +@@ -117,11 +118,11 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define FR(dr) (freg_map[dr]) + #define HI(opcode) ((opcode) << 26) + #define LO(opcode) (opcode) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + /* CMP.cond.fmt */ + /* S = (20 << 21) D = (21 << 21) */ + #define CMP_FMT_S (20 << 21) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + /* S = (16 << 21) D = (17 << 21) */ + #define FMT_S (16 << 21) + #define FMT_D (17 << 21) +@@ -134,13 +135,13 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define ANDI (HI(12)) + #define B (HI(4)) + #define BAL (HI(1) | (17 << 16)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define BC1EQZ (HI(17) | (9 << 21) | FT(TMP_FREG3)) + #define BC1NEZ (HI(17) | (13 << 21) | FT(TMP_FREG3)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define BC1F (HI(17) | (8 << 21)) + #define BC1T (HI(17) | (8 << 21) | (1 << 16)) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define BEQ (HI(4)) + #define BGEZ (HI(1) | (1 << 16)) + #define BGTZ (HI(7)) +@@ -149,23 +150,23 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define BNE (HI(5)) + #define BREAK (HI(0) | LO(13)) + #define CFC1 (HI(17) | (2 << 21)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define C_UEQ_S (HI(17) | CMP_FMT_S | LO(3)) + #define C_ULE_S (HI(17) | CMP_FMT_S | LO(7)) + #define C_ULT_S (HI(17) | CMP_FMT_S | LO(5)) + #define C_UN_S (HI(17) | CMP_FMT_S | LO(1)) + #define C_FD (FD(TMP_FREG3)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define C_UEQ_S (HI(17) | FMT_S | LO(51)) + #define C_ULE_S (HI(17) | FMT_S | LO(55)) + #define C_ULT_S (HI(17) | FMT_S | LO(53)) + #define C_UN_S (HI(17) | FMT_S | LO(49)) + #define C_FD (0) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define CVT_S_S (HI(17) | FMT_S | LO(32)) + #define DADDIU (HI(25)) + #define DADDU (HI(0) | LO(45)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define DDIV (HI(0) | (2 << 6) | LO(30)) + #define DDIVU (HI(0) | (2 << 6) | LO(31)) + #define DMOD (HI(0) | (3 << 6) | LO(30)) +@@ -176,14 +177,14 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define DMUHU (HI(0) | (3 << 6) | LO(29)) + #define DMUL (HI(0) | (2 << 6) | LO(28)) + #define DMULU (HI(0) | (2 << 6) | LO(29)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define DDIV (HI(0) | LO(30)) + #define DDIVU (HI(0) | LO(31)) + #define DIV (HI(0) | LO(26)) + #define DIVU (HI(0) | LO(27)) + #define DMULT (HI(0) | LO(28)) + #define DMULTU (HI(0) | LO(29)) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define DIV_S (HI(17) | FMT_S | LO(3)) + #define DSLL (HI(0) | LO(56)) + #define DSLL32 (HI(0) | LO(60)) +@@ -198,33 +199,33 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define J (HI(2)) + #define JAL (HI(3)) + #define JALR (HI(0) | LO(9)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define JR (HI(0) | LO(9)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define JR (HI(0) | LO(8)) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define LD (HI(55)) + #define LUI (HI(15)) + #define LW (HI(35)) + #define MFC1 (HI(17)) +-#if !(defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) +-#define MFHI (HI(0) | LO(16)) +-#define MFLO (HI(0) | LO(18)) +-#else /* SLJIT_MIPS_R6 */ ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define MOD (HI(0) | (3 << 6) | LO(26)) + #define MODU (HI(0) | (3 << 6) | LO(27)) +-#endif /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ ++#define MFHI (HI(0) | LO(16)) ++#define MFLO (HI(0) | LO(18)) ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define MOV_S (HI(17) | FMT_S | LO(6)) + #define MTC1 (HI(17) | (4 << 21)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define MUH (HI(0) | (3 << 6) | LO(24)) + #define MUHU (HI(0) | (3 << 6) | LO(25)) + #define MUL (HI(0) | (2 << 6) | LO(24)) + #define MULU (HI(0) | (2 << 6) | LO(25)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define MULT (HI(0) | LO(24)) + #define MULTU (HI(0) | LO(25)) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define MUL_S (HI(17) | FMT_S | LO(2)) + #define NEG_S (HI(17) | FMT_S | LO(7)) + #define NOP (HI(0) | LO(0)) +@@ -251,23 +252,23 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + #define XOR (HI(0) | LO(38)) + #define XORI (HI(14)) + +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) || (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + #define CLZ (HI(28) | LO(32)) +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #define DCLZ (LO(18)) +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #define DCLZ (HI(28) | LO(36)) + #define MOVF (HI(0) | (0 << 16) | LO(1)) + #define MOVN (HI(0) | LO(11)) + #define MOVT (HI(0) | (1 << 16) | LO(1)) + #define MOVZ (HI(0) | LO(10)) + #define MUL (HI(28) | LO(2)) +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + #define PREF (HI(51)) + #define PREFX (HI(19) | LO(15)) + #define SEB (HI(31) | (16 << 6) | LO(32)) + #define SEH (HI(31) | (24 << 6) | LO(32)) +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + + #if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) + #define ADDU_W ADDU +@@ -303,10 +304,10 @@ static SLJIT_INLINE sljit_ins invert_branch(sljit_s32 flags) + { + if (flags & IS_BIT26_COND) + return (1 << 26); +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + if (flags & IS_BIT23_COND) + return (1 << 23); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + return (1 << 16); + } + +@@ -684,11 +685,12 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + #error "FIR check is not implemented for this architecture" + #endif + +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + case SLJIT_HAS_CLZ: + case SLJIT_HAS_CMOV: ++ case SLJIT_HAS_PREFETCH: + return 1; +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + + default: + return fir; +@@ -1230,7 +1232,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + return push_inst(compiler, NOP, UNMOVABLE_INS); + case SLJIT_LMUL_UW: + case SLJIT_LMUL_SW: +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) + FAIL_IF(push_inst(compiler, (op == SLJIT_LMUL_UW ? DMULU : DMUL) | S(SLJIT_R0) | T(SLJIT_R1) | D(TMP_REG3), DR(TMP_REG3))); + FAIL_IF(push_inst(compiler, (op == SLJIT_LMUL_UW ? DMUHU : DMUH) | S(SLJIT_R0) | T(SLJIT_R1) | D(TMP_REG1), DR(TMP_REG1))); +@@ -1240,7 +1242,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #endif /* SLJIT_CONFIG_MIPS_64 */ + FAIL_IF(push_inst(compiler, ADDU_W | S(TMP_REG3) | TA(0) | D(SLJIT_R0), DR(SLJIT_R0))); + return push_inst(compiler, ADDU_W | S(TMP_REG1) | TA(0) | D(SLJIT_R1), DR(SLJIT_R1)); +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) + FAIL_IF(push_inst(compiler, (op == SLJIT_LMUL_UW ? DMULTU : DMULT) | S(SLJIT_R0) | T(SLJIT_R1), MOVABLE_INS)); + #else /* !SLJIT_CONFIG_MIPS_64 */ +@@ -1248,13 +1250,13 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #endif /* SLJIT_CONFIG_MIPS_64 */ + FAIL_IF(push_inst(compiler, MFLO | D(SLJIT_R0), DR(SLJIT_R0))); + return push_inst(compiler, MFHI | D(SLJIT_R1), DR(SLJIT_R1)); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + case SLJIT_DIVMOD_UW: + case SLJIT_DIVMOD_SW: + case SLJIT_DIV_UW: + case SLJIT_DIV_SW: + SLJIT_COMPILE_ASSERT((SLJIT_DIVMOD_UW & 0x2) == 0 && SLJIT_DIV_UW - 0x2 == SLJIT_DIVMOD_UW, bad_div_opcode_assignments); +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) + if (int_op) { + FAIL_IF(push_inst(compiler, ((op | 0x2) == SLJIT_DIV_UW ? DIVU : DIV) | S(SLJIT_R0) | T(SLJIT_R1) | D(TMP_REG3), DR(TMP_REG3))); +@@ -1270,11 +1272,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #endif /* SLJIT_CONFIG_MIPS_64 */ + FAIL_IF(push_inst(compiler, ADDU_W | S(TMP_REG3) | TA(0) | D(SLJIT_R0), DR(SLJIT_R0))); + return (op >= SLJIT_DIV_UW) ? SLJIT_SUCCESS : push_inst(compiler, ADDU_W | S(TMP_REG1) | TA(0) | D(SLJIT_R1), DR(SLJIT_R1)); +-#else /* !SLJIT_MIPS_R6 */ +-#if !(defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#else /* SLJIT_MIPS_REV < 6 */ ++#if !(defined SLJIT_MIPS_REV) + FAIL_IF(push_inst(compiler, NOP, UNMOVABLE_INS)); + FAIL_IF(push_inst(compiler, NOP, UNMOVABLE_INS)); +-#endif /* !SLJIT_MIPS_R1 */ ++#endif /* !SLJIT_MIPS_REV */ + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) + if (int_op) + FAIL_IF(push_inst(compiler, ((op | 0x2) == SLJIT_DIV_UW ? DIVU : DIV) | S(SLJIT_R0) | T(SLJIT_R1), MOVABLE_INS)); +@@ -1285,13 +1287,16 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #endif /* SLJIT_CONFIG_MIPS_64 */ + FAIL_IF(push_inst(compiler, MFLO | D(SLJIT_R0), DR(SLJIT_R0))); + return (op >= SLJIT_DIV_UW) ? SLJIT_SUCCESS : push_inst(compiler, MFHI | D(SLJIT_R1), DR(SLJIT_R1)); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; + } + +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + static sljit_s32 emit_prefetch(struct sljit_compiler *compiler, + sljit_s32 src, sljit_sw srcw) + { +@@ -1312,7 +1317,7 @@ static sljit_s32 emit_prefetch(struct sljit_compiler *compiler, + + return push_inst(compiler, PREFX | S(src & REG_MASK) | T(OFFS_REG(src)), MOVABLE_INS); + } +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, + sljit_s32 dst, sljit_sw dstw, +@@ -1329,14 +1334,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) +- return emit_prefetch(compiler, src, srcw); +-#endif +- return SLJIT_SUCCESS; +- } +- + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) + if ((op & SLJIT_I32_OP) && GET_OPCODE(op) >= SLJIT_NOT) + flags |= INT_DATA | SIGNED_DATA; +@@ -1463,6 +1460,38 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + #endif + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst(compiler, ADDU_W | S(src) | TA(0) | DA(RETURN_ADDR_REG), RETURN_ADDR_REG)); ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RETURN_ADDR_REG, src, srcw)); ++ ++ FAIL_IF(push_inst(compiler, JR | SA(RETURN_ADDR_REG), UNMOVABLE_INS)); ++ return push_inst(compiler, NOP, UNMOVABLE_INS); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) ++ return emit_prefetch(compiler, src, srcw); ++#else /* SLJIT_MIPS_REV < 1 */ ++ return SLJIT_SUCCESS; ++#endif /* SLJIT_MIPS_REV >= 1 */ ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -1732,25 +1761,12 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + ADJUST_LOCAL_OFFSET(dst, dstw); + + if (FAST_IS_REG(dst)) +- return push_inst(compiler, ADDU_W | SA(RETURN_ADDR_REG) | TA(0) | D(dst), DR(dst)); ++ return push_inst(compiler, ADDU_W | SA(RETURN_ADDR_REG) | TA(0) | D(dst), UNMOVABLE_INS); + + /* Memory. */ +- return emit_op_mem(compiler, WORD_DATA, RETURN_ADDR_REG, dst, dstw); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst(compiler, ADDU_W | S(src) | TA(0) | DA(RETURN_ADDR_REG), RETURN_ADDR_REG)); +- else +- FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RETURN_ADDR_REG, src, srcw)); +- +- FAIL_IF(push_inst(compiler, JR | SA(RETURN_ADDR_REG), UNMOVABLE_INS)); +- return push_inst(compiler, NOP, UNMOVABLE_INS); ++ FAIL_IF(emit_op_mem(compiler, WORD_DATA, RETURN_ADDR_REG, dst, dstw)); ++ compiler->delay_slot = UNMOVABLE_INS; ++ return SLJIT_SUCCESS; + } + + /* --------------------------------------------------------------------- */ +@@ -1790,7 +1806,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compi + flags = IS_BIT26_COND; \ + delay_check = src; + +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + + #define BR_T() \ + inst = BC1NEZ; \ +@@ -1801,7 +1817,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compi + flags = IS_BIT23_COND; \ + delay_check = FCSR_FCC; + +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + + #define BR_T() \ + inst = BC1T | JUMP_LENGTH; \ +@@ -1812,7 +1828,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compi + flags = IS_BIT16_COND; \ + delay_check = FCSR_FCC; + +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + + SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 type) + { +@@ -2123,11 +2139,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *co + case SLJIT_GREATER_EQUAL_F64: + case SLJIT_UNORDERED_F64: + case SLJIT_ORDERED_F64: +-#if (defined SLJIT_MIPS_R6 && SLJIT_MIPS_R6) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 6) + FAIL_IF(push_inst(compiler, MFC1 | TA(dst_ar) | FS(TMP_FREG3), dst_ar)); +-#else /* !SLJIT_MIPS_R6 */ ++#else /* SLJIT_MIPS_REV < 6 */ + FAIL_IF(push_inst(compiler, CFC1 | TA(dst_ar) | DA(FCSR_REG), dst_ar)); +-#endif /* SLJIT_MIPS_R6 */ ++#endif /* SLJIT_MIPS_REV >= 6 */ + FAIL_IF(push_inst(compiler, SRL | TA(dst_ar) | DA(dst_ar) | SH_IMM(23), dst_ar)); + FAIL_IF(push_inst(compiler, ANDI | SA(dst_ar) | TA(dst_ar) | IMM(1), dst_ar)); + src_ar = dst_ar; +@@ -2167,14 +2183,14 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil + sljit_s32 dst_reg, + sljit_s32 src, sljit_sw srcw) + { +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + sljit_ins ins; +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + + CHECK_ERROR(); + CHECK(check_sljit_emit_cmov(compiler, type, dst_reg, src, srcw)); + +-#if (defined SLJIT_MIPS_R1 && SLJIT_MIPS_R1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) + + if (SLJIT_UNLIKELY(src & SLJIT_IMM)) { + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) +@@ -2231,9 +2247,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil + + return push_inst(compiler, ins | S(src) | D(dst_reg), DR(dst_reg)); + +-#else ++#else /* SLJIT_MIPS_REV < 1 */ + return sljit_emit_cmov_generic(compiler, type, dst_reg, src, srcw); +-#endif ++#endif /* SLJIT_MIPS_REV >= 1 */ + } + + SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value) +diff --git a/sljit/sljitNativePPC_common.c b/sljit/sljitNativePPC_common.c +index e827514..17bf9a9 100644 +--- a/sljit/sljitNativePPC_common.c ++++ b/sljit/sljitNativePPC_common.c +@@ -627,6 +627,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + #endif + + case SLJIT_HAS_CLZ: ++ case SLJIT_HAS_PREFETCH: + return 1; + + default: +@@ -1158,6 +1159,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #else + return push_inst(compiler, (op == SLJIT_DIV_UW ? DIVWU : DIVW) | D(SLJIT_R0) | A(SLJIT_R0) | B(SLJIT_R1)); + #endif ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -1203,13 +1207,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) +- return emit_prefetch(compiler, src, srcw); +- +- return SLJIT_SUCCESS; +- } +- + op = GET_OPCODE(op); + if ((src & SLJIT_IMM) && srcw == 0) + src = TMP_ZERO; +@@ -1536,6 +1533,35 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst(compiler, MTLR | S(src))); ++ else { ++ FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); ++ FAIL_IF(push_inst(compiler, MTLR | S(TMP_REG2))); ++ } ++ ++ return push_inst(compiler, BLR); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ return emit_prefetch(compiler, src, srcw); ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -1854,22 +1880,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, TMP_REG2, 0); + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst(compiler, MTLR | S(src))); +- else { +- FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); +- FAIL_IF(push_inst(compiler, MTLR | S(TMP_REG2))); +- } +- +- return push_inst(compiler, BLR); +-} +- + /* --------------------------------------------------------------------- */ + /* Conditional instructions */ + /* --------------------------------------------------------------------- */ +diff --git a/sljit/sljitNativeSPARC_common.c b/sljit/sljitNativeSPARC_common.c +index bfa4ece..4c95350 100644 +--- a/sljit/sljitNativeSPARC_common.c ++++ b/sljit/sljitNativeSPARC_common.c +@@ -872,6 +872,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + #else + #error "Implementation required" + #endif ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -888,9 +891,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + ADJUST_LOCAL_OFFSET(dst, dstw); + ADJUST_LOCAL_OFFSET(src, srcw); + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) +- return SLJIT_SUCCESS; +- + op = GET_OPCODE(op); + switch (op) { + case SLJIT_MOV: +@@ -971,6 +971,33 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ if (FAST_IS_REG(src)) ++ FAIL_IF(push_inst(compiler, OR | D(TMP_LINK) | S1(0) | S2(src), DR(TMP_LINK))); ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, TMP_LINK, src, srcw)); ++ ++ FAIL_IF(push_inst(compiler, JMPL | D(0) | S1(TMP_LINK) | IMM(8), UNMOVABLE_INS)); ++ return push_inst(compiler, NOP, UNMOVABLE_INS); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ return SLJIT_SUCCESS; ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +@@ -1215,25 +1242,12 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + ADJUST_LOCAL_OFFSET(dst, dstw); + + if (FAST_IS_REG(dst)) +- return push_inst(compiler, OR | D(dst) | S1(0) | S2(TMP_LINK), DR(dst)); ++ return push_inst(compiler, OR | D(dst) | S1(0) | S2(TMP_LINK), UNMOVABLE_INS); + + /* Memory. */ +- return emit_op_mem(compiler, WORD_DATA, TMP_LINK, dst, dstw); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(push_inst(compiler, OR | D(TMP_LINK) | S1(0) | S2(src), DR(TMP_LINK))); +- else +- FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, TMP_LINK, src, srcw)); +- +- FAIL_IF(push_inst(compiler, JMPL | D(0) | S1(TMP_LINK) | IMM(8), UNMOVABLE_INS)); +- return push_inst(compiler, NOP, UNMOVABLE_INS); ++ FAIL_IF(emit_op_mem(compiler, WORD_DATA, TMP_LINK, dst, dstw)); ++ compiler->delay_slot = UNMOVABLE_INS; ++ return SLJIT_SUCCESS; + } + + /* --------------------------------------------------------------------- */ +diff --git a/sljit/sljitNativeTILEGX_64.c b/sljit/sljitNativeTILEGX_64.c +index 003f43a..d69ecd6 100644 +--- a/sljit/sljitNativeTILEGX_64.c ++++ b/sljit/sljitNativeTILEGX_64.c +@@ -1564,24 +1564,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return emit_op_mem(compiler, WORD_DATA, RA, dst, dstw); + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) +- FAIL_IF(ADD(RA, reg_map[src], ZERO)); +- +- else if (src & SLJIT_MEM) +- FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); +- +- else if (src & SLJIT_IMM) +- FAIL_IF(load_immediate(compiler, RA, srcw)); +- +- return JR(RA); +-} +- + static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, sljit_s32 dst, sljit_s32 src1, sljit_sw src2) + { + sljit_s32 overflow_ra = 0; +@@ -2184,6 +2166,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + case SLJIT_DIV_UW: + case SLJIT_DIV_SW: + SLJIT_UNREACHABLE(); ++ case SLJIT_ENDBR: ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; + } + + return SLJIT_SUCCESS; +@@ -2293,6 +2278,29 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ if (FAST_IS_REG(src)) ++ FAIL_IF(ADD(RA, reg_map[src], ZERO)); ++ ++ else ++ FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); ++ ++ return JR(RA); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ return SLJIT_SUCCESS; ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler) + { + struct sljit_label *label; +diff --git a/sljit/sljitNativeX86_32.c b/sljit/sljitNativeX86_32.c +index 34a3a3d..79a7e8b 100644 +--- a/sljit/sljitNativeX86_32.c ++++ b/sljit/sljitNativeX86_32.c +@@ -76,6 +76,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compi + CHECK(check_sljit_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size)); + set_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size); + ++ /* Emit ENDBR32 at function entry if needed. */ ++ FAIL_IF(emit_endbranch(compiler)); ++ + args = get_arg_count(arg_types); + compiler->args = args; + +@@ -307,14 +310,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *comp + SLJIT_SP, 0, SLJIT_SP, 0, SLJIT_IMM, compiler->local_size)); + #endif + +- size = 2 + (compiler->scratches > 7 ? (compiler->scratches - 7) : 0) + ++ size = 2 + (compiler->scratches > 9 ? (compiler->scratches - 9) : 0) + + (compiler->saveds <= 3 ? compiler->saveds : 3); + #if (defined SLJIT_X86_32_FASTCALL && SLJIT_X86_32_FASTCALL) + if (compiler->args > 2) + size += 2; +-#else +- if (compiler->args > 0) +- size += 2; + #endif + inst = (sljit_u8*)ensure_buf(compiler, 1 + size); + FAIL_IF(!inst); +@@ -367,6 +367,8 @@ static sljit_u8* emit_x86_instruction(struct sljit_compiler *compiler, sljit_s32 + SLJIT_ASSERT((flags & (EX86_PREF_F2 | EX86_PREF_F3)) != (EX86_PREF_F2 | EX86_PREF_F3) + && (flags & (EX86_PREF_F2 | EX86_PREF_66)) != (EX86_PREF_F2 | EX86_PREF_66) + && (flags & (EX86_PREF_F3 | EX86_PREF_66)) != (EX86_PREF_F3 | EX86_PREF_66)); ++ /* We don't support (%ebp). */ ++ SLJIT_ASSERT(!(b & SLJIT_MEM) || immb || reg_map[b & REG_MASK] != 5); + + size &= 0xf; + inst_size = size; +@@ -863,14 +865,10 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return SLJIT_SUCCESS; + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) ++static sljit_s32 emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) + { + sljit_u8 *inst; + +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- + CHECK_EXTRA_REGS(src, srcw, (void)0); + + if (FAST_IS_REG(src)) { +@@ -894,3 +892,37 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler + RET(); + return SLJIT_SUCCESS; + } ++ ++static sljit_s32 skip_frames_before_return(struct sljit_compiler *compiler) ++{ ++ sljit_s32 size, saved_size; ++ sljit_s32 has_f64_aligment; ++ ++ /* Don't adjust shadow stack if it isn't enabled. */ ++ if (!cpu_has_shadow_stack ()) ++ return SLJIT_SUCCESS; ++ ++ SLJIT_ASSERT(compiler->args >= 0); ++ SLJIT_ASSERT(compiler->local_size > 0); ++ ++#if !defined(__APPLE__) ++ has_f64_aligment = compiler->options & SLJIT_F64_ALIGNMENT; ++#else ++ has_f64_aligment = 0; ++#endif ++ ++ size = compiler->local_size; ++ saved_size = (1 + (compiler->scratches > 9 ? (compiler->scratches - 9) : 0) + (compiler->saveds <= 3 ? compiler->saveds : 3)) * sizeof(sljit_uw); ++ if (has_f64_aligment) { ++ /* mov TMP_REG1, [esp + local_size]. */ ++ EMIT_MOV(compiler, TMP_REG1, 0, SLJIT_MEM1(SLJIT_SP), size); ++ /* mov TMP_REG1, [TMP_REG1+ saved_size]. */ ++ EMIT_MOV(compiler, TMP_REG1, 0, SLJIT_MEM1(TMP_REG1), saved_size); ++ /* Move return address to [esp]. */ ++ EMIT_MOV(compiler, SLJIT_MEM1(SLJIT_SP), 0, TMP_REG1, 0); ++ size = 0; ++ } else ++ size += saved_size; ++ ++ return adjust_shadow_stack(compiler, SLJIT_UNUSED, 0, SLJIT_SP, size); ++} +diff --git a/sljit/sljitNativeX86_64.c b/sljit/sljitNativeX86_64.c +index 5758711..e85b56a 100644 +--- a/sljit/sljitNativeX86_64.c ++++ b/sljit/sljitNativeX86_64.c +@@ -135,6 +135,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compi + CHECK(check_sljit_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size)); + set_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size); + ++ /* Emit ENDBR64 at function entry if needed. */ ++ FAIL_IF(emit_endbranch(compiler)); ++ + compiler->mode32 = 0; + + #ifdef _WIN64 +@@ -796,14 +799,10 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + return SLJIT_SUCCESS; + } + +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) ++static sljit_s32 emit_fast_return(struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw) + { + sljit_u8 *inst; + +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- + if (FAST_IS_REG(src)) { + if (reg_map[src] < 8) { + inst = (sljit_u8*)ensure_buf(compiler, 1 + 1 + 1); +@@ -898,3 +897,22 @@ static sljit_s32 emit_mov_int(struct sljit_compiler *compiler, sljit_s32 sign, + + return SLJIT_SUCCESS; + } ++ ++static sljit_s32 skip_frames_before_return(struct sljit_compiler *compiler) ++{ ++ sljit_s32 tmp, size; ++ ++ /* Don't adjust shadow stack if it isn't enabled. */ ++ if (!cpu_has_shadow_stack ()) ++ return SLJIT_SUCCESS; ++ ++ size = compiler->local_size; ++ tmp = compiler->scratches; ++ if (tmp >= SLJIT_FIRST_SAVED_REG) ++ size += (tmp - SLJIT_FIRST_SAVED_REG + 1) * sizeof(sljit_uw); ++ tmp = compiler->saveds < SLJIT_NUMBER_OF_SAVED_REGISTERS ? (SLJIT_S0 + 1 - compiler->saveds) : SLJIT_FIRST_SAVED_REG; ++ if (SLJIT_S0 >= tmp) ++ size += (SLJIT_S0 - tmp + 1) * sizeof(sljit_uw); ++ ++ return adjust_shadow_stack(compiler, SLJIT_UNUSED, 0, SLJIT_SP, size); ++} +diff --git a/sljit/sljitNativeX86_common.c b/sljit/sljitNativeX86_common.c +index 6296da5..eea9510 100644 +--- a/sljit/sljitNativeX86_common.c ++++ b/sljit/sljitNativeX86_common.c +@@ -657,6 +657,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + get_cpu_features(); + return cpu_has_cmov; + ++ case SLJIT_HAS_PREFETCH: ++ return 1; ++ + case SLJIT_HAS_SSE2: + #if (defined SLJIT_DETECT_SSE2 && SLJIT_DETECT_SSE2) + if (cpu_has_sse2 == -1) +@@ -702,6 +705,165 @@ static SLJIT_INLINE sljit_s32 emit_sse2_store(struct sljit_compiler *compiler, + static SLJIT_INLINE sljit_s32 emit_sse2_load(struct sljit_compiler *compiler, + sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw); + ++static sljit_s32 emit_cmp_binary(struct sljit_compiler *compiler, ++ sljit_s32 src1, sljit_sw src1w, ++ sljit_s32 src2, sljit_sw src2w); ++ ++static SLJIT_INLINE sljit_s32 emit_endbranch(struct sljit_compiler *compiler) ++{ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++ /* Emit endbr32/endbr64 when CET is enabled. */ ++ sljit_u8 *inst; ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + 4); ++ FAIL_IF(!inst); ++ INC_SIZE(4); ++ *inst++ = 0xf3; ++ *inst++ = 0x0f; ++ *inst++ = 0x1e; ++#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) ++ *inst = 0xfb; ++#else ++ *inst = 0xfa; ++#endif ++#else ++ (void)compiler; ++#endif ++ return SLJIT_SUCCESS; ++} ++ ++static SLJIT_INLINE sljit_s32 emit_rdssp(struct sljit_compiler *compiler, sljit_s32 reg) ++{ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++ sljit_u8 *inst; ++ sljit_s32 size; ++ ++#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) ++ size = 5; ++#else ++ size = 4; ++#endif ++ ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + size); ++ FAIL_IF(!inst); ++ INC_SIZE(size); ++ *inst++ = 0xf3; ++#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) ++ *inst++ = REX_W | (reg_map[reg] <= 7 ? 0 : REX_B); ++#endif ++ *inst++ = 0x0f; ++ *inst++ = 0x1e; ++ *inst = (0x3 << 6) | (0x1 << 3) | (reg_map[reg] & 0x7); ++#else ++ (void)compiler; ++#endif ++ return SLJIT_SUCCESS; ++} ++ ++static SLJIT_INLINE sljit_s32 emit_incssp(struct sljit_compiler *compiler, sljit_s32 reg) ++{ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++ sljit_u8 *inst; ++ sljit_s32 size; ++ ++#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) ++ size = 5; ++#else ++ size = 4; ++#endif ++ ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + size); ++ FAIL_IF(!inst); ++ INC_SIZE(size); ++ *inst++ = 0xf3; ++#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) ++ *inst++ = REX_W | (reg_map[reg] <= 7 ? 0 : REX_B); ++#endif ++ *inst++ = 0x0f; ++ *inst++ = 0xae; ++ *inst = (0x3 << 6) | (0x5 << 3) | (reg_map[reg] & 0x7); ++#else ++ (void)compiler; ++#endif ++ return SLJIT_SUCCESS; ++} ++ ++static SLJIT_INLINE sljit_s32 cpu_has_shadow_stack(void) ++{ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++ return _get_ssp() != 0; ++#else ++ return 0; ++#endif ++} ++ ++static SLJIT_INLINE sljit_s32 adjust_shadow_stack(struct sljit_compiler *compiler, ++ sljit_s32 src, sljit_sw srcw, sljit_s32 base, sljit_sw disp) ++{ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++ sljit_u8 *inst; ++ ++ sljit_s32 size_before_rdssp_inst = compiler->size; ++ ++ /* Generate "RDSSP TMP_REG1". */ ++ FAIL_IF(emit_rdssp(compiler, TMP_REG1)); ++ ++ /* Load return address on shadow stack into TMP_REG1. */ ++#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) ++ SLJIT_ASSERT(reg_map[TMP_REG1] == 5); ++ ++ /* Hand code unsupported "mov 0x0(%ebp),%ebp". */ ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + 3); ++ FAIL_IF(!inst); ++ INC_SIZE(3); ++ *inst++ = 0x8b; ++ *inst++ = 0x6d; ++ *inst = 0; ++#else /* !SLJIT_CONFIG_X86_32 */ ++ EMIT_MOV(compiler, TMP_REG1, 0, SLJIT_MEM1(TMP_REG1), 0); ++#endif /* SLJIT_CONFIG_X86_32 */ ++ ++ if (src == SLJIT_UNUSED) { ++ /* Return address is on stack. */ ++ src = SLJIT_MEM1(base); ++ srcw = disp; ++ } ++ ++ /* Compare return address against TMP_REG1. */ ++ FAIL_IF(emit_cmp_binary (compiler, TMP_REG1, 0, src, srcw)); ++ ++ /* Generate JZ to skip shadow stack ajdustment when shadow ++ stack matches normal stack. */ ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); ++ FAIL_IF(!inst); ++ INC_SIZE(2); ++ *inst++ = get_jump_code(SLJIT_EQUAL) - 0x10; ++ sljit_uw size_jz_after_cmp_inst = compiler->size; ++ sljit_u8 *jz_after_cmp_inst = inst; ++ ++#if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) ++ /* REX_W is not necessary. */ ++ compiler->mode32 = 1; ++#endif ++ /* Load 1 into TMP_REG1. */ ++ EMIT_MOV(compiler, TMP_REG1, 0, SLJIT_IMM, 1); ++ ++ /* Generate "INCSSP TMP_REG1". */ ++ FAIL_IF(emit_incssp(compiler, TMP_REG1)); ++ ++ /* Jump back to "RDSSP TMP_REG1" to check shadow stack again. */ ++ inst = (sljit_u8*)ensure_buf(compiler, 1 + 2); ++ FAIL_IF(!inst); ++ INC_SIZE(2); ++ *inst++ = JMP_i8; ++ *inst = size_before_rdssp_inst - compiler->size; ++ ++ *jz_after_cmp_inst = compiler->size - size_jz_after_cmp_inst; ++#else /* SLJIT_CONFIG_X86_CET */ ++ SLJIT_UNUSED_ARG(compiler); ++#endif /* SLJIT_CONFIG_X86_CET */ ++ return SLJIT_SUCCESS; ++} ++ + #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) + #include "sljitNativeX86_32.c" + #else +@@ -905,6 +1067,10 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile + EMIT_MOV(compiler, SLJIT_R1, 0, TMP_REG1, 0); + #endif + break; ++ case SLJIT_ENDBR: ++ return emit_endbranch(compiler); ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return skip_frames_before_return(compiler); + } + + return SLJIT_SUCCESS; +@@ -1074,12 +1240,12 @@ static sljit_s32 emit_prefetch(struct sljit_compiler *compiler, sljit_s32 op, + *inst++ = GROUP_0F; + *inst++ = PREFETCH; + +- if (op >= SLJIT_MOV_U8 && op <= SLJIT_MOV_S8) +- *inst |= (3 << 3); +- else if (op >= SLJIT_MOV_U16 && op <= SLJIT_MOV_S16) +- *inst |= (2 << 3); +- else ++ if (op == SLJIT_PREFETCH_L1) + *inst |= (1 << 3); ++ else if (op == SLJIT_PREFETCH_L2) ++ *inst |= (2 << 3); ++ else if (op == SLJIT_PREFETCH_L3) ++ *inst |= (3 << 3); + + return SLJIT_SUCCESS; + } +@@ -1284,12 +1450,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compile + compiler->mode32 = op_flags & SLJIT_I32_OP; + #endif + +- if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) { +- if (op <= SLJIT_MOV_P && (src & SLJIT_MEM)) +- return emit_prefetch(compiler, op, src, srcw); +- return SLJIT_SUCCESS; +- } +- + op = GET_OPCODE(op); + + if (op >= SLJIT_MOV && op <= SLJIT_MOV_P) { +@@ -2186,6 +2346,33 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compile + return SLJIT_SUCCESS; + } + ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ CHECK_EXTRA_REGS(src, srcw, (void)0); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ return emit_fast_return(compiler, src, srcw); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ /* Don't adjust shadow stack if it isn't enabled. */ ++ if (!cpu_has_shadow_stack ()) ++ return SLJIT_SUCCESS; ++ return adjust_shadow_stack(compiler, src, srcw, SLJIT_UNUSED, 0); ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ return emit_prefetch(compiler, op, src, srcw); ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) + { + CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +diff --git a/sljit/sljitUtils.c b/sljit/sljitUtils.c +index 857492a..972cad9 100644 +--- a/sljit/sljitUtils.c ++++ b/sljit/sljitUtils.c +@@ -152,15 +152,23 @@ SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void) + + #ifdef _WIN32 + #include "windows.h" +-#else ++#else /* !_WIN32 */ + /* Provides mmap function. */ + #include + #include ++ + #ifndef MAP_ANON + #ifdef MAP_ANONYMOUS + #define MAP_ANON MAP_ANONYMOUS +-#endif +-#endif ++#endif /* MAP_ANONYMOUS */ ++#endif /* !MAP_ANON */ ++ ++#ifndef MADV_DONTNEED ++#ifdef POSIX_MADV_DONTNEED ++#define MADV_DONTNEED POSIX_MADV_DONTNEED ++#endif /* POSIX_MADV_DONTNEED */ ++#endif /* !MADV_DONTNEED */ ++ + /* For detecting the page size. */ + #include + +@@ -198,35 +206,83 @@ static SLJIT_INLINE sljit_s32 open_dev_zero(void) + + #endif /* SLJIT_SINGLE_THREADED */ + +-#endif ++#endif /* !MAP_ANON */ + +-#endif ++#endif /* _WIN32 */ + + #endif /* SLJIT_UTIL_STACK || SLJIT_EXECUTABLE_ALLOCATOR */ + + #if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) + +-/* Planning to make it even more clever in the future. */ +-static sljit_sw sljit_page_align = 0; ++#if (defined SLJIT_UTIL_SIMPLE_STACK_ALLOCATION && SLJIT_UTIL_SIMPLE_STACK_ALLOCATION) + + SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(sljit_uw start_size, sljit_uw max_size, void *allocator_data) + { + struct sljit_stack *stack; + void *ptr; +-#ifdef _WIN32 +- SYSTEM_INFO si; +-#endif + + SLJIT_UNUSED_ARG(allocator_data); ++ + if (start_size > max_size || start_size < 1) + return NULL; + ++ stack = (struct sljit_stack*)SLJIT_MALLOC(sizeof(struct sljit_stack), allocator_data); ++ if (stack == NULL) ++ return NULL; ++ ++ ptr = SLJIT_MALLOC(max_size, allocator_data); ++ if (ptr == NULL) { ++ SLJIT_FREE(stack, allocator_data); ++ return NULL; ++ } ++ ++ stack->min_start = (sljit_u8 *)ptr; ++ stack->end = stack->min_start + max_size; ++ stack->start = stack->end - start_size; ++ stack->top = stack->end; ++ return stack; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) ++{ ++ SLJIT_UNUSED_ARG(allocator_data); ++ SLJIT_FREE((void*)stack->min_start, allocator_data); ++ SLJIT_FREE(stack, allocator_data); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_stack *stack, sljit_u8 *new_start) ++{ ++ if ((new_start < stack->min_start) || (new_start >= stack->end)) ++ return NULL; ++ stack->start = new_start; ++ return new_start; ++} ++ ++#else /* !SLJIT_UTIL_SIMPLE_STACK_ALLOCATION */ ++ + #ifdef _WIN32 ++ ++SLJIT_INLINE static sljit_sw get_page_alignment(void) { ++ SYSTEM_INFO si; ++ static sljit_sw sljit_page_align; + if (!sljit_page_align) { + GetSystemInfo(&si); + sljit_page_align = si.dwPageSize - 1; + } +-#else ++ return sljit_page_align; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) ++{ ++ SLJIT_UNUSED_ARG(allocator_data); ++ VirtualFree((void*)stack->min_start, 0, MEM_RELEASE); ++ SLJIT_FREE(stack, allocator_data); ++} ++ ++#else /* ! defined _WIN32 */ ++ ++SLJIT_INLINE static sljit_sw get_page_alignment(void) { ++ static sljit_sw sljit_page_align; + if (!sljit_page_align) { + sljit_page_align = sysconf(_SC_PAGESIZE); + /* Should never happen. */ +@@ -234,14 +290,36 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(slj + sljit_page_align = 4096; + sljit_page_align--; + } +-#endif ++ return sljit_page_align; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) ++{ ++ SLJIT_UNUSED_ARG(allocator_data); ++ munmap((void*)stack->min_start, stack->end - stack->min_start); ++ SLJIT_FREE(stack, allocator_data); ++} ++ ++#endif /* defined _WIN32 */ ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(sljit_uw start_size, sljit_uw max_size, void *allocator_data) ++{ ++ struct sljit_stack *stack; ++ void *ptr; ++ sljit_sw page_align; ++ ++ SLJIT_UNUSED_ARG(allocator_data); ++ ++ if (start_size > max_size || start_size < 1) ++ return NULL; + + stack = (struct sljit_stack*)SLJIT_MALLOC(sizeof(struct sljit_stack), allocator_data); +- if (!stack) ++ if (stack == NULL) + return NULL; + + /* Align max_size. */ +- max_size = (max_size + sljit_page_align) & ~sljit_page_align; ++ page_align = get_page_alignment(); ++ max_size = (max_size + page_align) & ~page_align; + + #ifdef _WIN32 + ptr = VirtualAlloc(NULL, max_size, MEM_RESERVE, PAGE_READWRITE); +@@ -258,18 +336,18 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(slj + sljit_free_stack(stack, allocator_data); + return NULL; + } +-#else ++#else /* !_WIN32 */ + #ifdef MAP_ANON + ptr = mmap(NULL, max_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); +-#else ++#else /* !MAP_ANON */ + if (dev_zero < 0) { +- if (open_dev_zero()) { ++ if (open_dev_zero() != 0) { + SLJIT_FREE(stack, allocator_data); + return NULL; + } + } + ptr = mmap(NULL, max_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, dev_zero, 0); +-#endif ++#endif /* MAP_ANON */ + if (ptr == MAP_FAILED) { + SLJIT_FREE(stack, allocator_data); + return NULL; +@@ -277,35 +355,28 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(slj + stack->min_start = (sljit_u8 *)ptr; + stack->end = stack->min_start + max_size; + stack->start = stack->end - start_size; +-#endif ++#endif /* _WIN32 */ ++ + stack->top = stack->end; + return stack; + } + +-#undef PAGE_ALIGN +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) +-{ +- SLJIT_UNUSED_ARG(allocator_data); +-#ifdef _WIN32 +- VirtualFree((void*)stack->min_start, 0, MEM_RELEASE); +-#else +- munmap((void*)stack->min_start, stack->end - stack->min_start); +-#endif +- SLJIT_FREE(stack, allocator_data); +-} +- + SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_stack *stack, sljit_u8 *new_start) + { ++#if defined _WIN32 || defined(MADV_DONTNEED) + sljit_uw aligned_old_start; + sljit_uw aligned_new_start; ++ sljit_sw page_align; ++#endif + + if ((new_start < stack->min_start) || (new_start >= stack->end)) + return NULL; + + #ifdef _WIN32 +- aligned_new_start = (sljit_uw)new_start & ~sljit_page_align; +- aligned_old_start = ((sljit_uw)stack->start) & ~sljit_page_align; ++ page_align = get_page_alignment(); ++ ++ aligned_new_start = (sljit_uw)new_start & ~page_align; ++ aligned_old_start = ((sljit_uw)stack->start) & ~page_align; + if (aligned_new_start != aligned_old_start) { + if (aligned_new_start < aligned_old_start) { + if (!VirtualAlloc((void*)aligned_new_start, aligned_old_start - aligned_new_start, MEM_COMMIT, PAGE_READWRITE)) +@@ -316,24 +387,24 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_st + return NULL; + } + } +-#else ++#elif defined(MADV_DONTNEED) + if (stack->start < new_start) { +- aligned_new_start = (sljit_uw)new_start & ~sljit_page_align; +- aligned_old_start = ((sljit_uw)stack->start) & ~sljit_page_align; ++ page_align = get_page_alignment(); ++ ++ aligned_new_start = (sljit_uw)new_start & ~page_align; ++ aligned_old_start = ((sljit_uw)stack->start) & ~page_align; + /* If madvise is available, we release the unnecessary space. */ +-#if defined(MADV_DONTNEED) + if (aligned_new_start > aligned_old_start) + madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, MADV_DONTNEED); +-#elif defined(POSIX_MADV_DONTNEED) +- if (aligned_new_start > aligned_old_start) +- posix_madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, POSIX_MADV_DONTNEED); +-#endif + } +-#endif ++#endif /* _WIN32 */ ++ + stack->start = new_start; + return new_start; + } + ++#endif /* SLJIT_UTIL_SIMPLE_STACK_ALLOCATION */ ++ + #endif /* SLJIT_UTIL_STACK */ + + #endif +-- +2.34.1 + diff --git a/main/pcre/0002-pcre-Pass-mshstk-to-the-compiler-when-Intel-CET-is-enable.patch b/main/pcre/0002-pcre-Pass-mshstk-to-the-compiler-when-Intel-CET-is-enable.patch new file mode 100644 index 00000000..8b678d87 --- /dev/null +++ b/main/pcre/0002-pcre-Pass-mshstk-to-the-compiler-when-Intel-CET-is-enable.patch @@ -0,0 +1,98 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sun, 20 Dec 2020 13:55:40 -0800 +Subject: [PATCH 2/2] Pass -mshstk to the compiler when Intel CET is enable + +Copied from PCRE2. +--- + CMakeLists.txt | 18 ++++++++++++++++++ + Makefile.am | 3 +++ + configure.ac | 15 +++++++++++++++ + 3 files changed, 36 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 858a34b..74c27e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -112,6 +112,24 @@ CHECK_FUNCTION_EXISTS(_strtoi64 HAVE__STRTOI64) + CHECK_TYPE_SIZE("long long" LONG_LONG) + CHECK_TYPE_SIZE("unsigned long long" UNSIGNED_LONG_LONG) + ++# Check whether Intel CET is enabled, and if so, adjust compiler flags. This ++# code was written by PH, trying to imitate the logic from the autotools ++# configuration. ++ ++CHECK_C_SOURCE_COMPILES( ++ "#ifndef __CET__ ++ #error CET is not enabled ++ #endif ++ int main() { return 0; }" ++ INTEL_CET_ENABLED ++) ++ ++IF (INTEL_CET_ENABLED) ++ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mshstk") ++ENDIF(INTEL_CET_ENABLED) ++ ++ ++ + # User-configurable options + # + # (Note: CMakeSetup displays these in alphabetical order, regardless of +diff --git a/Makefile.am b/Makefile.am +index 22b6947..984c686 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -250,6 +250,7 @@ libpcre_la_SOURCES = \ + + libpcre_la_CFLAGS = \ + $(VISIBILITY_CFLAGS) \ ++ $(CET_CFLAGS) \ + $(AM_CFLAGS) + + libpcre_la_LIBADD = +@@ -289,6 +290,7 @@ libpcre16_la_SOURCES = \ + + libpcre16_la_CFLAGS = \ + $(VISIBILITY_CFLAGS) \ ++ $(CET_CFLAGS) \ + $(AM_CFLAGS) + + libpcre16_la_LIBADD = +@@ -328,6 +330,7 @@ libpcre32_la_SOURCES = \ + + libpcre32_la_CFLAGS = \ + $(VISIBILITY_CFLAGS) \ ++ $(CET_CFLAGS) \ + $(AM_CFLAGS) + + libpcre32_la_LIBADD = +diff --git a/configure.ac b/configure.ac +index 6a3e5f3..15f37d1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1043,6 +1043,21 @@ fi # enable_coverage + + AM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"]) + ++AC_MSG_CHECKING([whether Intel CET is enabled]) ++AC_LANG_PUSH([C]) ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, ++ [[#ifndef __CET__ ++# error CET is not enabled ++#endif]])], ++ [intel_cet_enabled=yes], ++ [intel_cet_enabled=no]) ++AC_MSG_RESULT([$intel_cet_enabled]) ++if test "$intel_cet_enabled" = yes; then ++ CET_CFLAGS="-mshstk" ++ AC_SUBST([CET_CFLAGS]) ++fi ++AC_LANG_POP([C]) ++ + # Produce these files, in addition to config.h. + AC_CONFIG_FILES( + Makefile +-- +2.34.1 + diff --git a/main/pcre/PKGBUILD b/main/pcre/PKGBUILD new file mode 100644 index 00000000..1bd6ff8f --- /dev/null +++ b/main/pcre/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pcre +pkgver=%version% +pkgrel=%release% +pkgdesc='A deprecated library that implements Perl 5-style regular expressions' +arch=('x86_64') +url='https://www.pcre.org/' +license=('BSD') +depends=('glibc' 'gcc-libs' 'readline' 'zlib' 'bzip2' 'bash') +provides=(libpcre{,16,32,posix,cpp}.so) +source=("https://sourceforge.net/projects/pcre/files/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2"{,.sig} + '0001-pcre-JIT-compiler-update-for-Intel-CET.patch' + '0002-pcre-Pass-mshstk-to-the-compiler-when-Intel-CET-is-enable.patch') +sha256sums=('4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8' + 'SKIP' + '86e2fe1193f2dfaa5e3f3866c6be42a9cd0dddc5623f1658203a4dc73a4526f7' + 'a44ffb942d585c2c95036f91529063738b1c373fcd26a3e2dc95ae76b1f3c3db') +validpgpkeys=('45F68D54BBE23FB3039B46E59766E084FB0F43D8') # Philip Hazel + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + autoreconf -fi +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --enable-unicode-properties \ + --enable-pcre16 \ + --enable-pcre32 \ + --enable-jit \ + --enable-pcregrep-libz \ + --enable-pcregrep-libbz2 \ + --enable-pcretest-libreadline + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make -j1 check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/pcre/README b/main/pcre/README new file mode 100644 index 00000000..c288ea9e --- /dev/null +++ b/main/pcre/README @@ -0,0 +1,43 @@ +pcre +________________________________________________________________________________ + +A deprecated library that implements Perl 5-style regular expressions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pcre | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.pcre.org/ diff --git a/main/pcre/version b/main/pcre/version new file mode 100644 index 00000000..d04f9c0d --- /dev/null +++ b/main/pcre/version @@ -0,0 +1 @@ +8.45 4 diff --git a/main/pcre2/.PKGINFO b/main/pcre2/.PKGINFO new file mode 100644 index 00000000..98948367 --- /dev/null +++ b/main/pcre2/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = pcre2 +pkgbase = pcre2 +xdata = pkgtype=pkg +pkgver = 10.44-1 +pkgdesc = A library that implements Perl 5-style regular expressions. 2nd version +url = https://github.com/PCRE2Project/pcre2 +builddate = 1718491905 +packager = Developer +size = 6703323 +arch = x86_64 +license = BSD-3-Clause +provides = libpcre2-8.so=0-64 +provides = libpcre2-16.so=0-64 +provides = libpcre2-32.so=0-64 +provides = libpcre2-posix.so=3-64 +depend = bzip2 +depend = glibc +depend = readline +depend = zlib +optdepend = sh: for pcre2-config diff --git a/main/pcre2/.nvchecker.toml b/main/pcre2/.nvchecker.toml new file mode 100644 index 00000000..b5b2aec0 --- /dev/null +++ b/main/pcre2/.nvchecker.toml @@ -0,0 +1,4 @@ +[pcre2] +source = "git" +git = "https://github.com/PCRE2Project/pcre2" +prefix = "pcre2-" diff --git a/main/pcre2/PKGBUILD b/main/pcre2/PKGBUILD new file mode 100644 index 00000000..bb2c14a2 --- /dev/null +++ b/main/pcre2/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: Developer +# Maintainer: Developer +# Based on the pcre package by Sébastien "Seblu" Luttringer + +pkgname=pcre2 +pkgver=%version% +pkgrel=%release% +pkgdesc='A library that implements Perl 5-style regular expressions. 2nd version' +arch=('x86_64') +url='https://github.com/PCRE2Project/pcre2' +license=('BSD-3-Clause') +depends=('bzip2' 'glibc' 'readline' 'zlib') +optdepends=('sh: for pcre2-config') +provides=(libpcre2-{8,16,32,posix}.so) +options=(staticlibs) +source=("$url/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2"{,.sig} + https://github.com/zherczeg/sljit/commit/56dbde07b05252f0b304b04040a86cfb9f109ae9.patch + https://github.com/zherczeg/sljit/commit/ad89dd8ecd25589d236bd20b36f2abf69f938fd1.patch) +sha512sums=('8ac1520c32e9e5672404aaf6104e23c9ee5c3c28ad28ff101435599d813cbb20e0491a3fd34e012b4411b3e0366a4c6dfa3f02d093acaa6ff0ab25478bb7ade9' + 'SKIP' + '4379a06a142a9c9dc61298e86c722f1f2b6d83493acda8e472c866093b3e2192d315998c5a87dfd231739394d5c809c05415126084b18f80a002ee8861c0ed4f' + '9548da45cb030f53b634a9ba340687d04bd6c5b88ffd78932f231a4092e5cc99b0698941fbd4f88d9a905bed0d0a85c5da697da9a531c4c4efc8f7578d0ffefe') +b2sums=('f87f9f36dd6a806cdba1f077f51b53da2583f1898f83e41d594622b28ac8efbc1b2d122b752a9d6cd461fe0e3c7c85ee93358443df518a336da4ee9d72cca808' + 'SKIP' + '736aa7eaa2ed571117f545ae78151fda6a5ef5935bf70f132b1d20d0ff6e46543194f409a02eac727a8209fb0d25e6870705e8a95b3feb07e799d288fd852822' + '9ad1b0dca06cf3620158458e26c2007fb46990bdf178a75a621be5c665e8726990789510827829e9c480cbebee0b3b5da27f9857e3b19019307e4959671dfbac') +validpgpkeys=('45F68D54BBE23FB3039B46E59766E084FB0F43D8') # Philip Hazel + +build() { + cd $pkgname-$pkgver + # Fix AVX detection + # [PATCH] Add xgetbv feature detection support on x86 + patch -Np2 -i "$srcdir"/56dbde07b05252f0b304b04040a86cfb9f109ae9.patch -d src/sljit + + # Fix thread-safety issue in sljit's allocator + # [PATCH] Fix locking region in sjlit_malloc_exec + patch -Np2 -i "$srcdir"/ad89dd8ecd25589d236bd20b36f2abf69f938fd1.patch -d src/sljit + + # use fat LTO objects for static libraries + CFLAGS+=" -ffat-lto-objects" + CXXFLAGS+=" -ffat-lto-objects" + + ./configure \ + --prefix=/usr \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-jit \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libreadline + make +} + +check() { + cd $pkgname-$pkgver + make -j1 check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/pcre2/README b/main/pcre2/README new file mode 100644 index 00000000..4ce846b6 --- /dev/null +++ b/main/pcre2/README @@ -0,0 +1,43 @@ +pcre2 +________________________________________________________________________________ + +A library that implements Perl 5-style regular expressions. 2nd version + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pcre2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/PCRE2Project/pcre2 diff --git a/main/pcre2/version b/main/pcre2/version new file mode 100644 index 00000000..9453cd89 --- /dev/null +++ b/main/pcre2/version @@ -0,0 +1 @@ +10.44 1 diff --git a/main/pcsclite/.PKGINFO b/main/pcsclite/.PKGINFO new file mode 100644 index 00000000..74fb80fd --- /dev/null +++ b/main/pcsclite/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = pcsclite +pkgbase = pcsclite +xdata = pkgtype=pkg +pkgver = 2.2.2-1 +pkgdesc = PC/SC Architecture smartcard middleware library +url = https://pcsclite.apdu.fr/ +builddate = 1716253276 +packager = Developer +size = 315656 +arch = x86_64 +license = BSD-3-Clause +license = GPL-3.0-or-later +license = BSD-2-Clause +license = 0BSD +provides = libpcsclite.so=1-64 +provides = libpcsclite_real.so=1-64 +provides = libpcscspy.so=0-64 +depend = libsystemd.so=0-64 +depend = libudev.so=1-64 +depend = libpolkit-gobject-1.so=0-64 +optdepend = python: API call trace logging with the pcsc-spy +optdepend = ccid: USB Chip/Smart Card Interface Devices driver +makedepend = git +makedepend = meson +makedepend = polkit +makedepend = systemd diff --git a/main/pcsclite/PKGBUILD b/main/pcsclite/PKGBUILD new file mode 100644 index 00000000..4bfed852 --- /dev/null +++ b/main/pcsclite/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pcsclite +pkgver=%version% +pkgrel=%release% +pkgdesc="PC/SC Architecture smartcard middleware library" +arch=('x86_64') +url='https://pcsclite.apdu.fr/' +license=('BSD') +depends=('libsystemd.so' 'libudev.so' 'libpolkit-gobject-1.so') +makedepends=('systemd' 'polkit') +optdepends=( + 'python: API call trace logging with the pcsc-spy' + 'ccid: USB Chip/Smart Card Interface Devices driver' +) +provides=('libpcsclite.so' 'libpcscspy.so') +validpgpkeys=('F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E') # Ludovic Rousseau +source=("https://pcsclite.apdu.fr/files/pcsc-lite-${pkgver}.tar.bz2"{,.asc}) +sha256sums=('f42ee9efa489e9ff5d328baefa26f9c515be65021856e78d99ad1f0ead9ec85d' + 'SKIP') + +build() { + cd "pcsc-lite-$pkgver" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --enable-filter \ + --enable-ipcdir=/run/pcscd \ + --enable-libudev \ + --enable-usbdropdir=/usr/lib/pcsc/drivers \ + --enable-polkit \ + --with-systemdsystemunitdir=/usr/lib/systemd/system + + make +} + +package() { + cd "pcsc-lite-$pkgver" + make DESTDIR="$pkgdir" install + + install -D -m0644 "$srcdir/pcsc-lite-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -d "$pkgdir/usr/lib/pcsc/drivers" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/pcsclite/README b/main/pcsclite/README new file mode 100644 index 00000000..7e5ccf1e --- /dev/null +++ b/main/pcsclite/README @@ -0,0 +1,43 @@ +pcsclite +________________________________________________________________________________ + +PC/SC Architecture smartcard middleware library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pcsclite | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pcsclite.apdu.fr/ diff --git a/main/pcsclite/version b/main/pcsclite/version new file mode 100644 index 00000000..da648f8d --- /dev/null +++ b/main/pcsclite/version @@ -0,0 +1 @@ +2.2.2 1 diff --git a/main/perl-clone/PKGBUILD b/main/perl-clone/PKGBUILD new file mode 100644 index 00000000..4936b5bf --- /dev/null +++ b/main/perl-clone/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-clone +pkgver=%version% +pkgrel=%release% +pkgdesc='Recursive copy of nested objects.' +arch=('x86_64') +url='https://github.com/garu/Clone' +license=('GPL' 'PerlArtistic') +depends=('perl') +checkdepends=('perl-b-cow') +options=('!emptydirs') +source=("https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-$pkgver.tar.gz") +sha512sums=('f8bb1010364e94c7cc8bba25681cd9fd737ec2935a8be960ac53099359729fc679190a115dd082fccd239b35762dee2b3be3adbddce37e4ceae6fe934fbad545') + +build() { + cd Clone-$pkgver + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd Clone-$pkgver + make test +} + +package() { + cd Clone-$pkgver + make DESTDIR="$pkgdir" install + find "$pkgdir" -name '.packlist' -delete + find "$pkgdir" -name '*.pod' -delete +} diff --git a/main/perl-clone/README b/main/perl-clone/README new file mode 100644 index 00000000..bf0cc317 --- /dev/null +++ b/main/perl-clone/README @@ -0,0 +1,43 @@ +perl-clone +________________________________________________________________________________ + +Recursive copy of nested objects. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-clone | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/garu/Clone diff --git a/main/perl-clone/version b/main/perl-clone/version new file mode 100644 index 00000000..bc47f714 --- /dev/null +++ b/main/perl-clone/version @@ -0,0 +1 @@ +0.46 2 diff --git a/main/perl-encode-locale/PKGBUILD b/main/perl-encode-locale/PKGBUILD new file mode 100644 index 00000000..f6262695 --- /dev/null +++ b/main/perl-encode-locale/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-encode-locale +pkgver=%version% +pkgrel=%release% +pkgdesc="Determine the locale encoding" +arch=('any') +url="https://search.cpan.org/dist/Encode-Locale" +license=('PerlArtistic' 'GPL') +depends=('perl') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-$pkgver.tar.gz) +sha256sums=('176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1') + +build() { + cd Encode-Locale-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd Encode-Locale-$pkgver + make test +} + +package() { + cd Encode-Locale-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-encode-locale/README b/main/perl-encode-locale/README new file mode 100644 index 00000000..c980f895 --- /dev/null +++ b/main/perl-encode-locale/README @@ -0,0 +1,43 @@ +perl-encode-locale +________________________________________________________________________________ + +Determine the locale encoding + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-encode-locale | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/Encode-Locale diff --git a/main/perl-encode-locale/version b/main/perl-encode-locale/version new file mode 100644 index 00000000..951856f8 --- /dev/null +++ b/main/perl-encode-locale/version @@ -0,0 +1 @@ +1.05 11 diff --git a/main/perl-file-listing/PKGBUILD b/main/perl-file-listing/PKGBUILD new file mode 100644 index 00000000..64b23df8 --- /dev/null +++ b/main/perl-file-listing/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-file-listing +pkgver=%version% +pkgrel=%release% +pkgdesc="parse directory listing" +arch=('any') +url="https://search.cpan.org/dist/File-Listing" +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-http-date') +options=('!emptydirs') +source=("https://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/File-Listing-${pkgver}.tar.gz") +sha512sums=('2d18f0cf7dbf30bb752c5d70132e90dd346e6fb795cb61664b8f11bfba67ec357235f5cb5a87752cf65ba9d000a6c7976548f0aed0f833048ca1b06aed991eca') + +build() { + cd File-Listing-${pkgver} + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd File-Listing-${pkgver} + make test +} + +package() { + cd File-Listing-${pkgver} + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-file-listing/README b/main/perl-file-listing/README new file mode 100644 index 00000000..b5ae1300 --- /dev/null +++ b/main/perl-file-listing/README @@ -0,0 +1,43 @@ +perl-file-listing +________________________________________________________________________________ + +parse directory listing + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-file-listing | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/File-Listing diff --git a/main/perl-file-listing/version b/main/perl-file-listing/version new file mode 100644 index 00000000..45dd9f13 --- /dev/null +++ b/main/perl-file-listing/version @@ -0,0 +1 @@ +6.16 2 diff --git a/main/perl-html-parser/.PKGINFO b/main/perl-html-parser/.PKGINFO new file mode 100644 index 00000000..e7b7a46c --- /dev/null +++ b/main/perl-html-parser/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = perl-html-parser +pkgbase = perl-html-parser +xdata = pkgtype=pkg +pkgver = 3.82-1 +pkgdesc = Perl HTML parser class +url = https://search.cpan.org/dist/HTML-Parser/ +builddate = 1715739135 +packager = Developer +size = 335654 +arch = x86_64 +license = PerlArtistic +depend = perl-html-tagset +depend = perl-http-message +depend = perl-uri diff --git a/main/perl-html-parser/PKGBUILD b/main/perl-html-parser/PKGBUILD new file mode 100644 index 00000000..40195cff --- /dev/null +++ b/main/perl-html-parser/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-html-parser +pkgver=%version% +pkgrel=%release% +pkgdesc="Perl HTML parser class" +arch=('x86_64') +license=('PerlArtistic') +url="https://search.cpan.org/dist/HTML-Parser/" +depends=('perl-html-tagset' 'perl-http-message' 'perl-uri') +options=('!emptydirs') +source=(https://www.cpan.org/authors/id/O/OA/OALDERS/HTML-Parser-$pkgver.tar.gz) +sha512sums=('e20358d3182ed6796fb5584f26f7dfb32fe312c8ed6cd4303ebfd2d9609491cb470bf49109d485a040e59a55bb404b1abba9a7ad5a687c540945f60a606e44ad') + +build() { + cd HTML-Parser-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTML-Parser-$pkgver + make test +} + +package() { + cd HTML-Parser-$pkgver + make install DESTDIR="${pkgdir}" +} diff --git a/main/perl-html-parser/README b/main/perl-html-parser/README new file mode 100644 index 00000000..44bb230b --- /dev/null +++ b/main/perl-html-parser/README @@ -0,0 +1,43 @@ +perl-html-parser +________________________________________________________________________________ + +Perl HTML parser class + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-html-parser | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTML-Parser/ diff --git a/main/perl-html-parser/version b/main/perl-html-parser/version new file mode 100644 index 00000000..e035aa01 --- /dev/null +++ b/main/perl-html-parser/version @@ -0,0 +1 @@ +3.82 1 diff --git a/main/perl-html-tagset/PKGBUILD b/main/perl-html-tagset/PKGBUILD new file mode 100644 index 00000000..556a72f0 --- /dev/null +++ b/main/perl-html-tagset/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer +# Conributor: kevin + +pkgname=perl-html-tagset +pkgver=%version% +pkgrel=%release% +pkgdesc="Data tables useful in parsing HTML" +arch=('any') +license=('PerlArtistic') +url="https://search.cpan.org/dist/HTML-Tagset/" +depends=('perl') +options=(!emptydirs) +source=(https://www.cpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-$pkgver.tar.gz) +sha256sums=('adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2') + +build() { + cd HTML-Tagset-$pkgver + # install module in vendor directories. + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTML-Tagset-$pkgver + make test +} + +package() { + cd HTML-Tagset-$pkgver + make install DESTDIR="$pkgdir" +} + +# vim: ts=2 sw=2 et ft=sh diff --git a/main/perl-html-tagset/README b/main/perl-html-tagset/README new file mode 100644 index 00000000..0da4fb78 --- /dev/null +++ b/main/perl-html-tagset/README @@ -0,0 +1,43 @@ +perl-html-tagset +________________________________________________________________________________ + +Data tables useful in parsing HTML + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-html-tagset | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTML-Tagset/ diff --git a/main/perl-html-tagset/version b/main/perl-html-tagset/version new file mode 100644 index 00000000..022ec596 --- /dev/null +++ b/main/perl-html-tagset/version @@ -0,0 +1 @@ +3.20 14 diff --git a/main/perl-http-cookiejar/PKGBUILD b/main/perl-http-cookiejar/PKGBUILD new file mode 100644 index 00000000..d1e3074b --- /dev/null +++ b/main/perl-http-cookiejar/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-http-cookiejar +pkgver=%version% +pkgrel=%release% +pkgdesc='A minimalist HTTP user agent cookie jar' +_dist='HTTP-CookieJar' +arch=(any) +url="http://search.cpan.org/dist/HTTP-CookieJar" +license=(Apache) +depends=(perl-http-date) +checkdepends=(perl-test-deep perl-test-requires perl-http-message) +options=(!emptydirs) +source=(http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/$_dist-$pkgver.tar.gz) +sha256sums=('7094ea5c91f536d263b85e83ab4e9a963e11c4408ce08ecae553fa9c0cc47e73') + +build() ( + cd $_dist-$pkgver + unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT + export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps + perl Makefile.PL INSTALLDIRS=vendor + make +) + +check() ( + cd $_dist-$pkgver + unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT + export PERL_MM_USE_DEFAULT=1 + make test +) + +package() ( + cd $_dist-$pkgver + unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT + make install INSTALLDIRS=vendor DESTDIR="$pkgdir" +) diff --git a/main/perl-http-cookiejar/README b/main/perl-http-cookiejar/README new file mode 100644 index 00000000..a4854056 --- /dev/null +++ b/main/perl-http-cookiejar/README @@ -0,0 +1,43 @@ +perl-http-cookiejar +________________________________________________________________________________ + +A minimalist HTTP user agent cookie jar + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-cookiejar | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://search.cpan.org/dist/HTTP-CookieJar diff --git a/main/perl-http-cookiejar/version b/main/perl-http-cookiejar/version new file mode 100644 index 00000000..739b4cf8 --- /dev/null +++ b/main/perl-http-cookiejar/version @@ -0,0 +1 @@ +0.014 1 diff --git a/main/perl-http-cookies/PKGBUILD b/main/perl-http-cookies/PKGBUILD new file mode 100644 index 00000000..e34d2165 --- /dev/null +++ b/main/perl-http-cookies/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-http-cookies +pkgver=%version% +pkgrel=%release% +pkgdesc="HTTP cookie jars" +arch=('any') +url="https://search.cpan.org/dist/HTTP-Cookies" +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-http-date' 'perl-http-message') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Cookies-$pkgver.tar.gz) +sha512sums=('3ebfa742407a623fdcb23fe7fc559a1667b9510c4c152f98c6d98bcea3df6f336183920636244cd5175b9e9ada4a599bae87433c1ea518739b4eac90a4ca5342') + +build() { + cd HTTP-Cookies-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTTP-Cookies-$pkgver + make test +} + +package() { + cd HTTP-Cookies-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-http-cookies/README b/main/perl-http-cookies/README new file mode 100644 index 00000000..c19531b0 --- /dev/null +++ b/main/perl-http-cookies/README @@ -0,0 +1,43 @@ +perl-http-cookies +________________________________________________________________________________ + +HTTP cookie jars + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-cookies | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTTP-Cookies diff --git a/main/perl-http-cookies/version b/main/perl-http-cookies/version new file mode 100644 index 00000000..d58428c9 --- /dev/null +++ b/main/perl-http-cookies/version @@ -0,0 +1 @@ +6.11 1 diff --git a/main/perl-http-daemon/PKGBUILD b/main/perl-http-daemon/PKGBUILD new file mode 100644 index 00000000..4790ad07 --- /dev/null +++ b/main/perl-http-daemon/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-http-daemon +pkgver=%version% +pkgrel=%release% +pkgdesc="Simple http server class" +arch=('any') +url='https://metacpan.org/pod/HTTP::Daemon' +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-http-date' 'perl-http-message' 'perl-lwp-mediatypes') +makedepends=('perl-module-build-tiny') +checkdepends=('perl-test-needs') +options=('!emptydirs') +source=(https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-${pkgver}.tar.gz) +sha256sums=('b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d') + +build() { + cd HTTP-Daemon-${pkgver} + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTTP-Daemon-${pkgver} + make test +} + +package() { + cd HTTP-Daemon-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/perl-http-daemon/README b/main/perl-http-daemon/README new file mode 100644 index 00000000..e202188f --- /dev/null +++ b/main/perl-http-daemon/README @@ -0,0 +1,43 @@ +perl-http-daemon +________________________________________________________________________________ + +Simple http server class + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-daemon | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://metacpan.org/pod/HTTP::Daemon diff --git a/main/perl-http-daemon/version b/main/perl-http-daemon/version new file mode 100644 index 00000000..45dd9f13 --- /dev/null +++ b/main/perl-http-daemon/version @@ -0,0 +1 @@ +6.16 2 diff --git a/main/perl-http-date/PKGBUILD b/main/perl-http-date/PKGBUILD new file mode 100644 index 00000000..590f30cf --- /dev/null +++ b/main/perl-http-date/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-http-date +pkgver=%version% +pkgrel=%release% +pkgdesc="Date conversion routines" +arch=('any') +url="https://search.cpan.org/dist/HTTP-Date" +license=('PerlArtistic' 'GPL') +depends=('perl-timedate') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Date-$pkgver.tar.gz) +sha256sums=('7b685191c6acc3e773d1fc02c95ee1f9fae94f77783175f5e78c181cc92d2b52') + +build() { + cd HTTP-Date-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTTP-Date-$pkgver + make test +} + +package() { + cd HTTP-Date-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-http-date/README b/main/perl-http-date/README new file mode 100644 index 00000000..d3f8ffa0 --- /dev/null +++ b/main/perl-http-date/README @@ -0,0 +1,43 @@ +perl-http-date +________________________________________________________________________________ + +Date conversion routines + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-date | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTTP-Date diff --git a/main/perl-http-date/version b/main/perl-http-date/version new file mode 100644 index 00000000..67e20beb --- /dev/null +++ b/main/perl-http-date/version @@ -0,0 +1 @@ +6.06 1 diff --git a/main/perl-http-message/PKGBUILD b/main/perl-http-message/PKGBUILD new file mode 100644 index 00000000..985b6aa6 --- /dev/null +++ b/main/perl-http-message/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer +# Generator : pbjam 0.01 + +pkgname=perl-http-message +pkgver=%version% +pkgrel=%release% +pkgdesc="HTTP style messages" +arch=('any') +url='https://search.cpan.org/dist/HTTP-Message' +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +depends=('perl' 'perl-clone' 'perl-encode-locale' 'perl-http-date' 'perl-io-html' + 'perl-lwp-mediatypes' 'perl-uri') +checkdepends=('perl-io-compress-brotli' 'perl-test-needs' 'perl-try-tiny') +conflicts=('perl-libwww<6') +source=("https://github.com/libwww-perl/HTTP-Message/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('b55d7db05eb5e99a24ec41ee1b2ba51cf9c389d9433f43757f35a863a32b4e96ff14d70fc573d001959d4840844f935d1477d97b38691d1540c387f392ccfbd9') + +build() { + cd HTTP-Message-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTTP-Message-$pkgver + make test +} + +package() { + cd HTTP-Message-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/perl-http-message/README b/main/perl-http-message/README new file mode 100644 index 00000000..8b71e424 --- /dev/null +++ b/main/perl-http-message/README @@ -0,0 +1,43 @@ +perl-http-message +________________________________________________________________________________ + +HTTP style messages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-message | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTTP-Message diff --git a/main/perl-http-message/version b/main/perl-http-message/version new file mode 100644 index 00000000..ec5571aa --- /dev/null +++ b/main/perl-http-message/version @@ -0,0 +1 @@ +6.45 1 diff --git a/main/perl-http-negotiate/PKGBUILD b/main/perl-http-negotiate/PKGBUILD new file mode 100644 index 00000000..b221c995 --- /dev/null +++ b/main/perl-http-negotiate/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-http-negotiate +pkgver=%version% +pkgrel=%release% +pkgdesc="Choose a variant to serve" +arch=('any') +url="https://search.cpan.org/dist/HTTP-Negotiate" +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-http-message') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-$pkgver.tar.gz) +sha256sums=('1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016') + +build() { + cd HTTP-Negotiate-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd HTTP-Negotiate-$pkgver + make test +} + +package() { + cd HTTP-Negotiate-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-http-negotiate/README b/main/perl-http-negotiate/README new file mode 100644 index 00000000..0efa21ca --- /dev/null +++ b/main/perl-http-negotiate/README @@ -0,0 +1,43 @@ +perl-http-negotiate +________________________________________________________________________________ + +Choose a variant to serve + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-http-negotiate | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/HTTP-Negotiate diff --git a/main/perl-http-negotiate/version b/main/perl-http-negotiate/version new file mode 100644 index 00000000..219af9fb --- /dev/null +++ b/main/perl-http-negotiate/version @@ -0,0 +1 @@ +6.01 12 diff --git a/main/perl-io-html/PKGBUILD b/main/perl-io-html/PKGBUILD new file mode 100644 index 00000000..98f7bf49 --- /dev/null +++ b/main/perl-io-html/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-io-html +pkgver=%version% +pkgrel=%release% +pkgdesc="Open an HTML file with automatic charset detection" +arch=('any') +url='https://search.cpan.org/dist/IO-HTML' +depends=('perl') +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/C/CJ/CJM/IO-HTML-$pkgver.tar.gz) +sha512sums=('564fba7cfb50ef1cc78fa9e2b2200a20e305d098b8ceeb6f8478f0275cc48e4fb069386f5c318bc9deb43a5d590a78a995c04100bd440340f5c990eadc76a70f') + +build() { + export PERL_MM_USE_DEFAULT=1 PERL_MM_OPT="INSTALLDIRS=vendor" \ + PERL_MB_OPT="--installdirs vendor" + cd IO-HTML-$pkgver + perl Makefile.PL + make +} + +check() { + cd IO-HTML-$pkgver + make test +} + +package() { + cd IO-HTML-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-io-html/README b/main/perl-io-html/README new file mode 100644 index 00000000..71281e2a --- /dev/null +++ b/main/perl-io-html/README @@ -0,0 +1,43 @@ +perl-io-html +________________________________________________________________________________ + +Open an HTML file with automatic charset detection + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-io-html | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/IO-HTML diff --git a/main/perl-io-html/version b/main/perl-io-html/version new file mode 100644 index 00000000..f19401f9 --- /dev/null +++ b/main/perl-io-html/version @@ -0,0 +1 @@ +1.004 4 diff --git a/main/perl-libwww/PKGBUILD b/main/perl-libwww/PKGBUILD new file mode 100644 index 00000000..3749535f --- /dev/null +++ b/main/perl-libwww/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-libwww +pkgver=%version% +pkgrel=%release% +pkgdesc="The World-Wide Web library for Perl" +arch=('any') +url="https://metacpan.org/release/libwww-perl" +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-encode-locale' 'perl-file-listing' + 'perl-html-parser' 'perl-http-cookies' 'perl-http-daemon' 'perl-http-cookiejar' + 'perl-http-date' 'perl-http-negotiate' 'perl-lwp-mediatypes' + 'perl-net-http' 'perl-try-tiny' 'perl-uri' 'perl-www-robotrules') +optdepends=('perl-lwp-protocol-https: for https:// url schemes') +checkdepends=('perl-test-fatal' 'perl-test-needs' 'perl-test-requiresinternet') +options=('!emptydirs') +source=(https://cpan.metacpan.org/authors/id/O/OA/OALDERS/libwww-perl-$pkgver.tar.gz) +sha512sums=('2dd7052e2105b7bc8abe81742707e6a9aa9891316755171c275e8f547c65f97354a133027eeac93f1a1657ae986bdd9a74a9c887518acb8b5ea634e96910e57d') + +build() { + cd libwww-perl-$pkgver + perl Makefile.PL --aliases INSTALLDIRS=vendor + make +} + +check() { + cd libwww-perl-$pkgver + make test +} + +package() { + cd libwww-perl-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-libwww/README b/main/perl-libwww/README new file mode 100644 index 00000000..49701ab4 --- /dev/null +++ b/main/perl-libwww/README @@ -0,0 +1,43 @@ +perl-libwww +________________________________________________________________________________ + +The World-Wide Web library for Perl + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-libwww | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://metacpan.org/release/libwww-perl diff --git a/main/perl-libwww/version b/main/perl-libwww/version new file mode 100644 index 00000000..8235ee37 --- /dev/null +++ b/main/perl-libwww/version @@ -0,0 +1 @@ +6.72 1 diff --git a/main/perl-lwp-mediatypes/PKGBUILD b/main/perl-lwp-mediatypes/PKGBUILD new file mode 100644 index 00000000..da254b48 --- /dev/null +++ b/main/perl-lwp-mediatypes/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-lwp-mediatypes +pkgver=%version% +pkgrel=%release% +pkgdesc="Guess the media type of a file or a URL" +arch=('any') +url="https://metacpan.org/release/LWP-MediaTypes" +depends=('perl') +checkdepends=('perl-test-fatal') +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/LWP-MediaTypes-${pkgver}.tar.gz) +sha256sums=('8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9') + +build() { + cd "${srcdir}/LWP-MediaTypes-${pkgver}" + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "${srcdir}/LWP-MediaTypes-${pkgver}" + make test +} + +package() { + cd "${srcdir}/LWP-MediaTypes-${pkgver}" + make DESTDIR="$pkgdir" install +} diff --git a/main/perl-lwp-mediatypes/README b/main/perl-lwp-mediatypes/README new file mode 100644 index 00000000..cf3bf7a1 --- /dev/null +++ b/main/perl-lwp-mediatypes/README @@ -0,0 +1,43 @@ +perl-lwp-mediatypes +________________________________________________________________________________ + +Guess the media type of a file or a URL + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-lwp-mediatypes | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://metacpan.org/release/LWP-MediaTypes diff --git a/main/perl-lwp-mediatypes/version b/main/perl-lwp-mediatypes/version new file mode 100644 index 00000000..4a7807dc --- /dev/null +++ b/main/perl-lwp-mediatypes/version @@ -0,0 +1 @@ +6.04 4 diff --git a/main/perl-net-http/PKGBUILD b/main/perl-net-http/PKGBUILD new file mode 100644 index 00000000..a69fd5ed --- /dev/null +++ b/main/perl-net-http/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-net-http +pkgver=%version% +pkgrel=%release% +pkgdesc="Low-level HTTP connection (client)" +arch=('any') +url=https://search.cpan.org/dist/Net-HTTP +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +depends=('perl') +checkdepends=('perl-uri') +conflicts=('perl-libwww<6') +source=("https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-$pkgver.tar.gz") +sha512sums=('be926d12f6a8be504f221b54dbe9b1cbe1ff18b7dc8075ce308cc8c436ed9e4fe959516ce81c858a70de80df13cedd8cd78fd153cc5eb763f1bc3c9893ceaa05') + +build() { + export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \ + PERL_AUTOINSTALL=--skipdeps \ + PERL_MM_OPT="INSTALLDIRS=vendor" \ + PERL_MB_OPT="--installdirs vendor" \ + MODULEBUILDRC=/dev/null + + cd Net-HTTP-${pkgver} + /usr/bin/perl Makefile.PL + make +} + +check() { + export PERL_MM_USE_DEFAULT=1 PERL5LIB="" + cd Net-HTTP-${pkgver} + make test +} + +package() { + cd Net-HTTP-${pkgver} + make DESTDIR="$pkgdir" install +} + +# Local Variables: +# mode: shell-script +# sh-basic-offset: 2 +# End: +# vim:set ts=2 sw=2 et: diff --git a/main/perl-net-http/README b/main/perl-net-http/README new file mode 100644 index 00000000..f8d9eafd --- /dev/null +++ b/main/perl-net-http/README @@ -0,0 +1,43 @@ +perl-net-http +________________________________________________________________________________ + +Low-level HTTP connection (client) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-net-http | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/Net-HTTP diff --git a/main/perl-net-http/version b/main/perl-net-http/version new file mode 100644 index 00000000..b70987f4 --- /dev/null +++ b/main/perl-net-http/version @@ -0,0 +1 @@ +6.23 2 diff --git a/main/perl-timedate/PKGBUILD b/main/perl-timedate/PKGBUILD new file mode 100644 index 00000000..e7c346f2 --- /dev/null +++ b/main/perl-timedate/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-timedate +pkgver=%version% +pkgrel=%release% +pkgdesc="Date formating subroutines" +arch=('any') +license=('PerlArtistic') +url="https://search.cpan.org/dist/TimeDate/" +depends=('perl') +replaces=('timedate') +provides=('timedate') +options=('!emptydirs') +source=("https://www.cpan.org/authors/id/A/AT/ATOOMIC/TimeDate-$pkgver.tar.gz") +sha512sums=('a3a20a0d9439e68bf621c66fad0598e6257345727be79c87c7cc99994b3a58eb738787fedb720beb069e9758ad1347c15313f64411806dd0f4dfbcca5061c820') + +build() { + cd TimeDate-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd TimeDate-$pkgver + make test +} + +package() { + cd TimeDate-$pkgver + make install DESTDIR="$pkgdir" +} diff --git a/main/perl-timedate/README b/main/perl-timedate/README new file mode 100644 index 00000000..1245d90d --- /dev/null +++ b/main/perl-timedate/README @@ -0,0 +1,43 @@ +perl-timedate +________________________________________________________________________________ + +Date formating subroutines + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-timedate | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/TimeDate/ diff --git a/main/perl-timedate/version b/main/perl-timedate/version new file mode 100644 index 00000000..3fa3c5c3 --- /dev/null +++ b/main/perl-timedate/version @@ -0,0 +1 @@ +2.33 5 diff --git a/main/perl-try-tiny/PKGBUILD b/main/perl-try-tiny/PKGBUILD new file mode 100644 index 00000000..4d27fa10 --- /dev/null +++ b/main/perl-try-tiny/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-try-tiny +pkgver=%version% +pkgrel=%release% +pkgdesc="Minimal try/catch with proper localization of \$@" +arch=('any') +url="https://search.cpan.org/dist/Try-Tiny" +license=('MIT') +depends=('perl') +options=('!emptydirs') +source=("https://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Try-Tiny-${pkgver}.tar.gz") +sha512sums=('1a3c852e56797d81da60a4f4887cb70fc575eca83d10b8cd12fe5d5d0008a967801218f3a5277a2f1347ade95b9515c1f237333e491742d06614c0beecf44768') + +build() { + cd Try-Tiny-${pkgver} + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd Try-Tiny-${pkgver} + make test +} + +package() { + cd Try-Tiny-${pkgver} + make DESTDIR="$pkgdir" install + # upstream typo :/ + install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/perl-try-tiny/README b/main/perl-try-tiny/README new file mode 100644 index 00000000..466f2418 --- /dev/null +++ b/main/perl-try-tiny/README @@ -0,0 +1,43 @@ +perl-try-tiny +________________________________________________________________________________ + +Minimal try/catch with proper localization of $@ + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-try-tiny | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/Try-Tiny diff --git a/main/perl-try-tiny/version b/main/perl-try-tiny/version new file mode 100644 index 00000000..9c4a7de2 --- /dev/null +++ b/main/perl-try-tiny/version @@ -0,0 +1 @@ +0.31 3 diff --git a/main/perl-uri/PKGBUILD b/main/perl-uri/PKGBUILD new file mode 100644 index 00000000..794ebb58 --- /dev/null +++ b/main/perl-uri/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-uri +pkgver=%version% +pkgrel=%release% +pkgdesc="Uniform Resource Identifiers (absolute and relative)" +arch=('any') +url="https://search.cpan.org/dist/URI/" +license=('PerlArtistic') +depends=('perl') +checkdepends=('perl-test-fatal' 'perl-test-needs' 'perl-test-warnings') +options=('!emptydirs') +source=("https://cpan.metacpan.org/authors/id/O/OA/OALDERS/URI-$pkgver.tar.gz") +sha512sums=('0fb15c93d6bfd1842a3129d31ffd4d7c9fb9c735d5f45b5aaa07609edecd1b16191b7475aebd013c7a0e92894000d6982503654d306d82d477b52b33b058644f') + +build() { + cd URI-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd URI-$pkgver + make test +} + +package() { + cd URI-$pkgver + make install DESTDIR="$pkgdir" +} +# vim: ts=2 sw=2 et ft=sh diff --git a/main/perl-uri/README b/main/perl-uri/README new file mode 100644 index 00000000..4e64e25f --- /dev/null +++ b/main/perl-uri/README @@ -0,0 +1,43 @@ +perl-uri +________________________________________________________________________________ + +Uniform Resource Identifiers (absolute and relative) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-uri | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/URI/ diff --git a/main/perl-uri/version b/main/perl-uri/version new file mode 100644 index 00000000..4ecd51c4 --- /dev/null +++ b/main/perl-uri/version @@ -0,0 +1 @@ +5.21 1 diff --git a/main/perl-www-robotrules/PKGBUILD b/main/perl-www-robotrules/PKGBUILD new file mode 100644 index 00000000..5d10f6de --- /dev/null +++ b/main/perl-www-robotrules/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-www-robotrules +pkgver=%version% +pkgrel=%release% +pkgdesc="Database of robots.txt-derived permissions" +arch=('any') +url="https://metacpan.org/release/WWW-RobotRules" +license=('PerlArtistic' 'GPL') +depends=('perl' 'perl-uri') +options=('!emptydirs') +source=(https://search.cpan.org/CPAN/authors/id/G/GA/GAAS/WWW-RobotRules-${pkgver}.tar.gz) +sha256sums=('46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e') + +build() { + cd "${srcdir}/WWW-RobotRules-${pkgver}" + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "${srcdir}/WWW-RobotRules-${pkgver}" + make test +} + +package() { + cd "${srcdir}/WWW-RobotRules-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/perl-www-robotrules/README b/main/perl-www-robotrules/README new file mode 100644 index 00000000..f30b1466 --- /dev/null +++ b/main/perl-www-robotrules/README @@ -0,0 +1,43 @@ +perl-www-robotrules +________________________________________________________________________________ + +Database of robots.txt-derived permissions + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-www-robotrules | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://metacpan.org/release/WWW-RobotRules diff --git a/main/perl-www-robotrules/version b/main/perl-www-robotrules/version new file mode 100644 index 00000000..1acbe6e2 --- /dev/null +++ b/main/perl-www-robotrules/version @@ -0,0 +1 @@ +6.02 12 diff --git a/main/perl-xml-parser/PKGBUILD b/main/perl-xml-parser/PKGBUILD new file mode 100644 index 00000000..32810a21 --- /dev/null +++ b/main/perl-xml-parser/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-xml-parser +pkgver=%version% +pkgrel=%release% +pkgdesc="Expat-based XML parser module for perl" +arch=('x86_64') +license=('GPL' 'PerlArtistic') +url="https://search.cpan.org/dist/XML-Parser/" +depends=('perl-libwww' 'expat') +options=('!emptydirs') +source=("https://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-${pkgver}.tar.gz") +sha512sums=('c4609495cc5ca34952f61876a690ef76d42eee6689d1bedb8036c9eab918525ec5213f1639c7178c029ee0f8765a2ca5eb0197f6e39b8be6d5dbc3f3c1d0b389') + +build() { + cd XML-Parser-${pkgver} + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd XML-Parser-${pkgver} + make test +} + +package() { + cd XML-Parser-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/main/perl-xml-parser/README b/main/perl-xml-parser/README new file mode 100644 index 00000000..a2567163 --- /dev/null +++ b/main/perl-xml-parser/README @@ -0,0 +1,43 @@ +perl-xml-parser +________________________________________________________________________________ + +Expat-based XML parser module for perl + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-xml-parser | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/XML-Parser/ diff --git a/main/perl-xml-parser/version b/main/perl-xml-parser/version new file mode 100644 index 00000000..cf28bac1 --- /dev/null +++ b/main/perl-xml-parser/version @@ -0,0 +1 @@ +2.46 5 diff --git a/main/perl-xml-writer/PKGBUILD b/main/perl-xml-writer/PKGBUILD new file mode 100644 index 00000000..166abb0a --- /dev/null +++ b/main/perl-xml-writer/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=perl-xml-writer +pkgver=%version% +pkgrel=%release% +pkgdesc="Module for writing XML documents" +arch=('any') +url="https://search.cpan.org/dist/XML-Writer" +license=('custom') +depends=('perl') +options=('!emptydirs') +source=(https://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-$pkgver.tar.gz) +sha256sums=('73c8f5bd3ecf2b350f4adae6d6676d52e08ecc2d7df4a9f089fa68360d400d1f') + +build() { + cd XML-Writer-$pkgver + perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd XML-Writer-$pkgver + make test +} + +package() { + cd XML-Writer-$pkgver + make DESTDIR="${pkgdir}" install + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/perl-xml-writer/README b/main/perl-xml-writer/README new file mode 100644 index 00000000..63c25c17 --- /dev/null +++ b/main/perl-xml-writer/README @@ -0,0 +1,43 @@ +perl-xml-writer +________________________________________________________________________________ + +Module for writing XML documents + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-xml-writer | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/XML-Writer diff --git a/main/perl-xml-writer/version b/main/perl-xml-writer/version new file mode 100644 index 00000000..2a2f6521 --- /dev/null +++ b/main/perl-xml-writer/version @@ -0,0 +1 @@ +0.900 2 diff --git a/main/perl-yaml-tiny/PKGBUILD b/main/perl-yaml-tiny/PKGBUILD new file mode 100644 index 00000000..0cb37d84 --- /dev/null +++ b/main/perl-yaml-tiny/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Maintainer: Developer +# Generator : CPANPLUS::Dist::Arch 1.15 + +pkgname=perl-yaml-tiny +pkgver=%version% +pkgrel=%release% +pkgdesc="Read/Write YAML files with as little code as possible" +arch=('any') +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +depends=('perl') +checkdepends=('perl-pod-coverage') +url='https://search.cpan.org/dist/YAML-Tiny' +source=("https://search.cpan.org/CPAN/authors/id/E/ET/ETHER/YAML-Tiny-$pkgver.tar.gz") +sha512sums=('2da59bf583b09a60e8e1bac7c21fc4300ae3ee2092ffd77cbf3778c65c7d0bdf68fa3616665d276f4d4df2437526d36d497ac53be79baa182f84f37640bfcad4') + +build() { + cd "${srcdir}/YAML-Tiny-${pkgver}" + + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +check() { + cd "${srcdir}/YAML-Tiny-${pkgver}" + make test +} + +package() { + cd "${srcdir}/YAML-Tiny-${pkgver}" + make install DESTDIR="${pkgdir}" + find "$pkgdir" -name .packlist -o -name perllocal.pod -delete +} + +# vim:set ts=2 sw=2 et: diff --git a/main/perl-yaml-tiny/README b/main/perl-yaml-tiny/README new file mode 100644 index 00000000..2bd0f905 --- /dev/null +++ b/main/perl-yaml-tiny/README @@ -0,0 +1,43 @@ +perl-yaml-tiny +________________________________________________________________________________ + +%desc% + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S perl-yaml-tiny | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://search.cpan.org/dist/YAML-Tiny diff --git a/main/perl-yaml-tiny/version b/main/perl-yaml-tiny/version new file mode 100644 index 00000000..126e6856 --- /dev/null +++ b/main/perl-yaml-tiny/version @@ -0,0 +1 @@ +1.74 2 diff --git a/main/phonon-vlc/PKGBUILD b/main/phonon-vlc/PKGBUILD new file mode 100644 index 00000000..e5452cde --- /dev/null +++ b/main/phonon-vlc/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=phonon-vlc +pkgname=(phonon-qt5-vlc + phonon-qt6-vlc) +pkgdesc='Phonon VLC backend' +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://community.kde.org/Phonon' +license=(LGPL) +depends=(gcc-libs + glibc + vlc) +makedepends=(extra-cmake-modules + phonon-qt5 + phonon-qt6 + qt5-tools + qt6-tools) +source=(https://download.kde.org/stable/phonon/phonon-backend-vlc/$pkgver/phonon-backend-vlc-$pkgver.tar.xz{,.sig}) +sha256sums=('338479dc451e4b94b3ca5b578def741dcf82f5c626a2807d36235be2dce7c9a5' + 'SKIP') +validpgpkeys=(CB9387521E1EE0127DA804843FDBB55084CC5D84 # Harald Sitter + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build5 -S phonon-backend-vlc-$pkgver \ + -DPHONON_BUILD_QT6=OFF + cmake --build build5 + + cmake -B build6 -S phonon-backend-vlc-$pkgver \ + -DPHONON_BUILD_QT5=OFF + cmake --build build6 +} + +package_phonon-qt5-vlc() { + pkgdesc+=' for Qt5' + depends+=(phonon-qt5 + qt5-base) + provides=(phonon-qt5-backend) + + DESTDIR="$pkgdir" cmake --install build5 +} + +package_phonon-qt6-vlc() { + pkgdesc+=' for Qt6' + depends+=(phonon-qt6 + qt6-base) + provides=(phonon-qt6-backend) + + DESTDIR="$pkgdir" cmake --install build6 + rm -r "$pkgdir"/usr/share # Conflicts with qt5 +} diff --git a/main/phonon-vlc/README b/main/phonon-vlc/README new file mode 100644 index 00000000..1361259a --- /dev/null +++ b/main/phonon-vlc/README @@ -0,0 +1,43 @@ +phonon-vlc +________________________________________________________________________________ + +Phonon VLC backend Phonon VLC backend for Qt5 Phonon VLC backend for Qt6 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S phonon-vlc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Phonon diff --git a/main/phonon-vlc/version b/main/phonon-vlc/version new file mode 100644 index 00000000..a7f36583 --- /dev/null +++ b/main/phonon-vlc/version @@ -0,0 +1 @@ +0.12.0 2 diff --git a/main/pigz/PKGBUILD b/main/pigz/PKGBUILD new file mode 100644 index 00000000..09a6b10e --- /dev/null +++ b/main/pigz/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pigz +pkgver=%version% +pkgrel=%release% +pkgdesc='Parallel implementation of the gzip file compressor' +arch=('x86_64') +url='https://www.zlib.net/pigz' +license=('custom') +depends=('zlib') +source=(https://www.zlib.net/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('7d5f35ffc64b562fc4db40aa783f9935') +sha256sums=('eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0') + +build() { + cd $pkgname-$pkgver + + make +} + +package() { + cd $pkgname-$pkgver + + install -Dm755 "$srcdir"/$pkgname-$pkgver/$pkgname \ + "$pkgdir"/usr/bin/$pkgname + + pushd "$pkgdir"/usr/bin + ln -s pigz unpigz + popd + + install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.1 \ + "$pkgdir"/usr/share/man/man1/$pkgname.1 + install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.pdf \ + "$pkgdir"/usr/share/doc/$pkgname/$pkgname.pdf + install -Dm644 "$srcdir"/$pkgname-$pkgver/README \ + "$pkgdir"/usr/share/licenses/$pkgname/README +} diff --git a/main/pigz/README b/main/pigz/README new file mode 100644 index 00000000..1a17df69 --- /dev/null +++ b/main/pigz/README @@ -0,0 +1,43 @@ +pigz +________________________________________________________________________________ + +Parallel implementation of the gzip file compressor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pigz | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.zlib.net/pigz diff --git a/main/pigz/version b/main/pigz/version new file mode 100644 index 00000000..5d860172 --- /dev/null +++ b/main/pigz/version @@ -0,0 +1 @@ +2.8 1 diff --git a/main/pinentry/PKGBUILD b/main/pinentry/PKGBUILD new file mode 100644 index 00000000..d70d64ed --- /dev/null +++ b/main/pinentry/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pinentry +pkgver=%version% +pkgrel=%release% +pkgdesc='Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol' +url='https://gnupg.org/related_software/pinentry/' +arch=('x86_64') +license=('GPL') +depends=( + 'glibc' 'ncurses' 'libassuan' 'libsecret' 'glib2' + libsecret-1.so libncursesw.so libassuan.so libglib-2.0.so) +makedepends=('gtk2' 'qt6-base' 'qt5-x11extras' 'kwayland5' 'gcr') +optdepends=( + 'gtk2: gtk2 backend' + 'qt5-x11extras: qt backend' + 'kwayland5: qt backend' + 'gcr: gnome3 backend' +) +backup=('etc/pinentry/preexec') +source=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig} + 'pinentry' + 'preexec') +sha256sums=('9b3cd5226e7597f2fded399a3bc659923351536559e9db0826981bca316494de' + 'SKIP' + 'af7c27139b20a7f1b9a227f3663abb21bb2b954523352b7844da27db1b0c1c86' + 'f428f08d77f1f7830eadb8435af282a833fc13d8b623b122eefd9d3b628bef90') +validpgpkeys=( + 'D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch (dist sig) + '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) + 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD' # Niibe Yutaka (GnuPG Release Key) +) + +build() { + cd "${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --enable-pinentry-tty \ + --enable-pinentry-curses \ + --enable-fallback-curses \ + --enable-pinentry-emacs \ + --enable-pinentry-gtk2 \ + --enable-pinentry-gnome3 \ + --enable-pinentry-qt \ + --enable-libsecret \ + + make +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -Dm 755 ../pinentry -t "${pkgdir}/usr/bin" + install -Dm 755 ../preexec -t "${pkgdir}/etc/pinentry" +} + +# vim: ts=2 sw=2 et: diff --git a/main/pinentry/README b/main/pinentry/README new file mode 100644 index 00000000..eb235490 --- /dev/null +++ b/main/pinentry/README @@ -0,0 +1,43 @@ +pinentry +________________________________________________________________________________ + +Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pinentry | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gnupg.org/related_software/pinentry/ diff --git a/main/pinentry/pinentry b/main/pinentry/pinentry new file mode 100755 index 00000000..4115ca4a --- /dev/null +++ b/main/pinentry/pinentry @@ -0,0 +1,14 @@ +#!/bin/sh + +# user-defined pre-exec hook +test -r "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec && + . "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec + +# site-defined pre-exec hook +test -r /etc/pinentry/preexec && + . /etc/pinentry/preexec + +test -e /usr/lib/libgtk-x11-2.0.so.0 && + exec /usr/bin/pinentry-gtk-2 "$@" + +exec /usr/bin/pinentry-curses "$@" diff --git a/main/pinentry/preexec b/main/pinentry/preexec new file mode 100755 index 00000000..b8312d13 --- /dev/null +++ b/main/pinentry/preexec @@ -0,0 +1,5 @@ +#!/hint/sh + +# Define additional functionality for pinentry. For example +#test -e /usr/lib/libgcr-base-3.so.1 && exec /usr/bin/pinentry-gnome3 "$@" +#test -e /usr/lib/libQt5Widgets.so.5 && exec /usr/bin/pinentry-qt "$@" diff --git a/main/pinentry/version b/main/pinentry/version new file mode 100644 index 00000000..0a2d7f2b --- /dev/null +++ b/main/pinentry/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/main/pipewire/.PKGINFO b/main/pipewire/.PKGINFO new file mode 100644 index 00000000..b236f249 --- /dev/null +++ b/main/pipewire/.PKGINFO @@ -0,0 +1,53 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = pulse-native-provider +pkgbase = pipewire +xdata = pkgtype=split +pkgver = 1:1.0.6-1 +pkgdesc = PulseAudio sound server (default provider) +url = https://pipewire.org +builddate = 1715303130 +packager = Developer +size = 0 +arch = x86_64 +license = MIT +depend = pipewire-pulse +makedepend = alsa-lib +makedepend = avahi +makedepend = bluez-libs +makedepend = dbus +makedepend = doxygen +makedepend = git +makedepend = glib2 +makedepend = graphviz +makedepend = gst-plugins-base +makedepend = jack2 +makedepend = libcamera +makedepend = libcanberra +makedepend = libfdk-aac +makedepend = libffado +makedepend = libfreeaptx +makedepend = liblc3 +makedepend = libldac +makedepend = libmysofa +makedepend = libpulse +makedepend = libsndfile +makedepend = libusb +makedepend = libx11 +makedepend = libxfixes +makedepend = lilv +makedepend = meson +makedepend = ncurses +makedepend = opus +makedepend = python-docutils +makedepend = python-packaging +makedepend = readline +makedepend = roc-toolkit +makedepend = rtkit +makedepend = sbc +makedepend = sdl2 +makedepend = systemd +makedepend = valgrind +makedepend = webrtc-audio-processing-1 +checkdepend = desktop-file-utils +checkdepend = openal diff --git a/main/pipewire/PKGBUILD b/main/pipewire/PKGBUILD new file mode 100644 index 00000000..e0488230 --- /dev/null +++ b/main/pipewire/PKGBUILD @@ -0,0 +1,526 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=pipewire +pkgname=( + pipewire + libpipewire + alsa-card-profiles + pipewire-docs + pipewire-audio + pipewire-alsa + pipewire-ffado + pipewire-jack-client + pipewire-jack + pipewire-pulse + pipewire-roc + gst-plugin-pipewire + pipewire-zeroconf + pipewire-v4l2 + pipewire-x11-bell + pipewire-session-manager + pulse-native-provider +) +pkgver=%version% +_so_ver=0.3 +pkgrel=%release% +epoch=1 +pkgdesc="Low-latency audio/video router and processor" +url="https://pipewire.org" +arch=(x86_64) +license=(MIT) +makedepends=( + alsa-lib + avahi + bluez-libs + dbus + doxygen + git + glib2 + graphviz + gst-plugins-base + jack2 + libcamera + libcanberra + libfdk-aac + libffado + libfreeaptx + liblc3 + libldac + libmysofa + libpulse + libsndfile + libusb + libx11 + libxfixes + lilv + meson + ncurses + opus + python-docutils + python-packaging + readline + roc-toolkit + rtkit + sbc + sdl2 + systemd + valgrind + webrtc-audio-processing-1 +) +checkdepends=( + desktop-file-utils + openal +) +source=( + "git+https://gitlab.freedesktop.org/pipewire/pipewire.git#tag=$pkgver" +) +b2sums=('a1a9905ec4b09fe7d24bdf08164d96a1b2ee285576b53b941b6c245bf4c63991295398cb14e22555e4ba2bdff8d16523ef27fa05f81a336df3991f2ac9d911e1') + +pkgver() { + cd pipewire + git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd pipewire + + # Gst plugin fixes + git cherry-pick -n \ + f1b75fc6f803f866d2ed0f7d1366f56ef96f0610 \ + 8a271a87b77e4508bb698f9b9e9fe3624884bfa6 \ + 1a6bb994a502d95434e326a35a83a1fb5f4ebad8 \ + 8848c7e7920618b97016243912bcb20c69a71960 +} + +build() { + local meson_options=( + -D bluez5-codec-lc3plus=disabled + -D docs=enabled + -D jack-devel=true + -D libjack-path=/usr/lib + -D man=enabled + -D rlimits-install=false + -D selinux=disabled + -D session-managers=[] + -D udevrulesdir=/usr/lib/udev/rules.d + ) + + arch-meson pipewire build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_pipewire() { + license+=(LGPL-2.1-or-later) # libspa-alsa + depends=( + gcc-libs + glibc + "libpipewire=$epoch:$pkgver-$pkgrel" + libcamera-base.so + libcamera.so + libdbus-1.so + libglib-2.0.so + libncursesw.so + libpipewire-$_so_ver.so + libreadline.so + libsystemd.so + libudev.so + ) + optdepends=( + 'gst-plugin-pipewire: GStreamer plugin' + 'pipewire-alsa: ALSA configuration' + 'pipewire-audio: Audio support' + 'pipewire-docs: Documentation' + 'pipewire-ffado: FireWire support' + 'pipewire-jack-client: PipeWire as JACK client' + 'pipewire-jack: JACK replacement' + 'pipewire-pulse: PulseAudio replacement' + 'pipewire-roc: ROC streaming' + 'pipewire-session-manager: Session manager' + 'pipewire-v4l2: V4L2 interceptor' + 'pipewire-x11-bell: X11 bell' + 'pipewire-zeroconf: Zeroconf support' + 'realtime-privileges: realtime privileges with rt module' + 'rtkit: realtime privileges with rtkit module' + ) + install=pipewire.install + + meson install -C build --destdir "$pkgdir" + + ( + cd "$pkgdir" + + # Replace copies with symlinks + for _f in pipewire-{aes67,avb,pulse}; do + cmp usr/bin/pipewire usr/bin/$_f + ln -sf pipewire usr/bin/$_f + done + + _pick lib usr/include/{pipewire-$_so_ver,spa-0.2} + _pick lib usr/lib/libpipewire-$_so_ver.so* + _pick lib usr/lib/pkgconfig/lib{pipewire-$_so_ver,spa-0.2}.pc + + _pick acp usr/lib/udev + _pick acp usr/share/alsa-card-profile + + _pick docs usr/share/doc + + _pick audio usr/bin/pipewire-{aes67,avb} + _pick audio usr/bin/pw-{cat,{,enc}play,record,midi{play,record},dsdplay} + _pick audio usr/bin/pw-{loopback,mididump} + _pick audio usr/bin/spa-{acp-tool,resample} + _pick audio usr/lib/alsa-lib + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-avb.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-echo-cancel.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-fallback-sink.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-filter-chain*.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-loopback.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-netjack2*.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-pipe-tunnel.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-simple.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-rtp-{sap,sink,source}.so + _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-vban*.so + _pick audio usr/lib/spa-0.2/{aec,alsa,audio*,avb,bluez5} + _pick audio usr/lib/systemd/user/filter-chain.service + _pick audio usr/share/alsa + _pick audio usr/share/man/man1/pw-{cat,loopback,mididump}.1 + _pick audio usr/share/man/man1/spa-{acp-tool,resample}.1 + _pick audio usr/share/man/man5/pipewire-filter-chain.conf.5 + _pick audio usr/share/man/man7/libpipewire-module-{avb,echo-cancel,fallback-sink,filter-chain*,loopback,netjack2*,pipe-tunnel,protocol-simple,rtp-{sap,sink,source},vban*}.7 + _pick audio usr/share/pipewire/filter-chain* + _pick audio usr/share/pipewire/pipewire-{aes67,avb}.conf + _pick audio usr/share/spa-0.2/bluez5 + + _pick ffado usr/lib/pipewire-$_so_ver/libpipewire-module-ffado*.so + _pick ffado usr/share/man/man7/libpipewire-module-ffado-driver.7 + + _pick jack-client usr/lib/pipewire-$_so_ver/libpipewire-module-jack{-tunnel,dbus-detect}.so + _pick jack-client usr/lib/spa-0.2/jack + _pick jack-client usr/share/man/man7/libpipewire-module-jack{-tunnel,dbus-detect}.7 + + _pick jack usr/bin/pw-jack + _pick jack usr/include/jack + _pick jack usr/lib/libjack* + _pick jack usr/lib/pkgconfig/jack.pc + _pick jack usr/share/man/man1/pw-jack.1 + _pick jack usr/share/man/man5/pipewire-jack.conf.5 + _pick jack usr/share/pipewire/jack.conf + + _pick pulse usr/bin/pipewire-pulse + _pick pulse usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-pulse.so + _pick pulse usr/lib/pipewire-$_so_ver/libpipewire-module-pulse-tunnel.so + _pick pulse usr/lib/systemd/user/pipewire-pulse.* + _pick pulse usr/share/man/man1/pipewire-pulse.1 + _pick pulse usr/share/man/man5/pipewire-pulse.conf.5 + _pick pulse usr/share/man/man7/pipewire-pulse*.7 + _pick pulse usr/share/man/man7/libpipewire-module-{protocol-pulse,pulse-tunnel}.7 + _pick pulse usr/share/pipewire/pipewire-pulse.conf + + _pick roc usr/lib/pipewire-$_so_ver/libpipewire-module-roc*.so + _pick roc usr/share/man/man7/libpipewire-module-roc-{sink,source}.7 + + _pick gst usr/lib/gstreamer-1.0 + + _pick zeroconf usr/lib/pipewire-$_so_ver/libpipewire-module-{raop,zeroconf}-*.so + _pick zeroconf usr/lib/pipewire-$_so_ver/libpipewire-module-rtp-session.so + _pick zeroconf usr/share/man/man7/libpipewire-module-{raop-*,rtp-session,zeroconf*}.7 + + _pick v4l2 usr/bin/pw-v4l2 usr/lib/pipewire-$_so_ver/v4l2 + _pick v4l2 usr/share/man/man1/pw-v4l2.1 + + _pick x11-bell usr/lib/pipewire-$_so_ver/libpipewire-module-x11-bell.so + _pick x11-bell usr/share/man/man7/libpipewire-module-x11-bell.7 + + # directories for overrides + mkdir -p etc/pipewire/{client-rt,client,minimal,pipewire}.conf.d + ) + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_libpipewire() { + pkgdesc+=" - client library" + depends=( + glibc + gcc-libs + ) + provides=(libpipewire-$_so_ver.so) + + mv lib/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_alsa-card-profiles() { + pkgdesc+=" - ALSA card profiles" + license=(LGPL-2.1-or-later) + + mv acp/* "$pkgdir" +} + +package_pipewire-docs() { + pkgdesc+=" - documentation" + + mv docs/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-audio() { + pkgdesc+=" - Audio support" + depends=( + alsa-card-profiles + dbus + gcc-libs + glib2 + glibc + libasound.so + libbluetooth.so + libfdk-aac.so + libfreeaptx.so + liblc3.so + libldacBT_enc.so + liblilv-0.so + libmysofa.so + libopus.so + libpipewire-$_so_ver.so + libsbc.so + libsndfile.so + libusb-1.0.so + libwebrtc-audio-processing-1.so + pipewire + systemd-libs + ) + + mv audio/* "$pkgdir" + + mkdir -p "$pkgdir/etc/alsa/conf.d" + ln -st "$pkgdir/etc/alsa/conf.d" \ + /usr/share/alsa/alsa.conf.d/50-pipewire.conf + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-alsa() { + pkgdesc+=" - ALSA configuration" + depends=( + pipewire + pipewire-audio + pipewire-session-manager + ) + conflicts=(pulseaudio-alsa) + provides=(pulseaudio-alsa) + + mkdir -p "$pkgdir/etc/alsa/conf.d" + ln -st "$pkgdir/etc/alsa/conf.d" \ + /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf + + install -Dm644 /dev/null \ + "$pkgdir/usr/share/pipewire/media-session.d/with-alsa" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-ffado() { + pkgdesc+=" - FireWire support" + depends=( + glibc + libffado.so + libpipewire-$_so_ver.so + pipewire + pipewire-audio + ) + + mv ffado/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-jack-client() { + pkgdesc+=" - PipeWire as JACK client" + depends=( + glibc + libdbus-1.so + libjack.so + libpipewire-$_so_ver.so + pipewire + pipewire-audio + ) + conflicts=(pipewire-jack) + + mv jack-client/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-jack() { + pkgdesc+=" - JACK replacement" + license+=(LGPL-2.1-or-later GPL-2.0-only) # libjackserver + depends=( + glibc + libpipewire-$_so_ver.so + pipewire + pipewire-audio + pipewire-session-manager + sh + ) + optdepends=('jack-example-tools: for official JACK example-clients and tools') + conflicts=(jack jack2 pipewire-jack-client) + provides=(jack libjack.so libjackserver.so libjacknet.so) + + mv jack/* "$pkgdir" + + install -Dm644 /dev/null \ + "$pkgdir/usr/share/pipewire/media-session.d/with-jack" + + # directories for overrides + mkdir -p "$pkgdir/etc/pipewire/jack.conf.d" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-pulse() { + pkgdesc+=" - PulseAudio replacement" + depends=( + dbus + gcc-libs + glibc + libavahi-{client,common}.so + libglib-2.0.so + libpipewire-$_so_ver.so + libpulse.so + pipewire + pipewire-audio + pipewire-session-manager + systemd-libs + ) + provides=( + pulse-native-provider + pulseaudio + pulseaudio-bluetooth + ) + conflicts=( + pulseaudio + pulseaudio-bluetooth + ) + install=pipewire-pulse.install + + mv pulse/* "$pkgdir" + + # directory for overrides + mkdir -p "$pkgdir/etc/pipewire/pipewire-pulse.conf.d" + + install -Dm644 /dev/null \ + "$pkgdir/usr/share/pipewire/media-session.d/with-pulseaudio" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-roc() { + pkgdesc+=" - ROC streaming support" + depends=( + glibc + libpipewire-$_so_ver.so + libroc.so + pipewire + pipewire-audio + roc-toolkit + ) + + mv roc/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_gst-plugin-pipewire() { + pkgdesc="Multimedia graph framework - pipewire plugin" + depends=( + glib2 + glibc + gst-plugins-base-libs + gstreamer + libpipewire-$_so_ver.so + pipewire + pipewire-session-manager + ) + + mv gst/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-zeroconf() { + pkgdesc+=" - Zeroconf support" + depends=( + gcc-libs + glibc + libavahi-{client,common}.so + libpipewire-$_so_ver.so + openssl + opus + pipewire + pipewire-audio + ) + + mv zeroconf/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-v4l2() { + pkgdesc+=" - V4L2 interceptor" + depends=( + glibc + libpipewire-$_so_ver.so + pipewire + pipewire-session-manager + sh + ) + + mv v4l2/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-x11-bell() { + pkgdesc+=" - X11 bell" + depends=( + glibc + libcanberra.so + libpipewire-$_so_ver.so + libx11 + libxfixes + pipewire + pipewire-audio + ) + + mv x11-bell/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING +} + +package_pipewire-session-manager() { + pkgdesc="Session manager for PipeWire (default provider)" + depends=(wireplumber) +} + +package_pulse-native-provider() { + pkgdesc="PulseAudio sound server (default provider)" + depends=(pipewire-pulse) +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/pipewire/README b/main/pipewire/README new file mode 100644 index 00000000..3c284cff --- /dev/null +++ b/main/pipewire/README @@ -0,0 +1,43 @@ +pipewire +________________________________________________________________________________ + +Low-latency audio/video router and processor Low-latency audio/video router and processor - client library Low-latency audio/video router and processor - ALSA card profiles Low-latency audio/video router and processor - documentation Low-latency audio/video router and processor - Audio support Low-latency audio/video router and processor - ALSA configuration Low-latency audio/video router and processor - FireWire support Low-latency audio/video router and processor - PipeWire as JACK client Low-latency audio/video router and processor - JACK replacement Low-latency audio/video router and processor - PulseAudio replacement Low-latency audio/video router and processor - ROC streaming support Multimedia graph framework - pipewire plugin Low-latency audio/video router and processor - Zeroconf support Low-latency audio/video router and processor - V4L2 interceptor Low-latency audio/video router and processor - X11 bell Session manager for PipeWire (default provider) PulseAudio sound server (default provider) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pipewire | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pipewire.org diff --git a/main/pipewire/pipewire-pulse.install b/main/pipewire/pipewire-pulse.install new file mode 100644 index 00000000..051abb3a --- /dev/null +++ b/main/pipewire/pipewire-pulse.install @@ -0,0 +1,14 @@ +post_install() { + # Enable socket by default + systemctl --global enable pipewire-pulse.socket +} + +post_upgrade() { + if (( $(vercmp $2 0.3.16-1) < 0)); then + systemctl --global enable pipewire-pulse.socket + fi +} + +pre_remove() { + systemctl --global disable pipewire-pulse.socket +} diff --git a/main/pipewire/pipewire.install b/main/pipewire/pipewire.install new file mode 100644 index 00000000..416e5ed9 --- /dev/null +++ b/main/pipewire/pipewire.install @@ -0,0 +1,14 @@ +post_install() { + # Enable socket by default + systemctl --global enable pipewire.socket +} + +post_upgrade() { + if (( $(vercmp $2 0.1.6-2) < 0)); then + systemctl --global enable pipewire.socket + fi +} + +pre_remove() { + systemctl --global disable pipewire.socket +} diff --git a/main/pipewire/version b/main/pipewire/version new file mode 100644 index 00000000..49abfc01 --- /dev/null +++ b/main/pipewire/version @@ -0,0 +1 @@ +1:1.0.6 1 diff --git a/main/pixman/.nvchecker.toml b/main/pixman/.nvchecker.toml new file mode 100644 index 00000000..8c69bfd2 --- /dev/null +++ b/main/pixman/.nvchecker.toml @@ -0,0 +1,6 @@ +[pixman] +source = "gitlab" +gitlab = "pixman/pixman" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "pixman-" diff --git a/main/pixman/PKGBUILD b/main/pixman/PKGBUILD new file mode 100644 index 00000000..5717da8d --- /dev/null +++ b/main/pixman/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pixman +pkgver=%version% +pkgrel=%release% +pkgdesc="The pixel-manipulation library for X and cairo" +arch=(x86_64) +url="https://cgit.freedesktop.org/pixman/" +license=('MIT') +depends=('glibc') +makedepends=('meson' 'libpng') +provides=('libpixman-1.so') +source=(https://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.xz) +sha512sums=('b40fb05bd58dc78f4e4e9b19c86991ab0611b708657c9a7fb42bfe82d57820a0fde01a34b00a0848a41da6c3fb90c2213942a70f435a0e9467631695d3bc7e36') +#validpgpkeys=('') # Maarten Lankhorst + +build() { + arch-meson $pkgname-$pkgver build \ + -D loongson-mmi=disabled \ + -D vmx=disabled \ + -D arm-simd=disabled \ + -D neon=disabled \ + -D a64-neon=disabled \ + -D iwmmxt=disabled \ + -D mips-dspr2=disabled \ + -D gtk=disabled + ninja -C build +} + +check() { + meson test -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname-$pkgver/COPYING +} diff --git a/main/pixman/README b/main/pixman/README new file mode 100644 index 00000000..e7540201 --- /dev/null +++ b/main/pixman/README @@ -0,0 +1,43 @@ +pixman +________________________________________________________________________________ + +The pixel-manipulation library for X and cairo + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pixman | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://cgit.freedesktop.org/pixman/ diff --git a/main/pixman/version b/main/pixman/version new file mode 100644 index 00000000..a44f9143 --- /dev/null +++ b/main/pixman/version @@ -0,0 +1 @@ +0.43.4 1 diff --git a/main/pixz/PKGBUILD b/main/pixz/PKGBUILD new file mode 100644 index 00000000..a4b960a2 --- /dev/null +++ b/main/pixz/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pixz +pkgver=%version% +pkgrel=%release% +pkgdesc="Parallel, indexed xz compressor" +arch=('x86_64') +url="https://github.com/vasi/pixz" +license=('custom') +depends=('libarchive') +makedepends=('asciidoc') +source=(https://github.com/vasi/pixz/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) +md5sums=('ed227a0a3147db9380f6fe59cc87cd05') +sha256sums=('d1b6de1c0399e54cbd18321b8091bbffef6d209ec136d4466f398689f62c3b5f') + +build() { + cd $pkgname-$pkgver + + manpage=true ./configure --prefix=/usr + + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir"/$pkgname-$pkgver/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/main/pixz/README b/main/pixz/README new file mode 100644 index 00000000..c39dcbe3 --- /dev/null +++ b/main/pixz/README @@ -0,0 +1,43 @@ +pixz +________________________________________________________________________________ + +Parallel, indexed xz compressor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pixz | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/vasi/pixz diff --git a/main/pixz/version b/main/pixz/version new file mode 100644 index 00000000..975f4dbc --- /dev/null +++ b/main/pixz/version @@ -0,0 +1 @@ +1.0.7 4 diff --git a/main/pkcs11-helper/0001-nss-use-nss-pkcs11-h.patch b/main/pkcs11-helper/0001-nss-use-nss-pkcs11-h.patch new file mode 100644 index 00000000..8ac86cc9 --- /dev/null +++ b/main/pkcs11-helper/0001-nss-use-nss-pkcs11-h.patch @@ -0,0 +1,58 @@ +From 083a3a62f2e631deec2fb2799d10660a41c50294 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev +Date: Fri, 30 Jul 2021 20:06:36 +0300 +Subject: [PATCH] nss: use nss pkcs11.h + +make nss happy with its own extensions and non-standard behavior. +--- + lib/_pkcs11h-crypto-nss.c | 14 ++++++++++---- + lib/common.h | 7 +++++++ + 2 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/lib/_pkcs11h-crypto-nss.c b/lib/_pkcs11h-crypto-nss.c +index 4b70e826..f57f9e6b 100644 +--- a/lib/_pkcs11h-crypto-nss.c ++++ b/lib/_pkcs11h-crypto-nss.c +@@ -48,15 +48,21 @@ + * POSSIBILITY OF SUCH DAMAGE. + */ + +-#include "common.h" +- +-#include "_pkcs11h-crypto.h" ++#ifdef HAVE_CONFIG_H ++#include ++#endif + + #if defined(ENABLE_PKCS11H_ENGINE_NSS) +-#define _PKCS11T_H_ /* required so no conflict with ours */ + #include + #include + ++/* Use PKCS#11 of nss to avoid conflicts and make nss happy with its own extensions */ ++#define PKCS11_H 1 ++ ++#include "common.h" ++ ++#include "_pkcs11h-crypto.h" ++ + static + int + __pkcs11h_crypto_nss_initialize ( +diff --git a/lib/common.h b/lib/common.h +index 61a958af..2499e9c5 100644 +--- a/lib/common.h ++++ b/lib/common.h +@@ -72,5 +72,12 @@ + + #define _PKCS11H_ASSERT assert + ++#ifndef FALSE ++#define FALSE 0 ++#endif ++#ifndef TRUE ++#define TRUE 1 ++#endif ++ + #endif + diff --git a/main/pkcs11-helper/PKGBUILD b/main/pkcs11-helper/PKGBUILD new file mode 100644 index 00000000..5c9e8d50 --- /dev/null +++ b/main/pkcs11-helper/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pkcs11-helper +pkgver=%version% +pkgrel=%release% +pkgdesc='A library that simplifies the interaction with PKCS11 providers for end-user applications using a simple API and optional OpenSSL engine' +arch=('x86_64') +url='https://github.com/OpenSC/pkcs11-helper' +license=('GPL' 'BSD') +depends=('gnutls' 'nss' 'openssl') +provides=('libpkcs11-helper.so') +source=("https://github.com/OpenSC/${pkgname}/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2") +sha256sums=('4c5815ba910cabf26df08d449ca2909daf4538c9899aa7f7fadc61229d3488a9') + +build() { + cd pkcs11-helper-$pkgver + + libtoolize + aclocal + autoheader + automake --add-missing + autoreconf -v + ./configure --prefix=/usr + make +} + +package() { + cd pkcs11-helper-$pkgver + + make DESTDIR="$pkgdir" install + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname/ + install -D -m0644 COPYING* "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/pkcs11-helper/README b/main/pkcs11-helper/README new file mode 100644 index 00000000..aa53fb84 --- /dev/null +++ b/main/pkcs11-helper/README @@ -0,0 +1,43 @@ +pkcs11-helper +________________________________________________________________________________ + +A library that simplifies the interaction with PKCS11 providers for end-user applications using a simple API and optional OpenSSL engine + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pkcs11-helper | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/OpenSC/pkcs11-helper diff --git a/main/pkcs11-helper/version b/main/pkcs11-helper/version new file mode 100644 index 00000000..61a7fa1e --- /dev/null +++ b/main/pkcs11-helper/version @@ -0,0 +1 @@ +1.30.0 1 diff --git a/main/plasma-activities-stats/.PKGINFO b/main/plasma-activities-stats/.PKGINFO new file mode 100644 index 00000000..495c7be1 --- /dev/null +++ b/main/plasma-activities-stats/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-activities-stats +pkgbase = plasma-activities-stats +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = A library for accessing the usage data collected by the activities system +url = https://kde.org/plasma-desktop/ +builddate = 1713663704 +packager = Developer +size = 636275 +arch = x86_64 +license = LGPL-2.0-or-later +replaces = kactivities-stats +group = plasma +conflict = kactivities-stats +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kconfig +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/plasma-activities-stats/PKGBUILD b/main/plasma-activities-stats/PKGBUILD new file mode 100644 index 00000000..49563b19 --- /dev/null +++ b/main/plasma-activities-stats/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-activities-stats +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='A library for accessing the usage data collected by the activities system' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + plasma-activities + kconfig + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +conflicts=(kactivities-stats) +replaces=(kactivities-stats) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('5dd98cc027a637fdb6efd2de0dd5e67edbb4fb046118d1fe49c3e95f6d441a3d' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-activities-stats/README b/main/plasma-activities-stats/README new file mode 100644 index 00000000..9bd870d7 --- /dev/null +++ b/main/plasma-activities-stats/README @@ -0,0 +1,43 @@ +plasma-activities-stats +________________________________________________________________________________ + +A library for accessing the usage data collected by the activities system + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-activities-stats | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-activities-stats/version b/main/plasma-activities-stats/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-activities-stats/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-browser-integration/.PKGINFO b/main/plasma-browser-integration/.PKGINFO new file mode 100644 index 00000000..b5b2adf0 --- /dev/null +++ b/main/plasma-browser-integration/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-browser-integration +pkgbase = plasma-browser-integration +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Components necessary to integrate browsers into the Plasma Desktop +url = https://kde.org/plasma-desktop/ +builddate = 1713663705 +packager = Developer +size = 499388 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kfilemetadata +depend = ki18n +depend = kio +depend = kjobwidgets +depend = kservice +depend = kstatusnotifieritem +depend = plasma-workspace +depend = purpose +depend = qt6-base +makedepend = extra-cmake-modules diff --git a/main/plasma-browser-integration/PKGBUILD b/main/plasma-browser-integration/PKGBUILD new file mode 100644 index 00000000..315b88cc --- /dev/null +++ b/main/plasma-browser-integration/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-browser-integration +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Components necessary to integrate browsers into the Plasma Desktop' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glibc + plasma-activities + kconfig + kcoreaddons + kcrash + kdbusaddons + kfilemetadata + ki18n + kio + kjobwidgets + kservice + kstatusnotifieritem + plasma-workspace + purpose + qt6-base) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('86a72e3a48107faa08296751f56d520564525c40356cf4a5af126a2548ddc5f1' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DINSTALL_CHROME_MANIFEST=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-browser-integration/README b/main/plasma-browser-integration/README new file mode 100644 index 00000000..3d2ddf22 --- /dev/null +++ b/main/plasma-browser-integration/README @@ -0,0 +1,43 @@ +plasma-browser-integration +________________________________________________________________________________ + +Components necessary to integrate browsers into the Plasma Desktop + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-browser-integration | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-browser-integration/version b/main/plasma-browser-integration/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-browser-integration/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-desktop/PKGBUILD b/main/plasma-desktop/PKGBUILD new file mode 100644 index 00000000..baaf5ba9 --- /dev/null +++ b/main/plasma-desktop/PKGBUILD @@ -0,0 +1,100 @@ +# Maintainer: Developer + +pkgname=plasma-desktop +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE Plasma Desktop' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(baloo + emoji-font # for clock and language KCMs + gcc-libs + glibc + icu + kauth + kbookmarks + kcmutils + kcodecs + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdeclarative + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + kirigami + kirigami-addons + kitemmodels + kitemviews + kjobwidgets + kmenuedit + knewstuff + knotifications + knotifyconfig + kpackage + kpipewire + krunner + kservice + ksvg + kwidgetsaddons + kwindowsystem + kxmlgui + libcanberra + libksysguard + libx11 + libxcb + libxcursor + libxi + libxkbcommon + libxkbfile + libplasma + plasma-activities + plasma-activities-stats + plasma-workspace + plasma5support + polkit-kde-agent + powerdevil + qt6-5compat + qt6-base + qt6-declarative + qt6-wayland + sdl2 + solid + sonnet + systemsettings + wayland + xcb-util-keysyms + xdg-user-dirs) +optdepends=('bluedevil: Bluetooth applet' + 'glib2: kimpanel IBUS support' + 'ibus: kimpanel IBUS support' + 'kaccounts-integration: OpenDesktop integration plugin' + 'kscreen: screen management' + 'libaccounts-qt: OpenDesktop integration plugin' + 'packagekit-qt6: to install new krunner plugins' + 'plasma-nm: Network manager applet' + 'plasma-pa: Audio volume applet' + 'scim: kimpanel SCIM support') + +groups=(plasma) + +source=("$pkgname-$pkgver-$pkgrel.tar.gz"::"https://geo.mirror.pkgbuild.com/pool/packages/$pkgname-$pkgver-$pkgrel-x86_64.pkg.tar.zst" "main.xml") +sha256sums=('SKIP' + 'SKIP') + + +package() { + # Task config + cp main.xml $srcdir/usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/config/ + + # Install + cp -R $srcdir/*/ "$pkgdir"/ +} + diff --git a/main/plasma-desktop/README b/main/plasma-desktop/README new file mode 100644 index 00000000..46d3fc6c --- /dev/null +++ b/main/plasma-desktop/README @@ -0,0 +1,43 @@ +plasma-desktop +________________________________________________________________________________ + +KDE Plasma Desktop + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-desktop | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-desktop/main.xml b/main/plasma-desktop/main.xml new file mode 100644 index 00000000..25e62181 --- /dev/null +++ b/main/plasma-desktop/main.xml @@ -0,0 +1,133 @@ + + + + + + + + false + + + + true + + + + true + + + + false + + + + true + + + + 1 + + + + 0 + + + + true + + + + true + + + + + + + + + + + + 1 + + + + true + + + + 1 + 1 + + + + false + + + + true + + + + true + + + + true + + + + true + + + + applications:systemsettings.desktop,preferred://filemanager,preferred://browser + + + + + + + + + + + + 2 + + + + true + + + + true + + + + true + + + + 0 + + + + true + + + + false + + + + 1 + + + + + diff --git a/main/plasma-desktop/version b/main/plasma-desktop/version new file mode 100644 index 00000000..02fb4f20 --- /dev/null +++ b/main/plasma-desktop/version @@ -0,0 +1 @@ +6.0.5 1 diff --git a/main/plasma-disks/.PKGINFO b/main/plasma-disks/.PKGINFO new file mode 100644 index 00000000..f30b5130 --- /dev/null +++ b/main/plasma-disks/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-disks +pkgbase = plasma-disks +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Monitors S.M.A.R.T. capable devices for imminent failure +url = https://kde.org/plasma-desktop/ +builddate = 1713663707 +packager = Developer +size = 583485 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kauth +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kinfocenter +depend = kio +depend = kirigami +depend = knotifications +depend = kservice +depend = qt6-base +depend = qt6-declarative +depend = smartmontools +depend = solid +makedepend = extra-cmake-modules diff --git a/main/plasma-disks/PKGBUILD b/main/plasma-disks/PKGBUILD new file mode 100644 index 00000000..bf633bb7 --- /dev/null +++ b/main/plasma-disks/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-disks +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Monitors S.M.A.R.T. capable devices for imminent failure' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kauth + kcmutils + kconfig + kcoreaddons + kdbusaddons + ki18n + kinfocenter + kio + kirigami + knotifications + kservice + qt6-base + qt6-declarative + smartmontools + solid) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('fa6f1cf9084d7fefdadbe0c958577aca7447b1397ec4d41461aeae44af6ac328' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-disks/README b/main/plasma-disks/README new file mode 100644 index 00000000..5ebddff7 --- /dev/null +++ b/main/plasma-disks/README @@ -0,0 +1,43 @@ +plasma-disks +________________________________________________________________________________ + +Monitors S.M.A.R.T. capable devices for imminent failure + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-disks | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-disks/version b/main/plasma-disks/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-disks/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-firewall/.PKGINFO b/main/plasma-firewall/.PKGINFO new file mode 100644 index 00000000..d331ef00 --- /dev/null +++ b/main/plasma-firewall/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-firewall +pkgbase = plasma-firewall +xdata = pkgtype=pkg +pkgver = 6.0.4-2 +pkgdesc = Control Panel for your system firewall +url = https://kde.org/plasma-desktop/ +builddate = 1715214752 +packager = Developer +size = 1287089 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kauth +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kirigami +depend = qt6-base +depend = qt6-declarative +optdepend = firewalld: firewalld backend +optdepend = iproute2: netstat backend +optdepend = python: ufw backend +optdepend = ufw: ufw backend +makedepend = extra-cmake-modules +makedepend = python diff --git a/main/plasma-firewall/PKGBUILD b/main/plasma-firewall/PKGBUILD new file mode 100644 index 00000000..80332097 --- /dev/null +++ b/main/plasma-firewall/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-firewall +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Control Panel for your system firewall' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kauth + kcmutils + kconfig + kcoreaddons + ki18n + kirigami + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + python) +optdepends=('firewalld: firewalld backend' + 'iproute2: netstat backend' + 'python: ufw backend' + 'ufw: ufw backend') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('18a57d2fa505d82accff3516c4e1a203b0938a4814f0445286815c19ee2b759a' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-firewall/README b/main/plasma-firewall/README new file mode 100644 index 00000000..0a943e20 --- /dev/null +++ b/main/plasma-firewall/README @@ -0,0 +1,43 @@ +plasma-firewall +________________________________________________________________________________ + +Control Panel for your system firewall + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-firewall | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-firewall/version b/main/plasma-firewall/version new file mode 100644 index 00000000..e1d42e64 --- /dev/null +++ b/main/plasma-firewall/version @@ -0,0 +1 @@ +6.0.4 2 diff --git a/main/plasma-integration/.PKGINFO b/main/plasma-integration/.PKGINFO new file mode 100644 index 00000000..ac86cbcc --- /dev/null +++ b/main/plasma-integration/.PKGINFO @@ -0,0 +1,54 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-integration +pkgbase = plasma-integration +xdata = pkgtype=split +pkgver = 6.0.4-1 +pkgdesc = Qt Platform Theme integration plugins for the Plasma workspaces +url = https://kde.org/plasma-desktop/ +builddate = 1713663710 +packager = Developer +size = 483076 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kcompletion +depend = kconfig +depend = kcoreaddons +depend = kguiaddons +depend = kiconthemes +depend = ki18n +depend = kio +depend = kstatusnotifieritem +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = libxcb +depend = libxcursor +depend = qqc2-breeze-style +depend = qqc2-desktop-style +depend = qt6-base +depend = qt6-declarative +depend = qt6-wayland +depend = wayland +depend = noto-fonts +depend = ttf-hack +depend = xdg-desktop-portal-kde +makedepend = extra-cmake-modules +makedepend = plasma-wayland-protocols +makedepend = kconfig5 +makedepend = ki18n5 +makedepend = kiconthemes5 +makedepend = kio5 +makedepend = knotifications5 +makedepend = kwayland5 +makedepend = kwindowsystem5 +makedepend = kxmlgui5 +makedepend = qt5-base +makedepend = qt5-declarative +makedepend = qt5-quickcontrols2 +makedepend = qt5-wayland +makedepend = qt5-x11extras diff --git a/main/plasma-integration/PKGBUILD b/main/plasma-integration/PKGBUILD new file mode 100644 index 00000000..16fc2eb5 --- /dev/null +++ b/main/plasma-integration/PKGBUILD @@ -0,0 +1,110 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=plasma-integration +pkgname=(plasma-integration + plasma5-integration) +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Qt Platform Theme integration plugins for the Plasma workspaces' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcolorscheme + kcompletion + kconfig + kcoreaddons + kguiaddons + kiconthemes + ki18n + kio + kstatusnotifieritem + kwidgetsaddons + kwindowsystem + kxmlgui + libxcb + libxcursor + qqc2-breeze-style + qqc2-desktop-style + qt6-base + qt6-declarative + qt6-wayland + wayland) +makedepends=(extra-cmake-modules + plasma-wayland-protocols + kconfig5 + ki18n5 + kiconthemes5 + kio5 + knotifications5 + kwayland5 + kwindowsystem5 + kxmlgui5 + qt5-base + qt5-declarative + qt5-quickcontrols2 + qt5-wayland + qt5-x11extras) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('5beb7784d124d9ea108f008043a93c837c07573f5bc8afcf9216eeb4644afd8a' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QT5=OFF + cmake --build build + + cmake -B build5 -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QT6=OFF + cmake --build build5 +} + +package_plasma-integration() { + depends+=(noto-fonts + ttf-hack + xdg-desktop-portal-kde) + DESTDIR="$pkgdir" cmake --install build +} + +package_plasma5-integration() { + pkgdesc='Qt5 Platform Theme integration plugins for the Plasma workspaces' + depends=(gcc-libs + glibc + kcompletion5 + kconfig5 + kconfigwidgets5 + kcoreaddons5 + ki18n5 + kiconthemes5 + kio5 + kjobwidgets5 + knotifications5 + kservice5 + kwayland5 + kwidgetsaddons5 + kwindowsystem5 + kxmlgui5 + libxcb + libxcursor + qt5-base + qt5-declarative + qt5-quickcontrols2 + qt5-wayland + qt5-x11extras + wayland) + conflicts=('plasma-integration<5.27.80') + replaces=('plasma-integration<5.27.80') + groups=() + + DESTDIR="$pkgdir" cmake --install build5 +} diff --git a/main/plasma-integration/README b/main/plasma-integration/README new file mode 100644 index 00000000..6ebfc8c8 --- /dev/null +++ b/main/plasma-integration/README @@ -0,0 +1,43 @@ +plasma-integration +________________________________________________________________________________ + +Qt Platform Theme integration plugins for the Plasma workspaces Qt5 Platform Theme integration plugins for the Plasma workspaces + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-integration | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-integration/version b/main/plasma-integration/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-integration/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-meta/PKGBUILD b/main/plasma-meta/PKGBUILD new file mode 100644 index 00000000..e353dbe9 --- /dev/null +++ b/main/plasma-meta/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer + + +pkgname=plasma-meta +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Meta package to install KDE Plasma' +arch=(any) +license=(None) +url='https://kde.org/plasma-desktop/' +depends=(bluedevil + breeze-gtk + drkonqi + kde-gtk-config + kdeplasma-addons + kgamma + kinfocenter + kscreen + ksshaskpass + kwallet-pam + kwrited + ocean-sound-theme + oxygen + oxygen-sounds + plasma-browser-integration + plasma-desktop + plasma-disks + plasma-firewall + plasma-nm + plasma-pa + plasma-systemmonitor + plasma-thunderbolt + plasma-vault + plasma-welcome + plasma-workspace-wallpapers + powerdevil + print-manager + sddm-kcm + xdg-desktop-portal-kde +) + +optdepends=('breeze-grub: Breeze theme for GRUB' + 'breeze-plymouth: Breeze theme for Plymouth' + 'flatpak-kcm: Manage Flatpak applications from systemsettings' + 'plymouth-kcm: Configure Plymouth from systemsettings' + 'plasma-sdk: Development tools' + 'discover: To install addons and packages') diff --git a/main/plasma-meta/README b/main/plasma-meta/README new file mode 100644 index 00000000..b7965889 --- /dev/null +++ b/main/plasma-meta/README @@ -0,0 +1,43 @@ +plasma-meta +________________________________________________________________________________ + +Meta package to install KDE Plasma + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-meta | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-meta/version b/main/plasma-meta/version new file mode 100644 index 00000000..4982ca85 --- /dev/null +++ b/main/plasma-meta/version @@ -0,0 +1 @@ +6.0 2 diff --git a/main/plasma-nm/.PKGINFO b/main/plasma-nm/.PKGINFO new file mode 100644 index 00000000..dd2d4ab0 --- /dev/null +++ b/main/plasma-nm/.PKGINFO @@ -0,0 +1,49 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-nm +pkgbase = plasma-nm +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plasma applet written in QML for managing network connections +url = https://kde.org/plasma-desktop/ +builddate = 1713663711 +packager = Developer +size = 10125846 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glib2 +depend = glibc +depend = kcmutils +depend = kcolorscheme +depend = kcompletion +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kdeclarative +depend = ki18n +depend = kio +depend = kirigami +depend = knotifications +depend = kquickcharts +depend = ksvg +depend = kwallet +depend = kwidgetsaddons +depend = kwindowsystem +depend = libnm +depend = libplasma +depend = modemmanager-qt +depend = networkmanager-qt +depend = plasma-workspace +depend = prison +depend = qca-qt6 +depend = qcoro-qt6 +depend = qt6-base +depend = qt6-declarative +depend = solid +optdepend = openconnect: Cisco AnyConnect VPN plugin +optdepend = qt6-webengine: Cisco AnyConnect VPN plugin +makedepend = extra-cmake-modules +makedepend = openconnect +makedepend = qt6-webengine diff --git a/main/plasma-nm/PKGBUILD b/main/plasma-nm/PKGBUILD new file mode 100644 index 00000000..1728c2f0 --- /dev/null +++ b/main/plasma-nm/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-nm +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plasma applet written in QML for managing network connections' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glib2 + glibc + kcmutils + kcolorscheme + kcompletion + kconfig + kcoreaddons + kdbusaddons + kdeclarative + ki18n + kio + kirigami + knotifications + kquickcharts + ksvg + kwallet + kwidgetsaddons + kwindowsystem + libnm + libplasma + modemmanager-qt + networkmanager-qt + plasma-workspace + prison + qca-qt6 + qcoro-qt6 + qt6-base + qt6-declarative + solid) +makedepends=(extra-cmake-modules + openconnect + qt6-webengine +) +optdepends=('openconnect: Cisco AnyConnect VPN plugin' + 'qt6-webengine: Cisco AnyConnect VPN plugin') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1058b85942deb5c79632f5c32f09f781b70381de1239e1ce87dfe9972856ed3d' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-nm/README b/main/plasma-nm/README new file mode 100644 index 00000000..44185e98 --- /dev/null +++ b/main/plasma-nm/README @@ -0,0 +1,43 @@ +plasma-nm +________________________________________________________________________________ + +Plasma applet written in QML for managing network connections + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-nm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-nm/version b/main/plasma-nm/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-nm/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-pa/.PKGINFO b/main/plasma-pa/.PKGINFO new file mode 100644 index 00000000..4e845000 --- /dev/null +++ b/main/plasma-pa/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-pa +pkgbase = plasma-pa +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plasma applet for audio volume management using PulseAudio +url = https://kde.org/plasma-desktop/ +builddate = 1713663712 +packager = Developer +size = 1108180 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glib2 +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdeclarative +depend = kglobalaccel +depend = ki18n +depend = kirigami +depend = kitemmodels +depend = kstatusnotifieritem +depend = ksvg +depend = libcanberra +depend = libplasma +depend = libpulse +depend = plasma-workspace +depend = pulse-native-provider +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/plasma-pa/PKGBUILD b/main/plasma-pa/PKGBUILD new file mode 100644 index 00000000..ce869a96 --- /dev/null +++ b/main/plasma-pa/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-pa +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plasma applet for audio volume management using PulseAudio' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glib2 + glibc + kcmutils + kconfig + kcoreaddons + kdeclarative + kglobalaccel + ki18n + kirigami + kitemmodels + kstatusnotifieritem + ksvg + libcanberra + libplasma + libpulse + plasma-workspace + pulse-native-provider + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('b1e198a01551e87275b3f9b718b94df3edf391dccf2ba71ea9af07bc52ddee5b' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-pa/README b/main/plasma-pa/README new file mode 100644 index 00000000..376788ea --- /dev/null +++ b/main/plasma-pa/README @@ -0,0 +1,43 @@ +plasma-pa +________________________________________________________________________________ + +Plasma applet for audio volume management using PulseAudio + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-pa | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-pa/version b/main/plasma-pa/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-pa/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-systemmonitor/.PKGINFO b/main/plasma-systemmonitor/.PKGINFO new file mode 100644 index 00000000..6319256a --- /dev/null +++ b/main/plasma-systemmonitor/.PKGINFO @@ -0,0 +1,37 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-systemmonitor +pkgbase = plasma-systemmonitor +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = An interface for monitoring system sensors, process information and other system resources +url = https://kde.org/plasma-desktop/ +builddate = 1713663714 +packager = Developer +size = 2063473 +arch = x86_64 +license = GPL-2.0-or-later +license = LGPL-2.0-or-later +replaces = ksysguard +group = plasma +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = kglobalaccel +depend = ki18n +depend = kiconthemes +depend = kio +depend = kirigami +depend = kirigami-addons +depend = kitemmodels +depend = knewstuff +depend = kquickcharts +depend = kservice +depend = ksystemstats +depend = kwindowsystem +depend = libksysguard +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules diff --git a/main/plasma-systemmonitor/PKGBUILD b/main/plasma-systemmonitor/PKGBUILD new file mode 100644 index 00000000..60c2bbf7 --- /dev/null +++ b/main/plasma-systemmonitor/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-systemmonitor +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='An interface for monitoring system sensors, process information and other system resources' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later LGPL-2.0-or-later) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + kdbusaddons + kglobalaccel + ki18n + kiconthemes + kio + kirigami + kirigami-addons + kitemmodels + knewstuff + kquickcharts + kservice + ksystemstats + kwindowsystem + libksysguard + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules) +groups=(plasma) +replaces=(ksysguard) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('25c308e98c78072a04456215932b613e8fb9ea71ec520c0500d71e6ab0bc5847' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-systemmonitor/README b/main/plasma-systemmonitor/README new file mode 100644 index 00000000..d397968d --- /dev/null +++ b/main/plasma-systemmonitor/README @@ -0,0 +1,43 @@ +plasma-systemmonitor +________________________________________________________________________________ + +An interface for monitoring system sensors, process information and other system resources + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-systemmonitor | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-systemmonitor/version b/main/plasma-systemmonitor/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-systemmonitor/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-thunderbolt/.PKGINFO b/main/plasma-thunderbolt/.PKGINFO new file mode 100644 index 00000000..005d6c5a --- /dev/null +++ b/main/plasma-thunderbolt/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-thunderbolt +pkgbase = plasma-thunderbolt +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plasma integration for controlling Thunderbolt devices +url = https://kde.org/plasma-desktop/ +builddate = 1713663715 +packager = Developer +size = 494691 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = bolt +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kirigami +depend = knotifications +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules diff --git a/main/plasma-thunderbolt/PKGBUILD b/main/plasma-thunderbolt/PKGBUILD new file mode 100644 index 00000000..5a0aa41d --- /dev/null +++ b/main/plasma-thunderbolt/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-thunderbolt +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plasma integration for controlling Thunderbolt devices' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(bolt + gcc-libs + glibc + kcmutils + kcoreaddons + kdbusaddons + ki18n + kirigami + knotifications + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c50ff28839eee87626eb7f191ff56c0c966176dd10d3f42a9bce280e33134d62' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-thunderbolt/README b/main/plasma-thunderbolt/README new file mode 100644 index 00000000..25694f97 --- /dev/null +++ b/main/plasma-thunderbolt/README @@ -0,0 +1,43 @@ +plasma-thunderbolt +________________________________________________________________________________ + +Plasma integration for controlling Thunderbolt devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-thunderbolt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-thunderbolt/version b/main/plasma-thunderbolt/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-thunderbolt/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-vault/.PKGINFO b/main/plasma-vault/.PKGINFO new file mode 100644 index 00000000..977c85ae --- /dev/null +++ b/main/plasma-vault/.PKGINFO @@ -0,0 +1,36 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-vault +pkgbase = plasma-vault +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Plasma applet and services for creating encrypted vaults +url = https://kde.org/plasma-desktop/ +builddate = 1713663716 +packager = Developer +size = 1500932 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kio +depend = kirigami +depend = kitemmodels +depend = kservice +depend = kwidgetsaddons +depend = libksysguard +depend = networkmanager-qt +depend = libplasma +depend = plasma-workspace +depend = qt6-base +depend = qt6-declarative +optdepend = cryfs: to use cryFS for encryption +optdepend = encfs: to use encFS for encryption +optdepend = gocryptfs: to use gocryptfs for encryption +makedepend = extra-cmake-modules diff --git a/main/plasma-vault/PKGBUILD b/main/plasma-vault/PKGBUILD new file mode 100644 index 00000000..909477b8 --- /dev/null +++ b/main/plasma-vault/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-vault +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Plasma applet and services for creating encrypted vaults' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + plasma-activities + kconfig + kcoreaddons + kdbusaddons + ki18n + kio + kirigami + kitemmodels + kservice + kwidgetsaddons + libksysguard + networkmanager-qt + libplasma + plasma-workspace + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules) +optdepends=('cryfs: to use cryFS for encryption' + 'encfs: to use encFS for encryption' + 'gocryptfs: to use gocryptfs for encryption') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('51842d70afb579c1af8b171bdbdef9869a98da86e2e15de47f0d294ee1aa89f7' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-vault/README b/main/plasma-vault/README new file mode 100644 index 00000000..48d9c235 --- /dev/null +++ b/main/plasma-vault/README @@ -0,0 +1,43 @@ +plasma-vault +________________________________________________________________________________ + +Plasma applet and services for creating encrypted vaults + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-vault | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-vault/version b/main/plasma-vault/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-vault/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-welcome/.PKGINFO b/main/plasma-welcome/.PKGINFO new file mode 100644 index 00000000..157829db --- /dev/null +++ b/main/plasma-welcome/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-welcome +pkgbase = plasma-welcome +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = A friendly onboarding wizard for Plasma +url = https://kde.org/plasma-desktop/ +builddate = 1713663717 +packager = Developer +size = 2184692 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kio +depend = kirigami +depend = kirigami-addons +depend = kjobwidgets +depend = knewstuff +depend = kservice +depend = kuserfeedback +depend = kwindowsystem +depend = plasma-nm +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules diff --git a/main/plasma-welcome/PKGBUILD b/main/plasma-welcome/PKGBUILD new file mode 100644 index 00000000..4c5a7d77 --- /dev/null +++ b/main/plasma-welcome/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-welcome +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='A friendly onboarding wizard for Plasma' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + kdbusaddons + ki18n + kio + kirigami + kirigami-addons + kjobwidgets + knewstuff # org.kde.knewstuff-dialog + kservice + kuserfeedback + kwindowsystem + plasma-nm + qt6-5compat + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('db61235c0f7478707095b1ec99ce13c270feb81a181d44eb8d4309251b63d41c' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-welcome/README b/main/plasma-welcome/README new file mode 100644 index 00000000..9045f225 --- /dev/null +++ b/main/plasma-welcome/README @@ -0,0 +1,43 @@ +plasma-welcome +________________________________________________________________________________ + +A friendly onboarding wizard for Plasma + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-welcome | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-welcome/version b/main/plasma-welcome/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-welcome/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma-workspace-wallpapers/.PKGINFO b/main/plasma-workspace-wallpapers/.PKGINFO new file mode 100644 index 00000000..45466c7b --- /dev/null +++ b/main/plasma-workspace-wallpapers/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma-workspace-wallpapers +pkgbase = plasma-workspace-wallpapers +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Additional wallpapers for the Plasma Workspace +url = https://kde.org/plasma-desktop/ +builddate = 1713663718 +packager = Developer +size = 111204310 +arch = any +license = LGPL +group = plasma +makedepend = extra-cmake-modules +makedepend = qt5-base diff --git a/main/plasma-workspace-wallpapers/PKGBUILD b/main/plasma-workspace-wallpapers/PKGBUILD new file mode 100644 index 00000000..8fdd1dbe --- /dev/null +++ b/main/plasma-workspace-wallpapers/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma-workspace-wallpapers +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Additional wallpapers for the Plasma Workspace' +arch=(any) +url='https://kde.org/plasma-desktop/' +license=(LGPL) +makedepends=(extra-cmake-modules qt5-base) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('66ecbd25db634aeb52be05fc3dcc4a71b1cffdee12ab645147ae5f2ec4237bdb' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma-workspace-wallpapers/README b/main/plasma-workspace-wallpapers/README new file mode 100644 index 00000000..4e4634c7 --- /dev/null +++ b/main/plasma-workspace-wallpapers/README @@ -0,0 +1,43 @@ +plasma-workspace-wallpapers +________________________________________________________________________________ + +Additional wallpapers for the Plasma Workspace + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma-workspace-wallpapers | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma-workspace-wallpapers/version b/main/plasma-workspace-wallpapers/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma-workspace-wallpapers/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/plasma5support/.PKGINFO b/main/plasma5support/.PKGINFO new file mode 100644 index 00000000..98c00bda --- /dev/null +++ b/main/plasma5support/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = plasma5support +pkgbase = plasma5support +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Support components for porting from KF5/Qt5 to KF6/Qt6 +url = https://kde.org/plasma-desktop/ +builddate = 1713663702 +packager = Developer +size = 791646 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = qt6-base +depend = qt6-declarative +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-tools diff --git a/main/plasma5support/PKGBUILD b/main/plasma5support/PKGBUILD new file mode 100644 index 00000000..0b737b13 --- /dev/null +++ b/main/plasma5support/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=plasma5support +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Support components for porting from KF5/Qt5 to KF6/Qt6' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kconfig + kcoreaddons + ki18n + qt6-base + qt6-declarative) +makedepends=(doxygen + extra-cmake-modules + qt6-tools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('c883bb07e513edc66fd3939a542f3c4e017c882c1851286e55bb7addcb5c3495' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/plasma5support/README b/main/plasma5support/README new file mode 100644 index 00000000..9bdc788a --- /dev/null +++ b/main/plasma5support/README @@ -0,0 +1,43 @@ +plasma5support +________________________________________________________________________________ + +Support components for porting from KF5/Qt5 to KF6/Qt6 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S plasma5support | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/plasma5support/version b/main/plasma5support/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/plasma5support/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/polkit-kde-agent/.PKGINFO b/main/polkit-kde-agent/.PKGINFO new file mode 100644 index 00000000..86e76dbd --- /dev/null +++ b/main/polkit-kde-agent/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = polkit-kde-agent +pkgbase = polkit-kde-agent +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Daemon providing a polkit authentication UI for KDE +url = https://kde.org/plasma-desktop/ +builddate = 1713663766 +packager = Developer +size = 237260 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = ki18n +depend = kirigami +depend = kwindowsystem +depend = polkit-qt6 +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/polkit-kde-agent/PKGBUILD b/main/polkit-kde-agent/PKGBUILD new file mode 100644 index 00000000..85836177 --- /dev/null +++ b/main/polkit-kde-agent/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=polkit-kde-agent +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Daemon providing a polkit authentication UI for KDE' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcoreaddons + kcrash + kdbusaddons + ki18n + kirigami + kwindowsystem + polkit-qt6 + qt6-5compat + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-1-$pkgver.tar.xz{,.sig}) +sha256sums=('3dbc5f47eec7092ccf1f4295a349fe69ae84ce800bea90925a096b638dd0cbfd' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-1-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/polkit-kde-agent/README b/main/polkit-kde-agent/README new file mode 100644 index 00000000..d93b835c --- /dev/null +++ b/main/polkit-kde-agent/README @@ -0,0 +1,43 @@ +polkit-kde-agent +________________________________________________________________________________ + +Daemon providing a polkit authentication UI for KDE + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S polkit-kde-agent | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/polkit-kde-agent/version b/main/polkit-kde-agent/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/polkit-kde-agent/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/polkit-qt/.nvchecker.toml b/main/polkit-qt/.nvchecker.toml new file mode 100644 index 00000000..3d1c8483 --- /dev/null +++ b/main/polkit-qt/.nvchecker.toml @@ -0,0 +1,6 @@ +[polkit-qt] +source = 'gitlab' +gitlab = 'libraries/polkit-qt-1' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/polkit-qt/PKGBUILD b/main/polkit-qt/PKGBUILD new file mode 100644 index 00000000..5ff818ae --- /dev/null +++ b/main/polkit-qt/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=polkit-qt +pkgname=(polkit-qt5 + polkit-qt6) +pkgver=%version% +pkgrel=%release% +pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API' +arch=(x86_64) +url='https://www.kde.org/' +license=(BSD-3-Clause + GPL-2.0-or-later + LGPL-2.0-or-later) +depends=(gcc-libs + glib2 + glibc + polkit) +makedepends=(cmake + qt5-base + qt6-base) +source=(https://download.kde.org/stable/$pkgbase-1/$pkgbase-1-$pkgver.tar.xz{,.sig}) +sha256sums=('5d3b611c062d2b76a93750bb10c907bfd21d1ff08d0a15dc2cf63e278e1677fb' + 'SKIP') +validpgpkeys=(D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build5 -S $pkgbase-1-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr + cmake --build build5 + + cmake -B build6 -S $pkgbase-1-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DQT_MAJOR_VERSION=6 + cmake --build build6 +} + +package_polkit-qt5() { + depends+=(qt5-base) + + DESTDIR="$pkgdir" cmake --install build5 + install -Dm644 $pkgbase-1-$pkgver/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname +} + +package_polkit-qt6() { + depends+=(qt6-base) + + DESTDIR="$pkgdir" cmake --install build6 + install -Dm644 $pkgbase-1-$pkgver/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/polkit-qt/README b/main/polkit-qt/README new file mode 100644 index 00000000..6118d4f1 --- /dev/null +++ b/main/polkit-qt/README @@ -0,0 +1,43 @@ +polkit-qt +________________________________________________________________________________ + +A library that allows developers to access PolicyKit API with a nice Qt-style API + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S polkit-qt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org/ diff --git a/main/polkit-qt/version b/main/polkit-qt/version new file mode 100644 index 00000000..fa2bca58 --- /dev/null +++ b/main/polkit-qt/version @@ -0,0 +1 @@ +0.200.0 1 diff --git a/main/poppler/.PKGINFO b/main/poppler/.PKGINFO new file mode 100644 index 00000000..9f4858ab --- /dev/null +++ b/main/poppler/.PKGINFO @@ -0,0 +1,46 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = poppler-qt6 +pkgbase = poppler +xdata = pkgtype=split +pkgver = 24.06.0-1 +pkgdesc = Poppler Qt6 bindings +url = https://poppler.freedesktop.org/ +builddate = 1718491909 +packager = Developer +size = 814048 +arch = x86_64 +license = GPL-2.0-only +license = GPL-3.0-or-later +license = LGPL-2.0-or-later +license = LGPL-2.1-or-later +license = MIT +license = HPND-sell-variant +provides = libpoppler-qt6.so=3-64 +depend = poppler=24.06.0 +depend = qt6-base +depend = lcms2 +depend = freetype2 +depend = gcc-libs +depend = glibc +makedepend = libjpeg +makedepend = gcc-libs +makedepend = cairo +makedepend = fontconfig +makedepend = openjpeg2 +makedepend = gtk3 +makedepend = pkgconfig +makedepend = lcms2 +makedepend = gobject-introspection +makedepend = icu +makedepend = qt5-base +makedepend = qt6-base +makedepend = git +makedepend = nss +makedepend = gpgme +makedepend = gtk-doc +makedepend = curl +makedepend = poppler-data +makedepend = cmake +makedepend = python +makedepend = boost diff --git a/main/poppler/.nvchecker.toml b/main/poppler/.nvchecker.toml new file mode 100644 index 00000000..f9d6c61b --- /dev/null +++ b/main/poppler/.nvchecker.toml @@ -0,0 +1,6 @@ +[poppler] +source = "gitlab" +gitlab = "poppler/poppler" +host = "gitlab.freedesktop.org" +use_max_tag = true +prefix = "poppler-" diff --git a/main/poppler/PKGBUILD b/main/poppler/PKGBUILD new file mode 100644 index 00000000..545dcebb --- /dev/null +++ b/main/poppler/PKGBUILD @@ -0,0 +1,109 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=poppler +pkgname=('poppler' 'poppler-glib' 'poppler-qt5' 'poppler-qt6') +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +license=('GPL-2.0-only' + 'GPL-3.0-or-later' + 'MIT' + 'HPND-sell-variant') +makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg2' + 'gtk3' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu' + 'qt5-base' 'qt6-base' 'git' 'nss' 'gpgme' 'gtk-doc' 'curl' 'poppler-data' + 'cmake' 'python' 'boost') +options=('!emptydirs') +url="https://poppler.freedesktop.org/" +# https://gitlab.freedesktop.org/poppler/poppler +source=(https://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz{,.sig} + test::git+https://anongit.freedesktop.org/git/poppler/test/#commit=400f3ff05b2b1c0ae17797a0bd50e75e35c1f1b1) +sha256sums=('bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446' + 'SKIP' + 'SKIP') +validpgpkeys=('CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7') # Albert Astals Cid + +build() { + cmake -B build -S "$pkgname-$pkgver" \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DENABLE_GTK_DOC=ON + cmake --build build +} + +check() { + LANG=en_US.UTF8 ctest --test-dir build --output-on-failure +} + +package_poppler() { + pkgdesc="PDF rendering library based on xpdf 3.0" + depends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' + 'openjpeg2' 'lcms2' 'nss' 'curl' 'gpgme' + 'nspr' 'libpng' 'freetype2' 'zlib' 'libtiff' 'glibc') + optdepends=('poppler-data: highly recommended encoding data to display PDF documents with certain encodings and characters') + provides=('libpoppler.so' 'libpoppler-cpp.so') + conflicts=("poppler-qt3<${pkgver}" "poppler-qt4<${pkgver}") + + DESTDIR="$pkgdir" cmake --install build + + # cleanup for splitted build + rm -vrf "${pkgdir}"/usr/include/poppler/{glib,qt5,qt6} + rm -vf "${pkgdir}"//usr/lib/libpoppler-{glib,qt5,qt6}.* + rm -vf "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt5,qt6}.pc + rm -vrf "${pkgdir}"/usr/{lib,share}/gir* + rm -vrf "${pkgdir}"/usr/share/gtk-doc + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgname}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/ +} + +package_poppler-glib() { + pkgdesc="Poppler glib bindings" + depends=("poppler=${pkgver}" 'glib2' 'gcc-libs' 'freetype2' 'cairo' 'glibc') + provides=('libpoppler-glib.so') + + cd build + + make -C glib DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 poppler-glib.pc "${pkgdir}/usr/lib/pkgconfig/" + rm -vf "${pkgdir}"/usr/lib/libpoppler.* + rm -vf "${pkgdir}/usr/bin/poppler-glib-demo" + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/ +} + +package_poppler-qt5() { + pkgdesc="Poppler Qt5 bindings" + depends=("poppler=${pkgver}" 'qt5-base' 'lcms2' 'freetype2' 'gcc-libs' 'glibc') + provides=('libpoppler-qt5.so') + + cd build + make -C qt5 DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 poppler-qt5.pc "${pkgdir}/usr/lib/pkgconfig/" + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/ +} + +package_poppler-qt6() { + pkgdesc="Poppler Qt6 bindings" + depends=("poppler=${pkgver}" 'qt6-base' 'lcms2' 'freetype2' 'gcc-libs' 'glibc') + provides=('libpoppler-qt6.so') + + cd build + make -C qt6 DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m644 poppler-qt6.pc "${pkgdir}/usr/lib/pkgconfig/" + + # license + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/${pkgbase}-${pkgver}/{COPYING,COPYING3,README-XPDF,README.contributors} "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/main/poppler/README b/main/poppler/README new file mode 100644 index 00000000..431af98c --- /dev/null +++ b/main/poppler/README @@ -0,0 +1,43 @@ +poppler +________________________________________________________________________________ + +PDF rendering library based on xpdf 3.0 Poppler glib bindings Poppler Qt5 bindings Poppler Qt6 bindings + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S poppler | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://poppler.freedesktop.org/ diff --git a/main/poppler/version b/main/poppler/version new file mode 100644 index 00000000..51423cde --- /dev/null +++ b/main/poppler/version @@ -0,0 +1 @@ +24.06.0 1 diff --git a/main/popt/PKGBUILD b/main/popt/PKGBUILD new file mode 100644 index 00000000..8bb94746 --- /dev/null +++ b/main/popt/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=popt +pkgver=%version% +pkgrel=%release% +pkgdesc="A commandline option parser" +arch=('x86_64') +url="https://github.com/rpm-software-management/popt" +license=('custom') +depends=('glibc') +options=('staticlibs') +source=(https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/popt-${pkgver}.tar.gz) +sha256sums=('c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9') + +build() { + cd "${pkgname}-${pkgver}" + # Avoid stripping issue + CFLAGS+=" -ffat-lto-objects" ./configure --prefix=/usr + make +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/popt/README b/main/popt/README new file mode 100644 index 00000000..1ad5f1e6 --- /dev/null +++ b/main/popt/README @@ -0,0 +1,43 @@ +popt +________________________________________________________________________________ + +A commandline option parser + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S popt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/rpm-software-management/popt diff --git a/main/popt/version b/main/popt/version new file mode 100644 index 00000000..4e7f270b --- /dev/null +++ b/main/popt/version @@ -0,0 +1 @@ +1.19 1 diff --git a/main/portaudio/PKGBUILD b/main/portaudio/PKGBUILD new file mode 100644 index 00000000..14319c62 --- /dev/null +++ b/main/portaudio/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=portaudio +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='A free, cross-platform, open source, audio I/O library.' +arch=(x86_64) +url="https://github.com/portaudio/portaudio/" +license=(MIT) +depends=( + gcc-libs + glibc +) +makedepends=( + alsa-lib + cmake + jack +) +provides=( + libportaudio.so + libportaudiocpp.so +) +source=($url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz) +sha512sums=('7e347a174109b661a685bcd617cc8fe00929c6fbf28f142fd7709a8ddbb9b5ed6e805be6647a44b4b9441b79e3474561de6f8e351b4ffc024952ed3e0e27ac1c') +b2sums=('db16882e97e60ab47b37c6d8851aa29e16e321531f3890f70390d89364aee2c1a9b42be09e7534f38d1c9ca48dd466b512874731049e42759a674571d6054220') + +prepare() { + cd $pkgname-$pkgver + ( + cd bindings/cpp + autoreconf -fiv + ) + autoreconf -fiv +} + +build() { + local configure_options=( + --prefix=/usr + --enable-cxx + ) + + cd $pkgname-$pkgver + ./configure "${configure_options[@]}" + # build breaks with multiple jobs when building C++ bindings: + # https://github.com/PortAudio/portaudio/issues/540 + make -j1 +} + +package() { + depends+=( + alsa-lib libasound.so + jack libjack.so + ) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -vDm 644 LICENSE.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 README.* -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/portaudio/README b/main/portaudio/README new file mode 100644 index 00000000..0e44d4c5 --- /dev/null +++ b/main/portaudio/README @@ -0,0 +1,43 @@ +portaudio +________________________________________________________________________________ + +A free, cross-platform, open source, audio I/O library. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S portaudio | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/portaudio/portaudio/ diff --git a/main/portaudio/version b/main/portaudio/version new file mode 100644 index 00000000..7cdca864 --- /dev/null +++ b/main/portaudio/version @@ -0,0 +1 @@ +19.7.0 2 diff --git a/main/powerdevil/.PKGINFO b/main/powerdevil/.PKGINFO new file mode 100644 index 00000000..930d7624 --- /dev/null +++ b/main/powerdevil/.PKGINFO @@ -0,0 +1,46 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = powerdevil +pkgbase = powerdevil +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Manages the power consumption settings of a Plasma Shell +url = https://kde.org/plasma-desktop/ +builddate = 1713663767 +packager = Developer +size = 2878667 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = ddcutil +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kauth +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = kglobalaccel +depend = ki18n +depend = kidletime +depend = kirigami +depend = kitemmodels +depend = knotifications +depend = ksvg +depend = kwindowsystem +depend = kxmlgui +depend = layer-shell-qt +depend = libkscreen +depend = libplasma +depend = libxcb +depend = plasma-workspace +depend = qt6-base +depend = qt6-declarative +depend = solid +depend = systemd-libs +optdepend = kinfocenter: for the Energy Information KCM +optdepend = power-profiles-daemon: power profiles support +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/powerdevil/PKGBUILD b/main/powerdevil/PKGBUILD new file mode 100644 index 00000000..46f05a80 --- /dev/null +++ b/main/powerdevil/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=powerdevil +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Manages the power consumption settings of a Plasma Shell' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(ddcutil + gcc-libs + glibc + plasma-activities + kauth + kcmutils + kconfig + kcoreaddons + kcrash + kdbusaddons + kglobalaccel + ki18n + kidletime + kirigami + kitemmodels + knotifications + ksvg + kwindowsystem + kxmlgui + layer-shell-qt + libkscreen + libplasma + libxcb + plasma-workspace + qt6-base + qt6-declarative + solid + systemd-libs) +makedepends=(extra-cmake-modules + kdoctools) +optdepends=('kinfocenter: for the Energy Information KCM' + 'power-profiles-daemon: power profiles support') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1c9b90e30cb2222e0f5cd2aaf0a8f8908c9e7ec1151ad40dcd7cf7540ea1ed92' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/powerdevil/README b/main/powerdevil/README new file mode 100644 index 00000000..6c672cde --- /dev/null +++ b/main/powerdevil/README @@ -0,0 +1,43 @@ +powerdevil +________________________________________________________________________________ + +Manages the power consumption settings of a Plasma Shell + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S powerdevil | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/powerdevil/version b/main/powerdevil/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/powerdevil/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/ppp/LICENSE b/main/ppp/LICENSE new file mode 100644 index 00000000..b3846c7c --- /dev/null +++ b/main/ppp/LICENSE @@ -0,0 +1,7 @@ +Copyrights: +*********** + +All of the code can be freely used and redistributed. The individual +source files each have their own copyright and permission notice. +Pppd, pppstats and pppdump are under BSD-style notices. Some of the +pppd plugins are GPL'd. Chat is public domain. diff --git a/main/ppp/PKGBUILD b/main/ppp/PKGBUILD new file mode 100644 index 00000000..632248de --- /dev/null +++ b/main/ppp/PKGBUILD @@ -0,0 +1,93 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ppp +pkgver=%version% +pkgrel=%release% +pkgdesc="A daemon which implements the Point-to-Point Protocol for dial-up networking" +arch=(x86_64) +url="https://www.samba.org/ppp/" +license=('GPL' 'BSD') +depends=('glibc' 'libpcap' 'libxcrypt' 'openssl') +backup=(etc/ppp/{chap-secrets,ip-down,ip-down.d/00-dns.sh,ip-up,ip-up.d/00-dns.sh,ipv6-down,ipv6-up,ipv6-up.d/00-iface-config.sh,options,pap-secrets}) +source=(https://download.samba.org/pub/ppp/ppp-$pkgver.tar.gz{,.asc} + ppp-revert-var-lock.patch::https://github.com/ppp-project/ppp/commit/99cbf5e269994482edaf64624be8b1c806f9587c.patch + ppp-utils-mkdir.patch::https://github.com/ppp-project/ppp/commit/b0e7307b3569a5dad0f2606d2736cc8317851598.patch + ppp-create-rundir.patch::https://github.com/ppp-project/ppp/commit/3a4fec968174fd6f387d5ec872a56343f256f645.patch + ppp-device-name-too-long.patch::https://github.com/ppp-project/ppp/commit/9d6d326b2530cffb1414e4c401675117c42d43ce.patch + options + ip-up + ip-down + ip-up.d.dns.sh + ip-down.d.dns.sh + ipv6-up + ipv6-down + ipv6-up.d.iface-config.sh + ppp.systemd + LICENSE) +sha512sums=('094368ea2aa6c6e8dfba4443509857a7c1c7ff839bb6d6657743802477208c01e87db31593cef0932d3725c640e9c103179da6b742825034cda82bd31ddcc2ed' + 'SKIP' + 'eaf83b5d1204032f95dce12383a45ddc8050b4f85ba45bcc77f332fcbf8b73bf5f6fcf06f97e0606d37610249a013da8b36109f42a4901a477741970711ce73b' + '444eb247f1d3d8a83a8180b0593f2b79005fbcddfe38d33845d76324f8aa584e17fce36906b9a03b9be9092b9afbe5ebce3365d64887c08b6b4e19069a70d1fa' + '1bff91daaa61d4e3dcce82095be35f63c7025f22b956bf8b9ee48307a2ca437b61b55fd9f0172c514f3f6bee16aa9c615e6a11aeca663032d6a6d6f9166d4341' + '201b0a5006d62c40952ac662e3d6990f53dae379d290f27d804c71f84cb3f0ac346a5da783fc90461b5a853cad27e78e3f61896794e676c740541d780cac6ce8' + '4324a9abe79b20735b87de2158bb73b6449415a4760f06a06b648dfb53517f8d9907b094a88d1b492b24c8720cfd9b17d491fbe236fbd51ba9042af60483b231' + 'bdaaac792dd448ff31da6da2749d8c2f9c4e0311b1d4639de7c68038fcaa333cc28e25f5a6308de0ecb24b60b2e7284a811482df990da5f54d5581a746964f3c' + '92f3a5e383f2c888938e891ba831042e7f8c026b0ddf5ce8c3523d06ac32fa81742e638a4c665975cbc79868b98806d92574ee2ee8e034e33b065a90ee3ab28b' + '1636b2f8e3e0b0561aae9716e62c58cc7bee06aea0cdc163e64aba17da427810b7a12e4cea3d51b7a0b212fc2f4b7890f08d35d25165cd340b93241c9fe8842c' + '7ab85cd977333e89c1d184619a52fa46492db04760c86a44843607c68efc577a1715d0d1f827d6855184af0d87b4b4b02cf7e7102c798516238a45a3c8aa26ad' + '256941b220ad54119daf1c76237fecd0b2e9ede1d74b0950c45e373252ce20c1d4cd35a26b4d35f94ad2b7f49569fc9050c44731d672317994b562c750020326' + '1b8dc6300f746607c0cce835e69ed444f24ba81874ba061b2b0377f0b9c1cb41a383d6845b364dfabb249a461422972ba5010bacf55c5f85f5eb0d3c0f4c71cd' + '5b92a05bcf3ad4b7a88434546884e088069ce7c16a10c472589ca5ecc648f86ca02c2f608fb856ac6cb6ef14b508c2e0dec146c953128693bfb6c988f1963de8' + 'a73ae90ed8b3df166123ed5b977869efb957cb9c78538ff067f230ada894741e77a72caa3f32c14319eb4d4ad739579411ec6a30d9c197bd397dae25b1d90355' + 'ab3acd0387a7966ac3d220f2b0b6880302f827125d978991f83dd3f1a30340c2a98ca5aedf0b81ec6a9e5eb49b0b0a0a5356419f3b8415c892c2df8b52d3994a') +validpgpkeys=('631E179E370CD727A7F2A33A9E4295D605F66CE9' # Paul Mackerras (Signing key) + 'DE8E01561D8276A4DBFAEFCC040F1D49EC9DBB8C') # Paul Mackerras + +prepare() { + cd $pkgname-$pkgver + + patch -Np1 -i ../ppp-revert-var-lock.patch + patch -Np1 -i ../ppp-utils-mkdir.patch + patch -Np1 -i ../ppp-create-rundir.patch + patch -Np1 -i ../ppp-device-name-too-long.patch +} + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --runstatedir=/run \ + --enable-systemd --enable-cbcp --enable-multilink + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -D -m644 ../options "$pkgdir"/etc/ppp/options + install -D -m755 ../ip-up "$pkgdir"/etc/ppp/ip-up + install -D -m755 ../ip-down "$pkgdir"/etc/ppp/ip-down + install -d -m755 "$pkgdir"/etc/ppp/ip-up.d + install -d -m755 "$pkgdir"/etc/ppp/ip-down.d + install -m755 ../ip-up.d.dns.sh "$pkgdir"/etc/ppp/ip-up.d/00-dns.sh + install -m755 ../ip-down.d.dns.sh "$pkgdir"/etc/ppp/ip-down.d/00-dns.sh + install -D -m755 ../ipv6-up "$pkgdir"/etc/ppp/ipv6-up + install -D -m755 ../ipv6-down "$pkgdir"/etc/ppp/ipv6-down + install -d -m755 "$pkgdir"/etc/ppp/ipv6-up.d + install -d -m755 "$pkgdir"/etc/ppp/ipv6-down.d + install -m755 ../ipv6-up.d.iface-config.sh "$pkgdir"/etc/ppp/ipv6-up.d/00-iface-config.sh + + install -D -m755 scripts/pon "$pkgdir"/usr/bin/pon + install -D -m755 scripts/poff "$pkgdir"/usr/bin/poff + install -D -m755 scripts/plog "$pkgdir"/usr/bin/plog + install -D -m644 scripts/pon.1 "$pkgdir"/usr/share/man/man1/pon.1 + install -D -m600 etc.ppp/pap-secrets "$pkgdir"/etc/ppp/pap-secrets + install -D -m600 etc.ppp/chap-secrets "$pkgdir"/etc/ppp/chap-secrets + install -d -m755 "$pkgdir"/etc/ppp/peers + chmod 0755 "$pkgdir"/usr/lib/pppd/$pkgver/*.so + + install -D -m644 "$srcdir"/ppp.systemd "$pkgdir"/usr/lib/systemd/system/ppp@.service + + install -Dm644 "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/main/ppp/README b/main/ppp/README new file mode 100644 index 00000000..dbdc8092 --- /dev/null +++ b/main/ppp/README @@ -0,0 +1,43 @@ +ppp +________________________________________________________________________________ + +A daemon which implements the Point-to-Point Protocol for dial-up networking + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ppp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.samba.org/ppp/ diff --git a/main/ppp/ip-down b/main/ppp/ip-down new file mode 100644 index 00000000..cfd3ae09 --- /dev/null +++ b/main/ppp/ip-down @@ -0,0 +1,12 @@ +#!/bin/sh +# +# This script is run by pppd after the connection has ended. +# + +# Execute all scripts in /etc/ppp/ip-down.d/ +for ipdown in /etc/ppp/ip-down.d/*.sh; do + if [ -x $ipdown ]; then + # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam + $ipdown "$@" + fi +done diff --git a/main/ppp/ip-down.d.dns.sh b/main/ppp/ip-down.d.dns.sh new file mode 100644 index 00000000..c9da47a6 --- /dev/null +++ b/main/ppp/ip-down.d.dns.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -x /usr/bin/resolvconf ]; then + /usr/bin/resolvconf -fd ${IFNAME} +else + [ -e /etc/resolv.conf.backup.${IFNAME} ] && mv /etc/resolv.conf.backup.${IFNAME} /etc/resolv.conf +fi diff --git a/main/ppp/ip-up b/main/ppp/ip-up new file mode 100644 index 00000000..20473d73 --- /dev/null +++ b/main/ppp/ip-up @@ -0,0 +1,12 @@ +#!/bin/sh +# +# This script is run by pppd when there's a successful ppp connection. +# + +# Execute all scripts in /etc/ppp/ip-up.d/ +for ipup in /etc/ppp/ip-up.d/*.sh; do + if [ -x $ipup ]; then + # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam + $ipup "$@" + fi +done diff --git a/main/ppp/ip-up.d.dns.sh b/main/ppp/ip-up.d.dns.sh new file mode 100644 index 00000000..0fc737ec --- /dev/null +++ b/main/ppp/ip-up.d.dns.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +if [ "$USEPEERDNS" = "1" -a -f /etc/ppp/resolv.conf ]; then + if [ -x /usr/bin/resolvconf ]; then + /usr/bin/resolvconf -a ${IFNAME} /proc/sys/net/ipv6/conf/$1/use_tempaddr +echo 2 > /proc/sys/net/ipv6/conf/$1/accept_ra diff --git a/main/ppp/options b/main/ppp/options new file mode 100644 index 00000000..6069cf77 --- /dev/null +++ b/main/ppp/options @@ -0,0 +1,352 @@ +# /etc/ppp/options +# +# Originally created by Jim Knoble +# Modified for Debian by alvar Bray +# Modified for PPP Server setup by Christoph Lameter +# Modified for ArchLinux by Manolis Tzanidakis +# +# To quickly see what options are active in this file, use this command: +# grep -Ev '#|^ *$' /etc/ppp/options + +# Specify which DNS Servers the incoming Win95 or WinNT Connection should use +# Two Servers can be remotely configured +# ms-dns 192.168.1.1 +# ms-dns 192.168.1.2 + +# Specify which WINS Servers the incoming connection Win95 or WinNT should use +# ms-wins 192.168.1.50 +# ms-wins 192.168.1.51 + +# Run the executable or shell command specified after pppd has +# terminated the link. This script could, for example, issue commands +# to the modem to cause it to hang up if hardware modem control signals +# were not available. +#disconnect "chat -- \d+++\d\c OK ath0 OK" + +# async character map -- 32-bit hex; each bit is a character +# that needs to be escaped for pppd to receive it. 0x00000001 +# represents '\x01', and 0x80000000 represents '\x1f'. +asyncmap 0 + +# Require the peer to authenticate itself before allowing network +# packets to be sent or received. +# Please do not disable this setting. It is expected to be standard in +# future releases of pppd. Use the call option (see manpage) to disable +# authentication for specific peers. +auth + +# Use hardware flow control (i.e. RTS/CTS) to control the flow of data +# on the serial port. +crtscts + +# Use software flow control (i.e. XON/XOFF) to control the flow of data +# on the serial port. +#xonxoff + +# Specifies that certain characters should be escaped on transmission +# (regardless of whether the peer requests them to be escaped with its +# async control character map). The characters to be escaped are +# specified as a list of hex numbers separated by commas. Note that +# almost any character can be specified for the escape option, unlike +# the asyncmap option which only allows control characters to be +# specified. The characters which may not be escaped are those with hex +# values 0x20 - 0x3f or 0x5e. +#escape 11,13,ff + +# Don't use the modem control lines. +#local + +# Specifies that pppd should use a UUCP-style lock on the serial device +# to ensure exclusive access to the device. +lock + +# Don't show the passwords when logging the contents of PAP packets. +# This is the default. +hide-password + +# When logging the contents of PAP packets, this option causes pppd to +# show the password string in the log message. +#show-password + +# Use the modem control lines. On Ultrix, this option implies hardware +# flow control, as for the crtscts option. (This option is not fully +# implemented.) +modem + +# Set the MRU [Maximum Receive Unit] value to for negotiation. pppd +# will ask the peer to send packets of no more than bytes. The +# minimum MRU value is 128. The default MRU value is 1500. A value of +# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 +# bytes of data). +#mru 542 + +# Set the interface netmask to , a 32 bit netmask in "decimal dot" +# notation (e.g. 255.255.255.0). +#netmask 255.255.255.0 + +# Disables the default behaviour when no local IP address is specified, +# which is to determine (if possible) the local IP address from the +# hostname. With this option, the peer will have to supply the local IP +# address during IPCP negotiation (unless it specified explicitly on the +# command line or in an options file). +#noipdefault + +# Enables the "passive" option in the LCP. With this option, pppd will +# attempt to initiate a connection; if no reply is received from the +# peer, pppd will then just wait passively for a valid LCP packet from +# the peer (instead of exiting, as it does without this option). +#passive + +# With this option, pppd will not transmit LCP packets to initiate a +# connection until a valid LCP packet is received from the peer (as for +# the "passive" option with old versions of pppd). +#silent + +# Don't request or allow negotiation of any options for LCP and IPCP +# (use default values). +#-all + +# Disable Address/Control compression negotiation (use default, i.e. +# address/control field disabled). +#-ac + +# Disable asyncmap negotiation (use the default asyncmap, i.e. escape +# all control characters). +#-am + +# Don't fork to become a background process (otherwise pppd will do so +# if a serial device is specified). +#-detach + +# Disable IP address negotiation (with this option, the remote IP +# address must be specified with an option on the command line or in +# an options file). +#-ip + +# Disable IPCP negotiation and IP communication. This option should +# only be required if the peer is buggy and gets confused by requests +# from pppd for IPCP negotiation. +#noip + +# Disable magic number negotiation. With this option, pppd cannot +# detect a looped-back line. +#-mn + +# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. +# 1500). +#-mru + +# Disable protocol field compression negotiation (use default, i.e. +# protocol field compression disabled). +#-pc + +# Require the peer to authenticate itself using PAP. +#+pap + +# Don't agree to authenticate using PAP. +#-pap + +# Require the peer to authenticate itself using CHAP [Cryptographic +# Handshake Authentication Protocol] authentication. +#+chap + +# Don't agree to authenticate using CHAP. +#-chap + +# Disable negotiation of Van Jacobson style IP header compression (use +# default, i.e. no compression). +#-vj + +# Increase debugging level (same as -d). If this option is given, pppd +# will log the contents of all control packets sent or received in a +# readable form. The packets are logged through syslog with facility +# daemon and level debug. This information can be directed to a file by +# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If +# pppd is compiled with extra debugging enabled, it will log messages +# using facility local2 instead of daemon). +#debug + +# Append the domain name to the local host name for authentication +# purposes. For example, if gethostname() returns the name porsche, +# but the fully qualified domain name is porsche.Quotron.COM, you would +# use the domain option to set the domain name to Quotron.COM. +#domain + +# Enable debugging code in the kernel-level PPP driver. The argument n +# is a number which is the sum of the following values: 1 to enable +# general debug messages, 2 to request that the contents of received +# packets be printed, and 4 to request that the contents of transmitted +# packets be printed. +#kdebug n + +# Set the MTU [Maximum Transmit Unit] value to . Unless the peer +# requests a smaller value via MRU negotiation, pppd will request that +# the kernel networking code send data packets of no more than n bytes +# through the PPP network interface. +#mtu + +# Set the name of the local system for authentication purposes to . +# This is a privileged option. With this option, pppd will use lines in the +# secrets files which have as the second field when looking for a +# secret to use in authenticating the peer. In addition, unless overridden +# with the user option, will be used as the name to send to the peer +# when authenticating the local system to the peer. (Note that pppd does +# not append the domain name to .) +#name + +# Enforce the use of the hostname as the name of the local system for +# authentication purposes (overrides the name option). +#usehostname + +# Set the assumed name of the remote system for authentication purposes +# to . +#remotename + +# Add an entry to this system's ARP [Address Resolution Protocol] +# table with the IP address of the peer and the Ethernet address of this +# system. +proxyarp + +# Use the system password database for authenticating the peer using +# PAP. Note: mgetty already provides this option. If this is specified +# then dialin from users using a script under Linux to fire up ppp wont work. +# login + +# If this option is given, pppd will send an LCP echo-request frame to the +# peer every n seconds. Normally the peer should respond to the echo-request +# by sending an echo-reply. This option can be used with the +# lcp-echo-failure option to detect that the peer is no longer connected. +lcp-echo-interval 30 + +# If this option is given, pppd will presume the peer to be dead if n +# LCP echo-requests are sent without receiving a valid LCP echo-reply. +# If this happens, pppd will terminate the connection. Use of this +# option requires a non-zero value for the lcp-echo-interval parameter. +# This option can be used to enable pppd to terminate after the physical +# connection has been broken (e.g., the modem has hung up) in +# situations where no hardware modem control lines are available. +lcp-echo-failure 4 + +# Set the LCP restart interval (retransmission timeout) to seconds +# (default 3). +#lcp-restart + +# Set the maximum number of LCP terminate-request transmissions to +# (default 3). +#lcp-max-terminate + +# Set the maximum number of LCP configure-request transmissions to +# (default 10). +#lcp-max-configure + +# Set the maximum number of LCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#lcp-max-failure + +# Set the IPCP restart interval (retransmission timeout) to +# seconds (default 3). +#ipcp-restart + +# Set the maximum number of IPCP terminate-request transmissions to +# (default 3). +#ipcp-max-terminate + +# Set the maximum number of IPCP configure-request transmissions to +# (default 10). +#ipcp-max-configure + +# Set the maximum number of IPCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#ipcp-max-failure + +# Set the PAP restart interval (retransmission timeout) to seconds +# (default 3). +#pap-restart + +# Set the maximum number of PAP authenticate-request transmissions to +# (default 10). +#pap-max-authreq + +# Set the maximum time that pppd will wait for the peer to authenticate +# itself with PAP to seconds (0 means no limit). +#pap-timeout + +# Set the CHAP restart interval (retransmission timeout for +# challenges) to seconds (default 3). +#chap-restart + +# Set the maximum number of CHAP challenge transmissions to +# (default 10). +#chap-max-challenge + +# If this option is given, pppd will rechallenge the peer every +# seconds. +#chap-interval + +# With this option, pppd will accept the peer's idea of our local IP +# address, even if the local IP address was specified in an option. +#ipcp-accept-local + +# With this option, pppd will accept the peer's idea of its (remote) IP +# address, even if the remote IP address was specified in an option. +#ipcp-accept-remote + +# Disable the IPXCP and IPX protocols. +# To let pppd pass IPX packets comment this out --- you'll probably also +# want to install ipxripd, and have the Internal IPX Network option enabled +# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info. +noipx + +# Exit once a connection has been made and terminated. This is the default, +# unless the `persist' or `demand' option has been specified. +#nopersist + +# Do not exit after a connection is terminated; instead try to reopen +# the connection. +#persist + +# Terminate after n consecutive failed connection attempts. +# A value of 0 means no limit. The default value is 10. +#maxfail + +# Initiate the link only on demand, i.e. when data traffic is present. +# With this option, the remote IP address must be specified by the user on +# the command line or in an options file. Pppd will initially configure +# the interface and enable it for IP traffic without connecting to the peer. +# When traffic is available, pppd will connect to the peer and perform +# negotiation, authentication, etc. When this is completed, pppd will +# commence passing data packets (i.e., IP packets) across the link. +#demand + +# Specifies that pppd should disconnect if the link is idle for seconds. +# The link is idle when no data packets (i.e. IP packets) are being sent or +# received. Note: it is not advisable to use this option with the persist +# option without the demand option. If the active-filter option is given, +# data packets which are rejected by the specified activity filter also +# count as the link being idle. +#idle + +# Specifies how many seconds to wait before re-initiating the link after +# it terminates. This option only has any effect if the persist or demand +# option is used. The holdoff period is not applied if the link was +# terminated because it was idle. +#holdoff + +# Wait for up n milliseconds after the connect script finishes for a valid +# PPP packet from the peer. At the end of this time, or when a valid PPP +# packet is received from the peer, pppd will commence negotiation by +# sending its first LCP packet. The default value is 1000 (1 second). +# This wait period only applies if the connect or pty option is used. +#connect-delay + +# Packet filtering: for more information, see pppd(8) +# Any packets matching the filter expression will be interpreted as link +# activity, and will cause a "demand" connection to be activated, and reset +# the idle connection timer. (idle option) +# The filter expression is akin to that of tcpdump(1) +#active-filter + +# uncomment the line below this if you use PPPoE +#plugin /usr/lib/pppd/plugins/pppoe.so + +# ------ diff --git a/main/ppp/ppp.systemd b/main/ppp/ppp.systemd new file mode 100644 index 00000000..f307e539 --- /dev/null +++ b/main/ppp/ppp.systemd @@ -0,0 +1,10 @@ +[Unit] +Description=PPP link to %I +Before=network.target + +[Service] +Type=notify +ExecStart=/usr/sbin/pppd call %I nodetach nolog up_sdnotify + +[Install] +WantedBy=multi-user.target diff --git a/main/ppp/rebuild-list b/main/ppp/rebuild-list new file mode 100644 index 00000000..62732441 --- /dev/null +++ b/main/ppp/rebuild-list @@ -0,0 +1,8 @@ +networkmanager +networkmanager-pptp +rp-pppoe +network-manager-sstp +networkmanager-l2tp +networkmanager-fortisslvpn +sstp-client + diff --git a/main/ppp/version b/main/ppp/version new file mode 100644 index 00000000..b19d08e5 --- /dev/null +++ b/main/ppp/version @@ -0,0 +1 @@ +2.5.0 3 diff --git a/main/pptpclient/PKGBUILD b/main/pptpclient/PKGBUILD new file mode 100644 index 00000000..0a4693f3 --- /dev/null +++ b/main/pptpclient/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pptpclient +pkgver=%version% +pkgrel=%release% +pkgdesc="Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP." +arch=('x86_64') +url="http://pptpclient.sourceforge.net/" +license=('GPL') +depends=('ppp' 'iproute2' 'perl') +backup=('etc/ppp/options.pptp') +source=("https://downloads.sourceforge.net/sourceforge/pptpclient/pptp-$pkgver.tar.gz") +sha256sums=('82492db8e487ce73b182ee7f444251d20c44f5c26d6e96c553ec7093aefb5af4') + +prepare() { + cd pptp-$pkgver + + # use our CFLAGS and LDFLAGS + sed -i -e "/CFLAGS =/ c\CFLAGS = ${CFLAGS}" Makefile + sed -i -e "/LDFLAGS =/ c\LDFLAGS = ${LDFLAGS}" Makefile + + # adjust ip path + sed -i 's#/bin/ip#/usr/bin/ip#' routing.c + + # put binaries in /usr/bin + sed -i "/BINDIR/s#/sbin#/bin#" Makefile +} + +build() { + cd pptp-$pkgver + make +} + +package() { + cd pptp-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/pptpclient/README b/main/pptpclient/README new file mode 100644 index 00000000..8ef70b90 --- /dev/null +++ b/main/pptpclient/README @@ -0,0 +1,43 @@ +pptpclient +________________________________________________________________________________ + +Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pptpclient | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://pptpclient.sourceforge.net/ diff --git a/main/pptpclient/version b/main/pptpclient/version new file mode 100644 index 00000000..bf11959c --- /dev/null +++ b/main/pptpclient/version @@ -0,0 +1 @@ +1.10.0 3 diff --git a/main/print-manager/.PKGINFO b/main/print-manager/.PKGINFO new file mode 100644 index 00000000..ba19d006 --- /dev/null +++ b/main/print-manager/.PKGINFO @@ -0,0 +1,35 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = print-manager +pkgbase = print-manager +xdata = pkgtype=pkg +pkgver = 1:6.0.4-1 +pkgdesc = A tool for managing print jobs and printers +url = https://kde.org/plasma-desktop/ +builddate = 1713663769 +packager = Developer +size = 2601624 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = kdbusaddons +depend = ki18n +depend = kiconthemes +depend = kio +depend = kirigami +depend = knotifications +depend = kwidgetsaddons +depend = kwindowsystem +depend = libcups +depend = libplasma +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +optdepend = system-config-printer: auto-detect the printer driver +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/print-manager/PKGBUILD b/main/print-manager/PKGBUILD new file mode 100644 index 00000000..31b30e1b --- /dev/null +++ b/main/print-manager/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=print-manager +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +epoch=1 +pkgdesc='A tool for managing print jobs and printers' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcmutils + kconfig + kcoreaddons + kdbusaddons + ki18n + kiconthemes + kio + kirigami + knotifications + kwidgetsaddons + kwindowsystem + libcups + libplasma + qt6-5compat + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +optdepends=('system-config-printer: auto-detect the printer driver') +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('f2a2e91e7c43b6ab1db0b99a97c42a4845230c7f6cb739cb30a48c282457e48c' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/print-manager/README b/main/print-manager/README new file mode 100644 index 00000000..7ce987f9 --- /dev/null +++ b/main/print-manager/README @@ -0,0 +1,43 @@ +print-manager +________________________________________________________________________________ + +A tool for managing print jobs and printers + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S print-manager | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/print-manager/version b/main/print-manager/version new file mode 100644 index 00000000..8874fe5d --- /dev/null +++ b/main/print-manager/version @@ -0,0 +1 @@ +1:6.0.4 1 diff --git a/main/prison/.PKGINFO b/main/prison/.PKGINFO new file mode 100644 index 00000000..d94889d4 --- /dev/null +++ b/main/prison/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = prison +pkgbase = prison +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = A barcode API to produce QRCode barcodes and DataMatrix barcodes +url = https://community.kde.org/Frameworks +builddate = 1718491910 +packager = Developer +size = 738805 +arch = x86_64 +license = MIT +group = kf6 +depend = gcc-libs +depend = glibc +depend = libdmtx +depend = qrencode +depend = qt6-base +depend = qt6-multimedia +depend = zxing-cpp +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/prison/PKGBUILD b/main/prison/PKGBUILD new file mode 100644 index 00000000..b03d371a --- /dev/null +++ b/main/prison/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=prison +pkgver=%version% +pkgrel=%release% +pkgdesc='A barcode API to produce QRCode barcodes and DataMatrix barcodes' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(MIT) +depends=(gcc-libs + glibc + libdmtx + qrencode + qt6-base + qt6-multimedia + zxing-cpp) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('6ff5fbc6fc38581072ee45904e022d5bf2e7b3b1f49ac9d1d0c6024d7ca3ec5a' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/prison/README b/main/prison/README new file mode 100644 index 00000000..dfe0dd96 --- /dev/null +++ b/main/prison/README @@ -0,0 +1,43 @@ +prison +________________________________________________________________________________ + +A barcode API to produce QRCode barcodes and DataMatrix barcodes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S prison | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/prison/version b/main/prison/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/prison/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch b/main/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch new file mode 100644 index 00000000..ed02b5a0 --- /dev/null +++ b/main/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch @@ -0,0 +1,43 @@ +From ca004d4657d5e8b468a4552ede429be53193a3a9 Mon Sep 17 00:00:00 2001 +From: Craig Small +Date: Thu, 31 Aug 2023 22:24:23 +1000 +Subject: build-sys: Add systemd/elogind to w + +Depending on the compiler flags, w needs to be explictly linked +to libsystemd or elogind even though libproc2 is linked to it. + +Signed-off-by: Craig Small +--- + Makefile.am | 7 +++++++ + NEWS | 3 +++ + 2 files changed, 10 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index f70c8fb1..ddfc0141 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -149,6 +149,13 @@ endif + + dist_man_MANS += man/w.1 + src_w_SOURCES = src/w.c local/fileutils.c ++src_w_LDADD = $(LDADD) ++if WITH_SYSTEMD ++src_w_LDADD += @SYSTEMD_LIBS@ ++endif ++if WITH_ELOGIND ++src_w_LDADD += @ELOGIND_LIBS@ ++endif + else + EXTRA_DIST += man/w.1 + endif +diff --git a/NEWS b/NEWS +index 3f2158d4..4ad9f74e 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,6 @@ ++procps-ng-NEXT ++--------------- ++ + procps-ng-4.0.4 + --------------- + * library (API & ABI unchanged) diff --git a/main/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch b/main/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch new file mode 100644 index 00000000..5bfa0d65 --- /dev/null +++ b/main/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch @@ -0,0 +1,176 @@ +From 79042e07fab9956135a21b1df7a69d1fbde7ef79 Mon Sep 17 00:00:00 2001 +From: Craig Small +Date: Tue, 12 Sep 2023 16:59:18 +1000 +Subject: [PATCH] ps: Don't crash when using short option + +ps would crash with the -si or -sf options with systemd enabled. +The issue was the utmp wasn't filled in, the long option checked, the +short option did not. + +Refactored the showinfo() function so instead of a branch with duplicate +prints for the items in both long and short we just branch on the items +for long output. + +Also, made the function prototypes not dependendent on systemd enabled, +it was too messy that way and passing a char* NULL is not really going +to hurt anything. + +References: + #301 + +Signed-off-by: Craig Small +--- + NEWS | 1 + + src/w.c | 61 ++++++++++++++++++++------------------------------------- + 2 files changed, 22 insertions(+), 40 deletions(-) + +diff --git a/NEWS b/NEWS +index 4ad9f74e..883f9139 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,5 +1,6 @@ + procps-ng-NEXT + --------------- ++ * w: Don't segfault with -s option issue #301 + + procps-ng-4.0.4 + --------------- +diff --git a/src/w.c b/src/w.c +index fd6e75f7..e2d754b5 100644 +--- a/src/w.c ++++ b/src/w.c +@@ -207,9 +207,7 @@ static void print_display_or_interface(const char *restrict host, int len, int r + + /* This routine prints either the hostname or the IP address of the remote */ + static void print_from( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + const char *session, +-#endif + const utmp_t *restrict const u, const int ip_addresses, const int fromlen) { + #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + if (session) { +@@ -508,11 +506,10 @@ static int find_best_proc( + #undef PIDS_GETSTR + } + ++ + static void showinfo( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + const char *session, const char *name, +-#endif +- utmp_t * u, int formtype, int maxcmd, int from, ++ utmp_t * u, const int longform, int maxcmd, int from, + const int userlen, const int fromlen, const int ip_addresses, + const int pids) + { +@@ -575,25 +572,20 @@ static void showinfo( + /* force NUL term for printf */ + uname[UT_NAMESIZE] = '\0'; + +- if (formtype) { +- printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5); ++ printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5); ++ if (from) ++ print_from(session, NULL, ip_addresses, fromlen); ++ ++ /* login time */ ++ if (longform) { + #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + if (session) { + uint64_t ltime; + +- if (from) +- print_from(session, NULL, ip_addresses, fromlen); +- + sd_session_get_start_time(session, <ime); + print_logintime(ltime/((uint64_t) 1000000ULL), stdout); + } else { + #endif +- if (from) +- print_from( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) +- NULL, +-#endif +- u, ip_addresses, fromlen); + + #ifdef HAVE_UTMPX_H + print_logintime(u->ut_tv.tv_sec, stdout); +@@ -603,11 +595,16 @@ static void showinfo( + #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + } + #endif +- if (u && *u->ut_line == ':') +- /* idle unknown for xdm logins */ +- printf(" ?xdm? "); +- else +- print_time_ival7(idletime(tty), 0, stdout); ++ } ++ /* idle */ ++ if (u && *u->ut_line == ':') ++ /* idle unknown for xdm logins */ ++ printf(" ?xdm? "); ++ else ++ print_time_ival7(idletime(tty), 0, stdout); ++ ++ /* jpcpu/pcpu */ ++ if (longform) { + print_time_ival7(jcpu / hertz, (jcpu % hertz) * (100. / hertz), + stdout); + if (pcpu > 0) +@@ -616,20 +613,8 @@ static void showinfo( + stdout); + else + printf(" ? "); +- } else { +- printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5); +- if (from) +- print_from( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) +- NULL, +-#endif +- u, ip_addresses, fromlen); +- if (u && *u->ut_line == ':') +- /* idle unknown for xdm logins */ +- printf(" ?xdm? "); +- else +- print_time_ival7(idletime(tty), 0, stdout); + } ++ /* what */ + if (pids) { + pid_t ut_pid = -1; + if (u) +@@ -798,9 +783,9 @@ int main(int argc, char **argv) + * headers. Try to keep alignment intact. */ + printf(_("%-*s TTY "), userlen, _("USER")); + if (from) +- printf("%-*s", fromlen - 1, _("FROM")); ++ printf("%-*s", fromlen, _("FROM")); + if (longform) +- printf(_(" LOGIN@ IDLE JCPU PCPU WHAT\n")); ++ printf(_(" LOGIN@ IDLE JCPU PCPU WHAT\n")); + else + printf(_(" IDLE WHAT\n")); + } +@@ -857,9 +842,7 @@ int main(int argc, char **argv) + continue; + if (!strncmp(u->ut_user, user, UT_NAMESIZE)) + showinfo( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + NULL, NULL, +-#endif + u, longform, maxcmd, from, userlen, + fromlen, ip_addresses, pids); + } +@@ -876,9 +859,7 @@ int main(int argc, char **argv) + continue; + if (*u->ut_user) + showinfo( +-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER) + NULL, NULL, +-#endif + u, longform, maxcmd, from, userlen, + fromlen, ip_addresses, pids); + } +-- +GitLab + diff --git a/main/procps-ng/PKGBUILD b/main/procps-ng/PKGBUILD new file mode 100644 index 00000000..575cb1ad --- /dev/null +++ b/main/procps-ng/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=procps-ng +pkgver=%version% +pkgrel=%release% +pkgdesc='Utilities for monitoring your system and its processes' +url='https://gitlab.com/procps-ng/procps' +license=(GPL LGPL) +arch=(x86_64) +depends=(glibc ncurses libncursesw.so systemd-libs) +makedepends=(systemd) +conflicts=(procps sysvinit-tools) +provides=(procps sysvinit-tools libproc2.so) +replaces=(procps sysvinit-tools) +options=('!emptydirs') +validpgpkeys=('5D2FB320B825D93904D205193938F96BDF50FEA5') # Craig Small +source=(https://downloads.sourceforge.net/project/$pkgname/Production/${pkgname}-${pkgver}.tar.xz{,.asc} + 0001-build-sys-Add-systemd-elogind-to-w.patch + 0002-ps-Don-t-crash-when-using-short-option.patch) +sha256sums=('22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e' + 'SKIP' + '77ed82ad684c71319704080a09c7d65efa1b06db4f35b240de7c30fef4caafc5' + '2331953f1c859b4973b2f99fbc84495b03a2d5e584370da66adbd45cbbf7825a') +b2sums=('63b972666ef9e92042be96739ffa15c787d0346b2d3ffcb0d240b0a4e999dc90024b2c5b058df683dd9d2c436ceb812abd0b115cc877a6ca1023988b86de443f' + 'SKIP' + '021b64fac3b48175ec67d180fc294c674088ece483f0ab358c2cfbdbd519ac6dea13274a66624beda79b00c0c770441e7f8369f3a75a90f7cafd469508a81e16' + '74a40306c3a1c09d1ad26ae34157803e48e95906febcd4730ac27221e5c6184b9fe1eb7ade77e2da193d4c3491d719b1a1b01f75424722a63602f914aa9db9a8') + +prepare() { + cd procps-ng-$pkgver + sed 's: +pkgbase='protobuf' +pkgname=('protobuf' 'python-protobuf') +pkgver=25.3 +pkgrel=4 +pkgdesc="Protocol Buffers - Google's data interchange format" +arch=('x86_64') +url='https://developers.google.com/protocol-buffers/' +license=('BSD') +depends=( + 'gcc-libs' + 'glibc' + 'zlib' + 'abseil-cpp' +) +makedepends=( + 'cmake' + 'gtest' + 'python-build' + 'python-installer' + 'python-setuptools' + 'python-wheel' +) +checkdepends=( + python-pytest + python-numpy +) +source=(https://github.com/protocolbuffers/protobuf/archive/v$pkgver/$pkgname-$pkgver.tar.gz + https://github.com/protocolbuffers/protobuf/commit/2e62ef1e.patch + soversion.patch + $pkgbase-21.12-pep517.patch) # let's not call setup.py like a script and just build... +sha512sums=('1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115' + 'f42d9bd702abe2c7fc4dcb07d050376287ac60b0b7e2fde0d7a9e9df24a620866bee5fd7de2e3b216095376de47e1fe7443cca74c9a9e85c1a0bc42e8973a280' + 'f0813a415cff5639e4709400f15b0c5565294e7907ae164e620b76258734c643115d8e5170bf0e4aee264c347fb7e01ac4be60d19be2a91c0ce9c561dad8c8e9' + 'a297e74ee4f807b3fad7da7d0de6dd9647963521be66cd2a2370343f5bd191cbb38759157ac0cdb161a5893a30a10520a5098e88a292c800859af33db5cf7a41') + +prepare() { + patch -d $pkgbase-$pkgver -p1 < $pkgname-21.12-pep517.patch + patch -d $pkgname-$pkgver -p1 < 2e62ef1e.patch # Fix cmake config compatibility mode + patch -d $pkgbase-$pkgver -p1 < soversion.patch # Restore soversion + sed -e 's|c++14|c++17|' -i $pkgbase-$pkgver/python/setup.py +} + +build() { + local cmake_options=( + -B build + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + -D CMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects" + -D CMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects" + -D protobuf_BUILD_SHARED_LIBS=ON + -D protobuf_USE_EXTERNAL_GTEST=ON + -D protobuf_ABSL_PROVIDER=package + -S $pkgbase-$pkgver + -W no-dev + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose + + cd $pkgbase-$pkgver/python + LDFLAGS+=" -L${srcdir}/build" \ + PROTOC="$srcdir"/build/protoc \ + python -m build --wheel --no-isolation +} + +check() { + ctest --test-dir build + + cd $pkgbase-$pkgver/python + pytest -vv google/$pkgbase/internal/ || true +} + +package_protobuf() { + replaces=('protobuf-cpp') + provides=('libprotoc.so' 'libprotobuf.so' 'libprotobuf-lite.so') + + DESTDIR="$pkgdir" cmake --install build + + cd $pkgbase-$pkgver + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" + install -vDm 644 editors/protobuf-mode.el \ + -t "$pkgdir/usr/share/emacs/site-lisp/" + install -vDm 644 editors/proto.vim \ + -t "${pkgdir}/usr/share/vim/vimfiles/syntax" +} + +package_python-protobuf() { + pkgdesc='Python 3 bindings for Google Protocol Buffers' + depends=( + "protobuf=$pkgver" + 'python' + ) + + python -m installer --destdir="$pkgdir" $pkgbase-$pkgver/python/dist/*.whl + install -vDm 644 $pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/protobuf/protobuf-21.12-pep517.patch b/main/protobuf/protobuf-21.12-pep517.patch new file mode 100644 index 00000000..51f3f670 --- /dev/null +++ b/main/protobuf/protobuf-21.12-pep517.patch @@ -0,0 +1,16 @@ +diff -ruN a/python/setup.py b/python/setup.py +--- a/python/setup.py 2022-12-13 01:03:12.000000000 +0100 ++++ b/python/setup.py 2023-04-06 22:12:36.199029178 +0200 +@@ -220,10 +220,10 @@ + return False + + +-if __name__ == '__main__': ++if True: + ext_module_list = [] + warnings_as_errors = '--warnings_as_errors' +- if GetOptionFromArgv('--cpp_implementation'): ++ if True: + # Link libprotobuf.a and libprotobuf-lite.a statically with the + # extension. Note that those libraries have to be compiled with + # -fPIC for this to work. diff --git a/main/protobuf/soversion.patch b/main/protobuf/soversion.patch new file mode 100644 index 00000000..7e1b42de --- /dev/null +++ b/main/protobuf/soversion.patch @@ -0,0 +1,36 @@ +diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake +index 9b1de677b4f..276c99c489e 100644 +--- a/cmake/libprotobuf-lite.cmake ++++ b/cmake/libprotobuf-lite.cmake +@@ -30,6 +30,7 @@ if(protobuf_BUILD_SHARED_LIBS) + endif() + set_target_properties(libprotobuf-lite PROPERTIES + VERSION ${protobuf_VERSION} ++ SOVERSION ${protobuf_VERSION_MINOR} + OUTPUT_NAME ${LIB_PREFIX}protobuf-lite + DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") + add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite) +diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake +index aa3efc9a68a..0f34d20b97d 100644 +--- a/cmake/libprotobuf.cmake ++++ b/cmake/libprotobuf.cmake +@@ -33,6 +33,7 @@ if(protobuf_BUILD_SHARED_LIBS) + endif() + set_target_properties(libprotobuf PROPERTIES + VERSION ${protobuf_VERSION} ++ SOVERSION ${protobuf_VERSION_MINOR} + OUTPUT_NAME ${LIB_PREFIX}protobuf + DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") + add_library(protobuf::libprotobuf ALIAS libprotobuf) +diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake +index 72b4a1abb92..91e8bbeb04e 100644 +--- a/cmake/libprotoc.cmake ++++ b/cmake/libprotoc.cmake +@@ -24,6 +24,7 @@ endif() + set_target_properties(libprotoc PROPERTIES + COMPILE_DEFINITIONS LIBPROTOC_EXPORTS + VERSION ${protobuf_VERSION} ++ SOVERSION ${protobuf_VERSION_MINOR} + OUTPUT_NAME ${LIB_PREFIX}protoc + DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}") + add_library(protobuf::libprotoc ALIAS libprotoc) diff --git a/main/protobuf/version b/main/protobuf/version new file mode 100644 index 00000000..7f24c3c7 --- /dev/null +++ b/main/protobuf/version @@ -0,0 +1 @@ +25.3 4 diff --git a/main/psmisc/PKGBUILD b/main/psmisc/PKGBUILD new file mode 100644 index 00000000..e478d166 --- /dev/null +++ b/main/psmisc/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=psmisc +pkgver=%version% +pkgrel=%release% +pkgdesc='Miscellaneous procfs tools' +arch=('x86_64') +url='https://gitlab.com/psmisc/psmisc' +license=('GPL') +depends=('ncurses') +makedepends=('git' 'po4a') +validpgpkeys=('5D2FB320B825D93904D205193938F96BDF50FEA5') # Craig Small +source=("git+https://gitlab.com/psmisc/psmisc.git#tag=v${pkgver}?signed") +sha256sums=('80ae6e626ba83232b7af1c02f3f528834ebdd96325367b701f69125d3e196f2f') + +prepare() { + cd ${pkgname} + + ./autogen.sh +} + +build() { + cd ${pkgname} + + ./configure \ + --prefix=/usr + make +} + +package() { + cd ${pkgname} + + make DESTDIR="${pkgdir}" install +} diff --git a/main/psmisc/README b/main/psmisc/README new file mode 100644 index 00000000..d0334ac5 --- /dev/null +++ b/main/psmisc/README @@ -0,0 +1,43 @@ +psmisc +________________________________________________________________________________ + +Miscellaneous procfs tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S psmisc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/psmisc/psmisc diff --git a/main/psmisc/version b/main/psmisc/version new file mode 100644 index 00000000..7ba9ddb3 --- /dev/null +++ b/main/psmisc/version @@ -0,0 +1 @@ +23.7 1 diff --git a/main/pulseaudio/PKGBUILD b/main/pulseaudio/PKGBUILD new file mode 100644 index 00000000..400bbf0b --- /dev/null +++ b/main/pulseaudio/PKGBUILD @@ -0,0 +1,292 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=pulseaudio +pkgname=( + pulseaudio + libpulse + pulseaudio-zeroconf + pulseaudio-lirc + pulseaudio-jack + pulseaudio-bluetooth + pulseaudio-equalizer + pulseaudio-rtp +) +pkgver=%version% +pkgrel=%release% +pkgdesc="A featureful, general-purpose sound server" +url="https://www.freedesktop.org/wiki/Software/PulseAudio/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +makedepends=( + alsa-lib + attr + avahi + bluez + bluez-libs + check + dbus + doxygen + fftw + git + gst-plugins-base-libs + gtk3 + jack2 + libasyncns + libcap + libsm + libsndfile + libsoxr + libxtst + lirc + meson + openssl + orc + rtkit + sbc + speexdsp + systemd + tdb + valgrind + webrtc-audio-processing-1 + xmltoman +) +_commit=1f020889c9aa44ea0f63d7222e8c2b62c3f45f68 # tags/v17.0^0 +source=("git+https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd pulseaudio + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd pulseaudio + + # Freeze version before patching + ./git-version-gen doesnt-exist >.tarball-version + + # Fix crashes with some UCM devices + # https://gitlab.archlinux.org/archlinux/packaging/packages/pulseaudio/-/issues/4 + git cherry-pick -n f5cacd94abcc47003bd88ad7ca1450de649ffb15 + git cherry-pick -n ed3d4f0837f670e5e5afb1afa5bcfc8ff05d3407 +} + +build() { + local meson_options=( + -D consolekit=disabled + -D elogind=disabled + -D pulsedsp-location='/usr/\$LIB/pulseaudio' + -D stream-restore-clear-old-devices=true + -D tcpwrap=disabled + -D udevrulesdir=/usr/lib/udev/rules.d + ) + + arch-meson pulseaudio build "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs + ninja -C build test-daemon +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_pulseaudio() { + depends=( + alsa-lib + fftw + libcap + libltdl + "libpulse=$pkgver-$pkgrel" + libsm + libsoxr + libxtst + orc + rtkit + speexdsp + tdb + webrtc-audio-processing-1 + ) + optdepends=( + 'pulseaudio-alsa: ALSA configuration (recommended)' + 'pulseaudio-bluetooth: Bluetooth support' + 'pulseaudio-equalizer: Graphical equalizer' + 'pulseaudio-jack: Jack support' + 'pulseaudio-lirc: IR (lirc) support' + 'pulseaudio-rtp: RTP and RAOP support' + 'pulseaudio-zeroconf: Zeroconf support' + ) + provides=(pulse-native-provider) + conflicts=(pipewire-pulse) + backup=( + etc/pulse/daemon.conf + etc/pulse/default.pa + etc/pulse/system.pa + ) + install=pulseaudio.install + replaces=( + 'pulseaudio-gconf<=11.1' + 'pulseaudio-xen<=9.0' + ) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + + # Superseded by socket activation + sed -e '/autospawn/iautospawn = no' \ + -i etc/pulse/client.conf + + # Disable cork-request module, can result in e.g. media players unpausing + # when there's a Skype call incoming + sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \ + -i usr/bin/start-pulseaudio-x11 + + # Required by qpaeq + sed -e '/Load several protocols/aload-module module-dbus-protocol' \ + -i etc/pulse/default.pa + + # Avoid warning about nonexistent dir + # https://gitlab.archlinux.org/archlinux/packaging/packages/pulseaudio/-/issues/3 + mkdir -p etc/pulse/{default,system}.pa.d + + # Split packages + _pick libpulse etc/pulse/client.conf + _pick libpulse usr/bin/pa{cat,ctl,dsp,mon,play,rec,record} + _pick libpulse usr/lib/libpulse{,-simple,-mainloop-glib}.so* + _pick libpulse usr/lib/{cmake,pkgconfig} + _pick libpulse usr/lib/pulseaudio/libpulse{dsp,common-*}.so + _pick libpulse usr/include + _pick libpulse usr/share/man/man1/pa{cat,ctl,dsp,mon,play,rec,record}.1 + _pick libpulse usr/share/man/man5/pulse-client.conf.5 + _pick libpulse usr/share/bash-completion/completions/pa{cat,ctl,dsp,play,rec,record} + _pick libpulse usr/share/bash-completion/completions/pulseaudio + _pick libpulse usr/share/vala + _pick libpulse usr/share/zsh + + local moddir=usr/lib/pulseaudio/modules + + _pick zeroconf $moddir/libavahi-wrap.so + _pick zeroconf $moddir/module-zeroconf-{publish,discover}.so + _pick zeroconf $moddir/module-raop-discover.so + + _pick lirc $moddir/module-lirc.so + + _pick jack $moddir/module-jack-{sink,source}.so + _pick jack $moddir/module-jackdbus-detect.so + + _pick bluetooth $moddir/libbluez5-util.so + _pick bluetooth $moddir/module-bluetooth-{discover,policy}.so + _pick bluetooth $moddir/module-bluez5-{discover,device}.so + + _pick equalizer $moddir/module-equalizer-sink.so + _pick equalizer usr/bin/qpaeq + + _pick rtp $moddir/lib{rtp,raop}.so + _pick rtp $moddir/module-rtp-{send,recv}.so + _pick rtp $moddir/module-raop-sink.so +} + +package_libpulse() { + pkgdesc="$pkgdesc (client library)" + depends=( + dbus + libasyncns + libsndfile + libxcb + systemd + ) + optdepends=( + 'glib2: mainloop integration' + 'pulse-native-provider: PulseAudio backend' + ) + provides=( + libpulse-mainloop-glib.so + libpulse-simple.so + libpulse.so + ) + license=(LGPL) + backup=(etc/pulse/client.conf) + + mv libpulse/* "$pkgdir" +} + +package_pulseaudio-zeroconf() { + pkgdesc="Zeroconf support for PulseAudio" + depends=( + avahi + "pulseaudio=$pkgver-$pkgrel" + ) + + mv zeroconf/* "$pkgdir" +} + +package_pulseaudio-lirc() { + pkgdesc="IR (lirc) support for PulseAudio" + depends=( + lirc + "pulseaudio=$pkgver-$pkgrel" + ) + + mv lirc/* "$pkgdir" +} + +package_pulseaudio-jack() { + pkgdesc="Jack support for PulseAudio" + depends=( + jack + "pulseaudio=$pkgver-$pkgrel" + ) + + mv jack/* "$pkgdir" +} + +package_pulseaudio-bluetooth() { + pkgdesc="Bluetooth support for PulseAudio" + depends=( + bluez + bluez-libs + gst-plugins-base-libs + "pulseaudio=$pkgver-$pkgrel" + sbc + ) + optdepends=('gst-plugins-bad: AptX and LDAC support') + + mv bluetooth/* "$pkgdir" +} + +package_pulseaudio-equalizer() { + pkgdesc="Graphical equalizer for PulseAudio" + depends=( + "pulseaudio=$pkgver-$pkgrel" + python-dbus + python-pyqt5 + ) + + mv equalizer/* "$pkgdir" +} + +package_pulseaudio-rtp() { + pkgdesc="RTP and RAOP support for PulseAudio" + depends=( + gst-plugins-base + gst-plugins-base-libs + gst-plugins-good + openssl + "pulseaudio=$pkgver-$pkgrel" + ) + + mv rtp/* "$pkgdir" +} + +# vim:set sw=2 et: diff --git a/main/pulseaudio/README b/main/pulseaudio/README new file mode 100644 index 00000000..f6be925a --- /dev/null +++ b/main/pulseaudio/README @@ -0,0 +1,43 @@ +pulseaudio +________________________________________________________________________________ + +A featureful, general-purpose sound server A featureful, general-purpose sound server (client library) Zeroconf support for PulseAudio IR (lirc) support for PulseAudio Jack support for PulseAudio Bluetooth support for PulseAudio Graphical equalizer for PulseAudio RTP and RAOP support for PulseAudio + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pulseaudio | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/PulseAudio/ diff --git a/main/pulseaudio/pulseaudio.install b/main/pulseaudio/pulseaudio.install new file mode 100644 index 00000000..f6f8478d --- /dev/null +++ b/main/pulseaudio/pulseaudio.install @@ -0,0 +1,14 @@ +post_install() { + # Enable socket by default + systemctl --global enable pulseaudio.socket +} + +post_upgrade() { + if (( $(vercmp $2 8.0-3) < 0)); then + systemctl --global enable pulseaudio.socket + fi +} + +pre_remove() { + systemctl --global disable pulseaudio.socket +} diff --git a/main/pulseaudio/version b/main/pulseaudio/version new file mode 100644 index 00000000..2d0a8d12 --- /dev/null +++ b/main/pulseaudio/version @@ -0,0 +1 @@ +17.0 3 diff --git a/main/purpose/.PKGINFO b/main/purpose/.PKGINFO new file mode 100644 index 00000000..aa2be1d3 --- /dev/null +++ b/main/purpose/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = purpose +pkgbase = purpose +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Framework for providing abstractions to get the developers purposes fulfilled +url = https://community.kde.org/Frameworks +builddate = 1718491911 +packager = Developer +size = 1758141 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +conflict = purpose5<5.114.0-2 +depend = accounts-qml-module +depend = gcc-libs +depend = glibc +depend = kaccounts-integration +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kio +depend = kirigami +depend = knotifications +depend = kservice +depend = libaccounts-qt +depend = qt6-base +depend = qt6-declarative +optdepend = bluedevil: sharing via Bluetooth +optdepend = kdeclarative: Nextcloud and YouTube plugins +optdepend = kdeconnect: sharing to smartphone via KDE Connect +optdepend = prison: QR code plugin +optdepend = telegram-desktop: sharing via Telegram +makedepend = extra-cmake-modules +makedepend = intltool diff --git a/main/purpose/PKGBUILD b/main/purpose/PKGBUILD new file mode 100644 index 00000000..7d378c85 --- /dev/null +++ b/main/purpose/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=purpose +pkgver=%version% +pkgrel=%release% +pkgdesc='Framework for providing abstractions to get the developers purposes fulfilled' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(accounts-qml-module + gcc-libs + glibc + kaccounts-integration + kcmutils + kconfig + kcoreaddons + ki18n + kio + kirigami + knotifications + kservice + libaccounts-qt + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + intltool) +optdepends=('bluedevil: sharing via Bluetooth' + 'kdeclarative: Nextcloud and YouTube plugins' + 'kdeconnect: sharing to smartphone via KDE Connect' + 'prison: QR code plugin' + 'telegram-desktop: sharing via Telegram') +conflicts=('purpose5<5.114.0-2') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('4fa85cbd2d9dd49216eda6433b43e05bbb114249dac51df55242328f7eb8f97c' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/purpose/README b/main/purpose/README new file mode 100644 index 00000000..76d0af30 --- /dev/null +++ b/main/purpose/README @@ -0,0 +1,43 @@ +purpose +________________________________________________________________________________ + +Framework for providing abstractions to get the developers purposes fulfilled + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S purpose | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/purpose/version b/main/purpose/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/purpose/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/pv/.PKGINFO b/main/pv/.PKGINFO new file mode 100644 index 00000000..dcbefc90 --- /dev/null +++ b/main/pv/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = pv +pkgbase = pv +xdata = pkgtype=pkg +pkgver = 1.8.9-1 +pkgdesc = A terminal-based tool for monitoring the progress of data through a pipeline +url = https://www.ivarch.com/programs/pv.shtml +builddate = 1713920019 +packager = Developer +size = 236274 +arch = x86_64 +license = GPL-3.0-or-later +depend = glibc diff --git a/main/pv/.nvchecker.toml b/main/pv/.nvchecker.toml new file mode 100644 index 00000000..b4d20ca1 --- /dev/null +++ b/main/pv/.nvchecker.toml @@ -0,0 +1,4 @@ +[pv] +source = "git" +git = "https://codeberg.org/a-j-wood/pv.git" +prefix = "v" diff --git a/main/pv/PKGBUILD b/main/pv/PKGBUILD new file mode 100644 index 00000000..4d55e786 --- /dev/null +++ b/main/pv/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=pv +pkgver=%version% +pkgrel=%release% +pkgdesc='A terminal-based tool for monitoring the progress of data through a pipeline' +arch=(x86_64) +url="https://www.ivarch.com/programs/$pkgname.shtml" +# _url="https://codeberg.org/a-j-wood/$pkgname" +# _url="https://github.com/a-j-wood/$pkgname" +license=('GPL-3.0-or-later') +depends=(glibc) +_archive="$pkgname-$pkgver" +source=("${url%/*}/sources/$_archive.tar.gz" + "$_archive.tar.gz.sig::${url%/*}/sources/$_archive.tar.gz.txt") +# source=("$_url/releases/download/v$pkgver/$_archive.tar.gz") +sha256sums=('d22948d06be06a5be37336318de540a2215be10ab0163f8cd23a20149647b780' + 'SKIP') +validpgpkeys=(2189D5C29F041F2277AFD50AC1596BA33FC56F51 # andrew.wood@ivarch.com + 4267B4F90F2678A112169BD61D1EF7581B45E9A0) # https://codeberg.org/a-j-wood.gpg + +build() { + cd "$_archive" + ./configure --prefix=/usr + make +} + +package() { + cd "$_archive" + make DESTDIR="$pkgdir" install + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" docs/COPYING +} diff --git a/main/pv/README b/main/pv/README new file mode 100644 index 00000000..23ef26ef --- /dev/null +++ b/main/pv/README @@ -0,0 +1,43 @@ +pv +________________________________________________________________________________ + +A terminal-based tool for monitoring the progress of data through a pipeline + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pv | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.ivarch.com/programs/pv.shtml diff --git a/main/pv/version b/main/pv/version new file mode 100644 index 00000000..0424fc56 --- /dev/null +++ b/main/pv/version @@ -0,0 +1 @@ +1.8.9 1 diff --git a/main/python-attrs/.PKGINFO b/main/python-attrs/.PKGINFO new file mode 100644 index 00000000..88295367 --- /dev/null +++ b/main/python-attrs/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-attrs +pkgbase = python-attrs +xdata = pkgtype=pkg +pkgver = 23.2.0-3 +pkgdesc = Attributes without boilerplate. +url = https://www.attrs.org +builddate = 1714401532 +packager = Developer +size = 562902 +arch = any +license = MIT +depend = python +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-hatchling +makedepend = python-hatch-vcs +makedepend = python-hatch-fancy-pypi-readme +checkdepend = python-pytest +checkdepend = python-cloudpickle +checkdepend = python-hypothesis +checkdepend = python-zope-interface diff --git a/main/python-attrs/PKGBUILD b/main/python-attrs/PKGBUILD new file mode 100644 index 00000000..c53a40f0 --- /dev/null +++ b/main/python-attrs/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-attrs +pkgver=%version% +_commit=9e443b18527dc96b194e92805fa751cbf8434ba9 +pkgrel=%release% +pkgdesc="Attributes without boilerplate." +arch=('any') +license=('MIT') +url="https://www.attrs.org" +depends=('python') +makedepends=('git' 'python-build' 'python-installer' 'python-hatchling' 'python-hatch-vcs' + 'python-hatch-fancy-pypi-readme') +checkdepends=('python-pytest' 'python-cloudpickle' 'python-hypothesis' 'python-zope-interface') +source=("git+https://github.com/python-attrs/attrs.git#commit=$_commit") +sha512sums=('SKIP') + +build() { + cd attrs + python -m build -nw +} + +check() { + cd attrs + python -m installer -d tmp_install dist/*.whl + local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + PYTHONPATH="$PWD/tmp_install/usr/lib/python${python_version}/site-packages" pytest +} + +package() { + cd attrs + python -m installer -d "$pkgdir" dist/*.whl + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-attrs/README b/main/python-attrs/README new file mode 100644 index 00000000..30339186 --- /dev/null +++ b/main/python-attrs/README @@ -0,0 +1,43 @@ +python-attrs +________________________________________________________________________________ + +Attributes without boilerplate. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-attrs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.attrs.org diff --git a/main/python-attrs/version b/main/python-attrs/version new file mode 100644 index 00000000..409f90c5 --- /dev/null +++ b/main/python-attrs/version @@ -0,0 +1 @@ +23.2.0 3 diff --git a/main/python-certifi/.PKGINFO b/main/python-certifi/.PKGINFO new file mode 100644 index 00000000..e9af209d --- /dev/null +++ b/main/python-certifi/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-certifi +pkgbase = python-certifi +xdata = pkgtype=pkg +pkgver = 2024.06.02-1 +pkgdesc = Python package for providing Mozilla's CA Bundle (using system CA store) +url = https://github.com/certifi/python-certifi +builddate = 1718491913 +packager = Developer +size = 17887 +arch = any +license = MPL-2.0 +depend = ca-certificates +depend = python +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest diff --git a/main/python-certifi/PKGBUILD b/main/python-certifi/PKGBUILD new file mode 100644 index 00000000..20b46d32 --- /dev/null +++ b/main/python-certifi/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-certifi +pkgver=%version% +pkgrel=%release% +pkgdesc="Python package for providing Mozilla's CA Bundle (using system CA store)" +arch=(any) +url="https://github.com/certifi/python-certifi" +license=(MPL-2.0) +depends=( + ca-certificates + python +) +makedepends=( + python-build + python-installer + python-setuptools + python-wheel +) +checkdepends=(python-pytest) +source=($url/archive/$pkgver/$pkgname-$pkgver.tar.gz) +sha512sums=('e62f1741fd9bb10a976f5e864a4946f00e1df1b92082e66fe146ee3275036c365d1e98ed023614a1da07ab2a7a58bc333c77c71586ea50a992eb7d5b54a515e5') +b2sums=('d1d616a6c7b878a6caf891b773b8c606a139ded8787b01701ae3e7c0e46c8fb8e78944f356a5b7c0ae17bacc5a5e358a4c2eeaafcf4fc5795edbeb95bf9761dd') + +prepare() { + cd $pkgname-$pkgver + # Use system CA store. Replacing the copy in the source tree so the test suite is actually run against it. + ln -sf /etc/ssl/certs/ca-certificates.crt certifi/cacert.pem + # Our CA store has non-ASCII comments, but we are not packaging for JVM + # https://github.com/certifi/python-certifi/issues/50 + sed -i 's/encoding="ascii"/encoding="utf-8"/' certifi/core.py +} + +build() { + cd $pkgname-$pkgver + python -m build --wheel --no-isolation +} + +check() { + cd $pkgname-$pkgver + pytest +} + +package() { + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + + cd $pkgname-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + + # Replace CA store here again because the symlink was installed as a file + ln -sf /etc/ssl/certs/ca-certificates.crt "$pkgdir"/$site_packages/certifi/cacert.pem + + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-certifi/README b/main/python-certifi/README new file mode 100644 index 00000000..804f6e41 --- /dev/null +++ b/main/python-certifi/README @@ -0,0 +1,43 @@ +python-certifi +________________________________________________________________________________ + +Python package for providing Mozilla's CA Bundle (using system CA store) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-certifi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/certifi/python-certifi diff --git a/main/python-certifi/version b/main/python-certifi/version new file mode 100644 index 00000000..ec5f5418 --- /dev/null +++ b/main/python-certifi/version @@ -0,0 +1 @@ +2024.06.02 1 diff --git a/main/python-cffi/.PKGINFO b/main/python-cffi/.PKGINFO new file mode 100644 index 00000000..a0d8d88d --- /dev/null +++ b/main/python-cffi/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-cffi +pkgbase = python-cffi +xdata = pkgtype=pkg +pkgver = 1.16.0-2 +pkgdesc = Foreign Function Interface for Python calling C code +url = https://cffi.readthedocs.org/ +builddate = 1714401563 +packager = Developer +size = 1379526 +arch = x86_64 +license = MIT +depend = python-pycparser +optdepend = python-setuptools: "limited api" version checking in cffi.setuptools_ext +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest diff --git a/main/python-cffi/PKGBUILD b/main/python-cffi/PKGBUILD new file mode 100644 index 00000000..fb507105 --- /dev/null +++ b/main/python-cffi/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-cffi +pkgver=%version% +pkgrel=%release% +pkgdesc="Foreign Function Interface for Python calling C code" +arch=('x86_64') +url="https://cffi.readthedocs.org/" +license=('MIT') +depends=('python-pycparser') +optdepends=('python-setuptools: "limited api" version checking in cffi.setuptools_ext') +makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel') +checkdepends=('python-pytest') +source=("https://github.com/python-cffi/cffi/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('2115f4d2431f36b18494182d2abb378a750c970dfdf083cfc287b004e52830efe703f07f71a17c89060b47eaa3b52e7b2390017d1980eb39695bdaf31bac3bb5') + +build() { + cd cffi-$pkgver + python -m build -nw +} + +check() { + cd cffi-$pkgver + python -m installer --destdir=tmpinstall dist/*.whl + local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + PYTHONPATH="$PWD/tmpinstall/usr/lib/python${python_version}/site-packages" pytest +} + +package() { + cd cffi-$pkgver + + # remove files created during check() for reproducible SOURCES.txt + rm -r testing/cffi{0,1}/__pycache__/ + + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-cffi/README b/main/python-cffi/README new file mode 100644 index 00000000..838eb57d --- /dev/null +++ b/main/python-cffi/README @@ -0,0 +1,43 @@ +python-cffi +________________________________________________________________________________ + +Foreign Function Interface for Python calling C code + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-cffi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://cffi.readthedocs.org/ diff --git a/main/python-cffi/python-cffi-remove-py-usage.patch b/main/python-cffi/python-cffi-remove-py-usage.patch new file mode 100644 index 00000000..350cd723 --- /dev/null +++ b/main/python-cffi/python-cffi-remove-py-usage.patch @@ -0,0 +1,54 @@ +From 9c7d865e17ec16a847090a3e0d1498b698b99756 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Mon, 14 Nov 2022 12:30:12 +0100 +Subject: [PATCH] Drop py.code usage from tests, no longer depend on the + deprecated py package + +--HG-- +branch : py.code +--- + README.md | 2 +- + requirements.txt | 1 - + testing/cffi0/test_zintegration.py | 3 ++- + testing/cffi1/test_dlopen_unicode_literals.py | 4 ++-- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/testing/cffi0/test_zintegration.py b/testing/cffi0/test_zintegration.py +index d6a02ce0..ca2d4642 100644 +--- a/testing/cffi0/test_zintegration.py ++++ b/testing/cffi0/test_zintegration.py +@@ -1,5 +1,6 @@ + import py, os, sys, shutil + import subprocess ++import textwrap + from testing.udir import udir + import pytest + +@@ -66,7 +67,7 @@ def really_run_setup_and_program(dirname, venv_dir_and_paths, python_snippet): + remove(os.path.join(basedir, '__pycache__')) + olddir = os.getcwd() + python_f = udir.join('x.py') +- python_f.write(py.code.Source(python_snippet)) ++ python_f.write(textwrap.dedent(python_snippet)) + try: + os.chdir(str(SNIPPET_DIR.join(dirname))) + if os.name == 'nt': +diff --git a/testing/cffi1/test_dlopen_unicode_literals.py b/testing/cffi1/test_dlopen_unicode_literals.py +index e792866e..dc955a57 100644 +--- a/testing/cffi1/test_dlopen_unicode_literals.py ++++ b/testing/cffi1/test_dlopen_unicode_literals.py +@@ -1,4 +1,4 @@ +-import py, os ++import os + + s = """from __future__ import unicode_literals + """ +@@ -6,4 +6,4 @@ s = """from __future__ import unicode_literals + with open(os.path.join(os.path.dirname(__file__), 'test_dlopen.py')) as f: + s += f.read() + +-exec(py.code.compile(s)) ++exec(compile(s, filename='test_dlopen.py', mode='exec')) +-- +GitLab + diff --git a/main/python-cffi/version b/main/python-cffi/version new file mode 100644 index 00000000..3700047c --- /dev/null +++ b/main/python-cffi/version @@ -0,0 +1 @@ +1.16.0 2 diff --git a/main/python-charset-normalizer/.PKGINFO b/main/python-charset-normalizer/.PKGINFO new file mode 100644 index 00000000..15654422 --- /dev/null +++ b/main/python-charset-normalizer/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-charset-normalizer +pkgbase = python-charset-normalizer +xdata = pkgtype=pkg +pkgver = 3.3.2-2 +pkgdesc = Encoding and language detection alternative to chardet +url = https://github.com/Ousret/charset_normalizer +builddate = 1714401565 +packager = Developer +size = 448090 +arch = any +license = MIT +depend = python +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest diff --git a/main/python-charset-normalizer/PKGBUILD b/main/python-charset-normalizer/PKGBUILD new file mode 100644 index 00000000..366d0e2c --- /dev/null +++ b/main/python-charset-normalizer/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Developer +# Maintainer: Developer + +_name=charset_normalizer +pkgname=python-charset-normalizer +pkgver=%version% +pkgrel=%release% +pkgdesc='Encoding and language detection alternative to chardet' +arch=(any) +url=https://github.com/Ousret/charset_normalizer +license=(MIT) +depends=(python) +makedepends=( + git + python-build + python-installer + python-setuptools + python-wheel +) +checkdepends=( + python-pytest +) +source=("git+$url.git#tag=$pkgver") +b2sums=('005698ff0db98835326e055cb0097048998d2657b5998d09c1fbd81e0ab6c0551c5faf6c9934e3865dcd337cb2f86646acef37cd65187bf334b50c8328233c9b') + +pkgver() { + cd $_name + git describe --tags +} + +build() { + cd $_name + python -m build --wheel --skip-dependency-check --no-isolation +} + +check() { + cd $_name + pytest -c /dev/null +} + +package() { + cd $_name + 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"/$_name-$pkgver.dist-info/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +# vim: ts=2 sw=2 et: diff --git a/main/python-charset-normalizer/README b/main/python-charset-normalizer/README new file mode 100644 index 00000000..37d9a074 --- /dev/null +++ b/main/python-charset-normalizer/README @@ -0,0 +1,43 @@ +python-charset-normalizer +________________________________________________________________________________ + +Encoding and language detection alternative to chardet + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-charset-normalizer | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/Ousret/charset_normalizer diff --git a/main/python-charset-normalizer/version b/main/python-charset-normalizer/version new file mode 100644 index 00000000..e43af792 --- /dev/null +++ b/main/python-charset-normalizer/version @@ -0,0 +1 @@ +3.3.2 2 diff --git a/main/python-configobj/.PKGINFO b/main/python-configobj/.PKGINFO new file mode 100644 index 00000000..ee4f7be5 --- /dev/null +++ b/main/python-configobj/.PKGINFO @@ -0,0 +1,16 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-configobj +pkgbase = python-configobj +xdata = pkgtype=pkg +pkgver = 5.0.8-5 +pkgdesc = Simple config file reader and writer +url = https://github.com/DiffSK/configobj +builddate = 1714401566 +packager = Developer +size = 419303 +arch = any +license = BSD +depend = python-six +makedepend = git +makedepend = python-setuptools diff --git a/main/python-configobj/PKGBUILD b/main/python-configobj/PKGBUILD new file mode 100644 index 00000000..c252dabe --- /dev/null +++ b/main/python-configobj/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-configobj +pkgver=%version% +pkgrel=%release% +pkgdesc='Simple config file reader and writer' +arch=(any) +url='https://github.com/DiffSK/configobj' +license=(BSD) +depends=(python-six) +makedepends=(git python-setuptools) +source=("git+$url#commit=a58c2f4de0e9e854daa67fec630506e5a461eea9") # tag: v5.0.8 +b2sums=('SKIP') + +prepare() { + cd configobj + # Avoid the need for a local configobj install just for VERSION + local _version=$(grep -oP "__version__ = '\K[^']+" src/configobj/_version.py) + sed -i "/from validate/d;s/VERSION/\"$_version\"/" setup_validate.py +} + +package() { + cd configobj + python setup.py install --root="$pkgdir" --optimize=1 + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + python setup_validate.py install --root="$pkgdir" --optimize=1 +} diff --git a/main/python-configobj/README b/main/python-configobj/README new file mode 100644 index 00000000..b0d2356f --- /dev/null +++ b/main/python-configobj/README @@ -0,0 +1,43 @@ +python-configobj +________________________________________________________________________________ + +Simple config file reader and writer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-configobj | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/DiffSK/configobj diff --git a/main/python-configobj/version b/main/python-configobj/version new file mode 100644 index 00000000..9ca996a2 --- /dev/null +++ b/main/python-configobj/version @@ -0,0 +1 @@ +5.0.8 5 diff --git a/main/python-cryptography/.PKGINFO b/main/python-cryptography/.PKGINFO new file mode 100644 index 00000000..431bfc64 --- /dev/null +++ b/main/python-cryptography/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-cryptography +pkgbase = python-cryptography +xdata = pkgtype=pkg +pkgver = 42.0.6-1 +pkgdesc = A package designed to expose cryptographic recipes and primitives to Python developers +url = https://github.com/pyca/cryptography +builddate = 1715739146 +packager = Developer +size = 4687200 +arch = x86_64 +license = Apache +depend = python-cffi +makedepend = git +makedepend = python-setuptools-rust +makedepend = llvm +makedepend = clang +makedepend = lld +makedepend = python-build +makedepend = python-installer +makedepend = python-wheel +checkdepend = python-pytest +checkdepend = python-pytest-subtests +checkdepend = python-iso8601 +checkdepend = python-pretend +checkdepend = python-hypothesis +checkdepend = python-pytz +checkdepend = python-certifi diff --git a/main/python-cryptography/PKGBUILD b/main/python-cryptography/PKGBUILD new file mode 100644 index 00000000..42542536 --- /dev/null +++ b/main/python-cryptography/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-cryptography +pkgver=%version% +_commit=33833f031d9d36234e11d9671be150d53b9e598d +pkgrel=%release% +pkgdesc="A package designed to expose cryptographic recipes and primitives to Python developers" +arch=('x86_64') +license=('Apache') +url="https://pypi.python.org/pypi/cryptography" +depends=('python-cffi') +makedepends=('git' 'python-setuptools-rust' 'llvm' 'clang' 'lld' 'python-build' 'python-installer' 'python-wheel') +checkdepends=('python-pytest' 'python-pytest-subtests' 'python-iso8601' 'python-pretend' + 'python-hypothesis' 'python-pytz' 'python-pytest-benchmark' 'python-certifi') +source=("git+https://github.com/pyca/cryptography.git#commit=$_commit") +sha512sums=('SKIP') + +build() { + cd cryptography + echo $RUSTFLAGS + # https://github.com/pyca/cryptography/issues/9023 + CC=clang RUSTFLAGS+="-Clinker-plugin-lto -Clinker=clang -Clink-arg=-fuse-ld=lld" python -m build --wheel --no-isolation +} + +check() { + cd cryptography + local python_version=$(python -c 'import sys; print("".join(map(str, sys.version_info[:2])))') + PYTHONPATH="$PWD/build/lib.linux-$CARCH-cpython-$python_version:$PWD/vectors" pytest +} + +package() { + cd cryptography + python -m installer --destdir="$pkgdir" dist/*.whl +} diff --git a/main/python-cryptography/README b/main/python-cryptography/README new file mode 100644 index 00000000..785d2179 --- /dev/null +++ b/main/python-cryptography/README @@ -0,0 +1,43 @@ +python-cryptography +________________________________________________________________________________ + +A package designed to expose cryptographic recipes and primitives to Python developers + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-cryptography | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pypi.python.org/pypi/cryptography diff --git a/main/python-cryptography/version b/main/python-cryptography/version new file mode 100644 index 00000000..51dc09d5 --- /dev/null +++ b/main/python-cryptography/version @@ -0,0 +1 @@ +42.0.6 1 diff --git a/main/python-idna/.PKGINFO b/main/python-idna/.PKGINFO new file mode 100644 index 00000000..1c36ac24 --- /dev/null +++ b/main/python-idna/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-idna +pkgbase = python-idna +xdata = pkgtype=pkg +pkgver = 3.6-2 +pkgdesc = Internationalized Domain Names in Applications (IDNA) +url = https://github.com/kjd/idna +builddate = 1714401576 +packager = Developer +size = 729618 +arch = any +license = BSD +depend = python +makedepend = python-build +makedepend = python-installer +makedepend = python-flit-core +checkdepend = python-pytest diff --git a/main/python-idna/PKGBUILD b/main/python-idna/PKGBUILD new file mode 100644 index 00000000..b7159bcd --- /dev/null +++ b/main/python-idna/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-idna +pkgver=%version% +pkgrel=%release% +pkgdesc="Internationalized Domain Names in Applications (IDNA)" +arch=('any') +license=('BSD') +url="https://github.com/kjd/idna" +depends=('python') +makedepends=('python-build' 'python-installer' 'python-flit-core') +checkdepends=('python-pytest') +source=("https://github.com/kjd/idna/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('4ffadae74aa69529cd37a6d361564b2a11450af6aa15f6691ba668139f4efe2893361c0fe7bf8e0d8ebcba1dc8937d50a3dfb3782905f1e1983d01455dced1ff') + +build() { + cd idna-$pkgver + python -m build --no-isolation --wheel +} + +check() { + cd idna-$pkgver + pytest +} + +package() { + cd idna-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-idna/README b/main/python-idna/README new file mode 100644 index 00000000..c0102c56 --- /dev/null +++ b/main/python-idna/README @@ -0,0 +1,43 @@ +python-idna +________________________________________________________________________________ + +Internationalized Domain Names in Applications (IDNA) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-idna | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/kjd/idna diff --git a/main/python-idna/version b/main/python-idna/version new file mode 100644 index 00000000..11b44ea2 --- /dev/null +++ b/main/python-idna/version @@ -0,0 +1 @@ +3.6 2 diff --git a/main/python-jinja/.PKGINFO b/main/python-jinja/.PKGINFO new file mode 100644 index 00000000..683b00b9 --- /dev/null +++ b/main/python-jinja/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-jinja +pkgbase = python-jinja +xdata = pkgtype=pkg +pkgver = 1:3.1.4-1 +pkgdesc = A simple pythonic template language written in Python +url = https://palletsprojects.com/p/jinja/ +builddate = 1717337473 +packager = Developer +size = 1828827 +arch = any +license = BSD-3-Clause +depend = python +depend = python-markupsafe +optdepend = python-babel: for i18n support +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +makedepend = python-flit-core +checkdepend = python-pytest diff --git a/main/python-jinja/PKGBUILD b/main/python-jinja/PKGBUILD new file mode 100644 index 00000000..0732d1bf --- /dev/null +++ b/main/python-jinja/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-jinja +_name="${pkgname#python-}" +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc="A simple pythonic template language written in Python" +arch=('any') +url="https://palletsprojects.com/p/jinja/" +license=('BSD-3-Clause') +depends=('python' 'python-markupsafe') +makedepends=('python-setuptools') +optdepends=('python-babel: for i18n support') +checkdepends=('python-pytest') +source=($_name-$pkgver.tar.gz::https://github.com/pallets/jinja/archive/refs/tags/$pkgver.tar.gz) +sha256sums=('fe349bfd610cba6e688274df6eda339a60a59189cb114cd769ecde49f9a5dcbe') + +prepare() { + cd $_name-$pkgver +} + +build() { + cd $_name-$pkgver + python3 setup.py build +} + +check() { + cd $_name-$pkgver + # https://github.com/pypa/setuptools/issues/2466 + PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=build/lib pytest \ + --deselect tests/test_loader.py::test_package_dir_list \ + --deselect tests/test_loader.py::test_package_dir_source \ + --deselect tests/test_loader.py::test_package_file_list \ + --deselect tests/test_loader.py::test_package_file_source \ + --deselect tests/test_loader.py::test_package_zip_list \ + --deselect tests/test_loader.py::test_package_zip_omit_curdir \ + --deselect tests/test_loader.py::test_package_zip_source +} + +package() { + cd $_name-$pkgver + python3 setup.py install --root="$pkgdir" --optimize=1 --skip-build + install -Dm644 LICENSE.rst -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/python-jinja/README b/main/python-jinja/README new file mode 100644 index 00000000..3d7bef87 --- /dev/null +++ b/main/python-jinja/README @@ -0,0 +1,43 @@ +python-jinja +________________________________________________________________________________ + +A simple pythonic template language written in Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-jinja | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://palletsprojects.com/p/jinja/ diff --git a/main/python-jinja/version b/main/python-jinja/version new file mode 100644 index 00000000..cfae7819 --- /dev/null +++ b/main/python-jinja/version @@ -0,0 +1 @@ +1:3.1.4 1 diff --git a/main/python-jsonpatch/.PKGINFO b/main/python-jsonpatch/.PKGINFO new file mode 100644 index 00000000..237145c8 --- /dev/null +++ b/main/python-jsonpatch/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-jsonpatch +pkgbase = python-jsonpatch +xdata = pkgtype=pkg +pkgver = 1.33-2 +pkgdesc = An implementation of the JSON Patch format +url = https://github.com/stefankoegl/python-json-patch +builddate = 1714401582 +packager = Developer +size = 74962 +arch = any +license = BSD +depend = python-jsonpointer +makedepend = python-setuptools +makedepend = python-pypandoc +checkdepend = python-coverage diff --git a/main/python-jsonpatch/PKGBUILD b/main/python-jsonpatch/PKGBUILD new file mode 100644 index 00000000..53b07c2a --- /dev/null +++ b/main/python-jsonpatch/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-jsonpatch +pkgver=%version% +pkgrel=%release% +pkgdesc="An implementation of the JSON Patch format" +arch=("any") +url="https://github.com/stefankoegl/python-json-patch" +license=("BSD") +depends=("python-jsonpointer") +makedepends=("python-setuptools" "python-pypandoc") +checkdepends=('python-coverage') +source=("$pkgname-$pkgver.tar.gz::https://github.com/stefankoegl/python-json-patch/archive/v$pkgver.tar.gz") +sha512sums=('0685f63949bee135b19d0962bdaab32ba97e02772b6650d885be57c09a2e89546222ebba1a4cf146b2f91027790b0a3ff2ea072d66dcebf9153aa601638bbfa2') + +build() { + cd python-json-patch-$pkgver + python setup.py build +} + +check() { + cd python-json-patch-$pkgver + coverage run --source=jsonpatch tests.py +} + +package() { + cd python-json-patch-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" + + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-jsonpatch/README b/main/python-jsonpatch/README new file mode 100644 index 00000000..e9492bdd --- /dev/null +++ b/main/python-jsonpatch/README @@ -0,0 +1,43 @@ +python-jsonpatch +________________________________________________________________________________ + +An implementation of the JSON Patch format + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-jsonpatch | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/stefankoegl/python-json-patch diff --git a/main/python-jsonpatch/version b/main/python-jsonpatch/version new file mode 100644 index 00000000..e7e06afd --- /dev/null +++ b/main/python-jsonpatch/version @@ -0,0 +1 @@ +1.33 2 diff --git a/main/python-jsonpointer/.PKGINFO b/main/python-jsonpointer/.PKGINFO new file mode 100644 index 00000000..6bcef4a1 --- /dev/null +++ b/main/python-jsonpointer/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-jsonpointer +pkgbase = python-jsonpointer +xdata = pkgtype=pkg +pkgver = 2.4-2 +pkgdesc = Identify specific nodes in a JSON document (RFC 6901) +url = https://github.com/stefankoegl/python-json-pointer +builddate = 1714401583 +packager = Developer +size = 30550 +arch = any +license = BSD +depend = python +makedepend = python-setuptools diff --git a/main/python-jsonpointer/COPYING b/main/python-jsonpointer/COPYING new file mode 100644 index 00000000..491196d7 --- /dev/null +++ b/main/python-jsonpointer/COPYING @@ -0,0 +1,26 @@ +Copyright (c) 2011 Stefan Kögl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/main/python-jsonpointer/PKGBUILD b/main/python-jsonpointer/PKGBUILD new file mode 100644 index 00000000..2c2d9279 --- /dev/null +++ b/main/python-jsonpointer/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-jsonpointer +pkgver=%version% +pkgrel=%release% +pkgdesc="Identify specific nodes in a JSON document (RFC 6901)" +arch=('any') +url="https://github.com/stefankoegl/python-json-pointer" +license=('BSD') +depends=('python') +makedepends=('python-setuptools') +source=("https://github.com/stefankoegl/python-json-pointer/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('0d4ee2fa8bd24c4aeabce9c30df539dfb1089879c7c697bfb7bf997227e640d37dd485ef1eb9e3c4bdfdffc8b597f01b0b45180c16c29727d4afed30f573995b') + +build() { + cd python-json-pointer-$pkgver + python setup.py build +} + +check() { + cd python-json-pointer-$pkgver + python -m unittest +} + +package() { + cd python-json-pointer-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" + install -Dm644 LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-jsonpointer/README b/main/python-jsonpointer/README new file mode 100644 index 00000000..3ec091fd --- /dev/null +++ b/main/python-jsonpointer/README @@ -0,0 +1,43 @@ +python-jsonpointer +________________________________________________________________________________ + +Identify specific nodes in a JSON document (RFC 6901) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-jsonpointer | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/stefankoegl/python-json-pointer diff --git a/main/python-jsonpointer/version b/main/python-jsonpointer/version new file mode 100644 index 00000000..4a9b5ff5 --- /dev/null +++ b/main/python-jsonpointer/version @@ -0,0 +1 @@ +2.4 2 diff --git a/main/python-jsonschema-specifications/.PKGINFO b/main/python-jsonschema-specifications/.PKGINFO new file mode 100644 index 00000000..f5433e3e --- /dev/null +++ b/main/python-jsonschema-specifications/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-jsonschema-specifications +pkgbase = python-jsonschema-specifications +xdata = pkgtype=pkg +pkgver = 2023.12.1-2 +pkgdesc = The JSON Schema meta-schemas and vocabularies, exposed as a Registry +url = https://github.com/python-jsonschema/jsonschema-specifications +builddate = 1714401608 +packager = Developer +size = 55172 +arch = any +license = MIT +depend = python +depend = python-referencing +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-hatchling +makedepend = python-hatch-vcs +checkdepend = python-pytest diff --git a/main/python-jsonschema-specifications/PKGBUILD b/main/python-jsonschema-specifications/PKGBUILD new file mode 100644 index 00000000..138a2761 --- /dev/null +++ b/main/python-jsonschema-specifications/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-jsonschema-specifications +pkgver=%version% +pkgrel=%release% +pkgdesc='The JSON Schema meta-schemas and vocabularies, exposed as a Registry' +arch=('any') +url='https://github.com/python-jsonschema/jsonschema-specifications' +license=('MIT') +depends=('python' 'python-referencing') +makedepends=( + 'git' + 'python-build' + 'python-installer' + 'python-hatchling' + 'python-hatch-vcs' +) +checkdepends=('python-pytest') +_commit='544e0ff86850af1c6d9e533c4b58b76c59542a76' +source=("$pkgname::git+$url#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd "$pkgname" + + # https://github.com/python-jsonschema/jsonschema-specifications/issues/14 + git describe --tags | sed -e 's/^v//' -e 's:\.0:.:' +} + +build() { + cd "$pkgname" + + python -m build --wheel --no-isolation +} + +check() { + cd "$pkgname" + + PYTHONPATH="$(pwd)" pytest -v +} + +package() { + cd "$pkgname" + + 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/jsonschema_specifications-$pkgver.dist-info/licenses/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/python-jsonschema-specifications/README b/main/python-jsonschema-specifications/README new file mode 100644 index 00000000..82557f12 --- /dev/null +++ b/main/python-jsonschema-specifications/README @@ -0,0 +1,43 @@ +python-jsonschema-specifications +________________________________________________________________________________ + +The JSON Schema meta-schemas and vocabularies, exposed as a Registry + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-jsonschema-specifications | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/python-jsonschema/jsonschema-specifications diff --git a/main/python-jsonschema-specifications/version b/main/python-jsonschema-specifications/version new file mode 100644 index 00000000..3012989c --- /dev/null +++ b/main/python-jsonschema-specifications/version @@ -0,0 +1 @@ +2023.12.1 2 diff --git a/main/python-markupsafe/.PKGINFO b/main/python-markupsafe/.PKGINFO new file mode 100644 index 00000000..76d01e76 --- /dev/null +++ b/main/python-markupsafe/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-markupsafe +pkgbase = python-markupsafe +xdata = pkgtype=pkg +pkgver = 2.1.5-2 +pkgdesc = Implements a XML/HTML/XHTML Markup safe string for Python +url = https://pypi.python.org/pypi/MarkupSafe +builddate = 1714401611 +packager = Developer +size = 81272 +arch = x86_64 +license = BSD-3-Clause +depend = glibc +depend = python +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest diff --git a/main/python-markupsafe/PKGBUILD b/main/python-markupsafe/PKGBUILD new file mode 100644 index 00000000..cbfcd1b0 --- /dev/null +++ b/main/python-markupsafe/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-markupsafe +pkgver=%version% +pkgrel=%release% +pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python" +arch=('x86_64') +url="https://pypi.python.org/pypi/MarkupSafe" +license=('BSD-3-Clause') +depends=('glibc' 'python') +makedepends=('git' 'python-build' 'python-installer' 'python-setuptools' 'python-wheel') +checkdepends=('python-pytest') +source=("git+https://github.com/pallets/markupsafe.git#tag=$pkgver") +sha512sums=('449daf8db6f1356f865cdb814be7a11c02a3c6dc130207193c6e300f0055d877378aaee0eb3634b3ce052960c927fb56669c5546b773906b12280c41c3f1fbfc') + +build() { + cd markupsafe + python -m build --wheel --no-isolation +} + +check() { + cd markupsafe + PYTHONPATH=src pytest +} + +package() { + cd markupsafe + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE.rst -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-markupsafe/README b/main/python-markupsafe/README new file mode 100644 index 00000000..cfa4f73d --- /dev/null +++ b/main/python-markupsafe/README @@ -0,0 +1,43 @@ +python-markupsafe +________________________________________________________________________________ + +Implements a XML/HTML/XHTML Markup safe string for Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-markupsafe | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pypi.python.org/pypi/MarkupSafe diff --git a/main/python-markupsafe/version b/main/python-markupsafe/version new file mode 100644 index 00000000..43258a6c --- /dev/null +++ b/main/python-markupsafe/version @@ -0,0 +1 @@ +2.1.5 2 diff --git a/main/python-netifaces/.PKGINFO b/main/python-netifaces/.PKGINFO new file mode 100644 index 00000000..35382aee --- /dev/null +++ b/main/python-netifaces/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-netifaces +pkgbase = python-netifaces +xdata = pkgtype=pkg +pkgver = 0.11.0-5 +pkgdesc = Portable module to access network interface information in Python +url = https://alastairs-place.net/netifaces/ +builddate = 1714401613 +packager = Developer +size = 39891 +arch = x86_64 +license = MIT +depend = python +makedepend = python-setuptools diff --git a/main/python-netifaces/PKGBUILD b/main/python-netifaces/PKGBUILD new file mode 100644 index 00000000..a37098da --- /dev/null +++ b/main/python-netifaces/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-netifaces +pkgver=%version% +pkgrel=%release% +pkgdesc="Portable module to access network interface information in Python" +arch=('x86_64') +url="https://alastairs-place.net/netifaces/" +license=('MIT') +depends=('python') +makedepends=('python-setuptools') +source=("https://pypi.io/packages/source/n/netifaces/netifaces-${pkgver}.tar.gz") +sha512sums=('a53110efb78c89c4d72d002104866253a4c085dd27ff9f41d4cfe3811cc5619e7585ceda4e91e83cdd0645c40c745c61d205708ee9a34427b35f437a48f148e5') + +build() { + cd "${srcdir}/netifaces-${pkgver}" + + python setup.py build +} + +package() { + cd "${srcdir}/netifaces-${pkgver}" + + python setup.py install --root "${pkgdir}" --skip-build + + # Install license, that is inside the readme file + install -Dm644 README.rst "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/python-netifaces/README b/main/python-netifaces/README new file mode 100644 index 00000000..75bb5a55 --- /dev/null +++ b/main/python-netifaces/README @@ -0,0 +1,43 @@ +python-netifaces +________________________________________________________________________________ + +Portable module to access network interface information in Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-netifaces | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://alastairs-place.net/netifaces/ diff --git a/main/python-netifaces/version b/main/python-netifaces/version new file mode 100644 index 00000000..3aea0190 --- /dev/null +++ b/main/python-netifaces/version @@ -0,0 +1 @@ +0.11.0 5 diff --git a/main/python-oauthlib/.PKGINFO b/main/python-oauthlib/.PKGINFO new file mode 100644 index 00000000..239022ed --- /dev/null +++ b/main/python-oauthlib/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-oauthlib +pkgbase = python-oauthlib +xdata = pkgtype=pkg +pkgver = 3.2.2-3 +pkgdesc = A generic, spec-compliant, thorough implementation of the OAuth request-signing logic +url = https://github.com/oauthlib/oauthlib +builddate = 1714401615 +packager = Developer +size = 1551123 +arch = any +license = BSD +depend = python-cryptography +makedepend = python-setuptools +makedepend = python-wheel +makedepend = python-build +makedepend = python-installer diff --git a/main/python-oauthlib/PKGBUILD b/main/python-oauthlib/PKGBUILD new file mode 100644 index 00000000..64e941a4 --- /dev/null +++ b/main/python-oauthlib/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-oauthlib +pkgver=%version% +pkgrel=%release% +_libname=oauthlib +pkgdesc="A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +arch=(any) +url="https://github.com/oauthlib/oauthlib" +license=('BSD') +source=(https://files.pythonhosted.org/packages/source/${_libname:0:1}/$_libname/$_libname-$pkgver.tar.gz) +depends=(python-cryptography) +makedepends=(python-setuptools python-wheel python-build python-installer) +sha256sums=('9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918') + +build() { + cd "$srcdir/$_libname-$pkgver" + python -m build --wheel --no-isolation +} + +package_python-oauthlib() { + cd "$srcdir/$_libname-$pkgver" + python -m installer --destdir="$pkgdir" dist/*.whl + install -m0644 -D "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + chmod -R a+r "$pkgdir/usr/lib" +} diff --git a/main/python-oauthlib/README b/main/python-oauthlib/README new file mode 100644 index 00000000..c7e0216e --- /dev/null +++ b/main/python-oauthlib/README @@ -0,0 +1,43 @@ +python-oauthlib +________________________________________________________________________________ + +A generic, spec-compliant, thorough implementation of the OAuth request-signing logic + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-oauthlib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/oauthlib/oauthlib diff --git a/main/python-oauthlib/version b/main/python-oauthlib/version new file mode 100644 index 00000000..24d52978 --- /dev/null +++ b/main/python-oauthlib/version @@ -0,0 +1 @@ +3.2.2 3 diff --git a/main/python-psutil/.PKGINFO b/main/python-psutil/.PKGINFO new file mode 100644 index 00000000..10d94bb6 --- /dev/null +++ b/main/python-psutil/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-psutil +pkgbase = python-psutil +xdata = pkgtype=pkg +pkgver = 5.9.8-4 +pkgdesc = A cross-platform process and system utilities module for Python +url = https://github.com/giampaolo/psutil +builddate = 1714401622 +packager = Developer +size = 3209557 +arch = x86_64 +license = BSD-3-Clause +depend = python +makedepend = python-setuptools +makedepend = python-build +makedepend = python-installer +makedepend = python-wheel +checkdepend = net-tools +checkdepend = procps-ng +checkdepend = python-pytest diff --git a/main/python-psutil/PKGBUILD b/main/python-psutil/PKGBUILD new file mode 100644 index 00000000..660d7ad5 --- /dev/null +++ b/main/python-psutil/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-psutil +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +pkgdesc='A cross-platform process and system utilities module for Python' +url='https://github.com/giampaolo/psutil' +license=('BSD-3-Clause') +depends=('python') +makedepends=('python-setuptools' 'python-build' 'python-installer' 'python-wheel') +checkdepends=('net-tools' 'procps-ng' 'python-pytest') +source=("https://github.com/giampaolo/psutil/archive/release-$pkgver.tar.gz") +sha512sums=('9943adcf4cdb333c729765fef9e3cc7623ef90cfdf8c91fcb8093c45a6978efa9f749b1f1818dde99a772b89e9dd86c3d7cc5f8f1047bf8782d00a30d9284c7f') + +build() { + cd psutil-release-$pkgver + + python -m build --wheel --no-isolation +} + +check() { + cd psutil-release-$pkgver + + # Required for testing +#cp setup.py build/python +#cp -r scripts build/python/ + +# 4 non-working tests in build chroot, requires fixes. Test framework does not allow exclusion. +# PYTHONPATH="$PWD/build/python" python psutil/tests/__main__.py +} + +package() { + cd psutil-release-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -D -m 644 LICENSE "$pkgdir/"usr/share/licenses/$pkgname/LICENSE +} + +# vim:set ts=2 sw=2 et: diff --git a/main/python-psutil/README b/main/python-psutil/README new file mode 100644 index 00000000..01e35f40 --- /dev/null +++ b/main/python-psutil/README @@ -0,0 +1,43 @@ +python-psutil +________________________________________________________________________________ + +A cross-platform process and system utilities module for Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-psutil | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/giampaolo/psutil diff --git a/main/python-psutil/version b/main/python-psutil/version new file mode 100644 index 00000000..af40f6f5 --- /dev/null +++ b/main/python-psutil/version @@ -0,0 +1 @@ +5.9.8 4 diff --git a/main/python-pycparser/.PKGINFO b/main/python-pycparser/.PKGINFO new file mode 100644 index 00000000..4d23ea50 --- /dev/null +++ b/main/python-pycparser/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-pycparser +pkgbase = python-pycparser +xdata = pkgtype=pkg +pkgver = 2.22-2 +pkgdesc = C parser and AST generator written in Python +url = https://github.com/eliben/pycparser +builddate = 1714401653 +packager = Developer +size = 1793192 +arch = any +license = BSD +depend = python +makedepend = python-setuptools diff --git a/main/python-pycparser/PKGBUILD b/main/python-pycparser/PKGBUILD new file mode 100644 index 00000000..0fbe66b9 --- /dev/null +++ b/main/python-pycparser/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-pycparser +pkgver=%version% +pkgrel=%release% +pkgdesc='C parser and AST generator written in Python' +url='https://github.com/eliben/pycparser' +depends=('python') +makedepends=('python-setuptools') +arch=('any') +license=('BSD') +source=("$pkgname-$pkgver.tar.gz::https://github.com/eliben/pycparser/archive/release_v$pkgver.tar.gz") +sha512sums=('1c5be2b83c0a892cafa55a2595942d7048994772dc0fc71d2943004b4198d939c0bf2a164d763d94fe11d532e49371c59c1cf4037c32dab8d3cf0c553a8de64a') + +build() { + cd "$srcdir"/pycparser-release_v$pkgver + python setup.py build + cd pycparser + python _build_tables.py +} + +check() { + cd "$srcdir"/pycparser-release_v$pkgver + python -m unittest discover +} + +package() { + cd pycparser-release_v$pkgver + + python setup.py install --root="$pkgdir" --optimize=1 + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/main/python-pycparser/README b/main/python-pycparser/README new file mode 100644 index 00000000..b25bc7be --- /dev/null +++ b/main/python-pycparser/README @@ -0,0 +1,43 @@ +python-pycparser +________________________________________________________________________________ + +C parser and AST generator written in Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-pycparser | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/eliben/pycparser diff --git a/main/python-pycparser/version b/main/python-pycparser/version new file mode 100644 index 00000000..c08c9cba --- /dev/null +++ b/main/python-pycparser/version @@ -0,0 +1 @@ +2.22 2 diff --git a/main/python-pygdbmi/.PKGINFO b/main/python-pygdbmi/.PKGINFO new file mode 100644 index 00000000..a92e6346 --- /dev/null +++ b/main/python-pygdbmi/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-pygdbmi +pkgbase = python-pygdbmi +xdata = pkgtype=pkg +pkgver = 0.11.0.0-4 +pkgdesc = Parse gdb machine interface output with Python +url = https://github.com/cs01/pygdbmi +builddate = 1714401655 +packager = Developer +size = 145161 +arch = any +license = MIT +depend = gdb +depend = python +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest diff --git a/main/python-pygdbmi/.nvchecker.toml b/main/python-pygdbmi/.nvchecker.toml new file mode 100644 index 00000000..6d844a01 --- /dev/null +++ b/main/python-pygdbmi/.nvchecker.toml @@ -0,0 +1,3 @@ +[python-pygdbmi] +source = 'pypi' +pypi = 'pygdbmi' diff --git a/main/python-pygdbmi/PKGBUILD b/main/python-pygdbmi/PKGBUILD new file mode 100644 index 00000000..e259b978 --- /dev/null +++ b/main/python-pygdbmi/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +_pyname=pygdbmi +pkgname=python-$_pyname +pkgver=%version% +pkgrel=%release% +pkgdesc='Parse gdb machine interface output with Python' +url='https://github.com/cs01/pygdbmi' +license=(MIT) +arch=(any) +depends=(gdb + python) +makedepends=(python-build + python-installer + python-setuptools + python-wheel) +checkdepends=(python-pytest) +source=(https://github.com/cs01/pygdbmi/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('5c52a37211d55eeeaf5c06eacc8e8d49e9dacfd36a526d3534b4a5d5f5ee94d9') + +build() { + cd $_pyname-$pkgver + python -m build --wheel --no-isolation +} + +check() { + cd $_pyname-$pkgver + python -m venv --system-site-packages test-env + test-env/bin/python -m installer dist/*.whl + test-env/bin/python -m pytest -v +} + +package() { + cd $_pyname-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/python-pygdbmi/README b/main/python-pygdbmi/README new file mode 100644 index 00000000..0948f75d --- /dev/null +++ b/main/python-pygdbmi/README @@ -0,0 +1,43 @@ +python-pygdbmi +________________________________________________________________________________ + +Parse gdb machine interface output with Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-pygdbmi | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/cs01/pygdbmi diff --git a/main/python-pygdbmi/version b/main/python-pygdbmi/version new file mode 100644 index 00000000..00e7265c --- /dev/null +++ b/main/python-pygdbmi/version @@ -0,0 +1 @@ +0.11.0.0 4 diff --git a/main/python-pyrsistent/.PKGINFO b/main/python-pyrsistent/.PKGINFO new file mode 100644 index 00000000..07a4819d --- /dev/null +++ b/main/python-pyrsistent/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-pyrsistent +pkgbase = python-pyrsistent +xdata = pkgtype=pkg +pkgver = 0.19.3-4 +pkgdesc = Persistent/Functional/Immutable data structures +url = https://github.com/tobgu/pyrsistent +builddate = 1714401663 +packager = Developer +size = 626201 +arch = x86_64 +license = MIT +depend = glibc +depend = python +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pytest +checkdepend = python-hypothesis diff --git a/main/python-pyrsistent/PKGBUILD b/main/python-pyrsistent/PKGBUILD new file mode 100644 index 00000000..dfebdcc2 --- /dev/null +++ b/main/python-pyrsistent/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-pyrsistent +pkgver=%version% +pkgrel=%release% +pkgdesc="Persistent/Functional/Immutable data structures" +arch=('x86_64') +license=('MIT') +url="https://github.com/tobgu/pyrsistent" +depends=('glibc' 'python') +makedepends=( + 'python-build' + 'python-installer' + 'python-setuptools' + 'python-wheel' +) +checkdepends=('python-pytest' 'python-hypothesis') +source=("https://github.com/tobgu/pyrsistent/archive/v$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('045d9ca4a2a5c5525887fbbcae77b2bc0271e6a596686ad6281c74fb1f6c8d8a4b0c9444cbd951900d953c61d51cf9452290f1e63e9107f7828bfea6e6b34545') + +build() { + cd pyrsistent-$pkgver + python -m build --wheel --no-isolation +} + +check() { + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + + cd pyrsistent-$pkgver + python -m installer --destdir=test_dir dist/*.whl + export PYTHONPATH="test_dir/$site_packages:$PYTHONPATH" + pytest -vv +} + +package() { + cd pyrsistent-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE.mit -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-pyrsistent/README b/main/python-pyrsistent/README new file mode 100644 index 00000000..4296829a --- /dev/null +++ b/main/python-pyrsistent/README @@ -0,0 +1,43 @@ +python-pyrsistent +________________________________________________________________________________ + +Persistent/Functional/Immutable data structures + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-pyrsistent | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/tobgu/pyrsistent diff --git a/main/python-pyrsistent/version b/main/python-pyrsistent/version new file mode 100644 index 00000000..87788bfb --- /dev/null +++ b/main/python-pyrsistent/version @@ -0,0 +1 @@ +0.19.3 4 diff --git a/main/python-pyserial/.PKGINFO b/main/python-pyserial/.PKGINFO new file mode 100644 index 00000000..b81103ed --- /dev/null +++ b/main/python-pyserial/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-pyserial +pkgbase = python-pyserial +xdata = pkgtype=pkg +pkgver = 3.5-6 +pkgdesc = Multiplatform Serial Port Module for Python +url = https://github.com/pyserial/pyserial +builddate = 1714401665 +packager = Developer +size = 704407 +arch = any +license = custom:PYTHON +depend = python +makedepend = python-setuptools diff --git a/main/python-pyserial/.nvchecker.toml b/main/python-pyserial/.nvchecker.toml new file mode 100644 index 00000000..48c3ca21 --- /dev/null +++ b/main/python-pyserial/.nvchecker.toml @@ -0,0 +1,3 @@ +[python-pyserial] +source = "pypi" +pypi = "pyserial" diff --git a/main/python-pyserial/PKGBUILD b/main/python-pyserial/PKGBUILD new file mode 100644 index 00000000..5a1e76d0 --- /dev/null +++ b/main/python-pyserial/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-pyserial +pkgver=%version% +pkgrel=%release% +pkgdesc="Multiplatform Serial Port Module for Python" +arch=('any') +url="https://github.com/pyserial/pyserial" +license=('custom:PYTHON') +depends=('python') +makedepends=('python-setuptools') +source=("$pkgname-$pkgver.tar.gz::https://github.com/pyserial/pyserial/archive/v$pkgver.tar.gz") +sha256sums=('81cbbb8147f11cbaefea8bacece25adeffeb2b5503a571e686d4658863fdd6c6') + +build() { + cd pyserial-${pkgver} + python setup.py build +} + +package() { + cd "$srcdir"/pyserial-${pkgver} + python setup.py install --root="$pkgdir" --skip-build + install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt +} diff --git a/main/python-pyserial/README b/main/python-pyserial/README new file mode 100644 index 00000000..c58e4e8a --- /dev/null +++ b/main/python-pyserial/README @@ -0,0 +1,43 @@ +python-pyserial +________________________________________________________________________________ + +Multiplatform Serial Port Module for Python + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-pyserial | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/pyserial/pyserial diff --git a/main/python-pyserial/version b/main/python-pyserial/version new file mode 100644 index 00000000..6b3d95f7 --- /dev/null +++ b/main/python-pyserial/version @@ -0,0 +1 @@ +3.5 6 diff --git a/main/python-referencing/.PKGINFO b/main/python-referencing/.PKGINFO new file mode 100644 index 00000000..8352a235 --- /dev/null +++ b/main/python-referencing/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-referencing +pkgbase = python-referencing +xdata = pkgtype=pkg +pkgver = 0.33.0-3 +pkgdesc = An implementation-agnostic implementation of JSON reference resolution +url = https://referencing.readthedocs.io +builddate = 1714401668 +packager = Developer +size = 394806 +arch = any +license = MIT +depend = python +depend = python-attrs +depend = python-rpds-py +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-hatchling +makedepend = python-hatch-vcs +checkdepend = python-pytest +checkdepend = python-pytest-subtests +checkdepend = python-jsonschema diff --git a/main/python-referencing/PKGBUILD b/main/python-referencing/PKGBUILD new file mode 100644 index 00000000..dbcc6d0b --- /dev/null +++ b/main/python-referencing/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-referencing +pkgver=%version% +pkgrel=%release% +pkgdesc='An implementation-agnostic implementation of JSON reference resolution' +arch=('any') +url='https://referencing.readthedocs.io' +license=('MIT') +depends=('python' 'python-attrs' 'python-rpds-py') +makedepends=( + 'git' + 'python-build' + 'python-installer' + 'python-hatchling' + 'python-hatch-vcs' +) +checkdepends=( + 'python-pytest' + 'python-pytest-subtests' + 'python-jsonschema' +) +_commit='16305060454f89ec04ff6f346704553cb2763f87' +source=( + "$pkgname::git+https://github.com/python-jsonschema/referencing#commit=$_commit" + 'github.com-python-jsonschema-referencing-suite::git+https://github.com/python-jsonschema/referencing-suite' +) +b2sums=('SKIP' + 'SKIP') + +pkgver() { + cd "$pkgname" + + git describe --tags | sed 's/^v//' +} + +prepare() { + cd "$pkgname" + + # prepare git submodules + git submodule init + git config submodule.suite.url "$srcdir/github.com-python-jsonschema-referencing-suite" + git -c protocol.file.allow=always submodule update +} + +build() { + cd "$pkgname" + + python -m build --wheel --no-isolation +} + +check() { + cd "$pkgname" + + pytest -v +} + +package() { + cd "$pkgname" + + 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#python-}-$pkgver.dist-info/licenses/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/python-referencing/README b/main/python-referencing/README new file mode 100644 index 00000000..95ece8e9 --- /dev/null +++ b/main/python-referencing/README @@ -0,0 +1,43 @@ +python-referencing +________________________________________________________________________________ + +An implementation-agnostic implementation of JSON reference resolution + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-referencing | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://referencing.readthedocs.io diff --git a/main/python-referencing/version b/main/python-referencing/version new file mode 100644 index 00000000..166ed185 --- /dev/null +++ b/main/python-referencing/version @@ -0,0 +1 @@ +0.33.0 3 diff --git a/main/python-requests/.PKGINFO b/main/python-requests/.PKGINFO new file mode 100644 index 00000000..76fb9a42 --- /dev/null +++ b/main/python-requests/.PKGINFO @@ -0,0 +1,27 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-requests +pkgbase = python-requests +xdata = pkgtype=pkg +pkgver = 2.32.2-1 +pkgdesc = Python HTTP for Humans +url = https://requests.readthedocs.io/ +builddate = 1716337494 +packager = Developer +size = 615462 +arch = any +license = Apache-2.0 +depend = ca-certificates +depend = python-charset-normalizer +depend = python-idna +depend = python-urllib3 +optdepend = python-chardet: alternative character encoding library +optdepend = python-pysocks: SOCKS proxy support +makedepend = git +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-pysocks +checkdepend = python-pytest-httpbin +checkdepend = python-trustme diff --git a/main/python-requests/PKGBUILD b/main/python-requests/PKGBUILD new file mode 100644 index 00000000..f34829c2 --- /dev/null +++ b/main/python-requests/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-requests +pkgver=%version% +pkgrel=%release% +pkgdesc="Python HTTP for Humans" +arch=('any') +url="https://requests.readthedocs.io/" +license=('Apache-2.0') +depends=('python-charset-normalizer' 'python-idna' 'python-urllib3') +makedepends=(python-build python-installer python-setuptools python-wheel) +checkdepends=( + 'python-pysocks' + 'python-pytest-httpbin' + 'python-pytest-mock' + 'python-trustme' +) +optdepends=( + 'python-chardet: alternative character encoding library' + 'python-pysocks: SOCKS proxy support' +) +source=( + "https://github.com/psf/requests/archive/v$pkgver/$pkgname-$pkgver.tar.gz" + certs.patch +) +sha512sums=('43f536bdb2360fcceb24ef98e995ffa66cdefc2c502629f17a5722445bfa9ad8489201958c846c2aaef37e427f95a4d56e321a91095c69754680abfd83b39150' + '424a3bb01b23409284f6c9cd2bc22d92df31b85cfd96e1d1b16b5d68adeca670dfed4fff7977d8b10980102b0f780eacc465431021fcd661f3a17168a02a39a3') + +prepare() { + cd requests-$pkgver + sed -i '/certifi/d' setup.py + patch -p1 -i ../certs.patch +} + +build() { + cd requests-$pkgver + python -m build --wheel --no-isolation +} + +check() { + cd requests-$pkgver + pytest tests +} + +package() { + cd requests-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl +} + +# vim: ts=2 sw=2 et: diff --git a/main/python-requests/README b/main/python-requests/README new file mode 100644 index 00000000..6a7ad110 --- /dev/null +++ b/main/python-requests/README @@ -0,0 +1,43 @@ +python-requests +________________________________________________________________________________ + +Python HTTP for Humans + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-requests | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://requests.readthedocs.io/ diff --git a/main/python-requests/certs.patch b/main/python-requests/certs.patch new file mode 100644 index 00000000..47a32f38 --- /dev/null +++ b/main/python-requests/certs.patch @@ -0,0 +1,14 @@ +diff --git a/requests/certs.py b/requests/certs.py +index d1a378d7..4e0bffd4 100644 +--- a/requests/certs.py ++++ b/requests/certs.py +@@ -12,7 +12,8 @@ If you are packaging Requests, e.g., for a Linux distribution or a managed + environment, you can change the definition of where() to return a separately + packaged CA bundle. + """ +-from certifi import where ++def where(): ++ return "/etc/ssl/certs/ca-certificates.crt" + + if __name__ == '__main__': + print(where()) diff --git a/main/python-requests/version b/main/python-requests/version new file mode 100644 index 00000000..15cf1e1e --- /dev/null +++ b/main/python-requests/version @@ -0,0 +1 @@ +2.32.2 1 diff --git a/main/python-rpds-py/.PKGINFO b/main/python-rpds-py/.PKGINFO new file mode 100644 index 00000000..223b9f02 --- /dev/null +++ b/main/python-rpds-py/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-rpds-py +pkgbase = python-rpds-py +xdata = pkgtype=pkg +pkgver = 0.17.1-2 +pkgdesc = Python bindings to the Rust rpds crate for persistent data structures +url = https://github.com/crate-py/rpds +builddate = 1714401673 +packager = Developer +size = 729644 +arch = x86_64 +license = MIT +depend = glibc +depend = gcc-libs +depend = python +makedepend = git +makedepend = python-build +makedepend = python-maturin +makedepend = python-installer diff --git a/main/python-rpds-py/PKGBUILD b/main/python-rpds-py/PKGBUILD new file mode 100644 index 00000000..d16ee0d3 --- /dev/null +++ b/main/python-rpds-py/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-rpds-py +pkgver=%version% +pkgrel=%release% +pkgdesc='Python bindings to the Rust rpds crate for persistent data structures' +arch=('x86_64') +url='https://github.com/crate-py/rpds' +license=('MIT') +depends=( + 'glibc' + 'gcc-libs' + 'python' +) +makedepends=( + 'git' + 'python-build' + 'python-maturin' + 'python-installer' +) +_commit='9c07d534116bc9823121959f035393ce58fd447e' +source=("$pkgname::git+$url#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd "$pkgname" + + git describe --tags | sed 's/^v//' +} + +prepare() { + cd "$pkgname" + + # download dependencies + cargo fetch --locked --target "$CARCH-unknown-linux-gnu" +} + +build() { + cd "$pkgname" + + python -m build --wheel --no-isolation +} + +package() { + cd "$pkgname" + + 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/rpds_py-$pkgver.dist-info/license_files/LICENSE" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/python-rpds-py/README b/main/python-rpds-py/README new file mode 100644 index 00000000..dd819fbb --- /dev/null +++ b/main/python-rpds-py/README @@ -0,0 +1,43 @@ +python-rpds-py +________________________________________________________________________________ + +Python bindings to the Rust rpds crate for persistent data structures + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-rpds-py | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/crate-py/rpds diff --git a/main/python-rpds-py/version b/main/python-rpds-py/version new file mode 100644 index 00000000..14fccf8e --- /dev/null +++ b/main/python-rpds-py/version @@ -0,0 +1 @@ +0.17.1 2 diff --git a/main/python-sentry_sdk/.PKGINFO b/main/python-sentry_sdk/.PKGINFO new file mode 100644 index 00000000..3e9bfe9a --- /dev/null +++ b/main/python-sentry_sdk/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-sentry_sdk +pkgbase = python-sentry_sdk +xdata = pkgtype=pkg +pkgver = 2.5.1-1 +pkgdesc = The official Python SDK for Sentry.io +url = https://sentry.io/for/python +builddate = 1718491915 +packager = Developer +size = 3176717 +arch = any +license = MIT +depend = python-urllib3 +depend = python-certifi +optdepend = python-aiohttp: adds support for the AIOHTTP-Server Web Framework +optdepend = python-bottle: adds support for the Bottle Web Framework +optdepend = python-celery: adds support for the Celery Task Queue System +optdepend = python-django: adds support for the Django Web Framework +optdepend = python-falcon: adds support for the Falcon Web Framework +optdepend = python-fastapi: adds support for the FastAPI framework +optdepend = python-flask: adds support for the Flask Web Framework +optdepend = python-grpcio: gRPC integration +optdepend = python-httpx: HTTPX integration +optdepend = python-loguru: Loguru Integration +optdepend = python-multipart: Optional dependency of Starlette to parse form data +optdepend = python-pymongo: PyMongo integration +optdepend = python-quart: adds support for the Quart Web Framework +optdepend = python-redis: adds support for the RQ Job Queue System +optdepend = python-sqlalchemy: captures queries from SQLAlchemy as breadcrumbs +optdepend = python-starlette: adds support for the Starlette Framework +optdepend = python-tornado: adds support for the Tornado Web Framework +optdepend = python-pure-eval: for richer stacktraces & additional variables +optdepend = python-executing: for richer stacktraces & better function names +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel diff --git a/main/python-sentry_sdk/.nvchecker.toml b/main/python-sentry_sdk/.nvchecker.toml new file mode 100644 index 00000000..5831d165 --- /dev/null +++ b/main/python-sentry_sdk/.nvchecker.toml @@ -0,0 +1,6 @@ +i[python-sentry_sdk] +source = "github" +github = "getsentry/sentry-python" +prefix = "v" +use_max_tag = true +exclude_regex = ".*(pre|a|alpha|b|beta|r|rc).*" diff --git a/main/python-sentry_sdk/PKGBUILD b/main/python-sentry_sdk/PKGBUILD new file mode 100644 index 00000000..8d2637f6 --- /dev/null +++ b/main/python-sentry_sdk/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-sentry_sdk +_pkgname=sentry-python +pkgver=%version% +pkgrel=%release% +pkgdesc="The official Python SDK for Sentry.io" +arch=('any') +url="https://sentry.io/for/python" +license=('MIT') +depends=('python-urllib3' 'python-certifi') +makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel') +optdepends=('python-aiohttp: adds support for the AIOHTTP-Server Web Framework' + 'python-bottle: adds support for the Bottle Web Framework' + 'python-celery: adds support for the Celery Task Queue System' + 'python-django: adds support for the Django Web Framework' + 'python-falcon: adds support for the Falcon Web Framework' + 'python-fastapi: adds support for the FastAPI framework' + 'python-flask: adds support for the Flask Web Framework' + 'python-grpcio: gRPC integration' + 'python-httpx: HTTPX integration' + 'python-loguru: Loguru Integration' + 'python-multipart: Optional dependency of Starlette to parse form data' + 'python-pymongo: PyMongo integration' + 'python-quart: adds support for the Quart Web Framework' + 'python-redis: adds support for the RQ Job Queue System' + 'python-sqlalchemy: captures queries from SQLAlchemy as breadcrumbs' + 'python-starlette: adds support for the Starlette Framework' + 'python-tornado: adds support for the Tornado Web Framework' + 'python-pure-eval: for richer stacktraces & additional variables' + 'python-executing: for richer stacktraces & better function names') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/getsentry/sentry-python/archive/refs/tags/${pkgver}.tar.gz") +sha256sums=('f41f61356eaac2bd398b6f70efc88838080141588abc069392bc7880a7f2c3c4') + +build() { + cd "${_pkgname}-${pkgver}" + python -m build --wheel --no-isolation +} + +package() { + cd "${_pkgname}-${pkgver}" + python -m installer --destdir="${pkgdir}" dist/*.whl + + install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/python-sentry_sdk/README b/main/python-sentry_sdk/README new file mode 100644 index 00000000..353ee6fe --- /dev/null +++ b/main/python-sentry_sdk/README @@ -0,0 +1,43 @@ +python-sentry_sdk +________________________________________________________________________________ + +The official Python SDK for Sentry.io + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-sentry_sdk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sentry.io/for/python diff --git a/main/python-sentry_sdk/version b/main/python-sentry_sdk/version new file mode 100644 index 00000000..0a50c006 --- /dev/null +++ b/main/python-sentry_sdk/version @@ -0,0 +1 @@ +2.5.1 1 diff --git a/main/python-six/.PKGINFO b/main/python-six/.PKGINFO new file mode 100644 index 00000000..c8199942 --- /dev/null +++ b/main/python-six/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-six +pkgbase = python-six +xdata = pkgtype=pkg +pkgver = 1.16.0-9 +pkgdesc = Python 2 and 3 compatibility utilities +url = https://pypi.python.org/pypi/six/ +builddate = 1714401680 +packager = Developer +size = 120126 +arch = any +license = MIT +depend = python +makedepend = python-setuptools +checkdepend = python-pytest +checkdepend = tk diff --git a/main/python-six/PKGBUILD b/main/python-six/PKGBUILD new file mode 100644 index 00000000..392d32f7 --- /dev/null +++ b/main/python-six/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer +# Contributer: Allan McRae + +pkgname=python-six +pkgver=%version% +pkgrel=%release% +pkgdesc="Python 2 and 3 compatibility utilities" +arch=('any') +url="https://pypi.python.org/pypi/six/" +license=('MIT') +depends=('python') +makedepends=('python-setuptools') +checkdepends=('python-pytest' 'tk') +source=("https://pypi.io/packages/source/s/six/six-$pkgver.tar.gz") +sha512sums=('076fe31c8f03b0b52ff44346759c7dc8317da0972403b84dfe5898179f55acdba6c78827e0f8a53ff20afe8b76432c6fe0d655a75c24259d9acbaa4d9e8015c0') + +check() { + cd six-$pkgver + python -m pytest +} + +package() { + cd six-$pkgver + python setup.py install --root "$pkgdir" --optimize=1 + install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-six/README b/main/python-six/README new file mode 100644 index 00000000..0fcff476 --- /dev/null +++ b/main/python-six/README @@ -0,0 +1,43 @@ +python-six +________________________________________________________________________________ + +Python 2 and 3 compatibility utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-six | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://pypi.python.org/pypi/six/ diff --git a/main/python-six/version b/main/python-six/version new file mode 100644 index 00000000..92439449 --- /dev/null +++ b/main/python-six/version @@ -0,0 +1 @@ +1.16.0 9 diff --git a/main/python-typing_extensions/.PKGINFO b/main/python-typing_extensions/.PKGINFO new file mode 100644 index 00000000..3b12f385 --- /dev/null +++ b/main/python-typing_extensions/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-typing_extensions +pkgbase = python-typing_extensions +xdata = pkgtype=pkg +pkgver = 4.12.2-1 +pkgdesc = Backported and Experimental Type Hints for Python 3.8+ +url = https://github.com/python/typing_extensions +builddate = 1718491916 +packager = Developer +size = 430477 +arch = any +license = Python-2.0.1 +depend = python +makedepend = git +makedepend = python-build +makedepend = python-flit-core +makedepend = python-installer +checkdepend = python-tests diff --git a/main/python-typing_extensions/PKGBUILD b/main/python-typing_extensions/PKGBUILD new file mode 100644 index 00000000..fe5f3bf2 --- /dev/null +++ b/main/python-typing_extensions/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=python-typing_extensions +_name=${pkgname#python-} +pkgver=%version% +pkgrel=%release% +pkgdesc='Backported and Experimental Type Hints for Python 3.8+' +arch=(any) +url=https://github.com/python/typing_extensions +license=(Python-2.0.1) +depends=(python) +makedepends=(git python-build python-flit-core python-installer) +checkdepends=(python-tests) +provides=(python-typing-extensions) +conflicts=(python-typing-extensions) +source=("git+${url}.git#tag=${pkgver}") +b2sums=('1ff6d7f08b3a46743a3252a18cbf6b41dff5f0e65f175cfd94b3fdf78b9d20872ac32d50e3f6da4c3a6ac69305ea6311f6b4df8170c286f0d5df99362929781f') + +pkgver() { + cd "${_name}" + + git describe --tags +} + +build() { + cd "${_name}" + + python -m build --wheel --skip-dependency-check --no-isolation +} + +check() { + cd "${_name}" + + python -m unittest discover src +} + +package() { + cd "${_name}" + + 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}"/"${_name}"-${pkgver}.dist-info/LICENSE \ + "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +# vim: ts=2 sw=2 et: diff --git a/main/python-typing_extensions/README b/main/python-typing_extensions/README new file mode 100644 index 00000000..1c5ebcf5 --- /dev/null +++ b/main/python-typing_extensions/README @@ -0,0 +1,43 @@ +python-typing_extensions +________________________________________________________________________________ + +Backported and Experimental Type Hints for Python 3.8+ + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-typing_extensions | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/python/typing_extensions diff --git a/main/python-typing_extensions/version b/main/python-typing_extensions/version new file mode 100644 index 00000000..c13613a3 --- /dev/null +++ b/main/python-typing_extensions/version @@ -0,0 +1 @@ +4.12.2 1 diff --git a/main/python-urllib3/.PKGINFO b/main/python-urllib3/.PKGINFO new file mode 100644 index 00000000..62c83b6c --- /dev/null +++ b/main/python-urllib3/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-urllib3 +pkgbase = python-urllib3 +xdata = pkgtype=pkg +pkgver = 1.26.18-3 +pkgdesc = HTTP library with thread-safe connection pooling and file post support +url = https://github.com/urllib3/urllib3 +builddate = 1714401728 +packager = Developer +size = 1323307 +arch = any +license = MIT +depend = python +optdepend = python-brotli: Brotli support +optdepend = python-certifi: security support +optdepend = python-cryptography: security support +optdepend = python-idna: security support +optdepend = python-pyopenssl: security support +optdepend = python-pysocks: SOCKS support +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel +checkdepend = python-brotli +checkdepend = python-certifi +checkdepend = python-cryptography +checkdepend = python-dateutil +checkdepend = python-flaky +checkdepend = python-gcp-devrel-py-tools +checkdepend = python-idna +checkdepend = python-pyopenssl +checkdepend = python-pysocks +checkdepend = python-pytest7 +checkdepend = python-pytest-freezegun +checkdepend = python-pytest-timeout +checkdepend = python-tornado +checkdepend = python-trustme diff --git a/main/python-urllib3/LICENSE b/main/python-urllib3/LICENSE new file mode 100644 index 00000000..5a443702 --- /dev/null +++ b/main/python-urllib3/LICENSE @@ -0,0 +1,32 @@ +Note from the ArchLinux Packager: +The urllib3 source doesn't come with a license file. Its homepage +does provide a link to the text of the MIT license, so I copied +the following text to a file when building the package. + +------CUT------ +Open Source Initiative OSI - The MIT License:Licensing + + +[OSI Approved License] + +The MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/main/python-urllib3/PKGBUILD b/main/python-urllib3/PKGBUILD new file mode 100644 index 00000000..7f32c12e --- /dev/null +++ b/main/python-urllib3/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Developer +# Maintainer: Developer + +_name=urllib3 +pkgname=python-urllib3 +pkgver=%version% +pkgrel=%release% +pkgdesc="HTTP library with thread-safe connection pooling and file post support" +arch=("any") +url="https://github.com/urllib3/urllib3" +license=("MIT") +depends=('python') +makedepends=( + 'python-build' + 'python-installer' + 'python-setuptools' + 'python-wheel' +) +checkdepends=( + 'python-brotli' + 'python-certifi' + 'python-cryptography' + 'python-dateutil' + 'python-flaky' + 'python-gcp-devrel-py-tools' + 'python-idna' + 'python-pyopenssl' + 'python-pysocks' + 'python-pytest' + 'python-pytest-freezegun' + 'python-pytest-timeout' + 'python-tornado' + 'python-trustme' +) +optdepends=( + 'python-brotli: Brotli support' + 'python-certifi: security support' + 'python-cryptography: security support' + 'python-idna: security support' + 'python-pyopenssl: security support' + 'python-pysocks: SOCKS support' +) +source=("https://github.com/urllib3/urllib3/archive/$pkgver/$pkgname-$pkgver.tar.gz") +sha512sums=('62c0af4b11e797a85420ef3f0888f2e608334329eddd88b9fe563b5437189cbea8dbbcd53f999557d9828fcf4bf03b8ca9f6e3d401533bc4ae8ff96e3ece1557') + +prepare() { + # remove python-mock requirement + find $_name-$pkgver -type f -iname "*.py" -exec sed 's/import mock/from unittest import mock/; s/from mock/from unittest.mock/' -i {} + +} + +build() { + cd $_name-$pkgver + python -m build --wheel --no-isolation +} + +check() { + local pytest_options=( + -vv + # TODO: report upstream + --deselect test/test_ssltransport.py::SingleTLSLayerTestCase::test_ssl_object_attributes + --deselect test/contrib/test_pyopenssl.py::TestSSL::test_ssl_read_timeout + --deselect test/with_dummyserver/test_socketlevel.py::TestSSL::test_ssl_read_timeout + ) + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + + cd $_name-$pkgver + # install to temporary location, as importlib is used + python -m installer --destdir=test_dir dist/*.whl + export PYTHONPATH="$PWD/test_dir/$site_packages:$PYTHONPATH" + pytest "${pytest_options[@]}" +} + +package() { + cd $_name-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm644 LICENSE.txt -t "$pkgdir"/usr/share/licenses/$pkgname/ +} diff --git a/main/python-urllib3/README b/main/python-urllib3/README new file mode 100644 index 00000000..814b6a53 --- /dev/null +++ b/main/python-urllib3/README @@ -0,0 +1,43 @@ +python-urllib3 +________________________________________________________________________________ + +HTTP library with thread-safe connection pooling and file post support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-urllib3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/urllib3/urllib3 diff --git a/main/python-urllib3/version b/main/python-urllib3/version new file mode 100644 index 00000000..a7f50046 --- /dev/null +++ b/main/python-urllib3/version @@ -0,0 +1 @@ +1.26.18 3 diff --git a/main/python-yaml/.PKGINFO b/main/python-yaml/.PKGINFO new file mode 100644 index 00000000..3300a679 --- /dev/null +++ b/main/python-yaml/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = python-yaml +pkgbase = python-yaml +xdata = pkgtype=pkg +pkgver = 6.0.1-3 +pkgdesc = Python bindings for YAML, using fast libYAML library +url = https://github.com/yaml/pyyaml +builddate = 1714401731 +packager = Developer +size = 948779 +arch = x86_64 +license = MIT +provides = python-pyyaml +depend = glibc +depend = libyaml +depend = python +makedepend = cython0 +makedepend = python-build +makedepend = python-installer +makedepend = python-setuptools +makedepend = python-wheel diff --git a/main/python-yaml/PKGBUILD b/main/python-yaml/PKGBUILD new file mode 100644 index 00000000..fc611d50 --- /dev/null +++ b/main/python-yaml/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +_name=pyyaml +pkgname=python-yaml +pkgver=%version% +pkgrel=%release% +pkgdesc='Python bindings for YAML, using fast libYAML library' +arch=(x86_64) +url='https://github.com/yaml/pyyaml' +license=(MIT) +depends=( + glibc + libyaml + python +) +makedepends=( + cython0 + python-build + python-installer + python-setuptools + python-wheel +) +provides=(python-pyyaml) +source=($_name-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz) +sha512sums=('1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0') +b2sums=('c34f2169f6eb6aa718aeb53dbfaf02590e11e504d16cc85a802e1a1191f296ef9aa2501db683e1a48173ce6adeaeca09f2ab989581dcf1c1ba4004831bb4cf47') + +build() { + cd $_name-$pkgver + python -m build --wheel --no-isolation --config-setting=--with-libyaml +} + +check() { + local _py_ver="$(python3 -c "import sys; print(str(sys.version_info.major)+str(sys.version_info.minor))")" + + cd $_name-$pkgver + export PYTHONPATH="tests/lib:build/lib.linux-$CARCH-cpython-$_py_ver:$PYTHONPATH" + python -m tests.lib.test_all +} + +package() { + cd $_name-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ + install -Dm 644 CHANGES README.md -t "$pkgdir"/usr/share/doc/$pkgname/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/python-yaml/README b/main/python-yaml/README new file mode 100644 index 00000000..fba9adb4 --- /dev/null +++ b/main/python-yaml/README @@ -0,0 +1,43 @@ +python-yaml +________________________________________________________________________________ + +Python bindings for YAML, using fast libYAML library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S python-yaml | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/yaml/pyyaml diff --git a/main/python-yaml/version b/main/python-yaml/version new file mode 100644 index 00000000..ed3cfa78 --- /dev/null +++ b/main/python-yaml/version @@ -0,0 +1 @@ +6.0.1 3 diff --git a/main/qca/.PKGINFO b/main/qca/.PKGINFO new file mode 100644 index 00000000..2978846f --- /dev/null +++ b/main/qca/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qca-qt6 +pkgbase = qca +xdata = pkgtype=split +pkgver = 2.3.8-3 +pkgdesc = Qt Cryptographic Architecture +url = https://userbase.kde.org/QCA +builddate = 1712627267 +packager = Developer +size = 3470867 +arch = x86_64 +license = LGPL-2.1-or-later +depend = ca-certificates +depend = gcc-libs +depend = glibc +depend = nss +depend = qt6-5compat +depend = qt6-base +optdepend = botan: botan plugin +optdepend = libgcrypt: gcrypt plugin +optdepend = libsasl: SASL plugin +optdepend = openssl: SSL plugin +optdepend = pkcs11-helper: PKCS-11 plugin +makedepend = botan +makedepend = cmake +makedepend = doxygen +makedepend = libgcrypt +makedepend = libsasl +makedepend = openssl +makedepend = pkcs11-helper +makedepend = qt5-base +makedepend = qt6-base +makedepend = qt6-5compat diff --git a/main/qca/.nvchecker.toml b/main/qca/.nvchecker.toml new file mode 100644 index 00000000..6fae1b32 --- /dev/null +++ b/main/qca/.nvchecker.toml @@ -0,0 +1,6 @@ +[qca] +source = 'gitlab' +gitlab = 'libraries/qca' +host = 'invent.kde.org' +use_max_tag = true +prefix = 'v' diff --git a/main/qca/PKGBUILD b/main/qca/PKGBUILD new file mode 100644 index 00000000..460513d5 --- /dev/null +++ b/main/qca/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qca +pkgname=(qca-qt5 + qca-qt6) +pkgver=%version% +pkgrel=%release% +pkgdesc='Qt Cryptographic Architecture' +arch=(x86_64) +url='https://userbase.kde.org/QCA' +license=(LGPL-2.1-or-later) +depends=(ca-certificates + gcc-libs + glibc + nss) +optdepends=('botan: botan plugin' + 'libgcrypt: gcrypt plugin' + 'libsasl: SASL plugin' + 'openssl: SSL plugin' + 'pkcs11-helper: PKCS-11 plugin') +makedepends=(botan + cmake + doxygen + libgcrypt + libsasl + openssl + pkcs11-helper + qt5-base + qt6-base + qt6-5compat) +source=(https://download.kde.org/stable/$pkgbase/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig}) +sha256sums=('48759ca86a0202461d908ba66134380cc3bb7d20fed3c031b9fc0289796a8264' + 'SKIP') +validpgpkeys=(CB9387521E1EE0127DA804843FDBB55084CC5D84) # Harald Sitter + +build() { + cmake -B build-qt5 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_TESTS=OFF \ + -DQCA_INSTALL_IN_QT_PREFIX=ON \ + -DQCA_MAN_INSTALL_DIR=/usr/share/man + cmake --build build-qt5 + + cmake -B build-qt6 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DQT6=ON \ + -DBUILD_TESTS=OFF \ + -DQCA_INSTALL_IN_QT_PREFIX=ON \ + -DQCA_MAN_INSTALL_DIR=/usr/share/man + cmake --build build-qt6 +} + +package_qca-qt5() { + depends+=(qt5-base) + conflicts=(qca) + provides=(qca) + replaces=(qca) + + DESTDIR="$pkgdir" cmake --install build-qt5 +} + +package_qca-qt6() { + depends+=(qt6-5compat + qt6-base) + + DESTDIR="$pkgdir" cmake --install build-qt6 +} diff --git a/main/qca/README b/main/qca/README new file mode 100644 index 00000000..be5281cd --- /dev/null +++ b/main/qca/README @@ -0,0 +1,43 @@ +qca +________________________________________________________________________________ + +Qt Cryptographic Architecture + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qca | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://userbase.kde.org/QCA diff --git a/main/qca/version b/main/qca/version new file mode 100644 index 00000000..9081ee2d --- /dev/null +++ b/main/qca/version @@ -0,0 +1 @@ +2.3.8 2 diff --git a/main/qcoro/.nvchecker.toml b/main/qcoro/.nvchecker.toml new file mode 100644 index 00000000..27856181 --- /dev/null +++ b/main/qcoro/.nvchecker.toml @@ -0,0 +1,5 @@ +[qcoro] +source = 'github' +github = 'danvratil/qcoro' +use_max_tag = true +prefix = 'v' diff --git a/main/qcoro/PKGBUILD b/main/qcoro/PKGBUILD new file mode 100644 index 00000000..ee629110 --- /dev/null +++ b/main/qcoro/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qcoro +pkgname=(qcoro-qt5 + qcoro-qt6) +pkgver=%version% +pkgrel=%release% +pkgdesc='C++ Coroutines for Qt' +arch=(x86_64) +url='https://github.com/danvratil/qcoro' +license=(MIT) +depends=(gcc-libs + glibc) +makedepends=(cmake + qt5-declarative + qt5-websockets + qt6-declarative + qt6-websockets) +source=(https://github.com/danvratil/qcoro/archive/v$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('b7c8f00273ad27d85814bf4ec93eb6922c75656800a61d11854d36355a4a1aec') + +build() { + cmake -B build5 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_QT_VERSION=5 \ + -DBUILD_SHARED_LIBS=ON + cmake --build build5 + + cmake -B build6 -S $pkgbase-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_QT_VERSION=6 \ + -DBUILD_SHARED_LIBS=ON + cmake --build build6 +} + +package_qcoro-qt5() { + depends+=(qt5-base + qt5-declarative + qt5-websockets) + DESTDIR="$pkgdir" cmake --install build5 + install -Dm644 $pkgbase-$pkgver/LICENSES/MIT.txt -t "$pkgdir"/usr/share/licenses/$pkgname +} + +package_qcoro-qt6() { + depends+=(qt6-base + qt6-declarative + qt6-websockets) + DESTDIR="$pkgdir" cmake --install build6 + install -Dm644 $pkgbase-$pkgver/LICENSES/MIT.txt -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qcoro/README b/main/qcoro/README new file mode 100644 index 00000000..524124da --- /dev/null +++ b/main/qcoro/README @@ -0,0 +1,43 @@ +qcoro +________________________________________________________________________________ + +C++ Coroutines for Qt + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qcoro | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/danvratil/qcoro diff --git a/main/qcoro/version b/main/qcoro/version new file mode 100644 index 00000000..9336e4d1 --- /dev/null +++ b/main/qcoro/version @@ -0,0 +1 @@ +0.10.0 1 diff --git a/main/qemu/.PKGINFO b/main/qemu/.PKGINFO new file mode 100644 index 00000000..d2a4b147 --- /dev/null +++ b/main/qemu/.PKGINFO @@ -0,0 +1,109 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = qemu-guest-agent +pkgbase = qemu +xdata = pkgtype=split +pkgver = 9.0.1-1 +pkgdesc = QEMU Guest Agent +url = https://www.qemu.org/ +builddate = 1718491918 +packager = Developer +size = 1038111 +arch = x86_64 +license = BSD-2-Clause +license = BSD-2-Clause-Patent +license = BSD-3-Clause +license = CC0-1.0 +license = FSFAP +license = GPL-1.0-or-later +license = GPL-2.0-only +license = GPL-2.0-only WITH Linux-syscall-note +license = GPL-2.0-only WITH Linux-syscall-note OR BSD-2-Clause +license = GPL-2.0-only WITH Linux-syscall-note OR BSD-3-Clause +license = GPL-2.0-or-later +license = GPL-2.0-or-later OR BSD-3-Clause +license = GPL-2.0-or-later WITH Linux-syscall-note +license = ISC +license = LGPL-2.1-only OR BSD-3-Clause +license = LGPL-2.0-or-later +license = LGPL-2.1-or-later +license = LicenseRef-Public-Domain +license = MIT +backup = etc/qemu/qemu-ga.conf +backup = etc/qemu/fsfreeze-hook +depend = gcc-libs +depend = glib2 +depend = libglib-2.0.so=0-64 +depend = libgmodule-2.0.so=0-64 +depend = glibc +depend = liburing +depend = liburing.so=2-64 +depend = numactl +depend = libnuma.so=1-64 +depend = sh +depend = systemd-libs +depend = libudev.so=1-64 +makedepend = alsa-lib +makedepend = brltty +makedepend = bzip2 +makedepend = cairo +makedepend = capstone +makedepend = curl +makedepend = dtc +makedepend = fuse3 +makedepend = gcc-libs +makedepend = gdk-pixbuf2 +makedepend = glib2 +makedepend = glib2-devel +makedepend = glusterfs +makedepend = gnutls +makedepend = gtk3 +makedepend = jack +makedepend = keyutils +makedepend = libaio +makedepend = libbpf +makedepend = libcacard +makedepend = libcap-ng +makedepend = libepoxy +makedepend = libiscsi +makedepend = libnfs +makedepend = libpipewire +makedepend = libpng +makedepend = libpulse +makedepend = libsasl +makedepend = libseccomp +makedepend = libslirp +makedepend = libssh +makedepend = liburing +makedepend = libusb +makedepend = libx11 +makedepend = libxdp +makedepend = libxml2 +makedepend = libxkbcommon +makedepend = lzo +makedepend = mesa +makedepend = meson +makedepend = multipath-tools +makedepend = ncurses +makedepend = ndctl +makedepend = numactl +makedepend = pam +makedepend = pcre2 +makedepend = python +makedepend = python-distlib +makedepend = python-setuptools +makedepend = python-pip +makedepend = python-sphinx +makedepend = python-sphinx_rtd_theme +makedepend = sdl2 +makedepend = sdl2_image +makedepend = snappy +makedepend = spice-protocol +makedepend = spice +makedepend = systemd +makedepend = usbredir +makedepend = vde2 +makedepend = virglrenderer +makedepend = vte3 +makedepend = zlib +makedepend = zstd diff --git a/main/qemu/.nvchecker.toml b/main/qemu/.nvchecker.toml new file mode 100644 index 00000000..6b1126c6 --- /dev/null +++ b/main/qemu/.nvchecker.toml @@ -0,0 +1,5 @@ +[qemu] +source = "git" +git = "https://gitlab.com/qemu-project/qemu.git" +exclude_regex = ".*(rc|RC|alpha|beta).*" +prefix = "v" diff --git a/main/qemu/65-kvm.rules b/main/qemu/65-kvm.rules new file mode 100644 index 00000000..fbb0ebb6 --- /dev/null +++ b/main/qemu/65-kvm.rules @@ -0,0 +1 @@ +KERNEL=="vhost-net", GROUP="kvm", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=vhost-net" diff --git a/main/qemu/99-qemu-guest-agent.rules b/main/qemu/99-qemu-guest-agent.rules new file mode 100644 index 00000000..d72a4183 --- /dev/null +++ b/main/qemu/99-qemu-guest-agent.rules @@ -0,0 +1 @@ +SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service" diff --git a/main/qemu/PKGBUILD b/main/qemu/PKGBUILD new file mode 100644 index 00000000..a8c26687 --- /dev/null +++ b/main/qemu/PKGBUILD @@ -0,0 +1,1234 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qemu +pkgname=( + qemu-common + qemu-audio-{alsa,dbus,jack,oss,pa,pipewire,sdl,spice} + qemu-block-{curl,dmg,gluster,iscsi,nfs,ssh} + qemu-chardev-{baum,spice} + qemu-docs + qemu-guest-agent + qemu-hw-display-{qxl,virtio-{gpu{,-{gl,pci,pci-gl}},vga{,-gl}}} + qemu-hw-s390x-virtio-gpu-ccw + qemu-hw-usb-{host,redirect,smartcard} + qemu-img + qemu-pr-helper + qemu-system-{aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa} + qemu-system-{alpha,arm,hppa,microblaze,ppc,riscv,s390x,sparc,x86}-firmware + qemu-tests + qemu-tools + qemu-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}} + qemu-user{,-static}{,-binfmt} + qemu-vhost-user-gpu + qemu-{base,desktop,emulators-full,full} +) +pkgver=%version% +pkgrel=%release% +pkgdesc="A generic and open source machine emulator and virtualizer" +arch=(x86_64) +url="https://www.qemu.org/" +license=( + BSD-2-Clause + BSD-2-Clause-Patent + BSD-3-Clause + CC0-1.0 + FSFAP + GPL-1.0-or-later + GPL-2.0-only + 'GPL-2.0-only WITH Linux-syscall-note' + 'GPL-2.0-only WITH Linux-syscall-note OR BSD-2-Clause' + 'GPL-2.0-only WITH Linux-syscall-note OR BSD-3-Clause' + GPL-2.0-or-later + 'GPL-2.0-or-later OR BSD-3-Clause' + 'GPL-2.0-or-later WITH Linux-syscall-note' + ISC + 'LGPL-2.1-only OR BSD-3-Clause' + LGPL-2.0-or-later + LGPL-2.1-or-later + LicenseRef-Public-Domain + MIT +) +# TODO: consider providing rdma-core +# TODO: consider providing lzfse +# TODO: package systemtap +# TODO: package openbios for qemu-system-{ppc,sparc} +# TODO: package /usr/share/qemu/{efi,pxe}-* for qemu (ipxe) +# TODO: package /usr/share/qemu/slof.bin for qemu-system-ppc (slof) +makedepends=( + alsa-lib + brltty + bzip2 + cairo + capstone + curl + dtc + fuse3 + gcc-libs + gdk-pixbuf2 + glib2 + glusterfs + gnutls + gtk3 + jack + keyutils + libaio + libbpf + libcacard + libcap-ng + libepoxy + libiscsi + libnfs + libpipewire + libpng + libpulse + libsasl + libseccomp + libslirp + libssh + liburing + libusb + libx11 + libxdp + libxml2 + libxkbcommon + lzo + mesa + meson + multipath-tools + ncurses + ndctl + numactl + pam + pcre2 + python + python-distlib + python-setuptools + python-pip + python-sphinx + python-sphinx_rtd_theme + sdl2 + sdl2_image + snappy + spice-protocol + spice + systemd + usbredir + vde2 + virglrenderer + vte3 + zlib + zstd +) +source=( + https://download.qemu.org/qemu-$pkgver.tar.xz{,.sig} + bridge.conf + qemu-ga.conf + qemu-sysusers.conf + 65-kvm.rules + 99-qemu-guest-agent.rules + $pkgbase-8.1.1-static_regression.patch +) +sha512sums=('dfd2e1305f9e51bfbc90a7738c69336d5f805481a626ea527b971bdfb6dbe6867e5df7461d48d1c22b79be2dc18e057ea9fa36ef593127cd8b262a5c33f1aa41' + 'SKIP' + '7b412ffa5dcda47b0a4ec9e2c5e5e1d9eaaaf0a087b7ea3ead3e706ba4c9cafb919beadd088a0299b6f7aab753b81a5eafb545b4842ee5f26646d16544dd02a7' + '6e838773d63ae0ffdffe2b891bf611d8f5f3c67a9bc4cbbedf8363c150c2c9971c8e44d92270bc581af40eb0ece02192760bcdd6aee229fff55635f3a4825afa' + '985c2c7a6b5217c87a15b45368089ee91b2f9027b070f9eafa448a18b27ae0d9edd964d52e134b9c1f4aeef4d6aae88afd3f454551ca898affef7f9d28b99b8f' + 'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99' + '93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839' + 'c7d086a951e9a378434ea95a843a4b01f0eb2ae430135a81365147cf6806a7ba1b49014a3aa66904970853ba84a4a28dbaded7bccb99a0bc3730572c80fb8b12') +b2sums=('ceecbae945d9ac1bd85935266c33b91aedbc201796b38a9cb721d778ba8b35f07d01af8c5ce572e68e637ae94455c70ddcf9087579231613f92828bccafa93f4' + 'SKIP' + 'b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8' + '2102e4a34e11e406e9606c97e026e7b92e887e296a7f77b9cede1b37119d0df33735f3588628167b2b8e32244c196c491bfab623e2caddac9014d445aa2a6d98' + '69177b962d2fda20cafdbc6226fd017b5ca5a0f69f866d055dc1c744b7b2955059f47c693cfb5b4c863ec159569fdabd4327ab4b8a95566a68cd8ce38e339c7a' + '3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8' + 'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7' + '209ec05e161d157aaa08a9fcbea45cf87aa22fe9360f9b3c477a78a274e4ecee989c16121f9e6b7765bb479c9db718c98db047c27fd426c127c4c95e28877a16') +validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') # Michael Roth + +_qemu_system_deps=( + capstone + dtc + fuse3 + gcc-libs + glibc + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so + gnutls + keyutils + libaio + libelf + libbpf libbpf.so + libjpeg-turbo libjpeg.so + libpng + libsasl + libseccomp libseccomp.so + libslirp libslirp.so + liburing liburing.so + libxdp libxdp.so + lzo + ndctl + numactl libnuma.so + pam libpam.so + pixman libpixman-1.so + qemu-common=$pkgver-$pkgrel + snappy + vde2 + zlib + zstd libzstd.so +) + +_qemu_full_optdepends=( + 'qemu-user-static: for static user mode emulation of QEMU targets' + 'samba: for SMB/CIFS server support' +) + +_qemu_desktop_optdepends=( + "${_qemu_full_optdepends[@]}" + 'qemu-block-gluster: for Gluster block driver' + 'qemu-block-iscsi: for iSCSI block driver' + 'qemu-chardev-baum: for Baum chardev driver' + 'qemu-docs: for documentation' + 'qemu-emulators-full: for all system emulators' + 'qemu-full: for a full QEMU installation' + 'qemu-hw-s390x-virtio-gpu-ccw: for s390x-virtio-gpu-ccw display device' + 'qemu-pr-helper: for persistent reservation utility' + 'qemu-system-aarch64: for AARCH64 system emulator' + 'qemu-system-alpha: for Alpha system emulator' + 'qemu-system-arm: for ARM system emulator' + 'qemu-system-avr: for AVR system emulator' + 'qemu-system-cris: for CRIS system emulator' + 'qemu-system-hppa: for HPPA system emulator' + 'qemu-system-m68k: for ColdFire (m68k) system emulator' + 'qemu-system-microblaze: for Microblaze system emulator' + 'qemu-system-mips: for MIPS system emulator' + 'qemu-system-nios2: for nios2 system emulator' + 'qemu-system-or1k: for OpenRisc32 system emulator' + 'qemu-system-ppc: for PPC system emulator' + 'qemu-system-riscv: for RISC-V system emulator' + 'qemu-system-rx: for RX system emulator' + 'qemu-system-s390x: for S390 system emulator' + 'qemu-system-sh4: for SH4 system emulator' + 'qemu-system-sparc: for SPARC system emulator' + 'qemu-system-tricore: for tricore system emulator' + 'qemu-system-xtensa: for Xtensa system emulator' + 'qemu-tests: for QEMU tests' + 'qemu-tools: for QEMU tools' + 'qemu-user: for user mode emulation of QEMU targets' +) + +_qemu_base_optdepends=( + "${_qemu_desktop_optdepends[@]}" + 'qemu-audio-alsa: for ALSA audio driver' + 'qemu-audio-dbus: for D-Bus audio driver' + 'qemu-audio-jack: for JACK audio driver' + 'qemu-audio-oss: for OSS audio driver' + 'qemu-audio-pa: for PulseAudio audio driver' + 'qemu-audio-pipewire: for PipeWire audio driver' + 'qemu-audio-sdl: for SDL audio driver' + 'qemu-audio-spice: for spice audio driver' + 'qemu-block-curl: for curl block driver' + 'qemu-block-dmg: for DMG block driver' + 'qemu-block-nfs: for NFS block driver' + 'qemu-block-ssh: for SSH block driver' + 'qemu-chardev-spice: for the spice chardev driver' + 'qemu-desktop: for dependencies commonly used on a desktop' + 'qemu-hw-display-qxl: for the QXL display device' + 'qemu-hw-display-virtio-vga: for the virtio-vga display device' + 'qemu-hw-display-virtio-vga-gl: for the virtio-vga-gl display device' + 'qemu-hw-display-virtio-gpu: for the virtio-gpu display device' + 'qemu-hw-display-virtio-gpu-gl: for the virtio-gpu-gl display device' + 'qemu-hw-display-virtio-gpu-pci: for the virtio-gpu-pci display device' + 'qemu-hw-display-virtio-gpu-pci-gl: for the virtio-gpu-pci-gl display device' + 'qemu-hw-usb-host: for host USB support' + 'qemu-hw-usb-redirect: for USB redirect support' + 'qemu-hw-usb-smartcard: for USB smartcard support' + 'qemu-ui-curses: for ncurses UI driver' + 'qemu-ui-dbus: for D-Bus UI driver' + 'qemu-ui-egl-headless: for EGL headless UI driver' + 'qemu-ui-gtk: for GTK UI driver' + 'qemu-ui-opengl: for OpenGL UI driver' + 'qemu-ui-sdl: for SDL UI driver' + 'qemu-ui-spice-app: for spice app UI driver' + 'qemu-ui-spice-core: for spice core UI driver' + 'qemu-user: for user mode emulation of QEMU targets' + 'qemu-vhost-user-gpu: for vhost-user-gpu display device' +) + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -vp "$(dirname "$d")" + mv -v "$f" "$d" + rmdir -vp --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +# install the license files to that of qemu-common +_install_licenses() { + install -vDm 644 $pkgbase-$pkgver/LICENSE ./*LICENSE*.txt -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgbase-$pkgver/tests/uefi-test-tools/LICENSE "$pkgdir/usr/share/licenses/$pkgname/BSD-2-Clause.txt" + install -vDm 644 $pkgbase-$pkgver/pc-bios/edk2-licenses.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +prepare() { + # fix crash with static binaries: https://gitlab.com/qemu-project/qemu/-/issues/1913 + patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-8.1.1-static_regression.patch + + # extract licenses for TCG + sed -n '1,23p' $pkgbase-$pkgver/tcg/tcg-internal.h > tcg.LICENSE.MIT.txt + sed -n '1,23p' $pkgbase-$pkgver/tcg/arm/tcg-target.c.inc > tcg-arm.LICENSE.MIT.txt + sed -n '1,23p' $pkgbase-$pkgver/tcg/tci/tcg-target.h > tci.LICENSE.MIT.txt + + # extract licenses for audio + sed -n '2,4p' $pkgbase-$pkgver/audio/sndioaudio.c > audio.LICENSE.ISC.txt + + # extract licenses for linux headers + sed -n '3,33p' $pkgbase-$pkgver/include/standard-headers/linux/fuse.h > fuse.LICENSE.BSD-2-Clause.txt + + # install qemu-pr-helper.socket to sockets.target + sed -e 's/multi-user.target/sockets.target/g' -i $pkgbase-$pkgver/contrib/systemd/qemu-pr-helper.socket + + # create build dir + mkdir -vp build + mkdir -vp build-static +} + +build() { + local common_configure_options=( + --prefix=/usr + --sysconfdir=/etc + --libexecdir=/usr/lib/qemu + --localstatedir=/var + --docdir=/usr/share/doc/qemu + ) + local configure_options=( + "${common_configure_options[@]}" + --enable-modules + --enable-sdl + --enable-slirp + --enable-tpm + --smbd=/usr/bin/smbd + --with-coroutine=ucontext + ) + local configure_static_options=( + "${common_configure_options[@]}" + --enable-attr + --enable-linux-user + --enable-tcg + --disable-bpf + --disable-bsd-user + --disable-capstone + --disable-docs + --disable-fdt + --disable-gcrypt + --disable-glusterfs + --disable-gnutls + --disable-gtk + --disable-install-blobs + --disable-kvm + --disable-libiscsi + --disable-libnfs + --disable-libssh + --disable-linux-io-uring + --disable-nettle + --disable-opengl + --disable-qom-cast-debug + --disable-sdl + --disable-system + --disable-tools + --disable-tpm + --disable-vde + --disable-vhost-crypto + --disable-vhost-kernel + --disable-vhost-net + --disable-vhost-user + --disable-vnc + --disable-werror + --disable-xen + --disable-zstd + --static + ) + + ( + cd build-static + ../$pkgbase-$pkgver/configure "${configure_static_options[@]}" + ninja + ) + + # Build only minimal debug info to reduce size + CFLAGS+=' -g1' + CXXFLAGS+=' -g1' + + ( + cd build + ../$pkgbase-$pkgver/configure "${configure_options[@]}" + ninja + ) + +} + +package_qemu-common() { + local binfmt_conf_options=( + --systemd ALL + --exportdir "$pkgdir/usr/lib/binfmt.d/" + --qemu-path "/usr/bin" + --persistent yes + --preserve-argv0 yes + ) + + depends=(gcc-libs glibc glib2 libglib-2.0.so libgmodule-2.0.so hicolor-icon-theme libcap-ng libcap-ng.so numactl libnuma.so) + backup=( + etc/$pkgbase/bridge.conf + etc/sasl2/$pkgbase.conf + ) + install=$pkgname.install + + # install static binaries + meson install -C build-static --destdir "$pkgdir" + install -vdm 755 "$pkgdir/usr/lib/binfmt.d/" + $pkgbase-$pkgver/scripts/qemu-binfmt-conf.sh "${binfmt_conf_options[@]}" + + # rename static binaries to prevent name conflicts + for _src in "$pkgdir/usr/bin/qemu-"*; do + mv -v "$_src" "$pkgdir/usr/bin/$(basename "$_src")-static" + done + # modify and rename binfmt.d configs to prevent name conflicts + for _conf in "$pkgdir/usr/lib/binfmt.d/"*; do + _exe_name="$(basename "${_conf/.conf/}")" + _new_exe_name="${_exe_name}-static" + _new_conf_name="${_conf/.conf/-static.conf}" + sed -e "s|usr/bin/${_exe_name}|usr/bin/${_new_exe_name}|" "$_conf" > "${_new_conf_name}" + done + + # install default binaries + meson install -C build --destdir "$pkgdir" + + install -vdm 755 "$pkgdir/usr/lib/binfmt.d/" + $pkgbase-$pkgver/scripts/qemu-binfmt-conf.sh "${binfmt_conf_options[@]}" + + install -vDm 644 bridge.conf -t "$pkgdir/etc/$pkgbase/" + install -vDm 644 $pkgbase-$pkgver/$pkgbase.sasl "$pkgdir/etc/sasl2/$pkgbase.conf" + install -vDm 644 $pkgbase-sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgbase.conf" + + _install_licenses + + # bridge_helper needs suid: https://bugs.archlinux.org/task/32565 + chmod u+s "$pkgdir/usr/lib/qemu/qemu-bridge-helper" + + # remoe invalid directory + rm -frv "$pkgdir/var" + + # remove unneeded files + find "$pkgdir" -name .buildinfo -delete + + # remove files provided by seabios + rm -fv "$pkgdir/usr/share/$pkgbase/"{bios,vgabios}* + + # remove files provided by edk2-{aarch64,arm,ovmf} + rm -fv "$pkgdir/usr/share/$pkgbase/"edk2-* + rm -frv "$pkgdir/usr/share/$pkgbase/firmware" + + ( + # create man page symlinks for all system emulators + cd "$pkgdir/usr/share/man/man1" + for _name in qemu-system-{aarch64,alpha,arm,avr,cris,hppa,i386,loongarch64,m68k,microblaze{,el},mips{,64,64el,el},nios2,or1k,ppc{,64},riscv{32,64},rx,s390x,sh4{,eb},sparc{,64},tricore,x86_64,xtensa{,eb}}; do + ln -sv $pkgbase.1.gz "$pkgdir/usr/share/man/man1/$_name.1.gz" + done + ) + + ( + # pick files for all split packages + cd "$pkgdir" + + _pick qemu-guest-agent usr/bin/qemu-ga + _pick qemu-guest-agent usr/share/man/man8/qemu-ga.8* + + _pick qemu-audio-alsa usr/lib/qemu/audio-alsa.so + _pick qemu-audio-dbus usr/lib/qemu/audio-dbus.so + _pick qemu-audio-jack usr/lib/qemu/audio-jack.so + _pick qemu-audio-oss usr/lib/qemu/audio-oss.so + _pick qemu-audio-pa usr/lib/qemu/audio-pa.so + _pick qemu-audio-pipewire usr/lib/qemu/audio-pipewire.so + _pick qemu-audio-sdl usr/lib/qemu/audio-sdl.so + _pick qemu-audio-spice usr/lib/qemu/audio-spice.so + + _pick qemu-block-curl usr/lib/qemu/block-curl.so + _pick qemu-block-dmg usr/lib/qemu/block-dmg*.so + _pick qemu-block-gluster usr/lib/qemu/block-gluster.so + _pick qemu-block-iscsi usr/lib/qemu/block-iscsi.so + _pick qemu-block-nfs usr/lib/qemu/block-nfs.so + _pick qemu-block-ssh usr/lib/qemu/block-ssh.so + + _pick qemu-chardev-baum usr/lib/qemu/chardev-baum.so + _pick qemu-chardev-spice usr/lib/qemu/chardev-spice.so + + _pick qemu-docs usr/share/doc/qemu + + _pick qemu-hw-display-qxl usr/lib/qemu/hw-display-qxl.so + _pick qemu-hw-display-virtio-gpu usr/lib/qemu/hw-display-virtio-gpu.so + _pick qemu-hw-display-virtio-gpu-gl usr/lib/qemu/hw-display-virtio-gpu-gl.so + _pick qemu-hw-display-virtio-gpu-pci usr/lib/qemu/hw-display-virtio-gpu-pci.so + _pick qemu-hw-display-virtio-gpu-pci-gl usr/lib/qemu/hw-display-virtio-gpu-pci-gl.so + _pick qemu-hw-display-virtio-vga usr/lib/qemu/hw-display-virtio-vga.so + _pick qemu-hw-display-virtio-vga-gl usr/lib/qemu/hw-display-virtio-vga-gl.so + + _pick qemu-hw-usb-host usr/lib/qemu/hw-usb-host.so + _pick qemu-hw-usb-redirect usr/lib/qemu/hw-usb-redirect.so + _pick qemu-hw-usb-smartcard usr/lib/qemu/hw-usb-smartcard.so + + _pick qemu-img usr/bin/qemu-{img,io,nbd,storage-daemon} + _pick qemu-img usr/share/man/man1/qemu-{img,storage-daemon}.1* + _pick qemu-img usr/share/man/man7/qemu-storage-daemon-qmp-ref.7* + _pick qemu-img usr/share/man/man8/qemu-nbd.8* + + _pick qemu-pr-helper usr/bin/qemu-pr-helper + _pick qemu-pr-helper usr/share/man/man8/qemu-pr-helper.8* + + _pick qemu-hw-s390x-virtio-gpu-ccw usr/lib/qemu/hw-s390x-virtio-gpu-ccw.so + + _pick qemu-system-aarch64 usr/bin/qemu-system-aarch64 + _pick qemu-system-aarch64 usr/share/man/man1/qemu-system-aarch64.1* + + _pick qemu-system-alpha usr/bin/qemu-system-alpha + _pick qemu-system-alpha usr/share/man/man1/qemu-system-alpha.1* + + _pick qemu-system-alpha-firmware usr/share/qemu/palcode-clipper + + _pick qemu-system-arm usr/bin/qemu-system-arm + _pick qemu-system-arm usr/share/man/man1/qemu-system-arm.1* + + _pick qemu-system-arm-firmware usr/share/qemu/npcm7xx_bootrom.bin + + _pick qemu-system-avr usr/bin/qemu-system-avr + _pick qemu-system-avr usr/share/man/man1/qemu-system-avr.1* + + _pick qemu-system-cris usr/bin/qemu-system-cris + _pick qemu-system-cris usr/share/man/man1/qemu-system-cris.1* + + _pick qemu-system-hppa usr/bin/qemu-system-hppa + _pick qemu-system-hppa usr/share/man/man1/qemu-system-hppa.1* + + _pick qemu-system-hppa-firmware usr/share/qemu/hppa-firmware.img + + _pick qemu-system-loongarch64 usr/bin/qemu-system-loongarch64 + _pick qemu-system-loongarch64 usr/share/man/man1/qemu-system-loongarch64.1* + + _pick qemu-system-m68k usr/bin/qemu-system-m68k + _pick qemu-system-m68k usr/share/man/man1/qemu-system-m68k.1* + + _pick qemu-system-microblaze usr/bin/qemu-system-microblaze{,el} + _pick qemu-system-microblaze usr/share/man/man1/qemu-system-microblaze{,el}.1* + + _pick qemu-system-microblaze-firmware usr/share/qemu/petalogix-*.dtb + + _pick qemu-system-mips usr/bin/qemu-system-mips{,64,64el,el} + _pick qemu-system-mips usr/share/man/man1/qemu-system-mips{,64,64el,el}.1* + + _pick qemu-system-nios2 usr/bin/qemu-system-nios2 + _pick qemu-system-nios2 usr/share/man/man1/qemu-system-nios2.1* + + _pick qemu-system-or1k usr/bin/qemu-system-or1k + _pick qemu-system-or1k usr/share/man/man1/qemu-system-or1k.1* + + _pick qemu-system-ppc usr/bin/qemu-system-ppc{,64} + _pick qemu-system-ppc usr/share/man/man1/qemu-system-ppc{,64}.1* + + _pick qemu-system-ppc-firmware usr/share/qemu/{bamboo,canyonlands}.dtb + # NOTE: needs to be replaced by openbios + _pick qemu-system-ppc-firmware usr/share/qemu/openbios-ppc + _pick qemu-system-ppc-firmware usr/share/qemu/qemu_vga.ndrv + _pick qemu-system-ppc-firmware usr/share/qemu/skiboot.lid + # NOTE: needs to be replaced by slof + _pick qemu-system-ppc-firmware usr/share/qemu/slof.bin + _pick qemu-system-ppc-firmware usr/share/qemu/u-boot.e500 + _pick qemu-system-ppc-firmware usr/share/qemu/u-boot-sam460-20100605.bin + + _pick qemu-system-riscv usr/bin/qemu-system-riscv{32,64} + _pick qemu-system-riscv usr/share/man/man1/qemu-system-riscv{32,64}.1* + + _pick qemu-system-riscv-firmware usr/share/qemu/opensbi-riscv{32,64}*.bin + + _pick qemu-system-rx usr/bin/qemu-system-rx + _pick qemu-system-rx usr/share/man/man1/qemu-system-rx.1* + + _pick qemu-system-s390x usr/bin/qemu-system-s390x + _pick qemu-system-s390x usr/share/man/man1/qemu-system-s390x.1* + + _pick qemu-system-s390x-firmware usr/share/qemu/s390-{ccw,netboot}.img + + _pick qemu-system-sh4 usr/bin/qemu-system-sh4{,eb} + _pick qemu-system-sh4 usr/share/man/man1/qemu-system-sh4{,eb}.1* + + _pick qemu-system-sparc usr/bin/qemu-system-sparc{,64} + _pick qemu-system-sparc usr/share/man/man1/qemu-system-sparc{,64}.1* + + # NOTE: needs to be replaced by openbios + _pick qemu-system-sparc-firmware usr/share/qemu/openbios-sparc{32,64} + _pick qemu-system-sparc-firmware usr/share/qemu/QEMU,{cgthree,tcx}.bin + + _pick qemu-system-tricore usr/bin/qemu-system-tricore + _pick qemu-system-tricore usr/share/man/man1/qemu-system-tricore.1* + + _pick qemu-system-x86 usr/bin/qemu-system-{i386,x86_64} + _pick qemu-system-x86 usr/lib/qemu/accel-tcg-{i386,x86_64}.so + _pick qemu-system-x86 usr/share/man/man1/qemu-system-{i386,x86_64}.1* + + _pick qemu-system-x86-firmware usr/share/qemu/{kvmvapic,linuxboot,multiboot{,_dma},pvh}.bin + _pick qemu-system-x86-firmware usr/share/qemu/qboot.rom + + _pick qemu-system-xtensa usr/bin/qemu-system-xtensa{,eb} + _pick qemu-system-xtensa usr/share/man/man1/qemu-system-xtensa{,eb}.1* + + _pick qemu-tests usr/lib/qemu/accel-qtest-*.so + + _pick qemu-tools usr/bin/{elf2dmp,qemu-{edid,keymap}} + _pick qemu-tools usr/share/qemu/trace-events-all + + _pick qemu-ui-curses usr/lib/qemu/ui-curses.so + _pick qemu-ui-dbus usr/lib/qemu/ui-dbus.so + _pick qemu-ui-egl-headless usr/lib/qemu/ui-egl-headless.so + _pick qemu-ui-gtk usr/lib/qemu/ui-gtk.so + _pick qemu-ui-opengl usr/lib/qemu/ui-opengl.so + _pick qemu-ui-sdl usr/lib/qemu/ui-sdl.so + _pick qemu-ui-spice-app usr/lib/qemu/ui-spice-app.so + _pick qemu-ui-spice-core usr/lib/qemu/ui-spice-core.so + + _pick qemu-user-static usr/bin/qemu-*-static + _pick qemu-user-static-binfmt usr/lib/binfmt.d/*-static.conf + + _pick qemu-user usr/bin/qemu-{aarch64{,_be},alpha,arm{,eb},cris,hexagon,hppa,i386,loongarch64,m68k,microblaze{,el},mips{,64,64el,el,n32,n32el},nios2,or1k,ppc{,64,64le},riscv{32,64},s390x,sh4{,eb},sparc{,32plus,64},x86_64,xtensa{,eb}} + _pick qemu-user-binfmt usr/lib/binfmt.d/*.conf + + _pick qemu-vhost-user-gpu usr/lib/qemu/vhost-user-gpu + _pick qemu-vhost-user-gpu usr/share/qemu/vhost-user/50-qemu-gpu.json + ) +} + +package_qemu-audio-alsa() { + pkgdesc="QEMU ALSA audio driver" + depends=(alsa-lib libasound.so glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-dbus() { + pkgdesc="QEMU D-Bus audio driver" + depends=(gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-jack() { + pkgdesc="QEMU JACK audio driver" + depends=(gcc-libs glibc jack libjack.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-oss() { + pkgdesc="QEMU OSS audio driver" + depends=(glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-pa() { + pkgdesc="QEMU PulseAudio audio driver" + depends=(glibc libpulse libpulse.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-pipewire() { + pkgdesc="QEMU PipeWire audio driver" + depends=(gcc-libs glibc libpipewire libpipewire-0.3.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-sdl() { + pkgdesc="QEMU SDL audio driver" + depends=(glibc qemu-common=$pkgver-$pkgrel sdl2) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-audio-spice() { + pkgdesc="QEMU spice audio driver" + depends=(glibc qemu-common=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel spice libspice-server.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-curl() { + pkgdesc="QEMU curl block driver" + depends=(curl libcurl.so gcc-libs glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-dmg() { + pkgdesc="QEMU DMG block driver" + depends=(bzip2 libbz2.so glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-gluster() { + pkgdesc="QEMU Gluster block driver" + depends=(glibc glusterfs qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-iscsi() { + pkgdesc="QEMU iSCSI block driver" + depends=(gcc-libs glibc libiscsi qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-nfs() { + pkgdesc="QEMU NFS block driver" + depends=(gcc-libs glibc libnfs qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-block-ssh() { + pkgdesc="QEMU SSH block driver" + depends=(gcc-libs glibc libssh libssh.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-chardev-baum() { + pkgdesc="QEMU Baum chardev driver" + depends=(brltty libbrlapi.so gcc-libs glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-chardev-spice() { + pkgdesc="QEMU spice chardev driver" + depends=(glibc qemu-common=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel spice libspice-server.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-docs() { + pkgdesc+=" - documentation" + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-guest-agent() { + pkgdesc="QEMU Guest Agent" + depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc liburing liburing.so numactl libnuma.so sh systemd-libs libudev.so) + backup=( + etc/$pkgbase/$pkgbase-ga.conf + etc/$pkgbase/fsfreeze-hook + ) + install=$pkgname.install + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/contrib/systemd/$pkgname.service -t "$pkgdir/usr/lib/systemd/system/" + install -vDm 644 99-$pkgname.rules -t "$pkgdir/usr/lib/udev/rules.d/" + install -vDm 644 $pkgbase-ga.conf -t "$pkgdir/etc/$pkgbase/" + install -vDm 755 $pkgbase-$pkgver/scripts/$pkgname/fsfreeze-hook -t "$pkgdir/etc/$pkgbase/" + install -vdm 755 "$pkgdir/etc/$pkgbase/fsfreeze-hook.d" + _install_licenses +} + +package_qemu-hw-display-qxl() { + pkgdesc="QEMU QXL display device" + depends=(gcc-libs glibc pixman libpixman-1.so qemu-common=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel spice libspice-server.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-gpu() { + pkgdesc="QEMU virtio-gpu display device" + depends=(glibc pixman libpixman-1.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-gpu-gl() { + pkgdesc="QEMU virtio-gpu-gl display device" + depends=(glibc qemu-common=$pkgver-$pkgrel virglrenderer) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-gpu-pci() { + pkgdesc="QEMU virtio-gpu-pci display device" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-gpu-pci-gl() { + pkgdesc="QEMU virtio-gpu-pci-gl display device" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-vga() { + pkgdesc="QEMU virtio-vga display device" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-display-virtio-vga-gl() { + pkgdesc="QEMU virtio-vga-gl display device" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-s390x-virtio-gpu-ccw() { + pkgdesc="QEMU s390x-virtio-gpu-ccw display device" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-aarch64() { + pkgdesc="QEMU system emulator for AARCH64" + depends=("${_qemu_system_deps[@]}" edk2-aarch64 systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-alpha() { + pkgdesc="QEMU system emulator for Alpha" + depends=("${_qemu_system_deps[@]}" qemu-system-alpha-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-alpha-firmware() { + pkgdesc="Firmware for QEMU system emulator for Alpha" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-arm() { + pkgdesc="QEMU system emulator for ARM" + depends=("${_qemu_system_deps[@]}" edk2-arm qemu-system-arm-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-arm-firmware() { + pkgdesc="Firmware for QEMU system emulator for ARM" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-avr() { + pkgdesc="QEMU system emulator for AVR" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-cris() { + pkgdesc="QEMU system emulator for CRIS" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-hppa() { + pkgdesc="QEMU system emulator for HPPA" + depends=("${_qemu_system_deps[@]}" qemu-system-hppa-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-hppa-firmware() { + pkgdesc="Firmware for QEMU system emulator for HPPA" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-loongarch64() { + pkgdesc="QEMU system emulator for LoongArch64" + depends=("${_qemu_system_deps[@]}" systemd-libs) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-m68k() { + pkgdesc="QEMU system emulator for ColdFire (m68k)" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-microblaze() { + pkgdesc="QEMU system emulator for Microblaze" + depends=("${_qemu_system_deps[@]}" qemu-system-microblaze-firmware=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-microblaze-firmware() { + pkgdesc="Firmware for QEMU system emulator for Microblaze" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-mips() { + pkgdesc="QEMU system emulator for MIPS" + depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-nios2() { + pkgdesc="QEMU system emulator for nios2" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-or1k() { + pkgdesc="QEMU system emulator for OpenRisc32" + depends=("${_qemu_system_deps[@]}" systemd-libs) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-ppc() { + pkgdesc="QEMU system emulator for PPC" + depends=("${_qemu_system_deps[@]}" qemu-system-ppc-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-ppc-firmware() { + pkgdesc="Firmware for QEMU system emulator for PPC" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-riscv() { + pkgdesc="QEMU system emulator for RISC-V" + depends=("${_qemu_system_deps[@]}" qemu-system-riscv-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-riscv-firmware() { + pkgdesc="Firmware for QEMU system emulator for RISC-V" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-rx() { + pkgdesc="QEMU system emulator for RX" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-s390x() { + pkgdesc="QEMU system emulator for S390" + depends=("${_qemu_system_deps[@]}" qemu-system-s390x-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-s390x-firmware() { + pkgdesc="Firmware for QEMU system emulator for S390" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-sh4() { + pkgdesc="QEMU system emulator for SH4" + depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-sparc() { + pkgdesc="QEMU system emulator for SPARC" + depends=("${_qemu_system_deps[@]}" qemu-system-sparc-firmware=$pkgver-$pkgrel systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-sparc-firmware() { + pkgdesc="Firmware for QEMU system emulator for SPARC" + options=(!strip) + # NOTE: will require openbios + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-tricore() { + pkgdesc="QEMU system emulator for tricore" + depends=("${_qemu_system_deps[@]}") + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-x86() { + pkgdesc="QEMU system emulator for x86" + depends=("${_qemu_system_deps[@]}" edk2-ovmf qemu-system-x86-firmware=$pkgver-$pkgrel seabios systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-x86-firmware() { + pkgdesc="Firmware for QEMU system emulator for x86" + options=(!strip) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-system-xtensa() { + pkgdesc="QEMU system emulator for Xtensa" + depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-usb-host() { + pkgdesc="QEMU USB host device" + depends=(glibc libusb libusb-1.0.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-usb-redirect() { + pkgdesc="QEMU usbredir device" + depends=(gcc-libs glibc qemu-common=$pkgver-$pkgrel usbredir) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-hw-usb-smartcard() { + pkgdesc="QEMU USB smartcard device" + depends=(gcc-libs libcacard glib2 libglib-2.0.so glibc qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-img() { + pkgdesc="QEMU tooling for manipulating disk images" + depends=(fuse3 gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libaio liburing liburing.so numactl libnuma.so pam libpam.so zlib zstd libzstd.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-pr-helper() { + pkgdesc="QEMU persistent reservation utility" + depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libcap-ng libcap-ng.so liburing liburing.so multipath-tools numactl libnuma.so pam libpam.so qemu-common=$pkgver-$pkgrel systemd-libs) + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/contrib/systemd/$pkgname.{service,socket} -t "$pkgdir/usr/lib/systemd/system/" + _install_licenses +} + +package_qemu-tests() { + pkgdesc="QEMU tests" + depends=(qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-tools() { + pkgdesc="QEMU tools" + depends=(curl libcurl.so gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libxkbcommon libxkbcommon.so numactl libnuma.so python qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/scripts/dump-guest-memory.py -t "$pkgdir/usr/share/$pkgbase/" + install -vDm 755 $pkgbase-$pkgver/scripts/simpletrace.py -t "$pkgdir/usr/share/$pkgbase/" + install -vDm 644 $pkgbase-$pkgver/scripts/tracetool/*.py -t "$pkgdir/usr/share/$pkgbase/tracetool/" + install -vDm 644 $pkgbase-$pkgver/scripts/tracetool/backend/*.py -t "$pkgdir/usr/share/$pkgbase/tracetool/backend/" + install -vDm 644 $pkgbase-$pkgver/scripts/tracetool/format/*.py -t "$pkgdir/usr/share/$pkgbase/tracetool/format/" + _install_licenses +} + +package_qemu-ui-curses() { + pkgdesc="QEMU curses UI driver" + depends=(gcc-libs glib2 libglib-2.0.so glibc ncurses libncursesw.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-dbus() { + pkgdesc="QEMU D-Bus UI driver" + depends=(gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc libepoxy pixman libpixman-1.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-egl-headless() { + pkgdesc="QEMU EGL headless UI driver" + depends=(glibc libepoxy pixman libpixman-1.so qemu-common=$pkgver-$pkgrel qemu-ui-opengl=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-gtk() { + pkgdesc="QEMU GTK UI driver" + depends=( + cairo + gdk-pixbuf2 libgdk_pixbuf-2.0.so + glib2 libgobject-2.0.so libglib-2.0.so + glibc + gtk3 libgdk-3.so libgtk-3.so + libepoxy + libx11 + pixman libpixman-1.so + qemu-common=$pkgver-$pkgrel + qemu-ui-opengl + vte3 libvte-2.91.so + ) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-opengl() { + pkgdesc="QEMU OpenGL UI driver" + depends=(gcc-libs glibc libepoxy mesa pixman libpixman-1.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-sdl() { + pkgdesc="QEMU SDL UI driver" + depends=(glib2 libglib-2.0.so glibc libx11 pixman libpixman-1.so qemu-common=$pkgver-$pkgrel sdl2_image sdl2) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-spice-app() { + pkgdesc="QEMU spice app UI driver" + depends=(glib2 libgio-2.0.so libglib-2.0.so glibc qemu-common=$pkgver-$pkgrel qemu-chardev-spice=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-ui-spice-core() { + pkgdesc="QEMU spice core UI driver" + depends=(gcc-libs glibc pixman libpixman-1.so qemu-common=$pkgver-$pkgrel qemu-ui-opengl=$pkgver-$pkgrel spice libspice-server.so) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-user() { + pkgdesc="QEMU user mode emulation" + depends=(capstone gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libelf liburing liburing.so numactl libnuma.so qemu-common=$pkgver-$pkgrel zlib) + optdepends=('qemu-user-binfmt: for binary format rules') + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-user-binfmt() { + pkgdesc="Binary format rules for QEMU user mode emulation" + depends=(qemu-user=$pkgver-$pkgrel) + provides=(qemu-user-binfmt-provider) + conflicts=(qemu-user-binfmt-provider) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-user-static() { + pkgdesc="QEMU static user mode emulation" + optdepends=('qemu-user-static-binfmt: for binary format rules') + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-user-static-binfmt() { + pkgdesc="Binary format rules for QEMU static user mode emulation" + depends=(qemu-user-static=$pkgver-$pkgrel) + provides=(qemu-user-binfmt-provider) + conflicts=(qemu-user-binfmt-provider) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-vhost-user-gpu() { + pkgdesc="QEMU vhost-user-gpu display device" + depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc pixman libepoxy libpixman-1.so mesa numactl libnuma.so qemu-common=$pkgver-$pkgrel virglrenderer) + mv -v $pkgname/* "$pkgdir" + _install_licenses +} + +package_qemu-base() { + pkgdesc="A basic QEMU setup for headless environments" + depends=( + qemu-common=$pkgver-$pkgrel + qemu-img=$pkgver-$pkgrel + qemu-system-x86=$pkgver-$pkgrel + virtiofsd + ) + optdepends=("${_qemu_base_optdepends[@]}") + provides=(qemu=$pkgver) + _install_licenses +} + +package_qemu-desktop() { + pkgdesc="A QEMU setup for desktop environments" + depends=( + qemu-base=$pkgver-$pkgrel + qemu-audio-{alsa,dbus,jack,oss,pa,pipewire,sdl,spice}=$pkgver-$pkgrel + qemu-block-{curl,dmg,nfs,ssh}=$pkgver-$pkgrel + qemu-chardev-spice=$pkgver-$pkgrel + qemu-hw-display-{qxl,virtio-gpu{,-{gl,pci,pci-gl}}}=$pkgver-$pkgrel + qemu-hw-display-virtio-vga{,-gl}=$pkgver-$pkgrel + qemu-hw-usb-{host,redirect,smartcard}=$pkgver-$pkgrel + qemu-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}=$pkgver-$pkgrel + qemu-vhost-user-gpu=$pkgver-$pkgrel + ) + optdepends=("${_qemu_desktop_optdepends[@]}") + provides=(qemu=$pkgver) + _install_licenses +} + +package_qemu-emulators-full() { + pkgdesc="All QEMU user mode and system emulators" + depends=( + qemu-system-{aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}=$pkgver-$pkgrel + qemu-user=$pkgver-$pkgrel + ) + _install_licenses +} + +package_qemu-full() { + pkgdesc="A full QEMU setup" + depends=( + qemu-audio-{alsa,dbus,jack,oss,pa,sdl,spice}=$pkgver-$pkgrel + qemu-block-{gluster,iscsi}=$pkgver-$pkgrel + qemu-chardev-baum=$pkgver-$pkgrel + qemu-desktop=$pkgver-$pkgrel + qemu-docs=$pkgver-$pkgrel + qemu-emulators-full=$pkgver-$pkgrel + qemu-hw-s390x-virtio-gpu-ccw=$pkgver-$pkgrel + qemu-pr-helper=$pkgver-$pkgrel + qemu-tests=$pkgver-$pkgrel + qemu-tools=$pkgver-$pkgrel + qemu-user=$pkgver-$pkgrel + ) + optdepends=("${_qemu_full_optdepends[@]}") + provides=(qemu=$pkgver) + _install_licenses +} + +# vim:set ts=2 sw=2 et: diff --git a/main/qemu/README b/main/qemu/README new file mode 100644 index 00000000..c9860d98 --- /dev/null +++ b/main/qemu/README @@ -0,0 +1,43 @@ +qemu +________________________________________________________________________________ + +A generic and open source machine emulator and virtualizer QEMU ALSA audio driver QEMU D-Bus audio driver QEMU JACK audio driver QEMU OSS audio driver QEMU PulseAudio audio driver QEMU PipeWire audio driver QEMU SDL audio driver QEMU spice audio driver QEMU curl block driver QEMU DMG block driver QEMU Gluster block driver QEMU iSCSI block driver QEMU NFS block driver QEMU SSH block driver QEMU Baum chardev driver QEMU spice chardev driver A generic and open source machine emulator and virtualizer - documentation QEMU Guest Agent QEMU QXL display device QEMU virtio-gpu display device QEMU virtio-gpu-gl display device QEMU virtio-gpu-pci display device QEMU virtio-gpu-pci-gl display device QEMU virtio-vga display device QEMU virtio-vga-gl display device QEMU s390x-virtio-gpu-ccw display device QEMU USB host device QEMU usbredir device QEMU USB smartcard device QEMU tooling for manipulating disk images QEMU persistent reservation utility QEMU system emulator for AARCH64 QEMU system emulator for Alpha QEMU system emulator for ARM QEMU system emulator for AVR QEMU system emulator for CRIS QEMU system emulator for HPPA QEMU system emulator for LoongArch64 QEMU system emulator for ColdFire (m68k) QEMU system emulator for Microblaze QEMU system emulator for MIPS QEMU system emulator for nios2 QEMU system emulator for OpenRisc32 QEMU system emulator for PPC QEMU system emulator for RISC-V QEMU system emulator for RX QEMU system emulator for S390 QEMU system emulator for SH4 QEMU system emulator for SPARC QEMU system emulator for tricore QEMU system emulator for x86 QEMU system emulator for Xtensa Firmware for QEMU system emulator for Alpha Firmware for QEMU system emulator for ARM Firmware for QEMU system emulator for HPPA Firmware for QEMU system emulator for Microblaze Firmware for QEMU system emulator for PPC Firmware for QEMU system emulator for RISC-V Firmware for QEMU system emulator for S390 Firmware for QEMU system emulator for SPARC Firmware for QEMU system emulator for x86 QEMU tests QEMU tools QEMU curses UI driver QEMU D-Bus UI driver QEMU EGL headless UI driver QEMU GTK UI driver QEMU OpenGL UI driver QEMU SDL UI driver QEMU spice app UI driver QEMU spice core UI driver QEMU user mode emulation Binary format rules for QEMU user mode emulation QEMU static user mode emulation Binary format rules for QEMU static user mode emulation QEMU vhost-user-gpu display device A basic QEMU setup for headless environments A QEMU setup for desktop environments All QEMU user mode and system emulators A full QEMU setup + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qemu | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qemu.org/ diff --git a/main/qemu/bridge.conf b/main/qemu/bridge.conf new file mode 100644 index 00000000..a573665d --- /dev/null +++ b/main/qemu/bridge.conf @@ -0,0 +1 @@ +allow virbr0 diff --git a/main/qemu/build-most-modules-statically-hack.diff b/main/qemu/build-most-modules-statically-hack.diff new file mode 100644 index 00000000..c845e819 --- /dev/null +++ b/main/qemu/build-most-modules-statically-hack.diff @@ -0,0 +1,40 @@ +From: Michael Tokarev +Subject: build most modules statically (hack) + +This hack makes the build procedure to build most modules statically, +except block and gui modules which goes into their own packages. +The rest are built into the executables directly in order to make +qemu-system-common package (where all other modules goes) to be +more-or-less version-independent. + +There's little reason to build these as modules or to ship them in +separate packages. + +diff --git a/meson.build b/meson.build +index e3386196ba..a28f7d10f1 100644 +--- a/meson.build ++++ b/meson.build +@@ -1587,13 +1587,19 @@ softmmu_mods = [] + foreach d, list : modules + foreach m, module_ss : list + if enable_modules and targetos != 'windows' +- module_ss = module_ss.apply(config_all, strict: false) +- sl = static_library(d + '-' + m, [genh, module_ss.sources()], +- dependencies: [modulecommon, module_ss.dependencies()], pic: true) ++ module_dn = module_ss.apply(config_all, strict: false) ++ sl = static_library(d + '-' + m, [genh, module_dn.sources()], ++ dependencies: [modulecommon, module_dn.dependencies()], pic: true) + if d == 'block' + block_mods += sl + else +- softmmu_mods += sl ++ # we only build 2 non-block modules as modules: it is the gui part ++ if d + '-' + m in [ 'ui-gtk', 'ui-sdl', 'audio-pa' ] ++ softmmu_mods += sl ++ else ++ warning('Compiling module statically: ' + d + '-' + m) ++ softmmu_ss.add_all(module_ss) ++ endif + endif + else + if d == 'block' diff --git a/main/qemu/qemu-8.1.1-static_regression.patch b/main/qemu/qemu-8.1.1-static_regression.patch new file mode 100644 index 00000000..5730c92f --- /dev/null +++ b/main/qemu/qemu-8.1.1-static_regression.patch @@ -0,0 +1,13 @@ +diff --git a/linux-user/elfload.c b/linux-user/elfload.c +index 7c95098e3e..d52d47c5c3 100644 +--- a/linux-user/elfload.c ++++ b/linux-user/elfload.c +@@ -3327,7 +3327,7 @@ static void load_elf_image(const char *image_name, int image_fd, + info->start_data = -1; + info->end_data = 0; + /* Usual start for brk is after all sections of the main executable. */ +- info->brk = TARGET_PAGE_ALIGN(hiaddr + load_bias); ++ info->brk = TARGET_PAGE_ALIGN(hiaddr); + info->elf_flags = ehdr->e_flags; + + prot_exec = PROT_EXEC; diff --git a/main/qemu/qemu-common.install b/main/qemu/qemu-common.install new file mode 100644 index 00000000..3f6eaaac --- /dev/null +++ b/main/qemu/qemu-common.install @@ -0,0 +1,14 @@ +post_install() { + if [[ -d /run/udev ]]; then + local file files=( + /sys/devices/virtual/misc/vhost-net + ) + + # trigger change event when modules are already loaded + for file in "${files[@]}"; do + if [[ -d $file ]]; then + udevadm trigger --action=change "$file" + fi + done + fi +} diff --git a/main/qemu/qemu-ga.conf b/main/qemu/qemu-ga.conf new file mode 100644 index 00000000..09fed0eb --- /dev/null +++ b/main/qemu/qemu-ga.conf @@ -0,0 +1,10 @@ +[general] +daemonize = 0 +fsfreeze-hook = /etc/qemu/fsfreeze-hook +method = virtio-serial +path = /dev/virtio-ports/org.qemu.guest_agent.0 +pidfile = /run/qemu-ga.pid +statedir = /run +verbose = 0 +# blacklist = +# logfile = diff --git a/main/qemu/qemu-guest-agent.install b/main/qemu/qemu-guest-agent.install new file mode 100644 index 00000000..5c32172c --- /dev/null +++ b/main/qemu/qemu-guest-agent.install @@ -0,0 +1,9 @@ +post_upgrade() { + if (( $(vercmp "$2" '5.1.0-2') < 0 )); then + printf "NOTE: The qemu-ga.service has been renamed to qemu-guest-agent.service\n" + fi + if systemctl is-enabled --quiet qemu-ga.service &> /dev/null; then + systemctl disable qemu-ga.service + systemctl enable qemu-guest-agent.service + fi +} diff --git a/main/qemu/qemu-sysusers.conf b/main/qemu/qemu-sysusers.conf new file mode 100644 index 00000000..fc3ced96 --- /dev/null +++ b/main/qemu/qemu-sysusers.conf @@ -0,0 +1,2 @@ +u qemu - "QEMU user" - - +m qemu kvm diff --git a/main/qemu/version b/main/qemu/version new file mode 100644 index 00000000..5eb512dd --- /dev/null +++ b/main/qemu/version @@ -0,0 +1 @@ +9.0.1 1 diff --git a/main/qqc2-breeze-style/.PKGINFO b/main/qqc2-breeze-style/.PKGINFO new file mode 100644 index 00000000..e3bafd20 --- /dev/null +++ b/main/qqc2-breeze-style/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qqc2-breeze-style +pkgbase = qqc2-breeze-style +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = Applications useful for Plasma development +url = https://kde.org/plasma-desktop/ +builddate = 1713663770 +packager = Developer +size = 2269284 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kconfig +depend = kguiaddons +depend = kiconthemes +depend = kirigami +depend = kquickcharts +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules diff --git a/main/qqc2-breeze-style/PKGBUILD b/main/qqc2-breeze-style/PKGBUILD new file mode 100644 index 00000000..74427b5c --- /dev/null +++ b/main/qqc2-breeze-style/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qqc2-breeze-style +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='Applications useful for Plasma development' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kcolorscheme + kconfig + kguiaddons + kiconthemes + kirigami + kquickcharts + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('401844f87e1be48e15f167af641ab311a20376c48a9b3ee21c76ee25e8a3dbd9' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/qqc2-breeze-style/README b/main/qqc2-breeze-style/README new file mode 100644 index 00000000..b7267058 --- /dev/null +++ b/main/qqc2-breeze-style/README @@ -0,0 +1,43 @@ +qqc2-breeze-style +________________________________________________________________________________ + +Applications useful for Plasma development + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qqc2-breeze-style | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/qqc2-breeze-style/version b/main/qqc2-breeze-style/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/qqc2-breeze-style/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/qqc2-desktop-style/.PKGINFO b/main/qqc2-desktop-style/.PKGINFO new file mode 100644 index 00000000..b5a5305b --- /dev/null +++ b/main/qqc2-desktop-style/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = qqc2-desktop-style +pkgbase = qqc2-desktop-style +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = A style for Qt Quick Controls 2 to make it follow your desktop theme +url = https://community.kde.org/Frameworks +builddate = 1718491919 +packager = Developer +size = 2304621 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcolorscheme +depend = kconfig +depend = kiconthemes +depend = kirigami +depend = qt6-base +depend = qt6-declarative +depend = sonnet +makedepend = extra-cmake-modules +makedepend = qt6-tools diff --git a/main/qqc2-desktop-style/PKGBUILD b/main/qqc2-desktop-style/PKGBUILD new file mode 100644 index 00000000..b873544c --- /dev/null +++ b/main/qqc2-desktop-style/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qqc2-desktop-style +pkgver=%version% +pkgrel=%release% +pkgdesc='A style for Qt Quick Controls 2 to make it follow your desktop theme' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcolorscheme + kconfig + kiconthemes + kirigami + qt6-base + qt6-declarative + sonnet) +makedepends=(extra-cmake-modules) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('848305ff8880fdbad19bf57ed9f128e59cd71ecb8a36fbf920a55b60f68a2c93' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/qqc2-desktop-style/README b/main/qqc2-desktop-style/README new file mode 100644 index 00000000..ab9f1642 --- /dev/null +++ b/main/qqc2-desktop-style/README @@ -0,0 +1,43 @@ +qqc2-desktop-style +________________________________________________________________________________ + +A style for Qt Quick Controls 2 to make it follow your desktop theme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qqc2-desktop-style | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/qqc2-desktop-style/version b/main/qqc2-desktop-style/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/qqc2-desktop-style/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/qrencode/PKGBUILD b/main/qrencode/PKGBUILD new file mode 100644 index 00000000..fe2ce0c2 --- /dev/null +++ b/main/qrencode/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qrencode +pkgver=%version% +pkgrel=%release% +pkgdesc="C library for encoding data in a QR Code symbol." +arch=(x86_64) +depends=('libpng') +makedepends=(sdl2) +url="https://fukuchi.org/works/qrencode/" +license=('GPL') +source=(https://fukuchi.org/works/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923') + +build() { + cd "${srcdir}/$pkgname-$pkgver" + + ./configure --prefix=/usr + + make +} + +check() { + cd "${srcdir}/$pkgname-$pkgver" + + make check +} + +package() { + cd "${srcdir}/$pkgname-$pkgver" + + make prefix="$pkgdir/usr" install +} diff --git a/main/qrencode/README b/main/qrencode/README new file mode 100644 index 00000000..21b88649 --- /dev/null +++ b/main/qrencode/README @@ -0,0 +1,43 @@ +qrencode +________________________________________________________________________________ + +C library for encoding data in a QR Code symbol. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qrencode | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://fukuchi.org/works/qrencode/ diff --git a/main/qrencode/version b/main/qrencode/version new file mode 100644 index 00000000..78221f10 --- /dev/null +++ b/main/qrencode/version @@ -0,0 +1 @@ +4.1.1 2 diff --git a/main/qt5-base/.PKGINFO b/main/qt5-base/.PKGINFO new file mode 100644 index 00000000..10592aa6 --- /dev/null +++ b/main/qt5-base/.PKGINFO @@ -0,0 +1,60 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt5-base +pkgbase = qt5-base +xdata = pkgtype=split +pkgver = 5.15.14+kde+r141-1 +pkgdesc = A cross-platform application and UI framework +url = https://www.qt.io +builddate = 1718491921 +packager = Developer +size = 65923755 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt5 +conflict = qtchooser +depend = libjpeg-turbo +depend = xcb-util-keysyms +depend = xcb-util-renderutil +depend = libgl +depend = fontconfig +depend = xdg-utils +depend = shared-mime-info +depend = xcb-util-wm +depend = libxrender +depend = libxi +depend = sqlite +depend = xcb-util-image +depend = mesa +depend = tslib +depend = libinput +depend = libxkbcommon-x11 +depend = libproxy +depend = libcups +depend = double-conversion +depend = md4c +depend = qt5-translations +optdepend = qt5-svg: to use SVG icon themes +optdepend = qt5-wayland: to run Qt applications in a Wayland session +optdepend = postgresql-libs: PostgreSQL driver +optdepend = mariadb-libs: MariaDB driver +optdepend = unixodbc: ODBC driver +optdepend = libfbclient: Firebird/iBase driver +optdepend = freetds: MS SQL driver +optdepend = gtk3: GTK platform plugin +optdepend = perl: for fixqt4headers and syncqt +makedepend = libfbclient +makedepend = mariadb-libs +makedepend = unixodbc +makedepend = postgresql-libs +makedepend = alsa-lib +makedepend = gst-plugins-base-libs +makedepend = gtk3 +makedepend = libpulse +makedepend = cups +makedepend = freetds +makedepend = vulkan-headers +makedepend = git diff --git a/main/qt5-base/.nvchecker.toml b/main/qt5-base/.nvchecker.toml new file mode 100644 index 00000000..f836d727 --- /dev/null +++ b/main/qt5-base/.nvchecker.toml @@ -0,0 +1,6 @@ +[qt5-base] +source = 'git' +git = 'git://code.qt.io/qt/qtbase.git' +include_regex = 'v5.*-lts-lgpl' +from_pattern = 'v(\d.+)-lts-lgpl' +to_pattern = '\1' diff --git a/main/qt5-base/PKGBUILD b/main/qt5-base/PKGBUILD new file mode 100644 index 00000000..9fd93b98 --- /dev/null +++ b/main/qt5-base/PKGBUILD @@ -0,0 +1,116 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qt5-base +pkgname=(qt5-base qt5-xcb-private-headers) +_basever=5.15.13 +pkgver=%version% +pkgrel=%release% +_commit=2b71429330544809ff5f95111a020e7ceec643fd +arch=('x86_64') +url='https://www.qt.io' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='A cross-platform application and UI framework' +depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' 'xdg-utils' + 'shared-mime-info' 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'mesa' + 'tslib' 'libinput' 'libxkbcommon-x11' 'libproxy' 'libcups' 'double-conversion' 'md4c') +makedepends=('libfbclient' 'mariadb-libs' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs' + 'gtk3' 'libpulse' 'cups' 'freetds' 'vulkan-headers' 'git') +optdepends=('qt5-svg: to use SVG icon themes' + 'qt5-wayland: to run Qt applications in a Wayland session' + 'postgresql-libs: PostgreSQL driver' + 'mariadb-libs: MariaDB driver' + 'unixodbc: ODBC driver' + 'libfbclient: Firebird/iBase driver' + 'freetds: MS SQL driver' + 'gtk3: GTK platform plugin' + 'perl: for fixqt4headers and syncqt') +conflicts=('qtchooser') +groups=('qt5') +_pkgfqn=${pkgbase/5-/} +source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit + work-around-pyside2-brokenness.patch + qmake-cflags.patch + qmake-config.patch) +sha256sums=('SKIP' + '6a4ec2bfcf4e7cff73346762b252cc28be5ca0ed79fde5e69350efe229b43adc' + '5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78' + '4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa') + +pkgver() { + cd $_pkgfqn + echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit` | sed -e 's|+kde+r0||' +} + +prepare() { + cd ${_pkgfqn} + patch -p1 < ../work-around-pyside2-brokenness.patch + patch -p1 < ../qmake-cflags.patch # Use system CFLAGS in qmake + patch -p1 < ../qmake-config.patch # Don't strip binaries with qmake and use -ltcg, cf. QTBUG-73834 +} + +build() { + cd ${_pkgfqn} + + ./configure -confirm-license -opensource -v \ + -prefix /usr \ + -docdir /usr/share/doc/qt \ + -headerdir /usr/include/qt \ + -archdatadir /usr/lib/qt \ + -datadir /usr/share/qt \ + -sysconfdir /etc/xdg \ + -examplesdir /usr/share/doc/qt/examples \ + -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \ + -system-sqlite \ + -openssl-linked \ + -nomake examples \ + -no-rpath \ + -dbus-linked \ + -system-harfbuzz \ + -journald \ + -libproxy \ + -no-mimetype-database \ + -no-use-gold-linker \ + -no-reduce-relocations \ + -no-strip \ + -ltcg +# No configure flag for fat static libs with lto + bin/qmake CONFIG+=fat-static-lto -- -redo + make +} + +package_qt5-base() { + pkgdesc='A cross-platform application and UI framework' + depends+=(qt5-translations) + + cd ${_pkgfqn} + make INSTALL_ROOT="${pkgdir}" install + + install -Dm644 LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "${pkgdir}/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + # Fix wrong qmake path in pri file + sed -i "s|${srcdir}/${_pkgfqn}|/usr|" \ + "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri + + # Symlinks for backwards compatibility + for b in "${pkgdir}"/usr/bin/*; do + ln -s $(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5 + done +} + +package_qt5-xcb-private-headers() { + pkgdesc='Private headers for Qt5 Xcb' + + depends=("qt5-base=$pkgver") + optdepends=() + groups=() + conflicts=() + + cd ${_pkgfqn} + install -d -m755 "$pkgdir"/usr/include/qtxcb-private + cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/ +} diff --git a/main/qt5-base/README b/main/qt5-base/README new file mode 100644 index 00000000..899b91a9 --- /dev/null +++ b/main/qt5-base/README @@ -0,0 +1,43 @@ +qt5-base +________________________________________________________________________________ + +A cross-platform application and UI framework A cross-platform application and UI framework Private headers for Qt5 Xcb + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt5-base | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt5-base/qmake-cflags.patch b/main/qt5-base/qmake-cflags.patch new file mode 100644 index 00000000..33250161 --- /dev/null +++ b/main/qt5-base/qmake-cflags.patch @@ -0,0 +1,46 @@ +diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf +index a493cd5984..41342f5020 100644 +--- a/mkspecs/common/g++-unix.conf ++++ b/mkspecs/common/g++-unix.conf +@@ -10,5 +10,6 @@ + + include(g++-base.conf) + +-QMAKE_LFLAGS_RELEASE += -Wl,-O1 ++SYSTEM_LDFLAGS = $$(LDFLAGS) ++!isEmpty(SYSTEM_LDFLAGS) { eval(QMAKE_LFLAGS_RELEASE += $$(LDFLAGS)) } else { QMAKE_LFLAGS_RELEASE += -Wl,-O1 } + QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 1f919d270a..7ef6046326 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -40,9 +40,11 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + QMAKE_CFLAGS_DEPS += -M + QMAKE_CFLAGS_WARN_ON += -Wall -Wextra + QMAKE_CFLAGS_WARN_OFF += -w +-QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE +-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g +-QMAKE_CFLAGS_DEBUG += -g ++SYSTEM_CFLAGS = $$(CFLAGS) ++SYSTEM_DEBUG_CFLAGS = $$(DEBUG_CFLAGS) ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE += $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CFLAGS) { eval(QMAKE_CFLAGS_DEBUG += $$(DEBUG_CFLAGS)) } else { QMAKE_CFLAGS_DEBUG += -g } + QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC +@@ -59,9 +61,11 @@ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS + QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON + QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG ++SYSTEM_CXXFLAGS = $$(CXXFLAGS) ++SYSTEM_DEBUG_CXXFLAGS = $$(DEBUG_CXXFLAGS) ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE += $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CXXFLAGS) { eval(QMAKE_CXXFLAGS_DEBUG += $$(DEBUG_CXXFLAGS)) } else { QMAKE_CXXFLAGS_DEBUG += -g } + QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB + QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB + QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP diff --git a/main/qt5-base/qmake-config.patch b/main/qt5-base/qmake-config.patch new file mode 100644 index 00000000..77d9694b --- /dev/null +++ b/main/qt5-base/qmake-config.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 99d77156fd..fc840fe9f6 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -31,6 +31,8 @@ + # you can use the manual test in tests/manual/mkspecs. + # + ++CONFIG += nostrip ltcg ++ + QMAKE_CFLAGS_OPTIMIZE = -O2 + QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 + QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og diff --git a/main/qt5-base/version b/main/qt5-base/version new file mode 100644 index 00000000..e0e3e8e0 --- /dev/null +++ b/main/qt5-base/version @@ -0,0 +1 @@ +5.15.14+kde+r141 1 diff --git a/main/qt5-base/work-around-pyside2-brokenness.patch b/main/qt5-base/work-around-pyside2-brokenness.patch new file mode 100644 index 00000000..bea09c19 --- /dev/null +++ b/main/qt5-base/work-around-pyside2-brokenness.patch @@ -0,0 +1,137 @@ +# Patch from OpenMandriva: +# https://github.com/OpenMandrivaAssociation/qt5-qtbase/commit/20f97a4b#diff-c548550538903adec7a57251150fb23c61089ec82748fae900869f550aefc8f6R161 + +diff -up qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h.5~ qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h +--- qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h.5~ 2023-03-23 20:06:47.000000000 +0100 ++++ qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h 2023-04-15 23:23:40.599956996 +0200 +@@ -104,15 +104,15 @@ protected: + class Q_GUI_EXPORT QMouseEvent : public QInputEvent + { + public: +- QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton button, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, + Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source); + ~QMouseEvent(); +@@ -154,7 +154,7 @@ protected: + class Q_GUI_EXPORT QHoverEvent : public QInputEvent + { + public: +- QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); ++ QHoverEvent(QEvent::Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + ~QHoverEvent(); + + #ifndef QT_NO_INTEGER_EVENT_COORDINATES +@@ -282,12 +282,12 @@ public: + #if QT_DEPRECATED_SINCE(5, 15) + // Actually deprecated since 5.4, in docs + QT_DEPRECATED_VERSION_X_5_15("Use the other QTabletEvent constructor") +- QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, ++ QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, + int device, int pointerType, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers keyState, qint64 uniqueID); // ### remove in Qt 6 + #endif +- QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, ++ QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, + int device, int pointerType, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers keyState, qint64 uniqueID, +@@ -377,9 +377,9 @@ protected: + class Q_GUI_EXPORT QKeyEvent : public QInputEvent + { + public: +- QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), ++ QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), + bool autorep = false, ushort count = 1); +- QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, ++ QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, + quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, + const QString &text = QString(), bool autorep = false, ushort count = 1); + ~QKeyEvent(); +@@ -399,7 +399,7 @@ public: + + // Functions for the extended key event information + #if QT_DEPRECATED_SINCE(5, 0) +- static inline QKeyEvent *createExtendedKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, ++ static inline QKeyEvent *createExtendedKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, + quint32 nativeScanCode, quint32 nativeVirtualKey, + quint32 nativeModifiers, + const QString& text = QString(), bool autorep = false, +@@ -682,7 +682,7 @@ class Q_GUI_EXPORT QDragMoveEvent : publ + { + public: + QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, +- Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove); ++ Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = QEvent::DragMove); + ~QDragMoveEvent(); + + inline QRect answerRect() const { return rect; } +diff -up qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h.5~ qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h +--- qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h.5~ 2023-03-23 20:06:47.000000000 +0100 ++++ qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h 2023-04-15 23:22:38.038387091 +0200 +@@ -82,7 +82,7 @@ class QGraphicsSceneMouseEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneMouseEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneMouseEvent(Type type = None); ++ explicit QGraphicsSceneMouseEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneMouseEvent(); + + QPointF pos() const; +@@ -136,7 +136,7 @@ class QGraphicsSceneWheelEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneWheelEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneWheelEvent(Type type = None); ++ explicit QGraphicsSceneWheelEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneWheelEvent(); + + QPointF pos() const; +@@ -171,7 +171,7 @@ class Q_WIDGETS_EXPORT QGraphicsSceneCon + public: + enum Reason { Mouse, Keyboard, Other }; + +- explicit QGraphicsSceneContextMenuEvent(Type type = None); ++ explicit QGraphicsSceneContextMenuEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneContextMenuEvent(); + + QPointF pos() const; +@@ -198,7 +198,7 @@ class QGraphicsSceneHoverEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneHoverEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneHoverEvent(Type type = None); ++ explicit QGraphicsSceneHoverEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneHoverEvent(); + + QPointF pos() const; +@@ -231,7 +231,7 @@ class QGraphicsSceneHelpEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneHelpEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneHelpEvent(Type type = None); ++ explicit QGraphicsSceneHelpEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneHelpEvent(); + + QPointF scenePos() const; +@@ -249,7 +249,7 @@ class QGraphicsSceneDragDropEventPrivate + class Q_WIDGETS_EXPORT QGraphicsSceneDragDropEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneDragDropEvent(Type type = None); ++ explicit QGraphicsSceneDragDropEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneDragDropEvent(); + + QPointF pos() const; diff --git a/main/qt5-svg/PKGBUILD b/main/qt5-svg/PKGBUILD new file mode 100644 index 00000000..7a2f0226 --- /dev/null +++ b/main/qt5-svg/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt5-svg +_basever=5.15.13 +pkgver=%version% +pkgrel=%release% +_commit=080fed6443e9e7b2ad30e61f31163e9481dfad0f +arch=('x86_64') +url='https://www.qt.io' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='Classes for displaying the contents of SVG files' +depends=('qt5-base') +makedepends=('git') +groups=('qt5') +_pkgfqn=${pkgname/5-/} +source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit) +sha256sums=('SKIP') + +pkgver() { + cd $_pkgfqn + echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit` | sed -e 's|+kde+r0||' +} + +prepare() { + mkdir -p build +} + +build() { + cd build + + qmake ../${_pkgfqn} + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} +} diff --git a/main/qt5-svg/README b/main/qt5-svg/README new file mode 100644 index 00000000..c8c4269d --- /dev/null +++ b/main/qt5-svg/README @@ -0,0 +1,43 @@ +qt5-svg +________________________________________________________________________________ + +Classes for displaying the contents of SVG files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt5-svg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt5-svg/version b/main/qt5-svg/version new file mode 100644 index 00000000..f7eeaf4a --- /dev/null +++ b/main/qt5-svg/version @@ -0,0 +1 @@ +5.15.13+kde+r6 1 diff --git a/main/qt5-translations/PKGBUILD b/main/qt5-translations/PKGBUILD new file mode 100644 index 00000000..23ef3946 --- /dev/null +++ b/main/qt5-translations/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt5-translations +_basever=5.15.13 +pkgver=%version% +pkgrel=%release% +_commit=40aabebd04a30ccef374bf20a7bfaa1d8d665b7f +arch=('any') +url='https://www.qt.io' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='A cross-platform application and UI framework (Translations)' +depends=() +makedepends=('git' 'qt5-tools') +groups=('qt5') +_pkgfqn=${pkgname/5-/} +source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit) +sha256sums=('SKIP') + +pkgver() { + cd $_pkgfqn + echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit` | sed -e 's|+kde+r0||' +} + +prepare() { + mkdir -p build +} + +build() { + cd build + + qmake ../${_pkgfqn} + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} +} diff --git a/main/qt5-translations/README b/main/qt5-translations/README new file mode 100644 index 00000000..fde30e06 --- /dev/null +++ b/main/qt5-translations/README @@ -0,0 +1,43 @@ +qt5-translations +________________________________________________________________________________ + +A cross-platform application and UI framework (Translations) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt5-translations | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt5-translations/version b/main/qt5-translations/version new file mode 100644 index 00000000..a7b5454b --- /dev/null +++ b/main/qt5-translations/version @@ -0,0 +1 @@ +5.15.13 1 diff --git a/main/qt5-x11extras/PKGBUILD b/main/qt5-x11extras/PKGBUILD new file mode 100644 index 00000000..2fa0fbaf --- /dev/null +++ b/main/qt5-x11extras/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt5-x11extras +_basever=5.15.13 +pkgver=%version% +pkgrel=%release% +_commit=415ac0d58521be2bb00ef4cecdb16f0b9001e88c +arch=('x86_64') +url='https://www.qt.io' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='Provides platform-specific APIs for X11' +depends=('qt5-base') +makedepends=('git') +groups=('qt5') +_pkgfqn=${pkgname/5-/} +source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit) +sha256sums=('SKIP') + +pkgver() { + cd $_pkgfqn + echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit` | sed -e 's|+kde+r0||' +} + +prepare() { + mkdir -p build +} + +build() { + cd build + + qmake ../${_pkgfqn} + make +} + +package() { + cd build + make INSTALL_ROOT="$pkgdir" install + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} +} diff --git a/main/qt5-x11extras/README b/main/qt5-x11extras/README new file mode 100644 index 00000000..64aa5b17 --- /dev/null +++ b/main/qt5-x11extras/README @@ -0,0 +1,43 @@ +qt5-x11extras +________________________________________________________________________________ + +Provides platform-specific APIs for X11 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt5-x11extras | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt5-x11extras/version b/main/qt5-x11extras/version new file mode 100644 index 00000000..a7b5454b --- /dev/null +++ b/main/qt5-x11extras/version @@ -0,0 +1 @@ +5.15.13 1 diff --git a/main/qt6-5compat/.PKGINFO b/main/qt6-5compat/.PKGINFO new file mode 100644 index 00000000..64203a7d --- /dev/null +++ b/main/qt6-5compat/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-5compat +pkgbase = qt6-5compat +xdata = pkgtype=pkg +pkgver = 6.7.0-2 +pkgdesc = Module that contains unsupported Qt 5 APIs +url = https://www.qt.io +builddate = 1716253337 +packager = Developer +size = 1702899 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = icu +depend = qt6-base +depend = qt6-shadertools +optdepend = qt6-declarative: for QtGraphicalEffects +makedepend = cmake +makedepend = git +makedepend = ninja +makedepend = qt6-declarative +makedepend = qt6-shadertools diff --git a/main/qt6-5compat/PKGBUILD b/main/qt6-5compat/PKGBUILD new file mode 100644 index 00000000..7726024f --- /dev/null +++ b/main/qt6-5compat/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-5compat +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Module that contains unsupported Qt 5 APIs' +depends=(gcc-libs + glibc + icu + qt6-base + qt6-shadertools) +makedepends=(cmake + git + ninja + qt6-declarative + qt6-shadertools) +optdepends=('qt6-declarative: for QtGraphicalEffects') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('b800ed79131f1f81626fcefc45ee6f3864009119a1e0ae319af57684faf093fc') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-5compat/README b/main/qt6-5compat/README new file mode 100644 index 00000000..961574ae --- /dev/null +++ b/main/qt6-5compat/README @@ -0,0 +1,43 @@ +qt6-5compat +________________________________________________________________________________ + +Module that contains unsupported Qt 5 APIs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-5compat | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-5compat/version b/main/qt6-5compat/version new file mode 100644 index 00000000..ac1ee86f --- /dev/null +++ b/main/qt6-5compat/version @@ -0,0 +1 @@ +6.7.0 2 diff --git a/main/qt6-base/.PKGINFO b/main/qt6-base/.PKGINFO new file mode 100644 index 00000000..7bda4936 --- /dev/null +++ b/main/qt6-base/.PKGINFO @@ -0,0 +1,85 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-base +pkgbase = qt6-base +xdata = pkgtype=split +pkgver = 6.7.0-7 +pkgdesc = A cross-platform application and UI framework +url = https://www.qt.io +builddate = 1716253342 +packager = Developer +size = 59012322 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = brotli +depend = dbus +depend = double-conversion +depend = fontconfig +depend = freetype2 +depend = gcc-libs +depend = glib2 +depend = glibc +depend = harfbuzz +depend = icu +depend = krb5 +depend = libb2 +depend = libcups +depend = libdrm +depend = libgl +depend = libice +depend = libinput +depend = libjpeg-turbo +depend = libpng +depend = libproxy +depend = libsm +depend = libx11 +depend = libxcb +depend = libxkbcommon +depend = libxkbcommon-x11 +depend = md4c +depend = mesa +depend = mtdev +depend = openssl +depend = pcre2 +depend = shared-mime-info +depend = sqlite +depend = systemd-libs +depend = tslib +depend = vulkan-headers +depend = xcb-util-cursor +depend = xcb-util-image +depend = xcb-util-keysyms +depend = xcb-util-renderutil +depend = xcb-util-wm +depend = xdg-utils +depend = zlib +depend = zstd +depend = qt6-translations +optdepend = freetds: MS SQL driver +optdepend = gdk-pixbuf2: GTK platform plugin +optdepend = gtk3: GTK platform plugin +optdepend = libfbclient: Firebird/iBase driver +optdepend = mariadb-libs: MariaDB driver +optdepend = pango: GTK platform plugin +optdepend = perl: for syncqt +optdepend = postgresql-libs: PostgreSQL driver +optdepend = qt6-wayland: to run Qt6 applications in a Wayland session +optdepend = unixodbc: ODBC driver +makedepend = alsa-lib +makedepend = cmake +makedepend = cups +makedepend = freetds +makedepend = git +makedepend = gst-plugins-base-libs +makedepend = gtk3 +makedepend = libfbclient +makedepend = libpulse +makedepend = mariadb-libs +makedepend = ninja +makedepend = postgresql +makedepend = unixodbc +makedepend = xmlstarlet diff --git a/main/qt6-base/.nvchecker.toml b/main/qt6-base/.nvchecker.toml new file mode 100644 index 00000000..15106b64 --- /dev/null +++ b/main/qt6-base/.nvchecker.toml @@ -0,0 +1,5 @@ +[qt6-base] +source = 'git' +git = 'git://code.qt.io/qt/qtbase.git' +prefix = 'v' +exclude_regex = '.*(alpha|beta|rc).*' diff --git a/main/qt6-base/PKGBUILD b/main/qt6-base/PKGBUILD new file mode 100644 index 00000000..d997af9c --- /dev/null +++ b/main/qt6-base/PKGBUILD @@ -0,0 +1,148 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qt6-base +pkgname=(qt6-base qt6-xcb-private-headers) +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='A cross-platform application and UI framework' +depends=(brotli + dbus + double-conversion + fontconfig + freetype2 + gcc-libs + glib2 + glibc + harfbuzz + icu + krb5 + libb2 + libcups + libdrm + libgl + libice + libinput + libjpeg-turbo + libpng + libproxy + libsm + libx11 + libxcb + libxkbcommon + libxkbcommon-x11 + md4c + mesa + mtdev + openssl + pcre2 + shared-mime-info + sqlite + systemd-libs + tslib + vulkan-headers + xcb-util-cursor + xcb-util-image + xcb-util-keysyms + xcb-util-renderutil + xcb-util-wm + xdg-utils + zlib + zstd) +makedepends=(alsa-lib + cmake + cups + freetds + git + gst-plugins-base-libs + gtk3 + libfbclient + libpulse + mariadb-libs + ninja + postgresql + unixodbc + xmlstarlet) +optdepends=('freetds: MS SQL driver' + 'gdk-pixbuf2: GTK platform plugin' + 'gtk3: GTK platform plugin' + 'libfbclient: Firebird/iBase driver' + 'mariadb-libs: MariaDB driver' + 'pango: GTK platform plugin' + 'perl: for syncqt' + 'postgresql-libs: PostgreSQL driver' + 'qt6-wayland: to run Qt6 applications in a Wayland session' + 'unixodbc: ODBC driver') +groups=(qt6) +_pkgfn=${pkgbase/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver + qt6-base-cflags.patch + qt6-base-nostrip.patch + fix-wrong-cpp-if.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=68102202) +sha256sums=('ee87abbfdf2d5bb204056bcb6c53e21c03e1abd779e3669faa56db7249c5e39e' + '5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78' + '4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094' + '81c4821fb1c258603474771a267d450aa8b5d1d298443bc04620d70719c7eab7') + +prepare() { + patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS + patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake + patch -d $_pkgfn -p1 < fix-wrong-cpp-if.patch # https://bugreports.qt.io/browse/QTBUG-123937 +} + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DINSTALL_BINDIR=lib/qt6/bin \ + -DINSTALL_PUBLICBINDIR=usr/bin \ + -DINSTALL_LIBEXECDIR=lib/qt6 \ + -DINSTALL_DOCDIR=share/doc/qt6 \ + -DINSTALL_ARCHDATADIR=lib/qt6 \ + -DINSTALL_DATADIR=share/qt6 \ + -DINSTALL_INCLUDEDIR=include/qt6 \ + -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \ + -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \ + -DFEATURE_journald=ON \ + -DFEATURE_libproxy=ON \ + -DFEATURE_openssl_linked=ON \ + -DFEATURE_system_sqlite=ON \ + -DFEATURE_system_xcb_xinput=ON \ + -DFEATURE_no_direct_extern_access=ON \ + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package_qt6-base() { + pkgdesc='A cross-platform application and UI framework' + depends+=(qt6-translations) + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 $_pkgfn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgbase + +# Install symlinks for user-facing tools + cd "$pkgdir" + mkdir usr/bin + while read _line; do + ln -s $_line + done < "$srcdir"/build/user_facing_tool_links.txt +} + +package_qt6-xcb-private-headers() { + pkgdesc='Private headers for Qt6 Xcb' + + depends=("qt6-base=$pkgver") + optdepends=() + groups=() + + cd $_pkgfn + install -d -m755 "$pkgdir"/usr/include/qt6xcb-private/{gl_integrations,nativepainting} + cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qt6xcb-private/ + cp -r src/plugins/platforms/xcb/gl_integrations/*.h "$pkgdir"/usr/include/qt6xcb-private/gl_integrations/ + cp -r src/plugins/platforms/xcb/nativepainting/*.h "$pkgdir"/usr/include/qt6xcb-private/nativepainting/ +} diff --git a/main/qt6-base/README b/main/qt6-base/README new file mode 100644 index 00000000..22a243fd --- /dev/null +++ b/main/qt6-base/README @@ -0,0 +1,43 @@ +qt6-base +________________________________________________________________________________ + +A cross-platform application and UI framework A cross-platform application and UI framework Private headers for Qt6 Xcb + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-base | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-base/qt6-base-cflags.patch b/main/qt6-base/qt6-base-cflags.patch new file mode 100644 index 00000000..33250161 --- /dev/null +++ b/main/qt6-base/qt6-base-cflags.patch @@ -0,0 +1,46 @@ +diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf +index a493cd5984..41342f5020 100644 +--- a/mkspecs/common/g++-unix.conf ++++ b/mkspecs/common/g++-unix.conf +@@ -10,5 +10,6 @@ + + include(g++-base.conf) + +-QMAKE_LFLAGS_RELEASE += -Wl,-O1 ++SYSTEM_LDFLAGS = $$(LDFLAGS) ++!isEmpty(SYSTEM_LDFLAGS) { eval(QMAKE_LFLAGS_RELEASE += $$(LDFLAGS)) } else { QMAKE_LFLAGS_RELEASE += -Wl,-O1 } + QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 1f919d270a..7ef6046326 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -40,9 +40,11 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + QMAKE_CFLAGS_DEPS += -M + QMAKE_CFLAGS_WARN_ON += -Wall -Wextra + QMAKE_CFLAGS_WARN_OFF += -w +-QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE +-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g +-QMAKE_CFLAGS_DEBUG += -g ++SYSTEM_CFLAGS = $$(CFLAGS) ++SYSTEM_DEBUG_CFLAGS = $$(DEBUG_CFLAGS) ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE += $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CFLAGS) { eval(QMAKE_CFLAGS_DEBUG += $$(DEBUG_CFLAGS)) } else { QMAKE_CFLAGS_DEBUG += -g } + QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC +@@ -59,9 +61,11 @@ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS + QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON + QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG ++SYSTEM_CXXFLAGS = $$(CXXFLAGS) ++SYSTEM_DEBUG_CXXFLAGS = $$(DEBUG_CXXFLAGS) ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE += $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CXXFLAGS) { eval(QMAKE_CXXFLAGS_DEBUG += $$(DEBUG_CXXFLAGS)) } else { QMAKE_CXXFLAGS_DEBUG += -g } + QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB + QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB + QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP diff --git a/main/qt6-base/qt6-base-nostrip.patch b/main/qt6-base/qt6-base-nostrip.patch new file mode 100644 index 00000000..17d24b4b --- /dev/null +++ b/main/qt6-base/qt6-base-nostrip.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 99d77156fd..fc840fe9f6 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -31,6 +31,8 @@ + # you can use the manual test in tests/manual/mkspecs. + # + ++CONFIG += nostrip ++ + QMAKE_CFLAGS_OPTIMIZE = -O2 + QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 + QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og diff --git a/main/qt6-base/version b/main/qt6-base/version new file mode 100644 index 00000000..42eb349b --- /dev/null +++ b/main/qt6-base/version @@ -0,0 +1 @@ +6.7.0 7 diff --git a/main/qt6-declarative/.PKGINFO b/main/qt6-declarative/.PKGINFO new file mode 100644 index 00000000..2a46eb2c --- /dev/null +++ b/main/qt6-declarative/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-declarative +pkgbase = qt6-declarative +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Classes for QML and JavaScript languages +url = https://www.qt.io +builddate = 1712886873 +packager = Developer +size = 91273308 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +replaces = qt6-quickcontrols2 +group = qt6 +conflict = qt6-quickcontrols2 +provides = qt6-quickcontrols2 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-languageserver: for qmlls +makedepend = cmake +makedepend = ninja +makedepend = python +makedepend = qt6-languageserver +makedepend = qt6-shadertools diff --git a/main/qt6-declarative/PKGBUILD b/main/qt6-declarative/PKGBUILD new file mode 100644 index 00000000..91804ed0 --- /dev/null +++ b/main/qt6-declarative/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-declarative +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Classes for QML and JavaScript languages' +depends=(gcc-libs + glibc + qt6-base) +makedepends=(cmake + git + ninja + python + qt6-languageserver + qt6-shadertools) +optdepends=('qt6-languageserver: for qmlls') +conflicts=(qt6-quickcontrols2) +provides=(qt6-quickcontrols2) +replaces=(qt6-quickcontrols2) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('cc0d77b86177ff9edb85be335337935cf5f4911aa31806a06ca62e28491bfe98') + +build() { + export CXXFLAGS+=" -ffat-lto-objects" + cmake -B build -S $_pkgfn -G Ninja \ + -DINSTALL_PUBLICBINDIR=usr/bin \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + +# Install symlinks for user-facing tools + cd "$pkgdir" + mkdir usr/bin + while read _line; do + ln -s $_line + done < "$srcdir"/build/user_facing_tool_links.txt + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-declarative/README b/main/qt6-declarative/README new file mode 100644 index 00000000..5d383a7c --- /dev/null +++ b/main/qt6-declarative/README @@ -0,0 +1,43 @@ +qt6-declarative +________________________________________________________________________________ + +Classes for QML and JavaScript languages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-declarative | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-declarative/version b/main/qt6-declarative/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-declarative/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-multimedia/.PKGINFO b/main/qt6-multimedia/.PKGINFO new file mode 100644 index 00000000..03d269a5 --- /dev/null +++ b/main/qt6-multimedia/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-multimedia-ffmpeg +pkgbase = qt6-multimedia +xdata = pkgtype=split +pkgver = 6.7.0-1 +pkgdesc = FFMpeg backend for qt6-multimedia +url = https://www.qt.io +builddate = 1712886883 +packager = Developer +size = 508884 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +provides = qt6-multimedia-backend +depend = ffmpeg +depend = gcc-libs +depend = glibc +depend = libglvnd +depend = libx11 +depend = libxext +depend = libxrandr +depend = qt6-base +depend = qt6-multimedia +makedepend = cmake +makedepend = ffmpeg +makedepend = gst-plugins-base +makedepend = libxrandr +makedepend = ninja +makedepend = qt6-declarative +makedepend = qt6-quick3d +makedepend = qt6-shadertools diff --git a/main/qt6-multimedia/PKGBUILD b/main/qt6-multimedia/PKGBUILD new file mode 100644 index 00000000..314ff72a --- /dev/null +++ b/main/qt6-multimedia/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=qt6-multimedia +pkgname=(qt6-multimedia + qt6-multimedia-ffmpeg + qt6-multimedia-gstreamer) +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Classes for audio, video, radio and camera functionality' +depends=(gcc-libs + glibc + libpulse + qt6-base) +makedepends=(cmake + ffmpeg + git + gst-plugins-base + libxrandr + ninja + qt6-declarative + qt6-quick3d + qt6-shadertools) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('6d3a4986591597cf73345bcf6890a5c80263c4cc44745aab0f560c300ec5da32') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects" + cmake --build build +} + +package_qt6-multimedia() { + depends+=(qt6-multimedia-backend) + optdepends=('qt6-declarative: QML bindings' + 'qt6-quick3d: for QtQuick3DAudio') + + DESTDIR="$pkgdir" cmake --install build +# Split plugins + rm -r "$pkgdir"/usr/lib/qt6/plugins/ + rm "$pkgdir"/usr/lib/cmake/Qt6Multimedia/Qt6Q{FFmpeg,Gstreamer}* + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} + +package_qt6-multimedia-gstreamer() { + pkgdesc='Gstreamer backend for qt6-multimedia' + depends=(gcc-libs + glib2 + glibc + gst-plugins-base + gstreamer + libglvnd + qt6-base + qt6-multimedia) + provides=(qt6-multimedia-backend) + groups=() + optdepends=('gst-plugins-good: camera support, additional plugins' + 'gst-plugins-bad: camera support, additional plugins' + 'gst-plugins-ugly: additional plugins' + 'gst-libav: additional plugins') + + DESTDIR="$pkgdir" cmake --install build/src/plugins/multimedia/gstreamer +} + +package_qt6-multimedia-ffmpeg() { + pkgdesc='FFMpeg backend for qt6-multimedia' + depends=(ffmpeg + gcc-libs + glibc + libglvnd + libx11 + libxext + libxrandr + qt6-base + qt6-multimedia) + provides=(qt6-multimedia-backend) + groups=() + + DESTDIR="$pkgdir" cmake --install build/src/plugins/multimedia/ffmpeg +} diff --git a/main/qt6-multimedia/README b/main/qt6-multimedia/README new file mode 100644 index 00000000..baa0569f --- /dev/null +++ b/main/qt6-multimedia/README @@ -0,0 +1,43 @@ +qt6-multimedia +________________________________________________________________________________ + +Classes for audio, video, radio and camera functionality FFMpeg backend for qt6-multimedia Gstreamer backend for qt6-multimedia + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-multimedia | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-multimedia/version b/main/qt6-multimedia/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-multimedia/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-positioning/.PKGINFO b/main/qt6-positioning/.PKGINFO new file mode 100644 index 00000000..d128ce65 --- /dev/null +++ b/main/qt6-positioning/.PKGINFO @@ -0,0 +1,28 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-positioning +pkgbase = qt6-positioning +xdata = pkgtype=pkg +pkgver = 6.7.0-2 +pkgdesc = Provides access to position, satellite and area monitoring classes +url = https://www.qt.io +builddate = 1714618442 +packager = Developer +size = 1687896 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = geoclue: geoclue2 plugin +optdepend = qt6-declarative: QML bindings +optdepend = qt6-serialport: NMEA plugin +makedepend = cmake +makedepend = git +makedepend = ninja +makedepend = qt6-declarative +makedepend = qt6-serialport diff --git a/main/qt6-positioning/PKGBUILD b/main/qt6-positioning/PKGBUILD new file mode 100644 index 00000000..a90cbd45 --- /dev/null +++ b/main/qt6-positioning/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-positioning +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides access to position, satellite and area monitoring classes' +depends=(gcc-libs + glibc + qt6-base) +makedepends=(cmake + git + ninja + qt6-declarative + qt6-serialport) +optdepends=('qt6-declarative: QML bindings' + 'qt6-serialport: NMEA plugin') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('25801cd768383f4dfc0f3d440dfc334fe2605f0dd2cdf51d80a2f5ceca4a119f') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-positioning/README b/main/qt6-positioning/README new file mode 100644 index 00000000..f3e3ab31 --- /dev/null +++ b/main/qt6-positioning/README @@ -0,0 +1,43 @@ +qt6-positioning +________________________________________________________________________________ + +Provides access to position, satellite and area monitoring classes + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-positioning | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-positioning/version b/main/qt6-positioning/version new file mode 100644 index 00000000..ac1ee86f --- /dev/null +++ b/main/qt6-positioning/version @@ -0,0 +1 @@ +6.7.0 2 diff --git a/main/qt6-quick3d/.PKGINFO b/main/qt6-quick3d/.PKGINFO new file mode 100644 index 00000000..bb67e492 --- /dev/null +++ b/main/qt6-quick3d/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-quick3d +pkgbase = qt6-quick3d +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Qt module and API for defining 3D content in Qt Quick +url = https://www.qt.io +builddate = 1712886885 +packager = Developer +size = 15057512 +arch = x86_64 +license = GPL3 +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-declarative +depend = qt6-quicktimeline +depend = qt6-shadertools +depend = zlib +optdepend = assimp: assimp import plugin +makedepend = assimp +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-quick3d/PKGBUILD b/main/qt6-quick3d/PKGBUILD new file mode 100644 index 00000000..b37cf1f1 --- /dev/null +++ b/main/qt6-quick3d/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-quick3d +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3) +pkgdesc='Qt module and API for defining 3D content in Qt Quick' +depends=(gcc-libs + glibc + qt6-base + qt6-declarative + qt6-quicktimeline + qt6-shadertools + zlib) +makedepends=(assimp + cmake + git + ninja) +optdepends=('assimp: assimp import plugin') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('5e927593db83f13ea67ca4ebe76ad7725e5d3717344cc4ec376be729e64643cb') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-quick3d/README b/main/qt6-quick3d/README new file mode 100644 index 00000000..473df636 --- /dev/null +++ b/main/qt6-quick3d/README @@ -0,0 +1,43 @@ +qt6-quick3d +________________________________________________________________________________ + +Qt module and API for defining 3D content in Qt Quick + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-quick3d | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-quick3d/version b/main/qt6-quick3d/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-quick3d/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-quicktimeline/.PKGINFO b/main/qt6-quicktimeline/.PKGINFO new file mode 100644 index 00000000..91efb331 --- /dev/null +++ b/main/qt6-quicktimeline/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-quicktimeline +pkgbase = qt6-quicktimeline +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Qt module for keyframe-based timeline construction +url = https://www.qt.io +builddate = 1712886889 +packager = Developer +size = 371731 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-declarative +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-quicktimeline/PKGBUILD b/main/qt6-quicktimeline/PKGBUILD new file mode 100644 index 00000000..295bd83c --- /dev/null +++ b/main/qt6-quicktimeline/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-quicktimeline +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Qt module for keyframe-based timeline construction' +depends=(gcc-libs + glibc + qt6-base + qt6-declarative) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('1e8e471a36a6a72802988564c27af59450f465778b68ece20e36b80ca9842d1e') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-quicktimeline/README b/main/qt6-quicktimeline/README new file mode 100644 index 00000000..fa37e86c --- /dev/null +++ b/main/qt6-quicktimeline/README @@ -0,0 +1,43 @@ +qt6-quicktimeline +________________________________________________________________________________ + +Qt module for keyframe-based timeline construction + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-quicktimeline | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-quicktimeline/version b/main/qt6-quicktimeline/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-quicktimeline/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-sensors/.PKGINFO b/main/qt6-sensors/.PKGINFO new file mode 100644 index 00000000..c92e95df --- /dev/null +++ b/main/qt6-sensors/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-sensors +pkgbase = qt6-sensors +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Provides access to sensor hardware and motion gesture recognition +url = https://www.qt.io +builddate = 1712886889 +packager = Developer +size = 1109163 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +optdepend = iio-sensor-proxy: iio-sensor-proxy backend +makedepend = cmake +makedepend = ninja +makedepend = qt6-declarative diff --git a/main/qt6-sensors/PKGBUILD b/main/qt6-sensors/PKGBUILD new file mode 100644 index 00000000..26da6637 --- /dev/null +++ b/main/qt6-sensors/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-sensors +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides access to sensor hardware and motion gesture recognition' +depends=(gcc-libs + glibc + qt6-base) +makedepends=(cmake + git + ninja + qt6-declarative) +optdepends=('qt6-declarative: QML bindings' + 'iio-sensor-proxy: iio-sensor-proxy backend') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('ac814c33c89411750e3ce8e5cafa39d40e7e5b6cf4e228da24c7b121cf0d458c') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-sensors/README b/main/qt6-sensors/README new file mode 100644 index 00000000..3cb501d9 --- /dev/null +++ b/main/qt6-sensors/README @@ -0,0 +1,43 @@ +qt6-sensors +________________________________________________________________________________ + +Provides access to sensor hardware and motion gesture recognition + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-sensors | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-sensors/version b/main/qt6-sensors/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-sensors/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-shadertools/.PKGINFO b/main/qt6-shadertools/.PKGINFO new file mode 100644 index 00000000..2d2ed2d3 --- /dev/null +++ b/main/qt6-shadertools/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-shadertools +pkgbase = qt6-shadertools +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Provides functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL +url = https://www.qt.io +builddate = 1712886891 +packager = Developer +size = 4355896 +arch = x86_64 +license = GPL3 +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-shadertools/PKGBUILD b/main/qt6-shadertools/PKGBUILD new file mode 100644 index 00000000..6e5d4c22 --- /dev/null +++ b/main/qt6-shadertools/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-shadertools +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3) +pkgdesc='Provides functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL' +depends=(gcc-libs + glibc + qt6-base) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('537ba1f76d3a81ddc6bffc4331384fe0a331464633a9ff0fb3963f6b55de09b1') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-shadertools/README b/main/qt6-shadertools/README new file mode 100644 index 00000000..9172db29 --- /dev/null +++ b/main/qt6-shadertools/README @@ -0,0 +1,43 @@ +qt6-shadertools +________________________________________________________________________________ + +Provides functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-shadertools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-shadertools/version b/main/qt6-shadertools/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-shadertools/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-speech/.PKGINFO b/main/qt6-speech/.PKGINFO new file mode 100644 index 00000000..f205f1d9 --- /dev/null +++ b/main/qt6-speech/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-speech +pkgbase = qt6-speech +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Qt Speech support +url = https://www.qt.io +builddate = 1712886892 +packager = Developer +size = 523588 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-multimedia +optdepend = flite: flite TTS backend +optdepend = speech-dispatcher: speech-dispatcher TTS backend +optdepend = qt6-declarative: QML bindings +makedepend = cmake +makedepend = flite +makedepend = ninja +makedepend = qt6-declarative +makedepend = speech-dispatcher diff --git a/main/qt6-speech/PKGBUILD b/main/qt6-speech/PKGBUILD new file mode 100644 index 00000000..20d6dd25 --- /dev/null +++ b/main/qt6-speech/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-speech +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Qt Speech support' +depends=(gcc-libs + glibc + qt6-base + qt6-multimedia) +makedepends=(cmake + flite + git + ninja + qt6-declarative + speech-dispatcher) +optdepends=('flite: flite TTS backend' + 'speech-dispatcher: speech-dispatcher TTS backend' + 'qt6-declarative: QML bindings') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('a18f689c69070c0db245fc5ec28f4403d57b7c51005d316707a9804b8af7dcbf') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-speech/README b/main/qt6-speech/README new file mode 100644 index 00000000..a168cc60 --- /dev/null +++ b/main/qt6-speech/README @@ -0,0 +1,43 @@ +qt6-speech +________________________________________________________________________________ + +Qt Speech support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-speech | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-speech/version b/main/qt6-speech/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-speech/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-svg/.PKGINFO b/main/qt6-svg/.PKGINFO new file mode 100644 index 00000000..89fa556f --- /dev/null +++ b/main/qt6-svg/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-svg +pkgbase = qt6-svg +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Classes for displaying the contents of SVG files +url = https://www.qt.io +builddate = 1712886896 +packager = Developer +size = 809785 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = zlib +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-svg/PKGBUILD b/main/qt6-svg/PKGBUILD new file mode 100644 index 00000000..e005f359 --- /dev/null +++ b/main/qt6-svg/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-svg +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Classes for displaying the contents of SVG files' +depends=(gcc-libs + glibc + qt6-base + zlib) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('e4e0727b0bfe6ee8c2e79c3af44971a46b6b61acca5168ef197db1d868080cfe') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-svg/README b/main/qt6-svg/README new file mode 100644 index 00000000..4df61912 --- /dev/null +++ b/main/qt6-svg/README @@ -0,0 +1,43 @@ +qt6-svg +________________________________________________________________________________ + +Classes for displaying the contents of SVG files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-svg | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-svg/version b/main/qt6-svg/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-svg/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-tools/.PKGINFO b/main/qt6-tools/.PKGINFO new file mode 100644 index 00000000..fee95726 --- /dev/null +++ b/main/qt6-tools/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = qt6-tools +pkgbase = qt6-tools +xdata = pkgtype=pkg +pkgver = 6.7.1-3 +pkgdesc = A cross-platform application and UI framework (Development Tools, QtHelp) +url = https://www.qt.io +builddate = 1718491927 +packager = Developer +size = 18749554 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = zstd +optdepend = clang: for qdoc and lupdate +optdepend = litehtml: for assistant +optdepend = qt6-declarative: for qdoc and lupdate +makedepend = clang +makedepend = cmake +makedepend = git +makedepend = litehtml +makedepend = llvm +makedepend = ninja +makedepend = qt6-declarative diff --git a/main/qt6-tools/PKGBUILD b/main/qt6-tools/PKGBUILD new file mode 100644 index 00000000..5ea92b12 --- /dev/null +++ b/main/qt6-tools/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-tools +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)' +depends=(gcc-libs + glibc + qt6-base + zstd) +makedepends=(clang + cmake + git + litehtml + llvm + ninja + qt6-declarative) +optdepends=('clang: for qdoc and lupdate' + 'litehtml: for assistant' + 'qt6-declarative: for qdoc and lupdate') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver + git+https://code.qt.io/playground/qlitehtml) +sha256sums=('fcf275b708870ab69df5b158629cfa9a00e260895a7f418d700eaba8a8ed3c9d' + 'SKIP') + +prepare() { + cd $_pkgfn + git submodule init + git submodule set-url src/assistant/qlitehtml "$srcdir"/qlitehtml + git -c protocol.file.allow=always submodule update +} + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DINSTALL_PUBLICBINDIR=usr/bin \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + +# Install symlinks for user-facing tools + cd "$pkgdir" + mkdir usr/bin + while read _line; do + ln -s $_line + done < "$srcdir"/build/user_facing_tool_links.txt + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-tools/README b/main/qt6-tools/README new file mode 100644 index 00000000..4df10d10 --- /dev/null +++ b/main/qt6-tools/README @@ -0,0 +1,43 @@ +qt6-tools +________________________________________________________________________________ + +A cross-platform application and UI framework (Development Tools, QtHelp) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-tools/version b/main/qt6-tools/version new file mode 100644 index 00000000..91ba762c --- /dev/null +++ b/main/qt6-tools/version @@ -0,0 +1 @@ +6.7.1 3 diff --git a/main/qt6-translations/.PKGINFO b/main/qt6-translations/.PKGINFO new file mode 100644 index 00000000..ad611a50 --- /dev/null +++ b/main/qt6-translations/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-translations +pkgbase = qt6-translations +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = A cross-platform application and UI framework (Translations) +url = https://www.qt.io +builddate = 1712886901 +packager = Developer +size = 13640706 +arch = any +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +makedepend = cmake +makedepend = ninja +makedepend = qt6-tools diff --git a/main/qt6-translations/PKGBUILD b/main/qt6-translations/PKGBUILD new file mode 100644 index 00000000..68c29508 --- /dev/null +++ b/main/qt6-translations/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-translations +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(any) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='A cross-platform application and UI framework (Translations)' +depends=() +makedepends=(cmake + git + ninja + qt6-tools) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('4d53484ec7d0ae4e92f26bc7edf1533a1f862e3b578a08209a706dc04939e3d3') + +build() { + export PATH="/usr/lib/qt6/bin:$PATH" + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build -j1 +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-translations/README b/main/qt6-translations/README new file mode 100644 index 00000000..b1672fe0 --- /dev/null +++ b/main/qt6-translations/README @@ -0,0 +1,43 @@ +qt6-translations +________________________________________________________________________________ + +A cross-platform application and UI framework (Translations) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-translations | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-translations/version b/main/qt6-translations/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-translations/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-virtualkeyboard/.PKGINFO b/main/qt6-virtualkeyboard/.PKGINFO new file mode 100644 index 00000000..d13b508e --- /dev/null +++ b/main/qt6-virtualkeyboard/.PKGINFO @@ -0,0 +1,25 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-virtualkeyboard +pkgbase = qt6-virtualkeyboard +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Virtual keyboard framework +url = https://www.qt.io +builddate = 1712886903 +packager = Developer +size = 5829584 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = hunspell +depend = qt6-base +depend = qt6-declarative +depend = qt6-svg +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-virtualkeyboard/PKGBUILD b/main/qt6-virtualkeyboard/PKGBUILD new file mode 100644 index 00000000..4fbf845c --- /dev/null +++ b/main/qt6-virtualkeyboard/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-virtualkeyboard +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Virtual keyboard framework' +depends=(gcc-libs + glibc + hunspell + qt6-base + qt6-declarative + qt6-svg) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('932b0e1b36a5a1a3e4ec3e6e62bb17d81b339d6da7cfdd02c75b6ff4c5585f1a') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-virtualkeyboard/README b/main/qt6-virtualkeyboard/README new file mode 100644 index 00000000..94c52531 --- /dev/null +++ b/main/qt6-virtualkeyboard/README @@ -0,0 +1,43 @@ +qt6-virtualkeyboard +________________________________________________________________________________ + +Virtual keyboard framework + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-virtualkeyboard | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-virtualkeyboard/version b/main/qt6-virtualkeyboard/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-virtualkeyboard/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-wayland/.PKGINFO b/main/qt6-wayland/.PKGINFO new file mode 100644 index 00000000..03023ec7 --- /dev/null +++ b/main/qt6-wayland/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-wayland +pkgbase = qt6-wayland +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Provides APIs for Wayland +url = https://www.qt.io +builddate = 1712886906 +packager = Developer +size = 7375629 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = libglvnd +depend = libxkbcommon +depend = qt6-base +depend = qt6-declarative +depend = wayland +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-wayland/PKGBUILD b/main/qt6-wayland/PKGBUILD new file mode 100644 index 00000000..4e08765e --- /dev/null +++ b/main/qt6-wayland/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-wayland +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides APIs for Wayland' +depends=(gcc-libs + glibc + libglvnd + libxkbcommon + qt6-base + qt6-declarative + wayland) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('366e3904d17bbecbca45eaeb328c0712f0177a4bb9197ce6ae86b958ced95a0d') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-wayland/README b/main/qt6-wayland/README new file mode 100644 index 00000000..abf010af --- /dev/null +++ b/main/qt6-wayland/README @@ -0,0 +1,43 @@ +qt6-wayland +________________________________________________________________________________ + +Provides APIs for Wayland + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-wayland | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-wayland/version b/main/qt6-wayland/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-wayland/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-webchannel/.PKGINFO b/main/qt6-webchannel/.PKGINFO new file mode 100644 index 00000000..13fa564b --- /dev/null +++ b/main/qt6-webchannel/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-webchannel +pkgbase = qt6-webchannel +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients +url = https://www.qt.io +builddate = 1712886907 +packager = Developer +size = 437252 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +depend = qt6-declarative +makedepend = cmake +makedepend = ninja diff --git a/main/qt6-webchannel/PKGBUILD b/main/qt6-webchannel/PKGBUILD new file mode 100644 index 00000000..d106352c --- /dev/null +++ b/main/qt6-webchannel/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-webchannel +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients' +depends=(gcc-libs + glibc + qt6-base + qt6-declarative) +makedepends=(cmake + git + ninja) +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('6f2acd2a782189a23b696ac690211c2fe525d8b519d4fb304a631d2d269fffad') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-webchannel/README b/main/qt6-webchannel/README new file mode 100644 index 00000000..a464f62b --- /dev/null +++ b/main/qt6-webchannel/README @@ -0,0 +1,43 @@ +qt6-webchannel +________________________________________________________________________________ + +Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-webchannel | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-webchannel/version b/main/qt6-webchannel/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-webchannel/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/qt6-webengine/.PKGINFO b/main/qt6-webengine/.PKGINFO new file mode 100644 index 00000000..b0793ca3 --- /dev/null +++ b/main/qt6-webengine/.PKGINFO @@ -0,0 +1,73 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-webengine +pkgbase = qt6-webengine +xdata = pkgtype=pkg +pkgver = 6.7.0-2 +pkgdesc = Provides support for web applications using the Chromium browser project +url = https://www.qt.io +builddate = 1716253366 +packager = Developer +size = 242796449 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = alsa-lib +depend = dbus +depend = expat +depend = ffmpeg +depend = fontconfig +depend = freetype2 +depend = gcc-libs +depend = glib2 +depend = glibc +depend = harfbuzz +depend = icu +depend = lcms2 +depend = libdrm +depend = libevent +depend = libjpeg-turbo +depend = libpng +depend = libtiff +depend = libwebp +depend = libx11 +depend = libxcb +depend = libxcomposite +depend = libxfixes +depend = libxkbcommon +depend = libxkbfile +depend = libxdamage +depend = libxext +depend = libxml2 +depend = libxrandr +depend = libxslt +depend = libxtst +depend = mesa +depend = minizip +depend = nspr +depend = nss +depend = openjpeg2 +depend = opus +depend = qt6-base +depend = qt6-declarative +depend = qt6-positioning +depend = qt6-webchannel +depend = snappy +depend = ttf-font +depend = zlib +optdepend = pipewire: WebRTC desktop sharing under Wayland +makedepend = cmake +makedepend = git +makedepend = gperf +makedepend = jsoncpp +makedepend = libepoxy +makedepend = ninja +makedepend = nodejs +makedepend = perf +makedepend = pipewire +makedepend = python-html5lib +makedepend = qt6-tools +makedepend = qt6-websockets diff --git a/main/qt6-webengine/PKGBUILD b/main/qt6-webengine/PKGBUILD new file mode 100644 index 00000000..1ba88507 --- /dev/null +++ b/main/qt6-webengine/PKGBUILD @@ -0,0 +1,101 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-webengine +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides support for web applications using the Chromium browser project' +depends=(alsa-lib + dbus + expat + ffmpeg + fontconfig + freetype2 + gcc-libs + glib2 + glibc + harfbuzz + icu + lcms2 + libdrm + libevent + libjpeg-turbo + libpng + libtiff + libwebp + libx11 + libxcb + libxcomposite + libxfixes + libxkbcommon + libxkbfile + libxdamage + libxext + libxml2 + libxrandr + libxslt + libxtst + mesa + minizip + nspr + nss + openjpeg2 + opus + qt6-base + qt6-declarative + qt6-positioning + qt6-webchannel + snappy + ttf-font + zlib) + # system libvpx disabled since https://codereview.qt-project.org/c/qt/qtwebengine/+/454908 + # libvpx pciutils re2 +makedepends=(cmake + git + gperf + jsoncpp + libepoxy + ninja + nodejs + perf + pipewire + python-html5lib + qt6-tools + qt6-websockets) +optdepends=('pipewire: WebRTC desktop sharing under Wayland') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver + git+https://code.qt.io/qt/qtwebengine-chromium) +sha256sums=('dbb5c0191c2907a405ec31c9a13b4b7010c53445ab2c76485310af9a56ffeace' + 'SKIP') + +prepare() { + cd $_pkgfn + git submodule init + git submodule set-url src/3rdparty "$srcdir"/qtwebengine-chromium + git -c protocol.file.allow=always submodule update +} + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS \ + -DCMAKE_TOOLCHAIN_FILE=/usr/lib/cmake/Qt6/qt.toolchain.cmake \ + -DQT_FEATURE_webengine_system_ffmpeg=ON \ + -DQT_FEATURE_webengine_system_icu=ON \ + -DQT_FEATURE_webengine_system_libevent=ON \ + -DQT_FEATURE_webengine_proprietary_codecs=ON \ + -DQT_FEATURE_webengine_kerberos=ON \ + -DQT_FEATURE_webengine_webrtc_pipewire=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm644 "$srcdir"/${_pkgfn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium +} diff --git a/main/qt6-webengine/README b/main/qt6-webengine/README new file mode 100644 index 00000000..afe6fbb3 --- /dev/null +++ b/main/qt6-webengine/README @@ -0,0 +1,43 @@ +qt6-webengine +________________________________________________________________________________ + +Provides support for web applications using the Chromium browser project + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-webengine | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-webengine/version b/main/qt6-webengine/version new file mode 100644 index 00000000..ac1ee86f --- /dev/null +++ b/main/qt6-webengine/version @@ -0,0 +1 @@ +6.7.0 2 diff --git a/main/qt6-websockets/.PKGINFO b/main/qt6-websockets/.PKGINFO new file mode 100644 index 00000000..954230bd --- /dev/null +++ b/main/qt6-websockets/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = qt6-websockets +pkgbase = qt6-websockets +xdata = pkgtype=pkg +pkgver = 6.7.0-1 +pkgdesc = Provides WebSocket communication compliant with RFC 6455 +url = https://www.qt.io +builddate = 1712886951 +packager = Developer +size = 372166 +arch = x86_64 +license = GPL3 +license = LGPL3 +license = FDL +license = custom +group = qt6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = cmake +makedepend = ninja +makedepend = qt6-declarative diff --git a/main/qt6-websockets/PKGBUILD b/main/qt6-websockets/PKGBUILD new file mode 100644 index 00000000..cb964cf3 --- /dev/null +++ b/main/qt6-websockets/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=qt6-websockets +_qtver=6.7.0 +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url='https://www.qt.io' +license=(GPL3 LGPL3 FDL custom) +pkgdesc='Provides WebSocket communication compliant with RFC 6455' +depends=(gcc-libs + glibc + qt6-base) +makedepends=(cmake + git + ninja + qt6-declarative) +optdepends=('qt6-declarative: QML bindings') +groups=(qt6) +_pkgfn=${pkgname/6-/} +source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver) +sha256sums=('65d15a796a25e4f208bf1aad3413f0457e60479a29d8b22ead4233a681f3dacc') + +build() { + cmake -B build -S $_pkgfn -G Ninja \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -d "$pkgdir"/usr/share/licenses + ln -s /usr/share/licenses/qt6-base "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/qt6-websockets/README b/main/qt6-websockets/README new file mode 100644 index 00000000..56e4947c --- /dev/null +++ b/main/qt6-websockets/README @@ -0,0 +1,43 @@ +qt6-websockets +________________________________________________________________________________ + +Provides WebSocket communication compliant with RFC 6455 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S qt6-websockets | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.qt.io diff --git a/main/qt6-websockets/version b/main/qt6-websockets/version new file mode 100644 index 00000000..f07b16e1 --- /dev/null +++ b/main/qt6-websockets/version @@ -0,0 +1 @@ +6.7.0 1 diff --git a/main/rav1e/PKGBUILD b/main/rav1e/PKGBUILD new file mode 100644 index 00000000..a1abe32e --- /dev/null +++ b/main/rav1e/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=rav1e +pkgver=%version% +pkgrel=%release% +pkgdesc='An AV1 encoder focused on speed and safety' +arch=(x86_64) +url=https://github.com/xiph/rav1e/ +license=(custom:BSD) +depends=( + gcc-libs + glibc +) +makedepends=( + cargo-c + git + nasm + rust +) +provides=(librav1e.so) +_tag=a8d05d0c43826a465b60dbadd0ab7f1327d75371 +source=( + git+https://github.com/xiph/rav1e.git#tag=${_tag} + Cargo-rav1e-${pkgver}.lock::https://github.com/xiph/rav1e/releases/download/v${pkgver}/Cargo.lock +) +b2sums=('SKIP' + '7cbeaff87ca4e9db469be06cbead0c5b05af2064d6d5f12f97f5999992017b66a24bc19ed4eaf69f7d6579732f843f3e93f30d9581b8c8344728d3e3773a0f79') + +pkgver() { + cd rav1e + git describe --tags | sed 's/^v//' +} + +prepare() { + cp -f Cargo-rav1e-${pkgver}.lock rav1e/Cargo.lock + cargo fetch \ + --locked \ + --manifest-path rav1e/Cargo.toml +} + +build() { + cargo build \ + --release \ + --frozen \ + --no-default-features \ + --features binaries,asm,threading,signal_support \ + --manifest-path rav1e/Cargo.toml + cargo cbuild \ + --release \ + --frozen \ + --no-default-features \ + --features binaries,asm,threading,signal_support \ + --prefix=/usr \ + --manifest-path rav1e/Cargo.toml +} + +check() { + cargo test \ + --release \ + --frozen \ + --no-default-features \ + --features binaries,asm,threading,signal_support \ + --manifest-path rav1e/Cargo.toml +} + +package() { + cd rav1e + cargo install \ + --frozen \ + --no-default-features \ + --features binaries,asm,threading,signal_support \ + --offline \ + --no-track \ + --path . \ + --root "${pkgdir}"/usr + cargo cinstall \ + --release \ + --frozen \ + --no-default-features \ + --features binaries,asm,threading,signal_support \ + --prefix /usr \ + --destdir "${pkgdir}" + install -Dm 644 LICENSE PATENTS -t "${pkgdir}"/usr/share/licenses/rav1e/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/rav1e/README b/main/rav1e/README new file mode 100644 index 00000000..36b87f76 --- /dev/null +++ b/main/rav1e/README @@ -0,0 +1,43 @@ +rav1e +________________________________________________________________________________ + +An AV1 encoder focused on speed and safety + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rav1e | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/xiph/rav1e/ diff --git a/main/rav1e/version b/main/rav1e/version new file mode 100644 index 00000000..1078b9e9 --- /dev/null +++ b/main/rav1e/version @@ -0,0 +1 @@ +0.7.1 1 diff --git a/main/readline/PKGBUILD b/main/readline/PKGBUILD new file mode 100644 index 00000000..0bb82570 --- /dev/null +++ b/main/readline/PKGBUILD @@ -0,0 +1,74 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=readline +_basever=8.2 +_patchlevel=010 +pkgver=%version% +pkgrel=%release% +pkgdesc='GNU readline library' +arch=('x86_64') +url='https://tiswww.case.edu/php/chet/readline/rltop.html' +license=('GPL-3.0-only') +backup=('etc/inputrc') +depends=('glibc' 'ncurses' 'libncursesw.so') +provides=('libhistory.so' 'libreadline.so') +options=('!emptydirs') +source=(https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig} + inputrc) +sha256sums=('3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35' + 'SKIP' + '36e9611f935ee108d161587b0615f9c390192ef4bbff6dc59b58671261029901' + 'bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7' + 'SKIP' + 'e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053' + 'SKIP' + '24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0' + 'SKIP' + '79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac' + 'SKIP' + '622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99' + 'SKIP' + 'c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1' + 'SKIP' + '5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6' + 'SKIP' + 'a177edc9d8c9f82e8c19d0630ab351f3fd1b201d655a1ddb5d51c4cee197b26a' + 'SKIP' + '3d9885e692e1998523fd5c61f558cecd2aafd67a07bd3bfe1d7ad5a31777a116' + 'SKIP' + '758e2ec65a0c214cfe6161f5cde3c5af4377c67d820ea01d13de3ca165f67b4c' + 'SKIP') +validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey + +if [ $_patchlevel -gt 0 ]; then + for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do + source=(${source[@]} https://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig}) + done +fi + +prepare() { + cd $pkgname-$_basever + for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do + msg "applying patch readline${_basever//.}-$(printf "%03d" $_p)" + patch -p0 -i ../readline${_basever//.}-$(printf "%03d" $_p) + done + + # remove RPATH from shared objects (FS#14366) + sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf +} + +build() { + cd $pkgname-$_basever + + # build with -fPIC for x86_64 (FS#15634) + [[ $CARCH == "x86_64" ]] && CFLAGS="$CFLAGS -fPIC" + + ./configure --prefix=/usr + make SHLIB_LIBS=-lncurses +} + +package() { + make -C $pkgname-$_basever DESTDIR="$pkgdir" install + install -Dm644 inputrc "$pkgdir"/etc/inputrc +} diff --git a/main/readline/README b/main/readline/README new file mode 100644 index 00000000..8579d7d4 --- /dev/null +++ b/main/readline/README @@ -0,0 +1,43 @@ +readline +________________________________________________________________________________ + +GNU readline library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S readline | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tiswww.case.edu/php/chet/readline/rltop.html diff --git a/main/readline/inputrc b/main/readline/inputrc new file mode 100644 index 00000000..fd13a673 --- /dev/null +++ b/main/readline/inputrc @@ -0,0 +1,36 @@ +# do not bell on tab-completion +#set bell-style none + +set meta-flag on +set input-meta on +set convert-meta off +set output-meta on + +$if mode=emacs + +# for linux console and RH/Debian xterm +"\e[1~": beginning-of-line +"\e[4~": end-of-line +"\e[5~": beginning-of-history +"\e[6~": end-of-history +"\e[7~": beginning-of-line +"\e[3~": delete-char +"\e[2~": quoted-insert +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word +"\e[1;5C": forward-word +"\e[1;5D": backward-word + +# for rxvt +"\e[8~": end-of-line + +# for non RH/Debian xterm, can't hurt for RH/DEbian xterm +"\eOH": beginning-of-line +"\eOF": end-of-line + +# for freebsd console +"\e[H": beginning-of-line +"\e[F": end-of-line +$endif diff --git a/main/readline/version b/main/readline/version new file mode 100644 index 00000000..2628310f --- /dev/null +++ b/main/readline/version @@ -0,0 +1 @@ +${_basever}.${_patchlevel} 1 diff --git a/main/refind/.PKGINFO b/main/refind/.PKGINFO new file mode 100644 index 00000000..85617f4e --- /dev/null +++ b/main/refind/.PKGINFO @@ -0,0 +1,34 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = refind +pkgbase = refind +xdata = pkgtype=split +pkgver = 0.14.2-1 +pkgdesc = An EFI boot manager +url = https://www.rodsbooks.com/refind/ +builddate = 1712627318 +packager = Developer +size = 1935511 +arch = x86_64 +license = BSD-2-Clause +license = CC-BY-SA-3.0 +license = CC-BY-SA-4.0 +license = GPL-2.0-only +license = GPL-2.0-or-later +license = GPL-3.0-or-later +license = LGPL-2.1-or-later +license = LGPL-3.0-or-later OR CC-BY-SA-3.0 +depend = bash +depend = dosfstools +depend = efibootmgr +optdepend = gptfdisk: for finding non-vfat ESP with refind-install +optdepend = imagemagick: for refind-mkfont +optdepend = openssl: for generating local certificates with refind-install +optdepend = python: for refind-mkdefault +optdepend = refind-docs: for HTML documentation +optdepend = sbsigntools: for EFI binary signing with refind-install +optdepend = sudo: for privilege elevation in refind-install and refind-mkdefault +makedepend = bash +makedepend = dosfstools +makedepend = efibootmgr +makedepend = gnu-efi diff --git a/main/refind/PKGBUILD b/main/refind/PKGBUILD new file mode 100644 index 00000000..eabe3b82 --- /dev/null +++ b/main/refind/PKGBUILD @@ -0,0 +1,106 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=refind +pkgname=(refind refind-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="An EFI boot manager" +arch=(x86_64) # we build architecture-specific EFI binaries +url="https://www.rodsbooks.com/refind/" +makedepends=( + bash + dosfstools + efibootmgr + gnu-efi +) +source=(https://sourceforge.net/projects/refind/files/$pkgver/$pkgname-src-$pkgver.tar.gz) +sha512sums=('25f420970ae00d9f9b9deb52fea8f9b8307a2de15f921eaae17713e522b6fe932cf1ac5db3006e3cee82670ba67d03039987289cd1de18f1e57f743f98d983c7') +b2sums=('35168bfc2c8db8335156c3a85cd2f6579881514368353b879efeea4697cb77b66796650a17bd931b93544a8fcac16917bfe08b822ec5aac6c4a61550f6543391') +_arch='x64' + +prepare() { + cd $pkgbase-$pkgver + # remove the path prefix from the css reference, so that the css can live + # in the same directory + sed -e 's|../Styles/||g' -i docs/$pkgbase/*.html + # hardcode RefindDir, so that refind-install can find refind_x64.efi + sed -e 's|RefindDir=\"\$ThisDir/refind\"|RefindDir="/usr/share/refind/"|g' -i refind-install + # add vendor line to the sbat file + printf 'refind.%s,%s,%s,refind,%s,%s\n' 'arch' '1' 'Arch Linux' "${epoch:+${epoch}:}${pkgver}-${pkgrel}" 'https://archlinux.org/packages/?q=refind' >> refind-sbat.csv +} + +build() { + cd $pkgname-$pkgver + make + make gptsync + make fs +} + +package_refind() { + license=( + BSD-2-Clause + CC-BY-SA-3.0 + CC-BY-SA-4.0 + GPL-2.0-only + GPL-2.0-or-later + GPL-3.0-or-later + LGPL-2.1-or-later + 'LGPL-3.0-or-later OR CC-BY-SA-3.0' + ) + depends=( + bash + dosfstools + efibootmgr + ) + optdepends=( + 'gptfdisk: for finding non-vfat ESP with refind-install' + 'imagemagick: for refind-mkfont' + 'openssl: for generating local certificates with refind-install' + 'python: for refind-mkdefault' + 'refind-docs: for HTML documentation' + 'sbsigntools: for EFI binary signing with refind-install' + 'sudo: for privilege elevation in refind-install and refind-mkdefault' + ) + + cd $pkgbase-$pkgver + # NOTE: the install target calls refind-install, therefore we install things + # manually + # efi binaries + install -vDm 644 refind/*.efi -t "$pkgdir/usr/share/$pkgname/" + install -vDm 644 drivers_*/*.efi -t "$pkgdir/usr/share/refind/drivers_$_arch/" + install -vDm 644 gptsync/*.efi -t "$pkgdir/usr/share/$pkgname/tools_$_arch/" + # sample config + install -vDm 644 $pkgname.conf-sample -t "$pkgdir/usr/share/$pkgname/" + # keys + install -vDm 644 keys/*{cer,crt} -t "$pkgdir/usr/share/$pkgname/keys/" + # keysdir + install -vdm 700 "$pkgdir/etc/refind.d/keys" + # fonts + install -vDm 644 fonts/*.png -t "$pkgdir/usr/share/$pkgname/fonts/" + # icons + install -vDm 644 icons/*.png -t "$pkgdir/usr/share/$pkgname/icons" + install -vDm 644 icons/svg/*.svg -t "$pkgdir/usr/share/$pkgname/icons/svg/" + # scripts + install -vDm 755 {refind-{install,mkdefault,sb-healthcheck},mkrlconf,mvrefind} -t "$pkgdir/usr/bin/" + install -vDm 755 fonts/mkfont.sh "$pkgdir/usr/bin/$pkgname-mkfont" + # man pages + install -vDm 644 docs/man/*.8 -t "$pkgdir/usr/share/man/man8/" + # docs + install -vDm 644 {CREDITS,NEWS,README}.txt -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 fonts/README.txt "$pkgdir/usr/share/doc/$pkgname/README.$pkgname-mkfont.txt" + install -vDm 644 icons/README "$pkgdir/usr/share/doc/$pkgname/README.icons.txt" + install -vDm 644 keys/README.txt "$pkgdir/usr/share/doc/$pkgname/README.keys.txt" + # license + install -vDm 644 LICENSE.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_refind-docs() { + pkgdesc+=" - documentation" + license=(FDL-1.3-or-later) + + cd $pkgbase-$pkgver + install -vDm 644 docs/$pkgbase/*.{html,png,svg,txt} -t "$pkgdir/usr/share/doc/$pkgbase/html/" + install -vDm 644 docs/Styles/*.css -t "$pkgdir/usr/share/doc/$pkgbase/html/" + install -vDm 644 images/$pkgbase-banner.{png,svg} -t "$pkgdir/usr/share/doc/$pkgbase/html/" +} diff --git a/main/refind/README b/main/refind/README new file mode 100644 index 00000000..40667a45 --- /dev/null +++ b/main/refind/README @@ -0,0 +1,43 @@ +refind +________________________________________________________________________________ + +An EFI boot manager An EFI boot manager - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S refind | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.rodsbooks.com/refind/ diff --git a/main/refind/version b/main/refind/version new file mode 100644 index 00000000..4afcf818 --- /dev/null +++ b/main/refind/version @@ -0,0 +1 @@ +0.14.1 1 diff --git a/main/reiserfsprogs/PKGBUILD b/main/reiserfsprogs/PKGBUILD new file mode 100644 index 00000000..a6f1d168 --- /dev/null +++ b/main/reiserfsprogs/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=reiserfsprogs +pkgver=%version% +pkgrel=%release% +pkgdesc="Reiserfs utilities" +arch=('x86_64') +url="https://www.kernel.org/" +license=('GPL') +depends=('util-linux') +source=("https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/v${pkgver}/${pkgname}-${pkgver}.tar.xz" + reiserfsprogs-3.6.27-loff_t.patch) +sha256sums=('0e95b67fa7746a3c2d59145e9b9c2feb4a6be52853e83b497b182eae508e62e3' + '2d4e90d5e2b0610021d0c078f350e098d5573edccdf2864909aada83ed0473f9') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p1 -i "$srcdir"/reiserfsprogs-3.6.27-loff_t.patch + autoreconf -i +} + +build() { + cd ${pkgname}-${pkgver} + CFLAGS+=' -fgnu89-inline' + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/reiserfsprogs/README b/main/reiserfsprogs/README new file mode 100644 index 00000000..d60456e2 --- /dev/null +++ b/main/reiserfsprogs/README @@ -0,0 +1,43 @@ +reiserfsprogs +________________________________________________________________________________ + +Reiserfs utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S reiserfsprogs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kernel.org/ diff --git a/main/reiserfsprogs/reiserfsprogs-3.6.27-loff_t.patch b/main/reiserfsprogs/reiserfsprogs-3.6.27-loff_t.patch new file mode 100644 index 00000000..9ab8519e --- /dev/null +++ b/main/reiserfsprogs/reiserfsprogs-3.6.27-loff_t.patch @@ -0,0 +1,16 @@ +glibc-2.28 did hide loff_t indef system-specific macros: + https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=663e7d784977f6b15c0cab73f754f9f39c9c0c2c + +This caused build failure: + ../include/reiserfs_lib.h:300:55: error: unknown type name 'loff_t'; did you mean 'off_t'? + +Re-enable extensions to pull loff_t back. + +https://bugs.gentoo.org/663930 +--- a/configure.ac ++++ b/configure.ac +@@ -23,2 +23,4 @@ AC_PROG_MAKE_SET + AC_PROG_LIBTOOL ++dnl pull in loff_t from glibc ++AC_USE_SYSTEM_EXTENSIONS + diff --git a/main/reiserfsprogs/version b/main/reiserfsprogs/version new file mode 100644 index 00000000..dfd7106d --- /dev/null +++ b/main/reiserfsprogs/version @@ -0,0 +1 @@ +3.6.27 4 diff --git a/main/rp-pppoe/PKGBUILD b/main/rp-pppoe/PKGBUILD new file mode 100644 index 00000000..34b5fdef --- /dev/null +++ b/main/rp-pppoe/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=rp-pppoe +pkgver=%version% +pkgrel=%release% +pkgdesc="Roaring Penguin's Point-to-Point Protocol over Ethernet client" +arch=('x86_64') +url="https://dianne.skoll.ca/projects/rp-pppoe" +license=('GPL') +depends=('ppp=2.5.0' 'sh' 'iproute2') +backup=(etc/ppp/pppoe-server-options) +options=('!makeflags') +install=rp-pppoe.install +source=(https://dianne.skoll.ca/projects/rp-pppoe/download/rp-pppoe-$pkgver.tar.gz{,.sig} + adsl.service) +validpgpkeys=('FC2E9B645468698FD7B21655C1842E2A126F42E0' # Dianne Skoll + '738E4D954052902C147D07B2685A5A5E511D30E2') # Dianne Skoll +sha512sums=('faebe543988b1ffacd4d9bf55a3ec21f3a541f9232ba6c7b6fa0e8103d6c2b7b1c358e7f7bc8f99bebb24b2f7bdcc2f46ba1ef4c23e6dd34062f8f28114e7aea' + 'SKIP' + '75fdb55b872e6388053aa0c1ba0b98ab9eda6b6f59a7452843cff8de5a68276be3f48dbd9a6324917254d4fe0d1b2d7442f7a9bbfa1355b6f500db13c9409089') + +build() { + cd $pkgname-$pkgver/src + ./configure --prefix=/usr --sbindir=/usr/bin --enable-plugin + make PLUGIN_DIR="/usr/lib/rp-pppoe" all rp-pppoe.so +} + +package() { + cd $pkgname-$pkgver/src + make PLUGIN_DIR="/usr/lib/rp-pppoe" DESTDIR="$pkgdir" install + + #install -Dm755 "$srcdir/adsl" "$pkgdir/etc/rc.d/adsl" + install -Dm644 "$srcdir/adsl.service" "$pkgdir/usr/lib/systemd/system/adsl.service" +} diff --git a/main/rp-pppoe/README b/main/rp-pppoe/README new file mode 100644 index 00000000..6b95be26 --- /dev/null +++ b/main/rp-pppoe/README @@ -0,0 +1,43 @@ +rp-pppoe +________________________________________________________________________________ + +Roaring Penguin's Point-to-Point Protocol over Ethernet client + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rp-pppoe | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://dianne.skoll.ca/projects/rp-pppoe diff --git a/main/rp-pppoe/adsl.service b/main/rp-pppoe/adsl.service new file mode 100644 index 00000000..85ff4928 --- /dev/null +++ b/main/rp-pppoe/adsl.service @@ -0,0 +1,10 @@ +[Unit] +Description=ADSL Daemon + +[Service] +Type=forking +ExecStart=/usr/bin/pppoe-start +ExecStop=/usr/bin/pppoe-stop + +[Install] +WantedBy=multi-user.target diff --git a/main/rp-pppoe/rp-pppoe.install b/main/rp-pppoe/rp-pppoe.install new file mode 100644 index 00000000..1d4bccce --- /dev/null +++ b/main/rp-pppoe/rp-pppoe.install @@ -0,0 +1,12 @@ +#arg 1: the new package version +post_install() { +echo ">>> The kernel-mode plugin has a new place." +echo ">>> It's now located under /usr/lib/rp-pppoe/rp-pppoe.so" +echo ">>> Change LINUX_PLUGIN to the new path in your /etc/ppp/pppoe.conf" +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} diff --git a/main/rp-pppoe/version b/main/rp-pppoe/version new file mode 100644 index 00000000..6c899f05 --- /dev/null +++ b/main/rp-pppoe/version @@ -0,0 +1 @@ +4.0 1 diff --git a/main/rpcbind/.nvchecker.toml b/main/rpcbind/.nvchecker.toml new file mode 100644 index 00000000..15836de2 --- /dev/null +++ b/main/rpcbind/.nvchecker.toml @@ -0,0 +1,6 @@ +[rpcbind] +source = "git" +git = "git://git.linux-nfs.org/projects/steved/rpcbind.git" +exclude_regex = ".*(rc).*" +from_pattern = 'rpcbind-(\d+)_(\d+)_(\d+)' +to_pattern = '\1.\2.\3' diff --git a/main/rpcbind/CVE-2017-8779.diff b/main/rpcbind/CVE-2017-8779.diff new file mode 100644 index 00000000..cef088ba --- /dev/null +++ b/main/rpcbind/CVE-2017-8779.diff @@ -0,0 +1,21 @@ +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index 5862c26..e11f61b 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -432,7 +433,7 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rqstp /*__unused*/, + static bool_t + xdr_encap_parms(XDR *xdrs, struct encap_parms *epp) + { +- return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0)); ++ return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), RPC_MAXDATASIZE)); + } + + /* diff --git a/main/rpcbind/PKGBUILD b/main/rpcbind/PKGBUILD new file mode 100644 index 00000000..64628c4a --- /dev/null +++ b/main/rpcbind/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=rpcbind +pkgver=%version% +pkgrel=%release% +pkgdesc="portmap replacement which supports RPC over various protocols" +arch=(x86_64) +url="http://rpcbind.sourceforge.net" +license=('BSD-3-Clause') +backup=('etc/conf.d/rpcbind') +depends=('glibc' 'libtirpc' 'systemd-libs') +makedepends=('systemd') +replaces=('portmap') +# see also http://git.linux-nfs.org/?p=steved/rpcbind.git;a=summary +source=(https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + rpcbind-sunrpc.patch + rpcbind.conf + systemd_service.diff + tmpfiles.d + sysusers.d + CVE-2017-8779.diff) +sha1sums=('a6dad1d9454f42f2f25a92caba8d3d7bddf527e3' + '1b997ce76f9727efc8c72fc5f97189591c9a60e2' + 'ce58b8fccf0440aa81eeb21c99ef7dd654f03b7f' + '5baeed59090b3bfa08c0852333e061194efcc4e7' + 'eb8b7375a4ca31b3f61fa726f387884d5e4ca7a3' + '97fed152572790a44e972114cbb436ca517254f9' + '38044ce8f3376a0b69da8e078e988fd1645bd435') +sha256sums=('5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de' + '7a32111c74e708ad431b7114580c60d7405c591273e6cc00baf5baff05952573' + '7d13186a6dfdc855cf9c6d41de56aa1efd04bd4a6bd7ab36f81bb29e4699a976' + '11c34eb2790da8f4da1715af3ab208705847e141f24fc669aaf899da1d73d30f' + '08b04f4da12b34d66cc8fefa0a6dcac239019b0de0090e08d61cb18cc36a6045' + '288edf4d317dbeb6607a049d4451ae7e708ab2ad284c674bed19f444036d55c1' + 'bfb7f022b44ca83309dec6dfcb1ff4a5e0b0a40078e3688a2c7ceaaaa19a9686') + +prepare() { + cd $pkgname-$pkgver + # patch for iana services file # FS#20273 + patch -Np1 -i ../rpcbind-sunrpc.patch + # use distro config file; FS#52058 + patch -Np1 -i ../systemd_service.diff + # http://seclists.org/oss-sec/2017/q2/209 + patch -Np1 -i ../CVE-2017-8779.diff +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin \ + --with-rpcuser=rpc \ + --enable-warmstarts \ + --with-statedir=/var/lib/rpcbind \ + --enable-rmtcalls + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + # install rpcbind config file + install -D -m644 "$srcdir"/rpcbind.conf "$pkgdir"/etc/conf.d/rpcbind + # install missing man page - https://bugs.archlinux.org/task/21271 + install -m644 man/rpcinfo.8 "$pkgdir"/usr/share/man/man8/ + # systemd sysusers/tempfile + install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/rpcbind.conf + install -Dm644 ../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/rpcbind.conf + # install license + install -D -m644 COPYING "$pkgdir"/usr/share/licenses/rpcbind/COPYING +} diff --git a/main/rpcbind/README b/main/rpcbind/README new file mode 100644 index 00000000..b35f14c3 --- /dev/null +++ b/main/rpcbind/README @@ -0,0 +1,43 @@ +rpcbind +________________________________________________________________________________ + +portmap replacement which supports RPC over various protocols + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rpcbind | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://rpcbind.sourceforge.net diff --git a/main/rpcbind/rpcbind-sunrpc.patch b/main/rpcbind/rpcbind-sunrpc.patch new file mode 100644 index 00000000..099e8339 --- /dev/null +++ b/main/rpcbind/rpcbind-sunrpc.patch @@ -0,0 +1,11 @@ +--- rpcbind-0.2.3/src/rpcbind.c 2015-04-27 16:07:43.000000000 +0200 ++++ rpcbind-0.2.3/src/rpcbind.c.new 2015-04-27 19:48:44.518124944 +0200 +@@ -132,7 +132,7 @@ + char *udp_uaddr; /* Universal UDP address */ + char *tcp_uaddr; /* Universal TCP address */ + #endif +-static char servname[] = "rpcbind"; ++static char servname[] = "sunrpc"; + static char superuser[] = "superuser"; + + int main __P((int, char *[])); diff --git a/main/rpcbind/rpcbind.conf b/main/rpcbind/rpcbind.conf new file mode 100644 index 00000000..af48d11b --- /dev/null +++ b/main/rpcbind/rpcbind.conf @@ -0,0 +1,3 @@ +# +# Optional arguments passed to rpcbind. See rpcbind(8) +RPCBIND_OPTIONS="" diff --git a/main/rpcbind/systemd_service.diff b/main/rpcbind/systemd_service.diff new file mode 100644 index 00000000..ef8ddb0a --- /dev/null +++ b/main/rpcbind/systemd_service.diff @@ -0,0 +1,10 @@ +--- rpcbind-1.2.5/systemd/rpcbind.service.in 2018-08-15 16:51:19.000000000 +0200 ++++ rpcbind-1.2.5/systemd/rpcbind.service.in.new 2018-08-15 21:11:56.598858968 +0200 +@@ -12,6 +12,7 @@ + [Service] + Type=notify + # distro can provide a drop-in adding EnvironmentFile=-/??? if needed. ++EnvironmentFile=/etc/conf.d/rpcbind + ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f + + [Install] diff --git a/main/rpcbind/sysusers.d b/main/rpcbind/sysusers.d new file mode 100644 index 00000000..213da3e3 --- /dev/null +++ b/main/rpcbind/sysusers.d @@ -0,0 +1 @@ +u rpc 32 "Rpcbind Daemon" /var/lib/rpcbind diff --git a/main/rpcbind/tmpfiles.d b/main/rpcbind/tmpfiles.d new file mode 100644 index 00000000..09bfa358 --- /dev/null +++ b/main/rpcbind/tmpfiles.d @@ -0,0 +1 @@ +d /var/lib/rpcbind 0700 rpc rpc diff --git a/main/rpcbind/version b/main/rpcbind/version new file mode 100644 index 00000000..7985692f --- /dev/null +++ b/main/rpcbind/version @@ -0,0 +1 @@ +1.2.6 4 diff --git a/main/rsync/.PKGINFO b/main/rsync/.PKGINFO new file mode 100644 index 00000000..b7624775 --- /dev/null +++ b/main/rsync/.PKGINFO @@ -0,0 +1,26 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = rsync +pkgbase = rsync +xdata = pkgtype=pkg +pkgver = 3.3.0-2 +pkgdesc = A fast and versatile file copying tool for remote and local files +url = https://rsync.samba.org/ +builddate = 1714618444 +packager = Developer +size = 616080 +arch = x86_64 +license = GPL3 +backup = etc/rsyncd.conf +depend = acl +depend = libacl.so=1-64 +depend = lz4 +depend = openssl +depend = popt +depend = xxhash +depend = libxxhash.so=0-64 +depend = zlib +depend = zstd +optdepend = python: for rrsync +makedepend = git +makedepend = python-commonmark diff --git a/main/rsync/PKGBUILD b/main/rsync/PKGBUILD new file mode 100644 index 00000000..23b9e0cd --- /dev/null +++ b/main/rsync/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=rsync +pkgver=%version% +pkgrel=%release% +pkgdesc='A fast and versatile file copying tool for remote and local files' +arch=('x86_64') +url='https://rsync.samba.org/' +license=('GPL3') +depends=('acl' 'libacl.so' 'lz4' 'openssl' 'popt' 'xxhash' 'libxxhash.so' + 'zlib' 'zstd') +optdepends=('python: for rrsync') +makedepends=('git' 'python-commonmark') +backup=('etc/rsyncd.conf') +validpgpkeys=('0048C8B026D4C96F0E589C2F6C859FB14B96A8C5') # Wayne Davison +source=("git+https://github.com/WayneD/rsync#tag=v${pkgver}?signed" + 'rsyncd.conf') +sha256sums=('5f43b9e38be43d609c4a690e006468c512b6801634ec09d6a91b7956537b3861' + '733ccb571721433c3a6262c58b658253ca6553bec79c2bdd0011810bb4f2156b') + +_backports=( +) + +_reverts=( +) + +prepare() { + cd ${pkgname} + + local _c + for _c in "${_backports[@]}"; do + if [[ $_c == *..* ]]; then + git log --oneline --reverse "${_c}" + else + git log --oneline -1 "${_c}" + fi + git cherry-pick -n -m1 "${_c}" + done + for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" + git revert -n "${_c}" + done +} + +build() { + cd ${pkgname} + + ./configure \ + --prefix=/usr \ + --enable-ipv6 \ + --disable-debug \ + --with-rrsync \ + --with-included-popt=no \ + --with-included-zlib=no + make +} + +check() { + cd ${pkgname} + + # check for IPv6 support + # https://gitlab.archlinux.org/archlinux/packaging/packages/rsync/-/commit/8936e33b245da170e7b5488b4ca35727ac9c4b68 + if rsync -V | grep -q 'no IPv6'; then + echo 'Built without IPv6 support!' >&2 + exit 1 + fi + + make test +} + +package() { + cd ${pkgname} + + make DESTDIR="$pkgdir" install + install -Dm0644 ../rsyncd.conf "$pkgdir/etc/rsyncd.conf" + install -Dm0644 packaging/systemd/rsync.service "$pkgdir/usr/lib/systemd/system/rsyncd.service" + install -Dm0644 packaging/systemd/rsync.socket "$pkgdir/usr/lib/systemd/system/rsyncd.socket" + install -Dm0644 packaging/systemd/rsync@.service "$pkgdir/usr/lib/systemd/system/rsyncd@.service" +} diff --git a/main/rsync/README b/main/rsync/README new file mode 100644 index 00000000..901ec703 --- /dev/null +++ b/main/rsync/README @@ -0,0 +1,43 @@ +rsync +________________________________________________________________________________ + +A fast and versatile file copying tool for remote and local files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rsync | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://rsync.samba.org/ diff --git a/main/rsync/rsyncd.conf b/main/rsync/rsyncd.conf new file mode 100644 index 00000000..15210609 --- /dev/null +++ b/main/rsync/rsyncd.conf @@ -0,0 +1,10 @@ +uid = nobody +gid = nobody +use chroot = no +max connections = 4 +syslog facility = local5 +pid file = /run/rsyncd.pid + +[ftp] + path = /srv/ftp + comment = ftp area diff --git a/main/rsync/version b/main/rsync/version new file mode 100644 index 00000000..4b9f03b2 --- /dev/null +++ b/main/rsync/version @@ -0,0 +1 @@ +3.3.0 2 diff --git a/main/rtkit/PKGBUILD b/main/rtkit/PKGBUILD new file mode 100644 index 00000000..1102ab33 --- /dev/null +++ b/main/rtkit/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=rtkit +pkgver=%version% +pkgrel=%release% +pkgdesc="Realtime Policy and Watchdog Daemon" +url="https://github.com/heftig/rtkit" +arch=(x86_64) +license=(GPL3 custom:BSD) +depends=(dbus polkit systemd) +makedepends=(git meson vim) +_commit=b9169402fe5e82d20efb754509eb0b191f214599 # tags/v0.13^0 +source=("git+https://github.com/heftig/rtkit?signed#commit=$_commit") +sha256sums=('SKIP') +validpgpkeys=('8218F88849AAC522E94CF470A5E9288C4FA415FA') # Jan Alexander Steffens (heftig) + +pkgver() { + cd rtkit + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd rtkit +} + +build() { + arch-meson rtkit build -D installed_tests=false +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + meson install -C build --destdir "$pkgdir" + + echo 'u rtkit 133 "RealtimeKit" /proc' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/rtkit.conf" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 rtkit/LICENSE + sed -ne '4,25p' rtkit/rtkit.c | + install -Dm644 /dev/stdin "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/main/rtkit/README b/main/rtkit/README new file mode 100644 index 00000000..8a52729c --- /dev/null +++ b/main/rtkit/README @@ -0,0 +1,43 @@ +rtkit +________________________________________________________________________________ + +Realtime Policy and Watchdog Daemon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rtkit | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/heftig/rtkit diff --git a/main/rtkit/version b/main/rtkit/version new file mode 100644 index 00000000..169a25c6 --- /dev/null +++ b/main/rtkit/version @@ -0,0 +1 @@ +0.13 2 diff --git a/main/rubberband/PKGBUILD b/main/rubberband/PKGBUILD new file mode 100644 index 00000000..2d0f363e --- /dev/null +++ b/main/rubberband/PKGBUILD @@ -0,0 +1,130 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=rubberband +pkgname=(rubberband rubberband-{ladspa,lv2,vamp}) +pkgver=%version% +pkgrel=%release% +pkgdesc="Time-stretching and pitch-shifting audio library and utility" +arch=(x86_64) +url="https://www.breakfastquay.com/rubberband/" +license=(GPL2) +makedepends=( + boost + fftw + java-environment + ladspa + lv2 + meson + libsamplerate + libsndfile + vamp-plugin-sdk +) +source=($pkgbase-$pkgver.tar.gz::https://github.com/breakfastquay/$pkgbase/archive/v$pkgver.tar.gz) +sha512sums=('6d7ce80f47a5870920748d6e2ff9425f9d90e3fd2d62d7b937158ad2134829bc1d1e34ec4fd6327de5d6f1924b4bb793dc4c9d10574102e11338383c4522ba84') +b2sums=('09002ddb20dc34ea3bceb3d35468cd6b5398e41808c8e9ef9346e5fb3a3544b725c7da6c6bce80e6b9a2b58e1f55faea83d365b255852d3b953f5134dfc6445e') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + local java_major=$(java --version 2>/dev/null |grep 'openjdk'| cut -d ' ' -f2| cut -d '.' -f1) + local meson_options=( + -Dfft=fftw + -Dresampler=libsamplerate + -Dextra_include_dirs="/usr/lib/jvm/java-$java_major-openjdk/include,/usr/lib/jvm/java-$java_major-openjdk/include/linux" + ) + export JAVA_HOME="/usr/lib/jvm/java-$java_major-openjdk" + + arch-meson build $pkgbase-$pkgver "${meson_options[@]}" + meson compile -C build +} + +check() { + meson test -C build +} + +package_rubberband() { + depends=( + fftw libfftw3.so + gcc-libs + glibc + libsamplerate libsamplerate.so + libsndfile libsndfile.so + ) + provides=( + librubberband.so + librubberband-jni.so + ) + + meson install -C build --destdir "$pkgdir" + # rubberband is unstripped: https://github.com/breakfastquay/rubberband/issues/72 + strip "$pkgdir/usr/bin/$pkgbase" + install -vDm 644 $pkgbase-$pkgver/{CHANGELOG,README.md} -t "$pkgdir/usr/share/doc/$pkgbase/" + + ( + cd "$pkgdir" + _pick $pkgbase-ladspa usr/lib/ladspa + _pick $pkgbase-lv2 usr/lib/lv2 + _pick $pkgbase-vamp usr/lib/vamp + ) +} + +package_rubberband-ladspa() { + pkgdesc+=" - LADSPA plugin" + groups=( + pro-audio + ladspa-plugins + ) + depends=( + fftw libfftw3.so + gcc-libs + glibc + libsamplerate libsamplerate.so + ladspa-host + ) + + mv -v $pkgname/* "$pkgdir" +} + +package_rubberband-lv2() { + pkgdesc+=" - LV2 plugin" + groups=( + pro-audio + lv2-plugins + ) + depends=( + fftw libfftw3.so + gcc-libs + glibc + libsamplerate libsamplerate.so + lv2-host + ) + + mv -v $pkgname/* "$pkgdir" +} + +package_rubberband-vamp() { + pkgdesc+=" - VAMP plugin" + groups=( + pro-audio + vamp-plugins + ) + depends=( + fftw libfftw3.so + gcc-libs + glibc + libsamplerate libsamplerate.so + vamp-host + vamp-plugin-sdk + ) + + mv -v $pkgname/* "$pkgdir" +} diff --git a/main/rubberband/README b/main/rubberband/README new file mode 100644 index 00000000..5e608971 --- /dev/null +++ b/main/rubberband/README @@ -0,0 +1,43 @@ +rubberband +________________________________________________________________________________ + +Time-stretching and pitch-shifting audio library and utility Time-stretching and pitch-shifting audio library and utility - LADSPA plugin Time-stretching and pitch-shifting audio library and utility - LV2 plugin Time-stretching and pitch-shifting audio library and utility - VAMP plugin + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rubberband | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.breakfastquay.com/rubberband/ diff --git a/main/rubberband/version b/main/rubberband/version new file mode 100644 index 00000000..a42c2e2a --- /dev/null +++ b/main/rubberband/version @@ -0,0 +1 @@ +3.3.0 1 diff --git a/main/run-parts/PKGBUILD b/main/run-parts/PKGBUILD new file mode 100644 index 00000000..06872021 --- /dev/null +++ b/main/run-parts/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=run-parts +pkgver=%version% +pkgrel=%release% +pkgdesc='run scripts or programs in a directory' +arch=('x86_64') +url='https://packages.qa.debian.org/d/debianutils.html' +license=('GPL') +depends=('glibc') +makedepends=('po4a') +source=("http://deb.debian.org/debian/pool/main/d/debianutils/debianutils_${pkgver}.tar.xz") +sha256sums=('367654878388f532cd8a897fe64766e2d57ae4c60da1d4d8f20dcdf2fb0cbde8') + +prepare() { + cd "$srcdir/debianutils-${pkgver}" + + autoreconf -fi +} + +build() { + cd "$srcdir/debianutils-${pkgver}" + + ./configure --prefix=/usr + make run-parts + make -C po4a +} + +package() { + cd "$srcdir/debianutils-${pkgver}" + + install -D -m0755 run-parts "${pkgdir}/usr/bin/run-parts" + install -D -m0644 run-parts.8 "${pkgdir}/usr/share/man/man8/run-parts.8" + for MAN in $(find po4a/ -name run-parts.8); do + install -D -m644 "${MAN}" "$pkgdir/usr/share/man/${MAN:5:2}/man8/run-parts.8" + done +} diff --git a/main/run-parts/README b/main/run-parts/README new file mode 100644 index 00000000..80861b7c --- /dev/null +++ b/main/run-parts/README @@ -0,0 +1,43 @@ +run-parts +________________________________________________________________________________ + +run scripts or programs in a directory + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S run-parts | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://packages.qa.debian.org/d/debianutils.html diff --git a/main/run-parts/version b/main/run-parts/version new file mode 100644 index 00000000..d6106af2 --- /dev/null +++ b/main/run-parts/version @@ -0,0 +1 @@ +5.17 1 diff --git a/main/rxvt-unicode/PKGBUILD b/main/rxvt-unicode/PKGBUILD new file mode 100644 index 00000000..57370822 --- /dev/null +++ b/main/rxvt-unicode/PKGBUILD @@ -0,0 +1,121 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=rxvt-unicode +pkgname=('rxvt-unicode' 'rxvt-unicode-terminfo') +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +url='http://software.schmorp.de/pkg/rxvt-unicode.html' +license=('GPL') +makedepends=( + 'libxft' + 'libxt' + 'libxext' + 'libxmu' + 'perl' + 'startup-notification' + 'libnsl' + 'libptytty' + 'signify' +) +source=("$pkgname-$pkgver.tar.bz2::http://dist.schmorp.de/rxvt-unicode/$pkgname-$pkgver.tar.bz2" + "$pkgname-$pkgver.tar.bz2.signature::http://dist.schmorp.de/rxvt-unicode/$pkgname-$pkgver.tar.bz2.sig" + 'signing-key.pub' + 'perl-5.38.patch' + 'urxvt.desktop' + 'urxvtc.desktop' + 'urxvt-tabbed.desktop') +sha256sums=('aaa13fcbc149fe0f3f391f933279580f74a96fd312d6ed06b8ff03c2d46672e8' + 'afea78dc25db8cd15da9959baf347b0634f4ef62dd3eeaff0c0a3389986b6a3e' + '48ef5720d77a870f25737b8f66fe2c1f88a01810013df70cb8155add904288e4' + '4bec0bf559a2eb6649e077b220fe25f532a8bc3da98ac519bc72a39b223e2cc4' + '5f9c435d559371216d1c5b49c6ec44bfdb786b12d925d543c286b0764dea0319' + '91536bb27c6504d6cb0d33775a0c4709a4b439670b900f0c278c25037f19ad66' + 'ccd7c436e959bdc9ab4f15801a67c695b382565b31d8c352254362e67412afcb') +sha512sums=('4d14ecbbb62de1b1c717277f5aae5cfb536e11392f2d4b82c884c1713f437fce8e9dd69a328fa353a55d068d8ee4121a31900f45191acec172d5dc76652b6255' + '389b1959387f4d5c960901763e45cdcf670fb8de6506ed9d1d49b3c58616f1fb10d5b158b5f89257f3db1bac3a0b270bb35043e7e13e5222549153e83db79ef9' + 'a09a434387e22612a9225ddfa444044977712c6410efe8a77a33d8aa607bd1acbef2a1da08b62e21a4b070f0974ba94ae907ac0452b5d060e33a1c051a7780e4' + 'e7361bd9ad5199d1976e9b0d4d8d74b1e18ae795ef255f42633c7be2632382aa94b30e5790ee788ee51fbd8bf0af9092d896d69684f362a8a507523ad4653473' + '7184714a908071a4e8e5c065c5f90255e94dfd072df459c8d6f66fca3647781b3d1f6908b9303bcfd0d5b3f2e3822a8d66efaaa8a7c4d44f6e682839031a6e99' + 'aa501eeeb220ba03b3f101b160230612efbca87694fef88c469b2976d29769c24b34576ea82f6c7941fad6039ac776f32e397add9b957b49bf2e84aeb67b66d6' + '18c7afb0c3eb8c832893b9ead09d25374b70ae1cd5479a5291d11794906c53daa6f1a1bf698b37efda062bb2b991cacac53a0a6c185ca416b8718fde2bb6a7af') + +prepare() { + # hacking around to validate with signify + mv -v "$pkgname-$pkgver.tar.bz2."{signature,sig} + signify -V -p "signing-key.pub" -m "$pkgname-$pkgver.tar.bz2" + + patch -d $pkgname-$pkgver -p1 < perl-5.38.patch # Locale fix for perl 5.38 +} + +build() { + cd ${pkgname}-${pkgver} + # we disable smart-resize (FS#34807) + # do not specify --with-terminfo (FS#46424) + # do not specify --disable-frills (FS#77474) + # workaround ncurses --disable-root-access (FS#79143) + export TIC="/usr/bin/tic -o${srcdir}/terminfo" + ./configure \ + --prefix=/usr \ + --enable-256-color \ + --enable-combining \ + --enable-fading \ + --enable-font-styles \ + --enable-iso14755 \ + --enable-keepscrolling \ + --enable-lastlog \ + --enable-mousewheel \ + --enable-next-scroll \ + --enable-perl \ + --enable-pointer-blank \ + --enable-rxvt-scroll \ + --enable-selectionscrolling \ + --enable-slipwheeling \ + --disable-smart-resize \ + --enable-startup-notification \ + --enable-transparency \ + --enable-unicode3 \ + --enable-utmp \ + --enable-wtmp \ + --enable-xft \ + --enable-xim \ + --enable-xterm-scroll \ + --disable-pixbuf + make +} + +package_rxvt-unicode() { + pkgdesc='Unicode enabled rxvt-clone terminal emulator (urxvt)' + depends=( + 'rxvt-unicode-terminfo' + 'libxft' + 'perl' + 'startup-notification' + 'libnsl' + 'libptytty' + 'libxext' + 'libxmu' + ) + optdepends=('gtk2-perl: to use urxvt-tabbed') + + # install freedesktop menu + for _f in urxvt urxvtc urxvt-tabbed; do + install -Dm 644 ${_f}.desktop "${pkgdir}/usr/share/applications/${_f}.desktop" + done + + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + # install the tabbing wrapper ( requires gtk2-perl! ) + sed -i 's/\"rxvt\"/"urxvt"/' doc/rxvt-tabbed + install -Dm 755 doc/rxvt-tabbed "${pkgdir}/usr/bin/urxvt-tabbed" +} + +package_rxvt-unicode-terminfo() { + pkgdesc='Terminfo files for urxvt' + conflict=('rxvt-unicode<=9.18-6') + install -dm 755 "${pkgdir}/usr/share/" + mv terminfo "${pkgdir}/usr/share/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/rxvt-unicode/README b/main/rxvt-unicode/README new file mode 100644 index 00000000..27b0c13e --- /dev/null +++ b/main/rxvt-unicode/README @@ -0,0 +1,43 @@ +rxvt-unicode +________________________________________________________________________________ + +Unicode enabled rxvt-clone terminal emulator (urxvt) Terminfo files for urxvt + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S rxvt-unicode | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://software.schmorp.de/pkg/rxvt-unicode.html diff --git a/main/rxvt-unicode/perl-5.38.patch b/main/rxvt-unicode/perl-5.38.patch new file mode 100644 index 00000000..948dc963 --- /dev/null +++ b/main/rxvt-unicode/perl-5.38.patch @@ -0,0 +1,13 @@ +diff --git a/src/rxvtperl.xs b/src/rxvtperl.xs +index 25b1144b..f664f397 100644 +--- a/src/rxvtperl.xs ++++ b/src/rxvtperl.xs +@@ -399,7 +399,7 @@ rxvt_perl_interp::init () + { + if (!perl) + { +- rxvt_push_locale (""); // perl init destroys current locale ++ rxvt_push_locale ("C"); // perl init destroys current locale + + { + perl_environ = rxvt_environ; diff --git a/main/rxvt-unicode/signing-key.pub b/main/rxvt-unicode/signing-key.pub new file mode 100644 index 00000000..21f181eb --- /dev/null +++ b/main/rxvt-unicode/signing-key.pub @@ -0,0 +1,2 @@ +untrusted comment: openbsd signify key for dist.schmorp.de, data.schmorp.de +RWSUBDizLm/GKdlJp8Fr7pMD3pQbONEk+IqVldf+mQn0pYmkiCRDa22s diff --git a/main/rxvt-unicode/urxvt-tabbed.desktop b/main/rxvt-unicode/urxvt-tabbed.desktop new file mode 100644 index 00000000..172006b4 --- /dev/null +++ b/main/rxvt-unicode/urxvt-tabbed.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=urxvt (tabbed) +Comment=An unicode capable and tabbed rxvt clone +Exec=urxvt-tabbed +Icon=utilities-terminal +Terminal=false +Type=Application +Categories=System;TerminalEmulator; diff --git a/main/rxvt-unicode/urxvt.desktop b/main/rxvt-unicode/urxvt.desktop new file mode 100644 index 00000000..76229187 --- /dev/null +++ b/main/rxvt-unicode/urxvt.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=urxvt +Comment=An unicode capable rxvt clone +Exec=urxvt +Icon=utilities-terminal +Terminal=false +Type=Application +Categories=System;TerminalEmulator; diff --git a/main/rxvt-unicode/urxvtc.desktop b/main/rxvt-unicode/urxvtc.desktop new file mode 100644 index 00000000..3a2df410 --- /dev/null +++ b/main/rxvt-unicode/urxvtc.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=urxvt (client) +Comment=An unicode capable rxvt clone client for urxvtd +Exec=urxvtc +Icon=utilities-terminal +Terminal=false +Type=Application +Categories=System;TerminalEmulator; diff --git a/main/rxvt-unicode/version b/main/rxvt-unicode/version new file mode 100644 index 00000000..b94f24b8 --- /dev/null +++ b/main/rxvt-unicode/version @@ -0,0 +1 @@ +9.31 4 diff --git a/main/samba/.PKGINFO b/main/samba/.PKGINFO new file mode 100644 index 00000000..4b7b11ac --- /dev/null +++ b/main/samba/.PKGINFO @@ -0,0 +1,66 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = smbclient +pkgbase = samba +xdata = pkgtype=split +pkgver = 4.20.1-2 +pkgdesc = Tools to access a server's filespace and printers via SMB +url = https://www.samba.org +builddate = 1716253496 +packager = Developer +size = 28886250 +arch = x86_64 +license = GPL-3.0-or-later +depend = popt +depend = cifs-utils +depend = tdb +depend = ldb +depend = tevent +depend = python +depend = talloc +depend = readline +depend = gnutls +depend = libbsd +depend = libldap +depend = libcups +depend = libarchive +depend = libnsl +depend = jansson +depend = libldb.so=2-64 +depend = libtdb.so=1-64 +depend = libtevent.so=0-64 +depend = libreadline.so=8-64 +depend = icu +depend = libwbclient +optdepend = python-dnspython: samba_dnsupdate and samba_upgradedns in AD setup +optdepend = python-markdown: for samba-tool domain schemeupgrade +optdepend = glusterfs: for vfs_glusterfs support +makedepend = python +makedepend = python-markdown +makedepend = python-dnspython +makedepend = docbook-xsl +makedepend = pkg-config +makedepend = libbsd +makedepend = popt +makedepend = libcups +makedepend = readline +makedepend = tevent +makedepend = acl +makedepend = libldap +makedepend = libcap +makedepend = ldb +makedepend = krb5 +makedepend = pam +makedepend = systemd +makedepend = gnutls +makedepend = talloc +makedepend = tdb +makedepend = dbus +makedepend = perl-parse-yapp +makedepend = libnsl +makedepend = libtirpc +makedepend = rpcsvc-proto +makedepend = jansson +makedepend = liburing +makedepend = perl-json +makedepend = glusterfs diff --git a/main/samba/PKGBUILD b/main/samba/PKGBUILD new file mode 100644 index 00000000..657e5fc8 --- /dev/null +++ b/main/samba/PKGBUILD @@ -0,0 +1,203 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=samba +pkgname=('libwbclient' 'smbclient' 'samba') +pkgver=%version% +pkgrel=%release% +arch=(x86_64) +url="https://www.samba.org" +license=('GPL-3.0-or-later') +makedepends=('python' 'python-markdown' 'python-dnspython' 'docbook-xsl' 'pkg-config' 'libbsd' 'popt' 'libcups' + 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb' 'krb5' 'pam' + 'systemd' 'gnutls' 'talloc' 'tdb' 'dbus' + 'perl-parse-yapp' 'libnsl' 'libtirpc' 'rpcsvc-proto' 'jansson' + 'liburing' 'perl-json' 'glusterfs') +optdepends=( + 'python-dnspython: samba_dnsupdate and samba_upgradedns in AD setup' + 'python-markdown: for samba-tool domain schemeupgrade' + 'glusterfs: for vfs_glusterfs support' +) +source=(https://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar{.gz,.asc} + samba.logrotate + samba.pam + samba.conf) +validpgpkeys=('81F5E2832BD2545A1897B713AA99442FB680B620') #Samba Distribution Verification Key +sha512sums=('e820739706992ef3b4e3a7a771ad5d8efc6b87d5ccdcee7ebd41483d90fa3cc0420ba9680d059e71d7083c9c12b0d36deafcdce0224560f49bbfc3a277e7e77c' + 'SKIP' + '2ba0691ded467e4d6e40821f6de58c00f8962209efe2e60284c0c87756ab471c22c3d63b77d506e48c90ed0d852a2a24e41be1d499cf74a73cb99da0b503c858' + '1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67' + 'e46ee848baabb261e7468ecee43aba4d001a24f86f5322ae522abdb75030fd0ebd9063b9df0be3576c4d1654d81331f5e389aee16ec2fa138259ae4728e94efc') +### UNINSTALL dmapi package before building!!! + +# Use samba-pkg as a staging directory for the split packages +# (This is so RPATHS and symlinks are generated correctly via +# make install, but the otherwise unsplit pieces can be split) +build() { + _pkgsrc="${srcdir}"/samba-pkg + rm -rf ${_pkgsrc} + _samba4_idmap_modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2 + _samba4_pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4 + _samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 + cd samba-${pkgver} + ./configure --enable-fhs \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib/samba \ + --localstatedir=/var \ + --with-configdir=/etc/samba \ + --with-lockdir=/var/cache/samba \ + --with-sockets-dir=/run/samba \ + --with-piddir=/run \ + --with-ads \ + --with-ldap \ + --with-winbind \ + --with-acl-support \ + --with-systemd \ + --systemd-install-services \ + --with-pam \ + --with-pammodulesdir=/usr/lib/security \ + --bundled-libraries=!tdb,!talloc,!pytalloc-util,!tevent,!popt,!ldb,!pyldb-util \ + --with-shared-modules=${_samba4_idmap_modules},${_samba4_pdb_modules},${_samba4_auth_modules},vfs_io_uring \ + --disable-rpath-install \ + --with-profiling-data + + # Add this to the options once it's working... + #--with-system-mitkrb5 /opt/heimdal + make + make DESTDIR="${_pkgsrc}/" install + + # This gets skipped somehow + if [ ! -e "${_pkgsrc}"/usr/bin/smbtar ]; then + install -m755 "${srcdir}"/samba-${pkgver}/source3/script/smbtar "${_pkgsrc}"/usr/bin/ + fi +} + +package_libwbclient() { +pkgdesc="winbind client library" +depends=('libbsd') + + _pkgsrc="${srcdir}"/samba-pkg + install -d -m755 "${pkgdir}"/usr/lib + for lib in "${_pkgsrc}"/usr/lib/libwbclient.so*; do + mv ${lib} "${pkgdir}"/usr/lib/ + done + install -d -m755 "${pkgdir}"/usr/lib/pkgconfig + mv "${_pkgsrc}"/usr/lib/pkgconfig/wbclient.pc "${pkgdir}"/usr/lib/pkgconfig/ + install -d -m755 "${pkgdir}"/usr/include/samba-4.0 + mv "${_pkgsrc}"/usr/include/samba-4.0/wbclient.h "${pkgdir}"/usr/include/samba-4.0/ +} + +package_smbclient() { +pkgdesc="Tools to access a server's filespace and printers via SMB" +depends=('popt' 'cifs-utils' 'tdb' 'ldb' + 'tevent' 'python' 'talloc' 'readline' 'gnutls' + 'libbsd' 'libldap' 'libcups' 'libarchive' 'libnsl' 'jansson' + 'libldb.so' 'libtdb.so' 'libtevent.so' 'libreadline.so' 'icu' + 'libwbclient') + + _smbclient_bins=('smbclient' 'rpcclient' 'smbspool' + 'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net' + 'nmblookup' 'smbtar') + _pkgsrc="${srcdir}"/samba-pkg + install -d -m755 "${pkgdir}"/usr/bin + for bin in ${_smbclient_bins[@]}; do + mv "${_pkgsrc}"/usr/bin/${bin} "${pkgdir}"/usr/bin/ + done + + # smbclient binaries link to the majority of the samba + # libs, so this is a shortcut instead of resolving the + # whole dependency tree by hand + install -d -m755 "${pkgdir}"/usr/lib + for lib in "${_pkgsrc}"/usr/lib/lib*.so*; do + mv ${lib} "${pkgdir}"/usr/lib/ + done + + install -d -m755 "${pkgdir}"/usr/lib/samba + for lib in "${_pkgsrc}"/usr/lib/samba/lib*.so*; do + mv ${lib} "${pkgdir}"/usr/lib/samba/ + done + + install -d -m755 "${pkgdir}"/usr/lib/pkgconfig + mv "${_pkgsrc}"/usr/lib/pkgconfig/smbclient.pc "${pkgdir}"/usr/lib/pkgconfig/ + mv "${_pkgsrc}"/usr/lib/pkgconfig/netapi.pc "${pkgdir}"/usr/lib/pkgconfig/ + + install -d -m755 "${pkgdir}"/usr/share/man/man1 + install -d -m755 "${pkgdir}"/usr/share/man/man7 + install -d -m755 "${pkgdir}"/usr/share/man/man8 + for bin in ${_smbclient_bins[@]}; do + if [ -e "${_pkgsrc}"/usr/share/man/man1/${bin}.1 ]; then + mv "${_pkgsrc}"/usr/share/man/man1/${bin}.1 "${pkgdir}"/usr/share/man/man1/ + fi + if [ -e "${_pkgsrc}"/usr/share/man/man8/${bin}.8 ]; then + mv "${_pkgsrc}"/usr/share/man/man8/${bin}.8 "${pkgdir}"/usr/share/man/man8/ + fi + done + mv "${_pkgsrc}"/usr/share/man/man7/libsmbclient.7 "${pkgdir}"/usr/share/man/man7/ + + install -d -m755 "${pkgdir}"/usr/include/samba-4.0 + mv "${_pkgsrc}"/usr/include/samba-4.0/libsmbclient.h "${pkgdir}"/usr/include/samba-4.0/ + mv "${_pkgsrc}"/usr/include/samba-4.0/netapi.h "${pkgdir}"/usr/include/samba-4.0/ + + mkdir -p "${pkgdir}"/usr/lib/cups/backend + ln -sf /usr/bin/smbspool "${pkgdir}"/usr/lib/cups/backend/smb +} + +package_samba() { +pkgdesc="SMB Fileserver and AD Domain server" +depends=('popt' 'libcups' 'libcap>=2.16' 'gnutls>=2.4.1' + 'talloc' 'ldb' 'libbsd' 'python' 'tdb' "smbclient>=$pkgver" 'gpgme' + 'libldb.so' 'libtdb.so' 'libtevent.so' 'liburing' 'libwbclient' ) +optdepends=('python-dnspython: netads_dns.py, dnsresolver.py and traffic_packets.py ' + 'python-markdown: ms_schema_markdown.py and ms_forest_updates_markdown.py' + "python-cryptography: lockout_tests.py gp_cert_auto_enroll_ext.py \ + gpo.py and kcrypto.py") +backup=(etc/logrotate.d/samba + etc/pam.d/samba + etc/conf.d/samba) +install=samba.install + + # Everything that libwbclient and smbclient didn't install goes + # into the samba package... + mv "${_pkgsrc}"/* "${pkgdir}" + rmdir "${_pkgsrc}" + + # Make admin scripts look in the right place for the samba python module + for script in bin/samba_dnsupdate bin/samba_kcc bin/samba_spnupdate \ + bin/samba_upgradedns bin/samba-tool + do + sed -i "/^sys\.path\.insert/ a\ +sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ + "${pkgdir}"/usr/${script} + done + + # packaging/wscript_build to use /etc/conf.d + sed -i -e '/^EnvironmentFile/ s/sysconfig/conf.d/' "${pkgdir}"/usr/lib/systemd/system/*.service + install -d -m755 "${pkgdir}"/etc/conf.d + install -m644 "${srcdir}"/samba-${pkgver}/packaging/systemd/samba.sysconfig "${pkgdir}"/etc/conf.d/samba + + # create ephemeral dirs via tmpfiles rather than shipping them in package + install -D -m644 "${srcdir}"/samba.conf "${pkgdir}"/usr/lib/tmpfiles.d/samba.conf + # create config dir + install -d -m755 "${pkgdir}"/etc/samba + + mkdir -p "${pkgdir}"/etc/samba/private + chmod 700 "${pkgdir}"/etc/samba/private + + install -D -m644 "${srcdir}"/samba.logrotate "${pkgdir}"/etc/logrotate.d/samba + install -D -m644 "${srcdir}"/samba.pam "${pkgdir}"/etc/pam.d/samba + + # spool directory + install -d -m1777 "${pkgdir}"/var/spool/samba + + rm -rf "${pkgdir}"/run + rm -rf "${pkgdir}"/var/run + rm -rf "${pkgdir}"/etc/sysconfig + + # copy ldap example + install -D -m644 "${srcdir}"/samba-${pkgver}/examples/LDAP/samba.schema "${pkgdir}"/usr/share/doc/samba/examples/LDAP/samba.schema +} + +# vim: ts=2 sw=2 et: diff --git a/main/samba/README b/main/samba/README new file mode 100644 index 00000000..78fef072 --- /dev/null +++ b/main/samba/README @@ -0,0 +1,43 @@ +samba +________________________________________________________________________________ + +winbind client library Tools to access a server's filespace and printers via SMB SMB Fileserver and AD Domain server + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S samba | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.samba.org diff --git a/main/samba/samba-4.17.0-15195.patch b/main/samba/samba-4.17.0-15195.patch new file mode 100644 index 00000000..5762f69f --- /dev/null +++ b/main/samba/samba-4.17.0-15195.patch @@ -0,0 +1,86 @@ +diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c +index fa301b9fa18..98750754036 100644 +--- a/source3/libsmb/libsmb_file.c ++++ b/source3/libsmb/libsmb_file.c +@@ -464,6 +464,7 @@ SMBC_getatr(SMBCCTX * context, + struct timespec access_time_ts = {0}; + struct timespec write_time_ts = {0}; + struct timespec change_time_ts = {0}; ++ struct timespec w_time_ts = {0}; + time_t write_time = 0; + SMB_INO_T ino = 0; + struct cli_credentials *creds = NULL; +@@ -506,6 +507,7 @@ SMBC_getatr(SMBCCTX * context, + } + + if (!srv->no_pathinfo2) { ++ bool not_supported_error = false; + status = cli_qpathinfo2(targetcli, + targetpath, + &create_time_ts, +@@ -518,11 +520,21 @@ SMBC_getatr(SMBCCTX * context, + if (NT_STATUS_IS_OK(status)) { + goto setup_stat; + } ++ if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_LEVEL) || ++ NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) { ++ not_supported_error = true; ++ } ++ if (!not_supported_error) { ++ /* "Normal error". Just return it to caller. */ ++ TALLOC_FREE(frame); ++ return status; ++ } + } + + srv->no_pathinfo2 = True; + + if (!srv->no_pathinfo3) { ++ bool not_supported_error = false; + status = cli_qpathinfo3(targetcli, + targetpath, + &create_time_ts, +@@ -535,6 +547,15 @@ SMBC_getatr(SMBCCTX * context, + if (NT_STATUS_IS_OK(status)) { + goto setup_stat; + } ++ if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_LEVEL) || ++ NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) { ++ not_supported_error = true; ++ } ++ if (!not_supported_error) { ++ /* "Normal error". Just return it to caller. */ ++ TALLOC_FREE(frame); ++ return status; ++ } + } + + srv->no_pathinfo3 = True; +@@ -545,14 +566,11 @@ SMBC_getatr(SMBCCTX * context, + } + + status = cli_getatr(targetcli, targetpath, &attr, &size, &write_time); +- if (NT_STATUS_IS_OK(status)) { +- struct timespec w_time_ts = +- convert_time_t_to_timespec(write_time); +- +- access_time_ts = change_time_ts = write_time_ts = w_time_ts; +- +- goto setup_stat; ++ if (!NT_STATUS_IS_OK(status)) { ++ goto all_failed; + } ++ w_time_ts = convert_time_t_to_timespec(write_time); ++ access_time_ts = change_time_ts = write_time_ts = w_time_ts; + + setup_stat: + setup_stat(sb, +@@ -573,7 +591,7 @@ all_failed: + srv->no_pathinfo3 = False; + + TALLOC_FREE(frame); +- return NT_STATUS_ACCESS_DENIED; ++ return status; + } + + /* diff --git a/main/samba/samba-glibc-2.36.patch b/main/samba/samba-glibc-2.36.patch new file mode 100644 index 00000000..aea0bf51 --- /dev/null +++ b/main/samba/samba-glibc-2.36.patch @@ -0,0 +1,57 @@ +From eee9ff0228f52008bfc565241f6dfe07ae7a7044 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Tue, 2 Aug 2022 07:55:46 +0200 +Subject: [PATCH] lib:replace: Only include on non-Linux systems + +Details at: +https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=15132 + +Signed-off-by: Andreas Schneider +Reviewed-by: Ralph Boehme +(cherry picked from commit 766151bf5b7ef95ae4c8c98b8994e5c21c5bbec0) +--- + lib/replace/system/filesys.h | 4 +++- + lib/replace/wscript | 3 +++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/replace/system/filesys.h b/lib/replace/system/filesys.h +index 034e5d5886c..bb9482c69af 100644 +--- a/lib/replace/system/filesys.h ++++ b/lib/replace/system/filesys.h +@@ -36,7 +36,8 @@ + #include + #endif + +-#ifdef HAVE_SYS_MOUNT_H ++/* This include is required on UNIX (*BSD, AIX, ...) for statfs() */ ++#if !defined(LINUX) && defined(HAVE_SYS_MOUNT_H) + #include + #endif + +@@ -44,6 +45,7 @@ + #include + #endif + ++/* This include is required on Linux for statfs() */ + #ifdef HAVE_SYS_VFS_H + #include + #endif +diff --git a/lib/replace/wscript b/lib/replace/wscript +index e4c2d513076..0db93d8caf1 100644 +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -31,6 +31,9 @@ def configure(conf): + + conf.env.standalone_replace = conf.IN_LAUNCH_DIR() + ++ if sys.platform.rfind('linux') > -1: ++ conf.DEFINE('LINUX', '1') ++ + conf.DEFINE('BOOL_DEFINED', 1) + conf.DEFINE('HAVE_LIBREPLACE', 1) + conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1) +-- +2.37.1 + diff --git a/main/samba/samba.conf b/main/samba/samba.conf new file mode 100644 index 00000000..32e72284 --- /dev/null +++ b/main/samba/samba.conf @@ -0,0 +1,2 @@ +D /run/samba 0755 - - - +d /var/log/samba 0755 - - - \ No newline at end of file diff --git a/main/samba/samba.install b/main/samba/samba.install new file mode 100644 index 00000000..ecdd52b0 --- /dev/null +++ b/main/samba/samba.install @@ -0,0 +1,10 @@ +#!/bin/sh + +post_upgrade() { + if [ "$(vercmp $2 4.0.4)" -lt 0 ]; then + echo "Major upgrade from samba 3.x to 4.x," + echo "please read the Samba4 migration guide:" + echo "http://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO" + fi +} +# vim:set ts=2 sw=2 et: diff --git a/main/samba/samba.logrotate b/main/samba/samba.logrotate new file mode 100644 index 00000000..ff286089 --- /dev/null +++ b/main/samba/samba.logrotate @@ -0,0 +1,5 @@ +/var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log { + notifempty + missingok + copytruncate +} diff --git a/main/samba/samba.pam b/main/samba/samba.pam new file mode 100644 index 00000000..53724d1f --- /dev/null +++ b/main/samba/samba.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/main/samba/version b/main/samba/version new file mode 100644 index 00000000..78e8ba73 --- /dev/null +++ b/main/samba/version @@ -0,0 +1 @@ +4.20.1 2 diff --git a/main/sbc/PKGBUILD b/main/sbc/PKGBUILD new file mode 100644 index 00000000..f8351431 --- /dev/null +++ b/main/sbc/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sbc +pkgver=%version% +pkgrel=%release% +pkgdesc="Bluetooth Subband Codec (SBC) library" +url="https://git.kernel.org/pub/scm/bluetooth/sbc.git" +arch=(x86_64) +license=(GPL LGPL) +depends=(glibc) +makedepends=(git) +provides=(libsbc.so) +_commit=8dc5d5ba381512ad5b1afa45c63ec6b0a3833244 # tags/2.0^0 +source=("git+$url#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd sbc + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd sbc + autoreconf -fvi +} + +build() { + cd sbc + ./configure --prefix=/usr --disable-static --disable-tester + make +} + +check() { + cd sbc + make check +} + +package() { + cd sbc + make DESTDIR="$pkgdir" install +} diff --git a/main/sbc/README b/main/sbc/README new file mode 100644 index 00000000..e9a1e8a3 --- /dev/null +++ b/main/sbc/README @@ -0,0 +1,43 @@ +sbc +________________________________________________________________________________ + +Bluetooth Subband Codec (SBC) library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sbc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/bluetooth/sbc.git diff --git a/main/sbc/version b/main/sbc/version new file mode 100644 index 00000000..8c676773 --- /dev/null +++ b/main/sbc/version @@ -0,0 +1 @@ +2.0 1 diff --git a/main/screen/PKGBUILD b/main/screen/PKGBUILD new file mode 100644 index 00000000..bc2bb7a6 --- /dev/null +++ b/main/screen/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Developer +# Maintainer: Developer +# Committer: dorphell + +pkgname=screen +pkgver=%version% +pkgrel=%release% +pkgdesc='Full-screen window manager that multiplexes a physical terminal' +url='https://www.gnu.org/software/screen/' +arch=('x86_64') +license=('GPL') +depends=('ncurses' 'pam') +source=("https://ftp.gnu.org/gnu/screen/screen-${pkgver}.tar.gz" + 'tmpfiles.d' + 'pam.d') +sha256sums=('26cef3e3c42571c0d484ad6faf110c5c15091fbf872b06fa7aa4766c7405ac69' + '1f33ce4faca7bd05dd80403411af31e682d5d23e79558e884ae5a35f1dd96223' + '971c25929ea97422c09e10679ab98e9e6c59295aae1a4a9970909d2206e23090') + +backup=('etc/screenrc' 'etc/pam.d/screen') +options=('!makeflags') + +_ptygroup=5 #the UID of our PTY/TTY group + +prepare() { + cd ${pkgname}-${pkgver} + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd ${pkgname}-${pkgver} + + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-colors256 \ + --enable-pam \ + --enable-rxvt_osc \ + --enable-telnet \ + --with-pty-group=$_ptygroup \ + --with-socket-dir=/run/screens \ + --with-sys-screenrc=/etc/screenrc \ + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/screen + install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/screen.conf + + install -Dm644 etc/etcscreenrc "${pkgdir}"/etc/screenrc + install -Dm644 etc/screenrc "${pkgdir}"/etc/skel/.screenrc +} diff --git a/main/screen/README b/main/screen/README new file mode 100644 index 00000000..b5fe97a3 --- /dev/null +++ b/main/screen/README @@ -0,0 +1,43 @@ +screen +________________________________________________________________________________ + +Full-screen window manager that multiplexes a physical terminal + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S screen | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/screen/ diff --git a/main/screen/pam.d b/main/screen/pam.d new file mode 100644 index 00000000..07c42adb --- /dev/null +++ b/main/screen/pam.d @@ -0,0 +1 @@ +auth required pam_unix.so diff --git a/main/screen/tmpfiles.d b/main/screen/tmpfiles.d new file mode 100644 index 00000000..22738285 --- /dev/null +++ b/main/screen/tmpfiles.d @@ -0,0 +1 @@ +d /run/screens 0755 root root - diff --git a/main/screen/version b/main/screen/version new file mode 100644 index 00000000..e290efec --- /dev/null +++ b/main/screen/version @@ -0,0 +1 @@ +4.9.1 1 diff --git a/main/sddm-kcm/.PKGINFO b/main/sddm-kcm/.PKGINFO new file mode 100644 index 00000000..e8000eba --- /dev/null +++ b/main/sddm-kcm/.PKGINFO @@ -0,0 +1,33 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = sddm-kcm +pkgbase = sddm-kcm +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE Config Module for SDDM +url = https://kde.org/plasma-desktop/ +builddate = 1713663771 +packager = Developer +size = 522853 +arch = x86_64 +license = GPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = karchive +depend = kauth +depend = kcmutils +depend = kconfig +depend = kcoreaddons +depend = ki18n +depend = kio +depend = kirigami +depend = knewstuff +depend = kservice +depend = kwidgetsaddons +depend = qt6-5compat +depend = qt6-base +depend = qt6-declarative +depend = sddm +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/sddm-kcm/PKGBUILD b/main/sddm-kcm/PKGBUILD new file mode 100644 index 00000000..de797437 --- /dev/null +++ b/main/sddm-kcm/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sddm-kcm +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE Config Module for SDDM' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glibc + karchive + kauth + kcmutils + kconfig + kcoreaddons + ki18n + kio + kirigami + knewstuff + kservice + kwidgetsaddons + qt6-5compat + qt6-base + qt6-declarative + sddm) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('faa75e0f5afe1e290f00c696fbf76e4aa71188e351bf844547043e062600986e' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/sddm-kcm/README b/main/sddm-kcm/README new file mode 100644 index 00000000..95f557bb --- /dev/null +++ b/main/sddm-kcm/README @@ -0,0 +1,43 @@ +sddm-kcm +________________________________________________________________________________ + +KDE Config Module for SDDM + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sddm-kcm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/sddm-kcm/version b/main/sddm-kcm/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/sddm-kcm/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/sdl2/.PKGINFO b/main/sdl2/.PKGINFO new file mode 100644 index 00000000..9d0e114b --- /dev/null +++ b/main/sdl2/.PKGINFO @@ -0,0 +1,42 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = sdl2 +pkgbase = sdl2 +xdata = pkgtype=pkg +pkgver = 2.30.3-1 +pkgdesc = A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2) +url = https://www.libsdl.org +builddate = 1715045456 +packager = Developer +size = 4625414 +arch = x86_64 +license = MIT +depend = glibc +depend = libxext +depend = libxrender +depend = libx11 +depend = libgl +depend = libxcursor +depend = hidapi +depend = libusb +optdepend = alsa-lib: ALSA audio driver +optdepend = libpulse: PulseAudio audio driver +optdepend = jack: JACK audio driver +optdepend = pipewire: PipeWire audio driver +optdepend = libdecor: Wayland client decorations +makedepend = alsa-lib +makedepend = mesa +makedepend = libpulse +makedepend = libxrandr +makedepend = libxinerama +makedepend = wayland +makedepend = libxkbcommon +makedepend = wayland-protocols +makedepend = ibus +makedepend = fcitx5 +makedepend = libxss +makedepend = cmake +makedepend = jack +makedepend = ninja +makedepend = pipewire +makedepend = libdecor diff --git a/main/sdl2/PKGBUILD b/main/sdl2/PKGBUILD new file mode 100644 index 00000000..086cc76e --- /dev/null +++ b/main/sdl2/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=sdl2 +pkgver=%version% +pkgrel=%release% +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)" +arch=('x86_64') +url="https://www.libsdl.org" +license=('MIT') +depends=('glibc' 'libxext' 'libxrender' 'libx11' 'libgl' 'libxcursor' 'hidapi' 'libusb') +makedepends=('alsa-lib' 'mesa' 'libpulse' 'libxrandr' 'libxinerama' 'wayland' 'libxkbcommon' + 'wayland-protocols' 'ibus' 'fcitx5' 'libxss' 'cmake' 'jack' 'ninja' 'pipewire' + 'libdecor') +optdepends=('alsa-lib: ALSA audio driver' + 'libpulse: PulseAudio audio driver' + 'jack: JACK audio driver' + 'pipewire: PipeWire audio driver' + 'libdecor: Wayland client decorations') +source=("https://github.com/libsdl-org/SDL/releases/download/release-${pkgver}/SDL2-${pkgver}.tar.gz"{,.sig}) +sha512sums=('19316bb4c483a8c4be2140b70d906b7767beabada481873217a9207bd41e79c1854a837e1394325f59795da010f5344f791a7973a846b8189e3f9b662f408aca' + 'SKIP') +validpgpkeys=('1528635D8053A57F77D1E08630A59377A7763BE6') # Sam Lantinga + +build() { + CFLAGS+=" -ffat-lto-objects" + cmake -S SDL2-${pkgver} -B build -G Ninja \ + -D SDL_HIDAPI_LIBUSB=ON \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D SDL_STATIC=OFF \ + -D SDL_RPATH=OFF + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build + + # For some reason, this isn't named correctly and we have to fix it to reflect the actual staticlib name. + sed -i "s/libSDL2\.a/libSDL2main.a/g" "$pkgdir"/usr/lib/cmake/SDL2/SDL2Targets-noconfig.cmake + + install -Dm644 SDL2-${pkgver}/LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/sdl2/README b/main/sdl2/README new file mode 100644 index 00000000..18c37540 --- /dev/null +++ b/main/sdl2/README @@ -0,0 +1,43 @@ +sdl2 +________________________________________________________________________________ + +A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sdl2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.libsdl.org diff --git a/main/sdl2/version b/main/sdl2/version new file mode 100644 index 00000000..1bd6e9c4 --- /dev/null +++ b/main/sdl2/version @@ -0,0 +1 @@ +2.30.3 1 diff --git a/main/sdparm/PKGBUILD b/main/sdparm/PKGBUILD new file mode 100644 index 00000000..36cce7ab --- /dev/null +++ b/main/sdparm/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sdparm +pkgver=%version% +pkgrel=%release% +pkgdesc="An utility similar to hdparm but for SCSI devices" +arch=('x86_64') +url="http://sg.danny.cz/sg/sdparm.html" +license=('BSD') +depends=('glibc' 'bash') +source=(http://sg.danny.cz/sg/p/${pkgname}-${pkgver}.tar.xz) +sha512sums=('37d562271bd9aba34cce3b74f4bcdbe2fcad52e37399fbfb5b457c0e38e04f9376f97547b930643ec870998d82a08ac6a9c93c94b217fcc4c059adda5315fca5') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/main/sdparm/README b/main/sdparm/README new file mode 100644 index 00000000..a4cbebe3 --- /dev/null +++ b/main/sdparm/README @@ -0,0 +1,43 @@ +sdparm +________________________________________________________________________________ + +An utility similar to hdparm but for SCSI devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sdparm | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://sg.danny.cz/sg/sdparm.html diff --git a/main/sdparm/version b/main/sdparm/version new file mode 100644 index 00000000..44724bd8 --- /dev/null +++ b/main/sdparm/version @@ -0,0 +1 @@ +1.12 1 diff --git a/main/sed/PKGBUILD b/main/sed/PKGBUILD new file mode 100644 index 00000000..84a09bdf --- /dev/null +++ b/main/sed/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sed +pkgver=%version% +pkgrel=%release% +pkgdesc='GNU stream editor' +arch=('x86_64') +url='https://www.gnu.org/software/sed/' +license=('GPL3') +depends=('glibc' 'acl') +makedepends=('gettext') +source=("https://ftp.gnu.org/pub/gnu/sed/$pkgname-$pkgver.tar.xz"{,.sig}) +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') #Jim Meyering +sha256sums=('6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/sed/README b/main/sed/README new file mode 100644 index 00000000..8d12a05b --- /dev/null +++ b/main/sed/README @@ -0,0 +1,43 @@ +sed +________________________________________________________________________________ + +GNU stream editor + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sed | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/sed/ diff --git a/main/sed/version b/main/sed/version new file mode 100644 index 00000000..3609f4ce --- /dev/null +++ b/main/sed/version @@ -0,0 +1 @@ +4.9 3 diff --git a/main/sequoia-sq/.PKGINFO b/main/sequoia-sq/.PKGINFO new file mode 100644 index 00000000..42e018c6 --- /dev/null +++ b/main/sequoia-sq/.PKGINFO @@ -0,0 +1,29 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = sequoia-sq +pkgbase = sequoia-sq +xdata = pkgtype=pkg +pkgver = 0.36.0-1 +pkgdesc = Command-line frontends for Sequoia +url = https://sequoia-pgp.org/ +builddate = 1718491929 +packager = Developer +size = 20363443 +arch = x86_64 +license = LGPL-2.0-or-later +replaces = sequoia +group = sequoia +depend = bzip2 +depend = libbz2.so=1.0-64 +depend = gcc-libs +depend = glibc +depend = gmp +depend = nettle +depend = libnettle.so=8-64 +depend = libhogweed.so=6-64 +depend = openssl +depend = sqlite +makedepend = capnproto +makedepend = cargo +makedepend = clang +makedepend = git diff --git a/main/sequoia-sq/.nvchecker.toml b/main/sequoia-sq/.nvchecker.toml new file mode 100644 index 00000000..113d1e27 --- /dev/null +++ b/main/sequoia-sq/.nvchecker.toml @@ -0,0 +1,4 @@ +[sequoia-sq] +source = "git" +git = "https://gitlab.com/sequoia-pgp/sequoia-sq" +prefix = "v" diff --git a/main/sequoia-sq/PKGBUILD b/main/sequoia-sq/PKGBUILD new file mode 100644 index 00000000..be65377d --- /dev/null +++ b/main/sequoia-sq/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sequoia-sq +pkgver=%version% +_commit=1dd63bece8dea0072f736d5b2db5dd92320d4ef1 # refs/tags/v0.34.0 +pkgrel=%release% +pkgdesc='Command-line frontends for Sequoia' +url='https://sequoia-pgp.org/' +arch=('x86_64') +license=('LGPL-2.0-or-later') +groups=('sequoia') +replaces=('sequoia') +depends=( + 'bzip2' 'libbz2.so' + 'gcc-libs' + 'glibc' + 'gmp' + 'nettle' 'libnettle.so' 'libhogweed.so' + 'openssl' + 'sqlite' +) +makedepends=( + 'capnproto' + 'cargo' + 'clang' + 'git' +) +options=('!lto') +source=("git+https://gitlab.com/sequoia-pgp/sequoia-sq.git#tag=$_commit?signed") +sha512sums=('SKIP') +validpgpkeys=( + D2F2C5D45BE9FDE6A4EE0AAF31855247603831FD # Justus Winter (Code Signing Key) + 8F17777118A33DDA9BA48E62AACB3243630052D9 # Neal H. Walfield +) + +pkgver() { + cd $pkgname + git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' +} + +prepare() { + cd $pkgname + export RUSTUP_TOOLCHAIN=stable + cargo fetch --locked --target "$CARCH-unknown-linux-gnu" +} + +build() { + cd $pkgname + export CARGO_TARGET_DIR=../target + export RUSTUP_TOOLCHAIN=stable + export ASSET_OUT_DIR=../target + # NOTE: we select specific (default) features, as there are multiple crypto backends + cargo build --release --frozen --features 'default' +} + +check() { + cd $pkgname + # NOTE: we use a different target dir, as otherwise cargo test --release alters the sq binary + # https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/96 + export CARGO_TARGET_DIR=../target-test + export RUSTUP_TOOLCHAIN=stable + cargo test --release --frozen --features 'default' +} + +package() { + install -vDm 755 target/release/sq -t "${pkgdir}/usr/bin" + + install -vDm 644 target/shell-completions/sq.bash "${pkgdir}/usr/share/bash-completion/completions/sq" + install -vDm 644 target/shell-completions/_sq -t "${pkgdir}/usr/share/zsh/site-functions" + install -vDm 644 target/shell-completions/sq.fish -t "${pkgdir}/usr/share/fish/vendor_completions.d" + install -vDm 644 target/man-pages/*.1 -t "${pkgdir}/usr/share/man/man1/" +} + +# vim: ts=2 sw=2 et: diff --git a/main/sequoia-sq/README b/main/sequoia-sq/README new file mode 100644 index 00000000..b4757418 --- /dev/null +++ b/main/sequoia-sq/README @@ -0,0 +1,43 @@ +sequoia-sq +________________________________________________________________________________ + +Command-line frontends for Sequoia + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sequoia-sq | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sequoia-pgp.org/ diff --git a/main/sequoia-sq/version b/main/sequoia-sq/version new file mode 100644 index 00000000..a8833f1b --- /dev/null +++ b/main/sequoia-sq/version @@ -0,0 +1 @@ +0.36.0 1 diff --git a/main/serd/PKGBUILD b/main/serd/PKGBUILD new file mode 100644 index 00000000..0f859758 --- /dev/null +++ b/main/serd/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=serd +pkgname=(serd serd-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="Lightweight C library for RDF syntax supporting reading/ writing Turtle and NTriples" +arch=(x86_64) +url="https://drobilla.net/software/serd.html" +license=( + '0BSD OR ISC' + BSD-3-Clause + ISC +) +makedepends=( + doxygen + mandoc + meson + python-sphinx + python-sphinxygen +) +source=(https://download.drobilla.net/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('052f0765a9af6883a7ef1a31bd90eea3c57d93747dfb989eeda8c4dabbf2ae7d2e868d437aa2a510243f3a535e366739fe266cf82ef0d280472868c87055d50a' + 'SKIP') +b2sums=('5b2ad72ddced2edcb948d75e795c95dccc50ad5be4bf3100c34ead4ec43944647c4f8ff419cda2b7a005b9b69dbd6fa9a0733b2810ad95a9051df3d4253ddfe9' + 'SKIP') +validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + arch-meson $pkgname-$pkgver build + meson compile -C build +} + +check() { + meson test -C build +} + +package_serd() { + depends=(glibc) + optdepends=('serd-docs: for developer documentation') + provides=(libserd-0.so) + + meson install -C build --destdir "$pkgdir" + install -vDm 644 $pkgbase-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/" + + ( + cd "$pkgdir" + _pick $pkgname-docs usr/share/doc + ) + + install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_serd-docs() { + pkgdesc+=" - documentation" + + mv -v $pkgname/* "$pkgdir" + mv -v "$pkgdir/usr/share/doc/"serd{-0,} + install -vDm 644 $pkgbase-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/serd/README b/main/serd/README new file mode 100644 index 00000000..83f1c681 --- /dev/null +++ b/main/serd/README @@ -0,0 +1,43 @@ +serd +________________________________________________________________________________ + +Lightweight C library for RDF syntax supporting reading/ writing Turtle and NTriples Lightweight C library for RDF syntax supporting reading/ writing Turtle and NTriples - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S serd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://drobilla.net/software/serd.html diff --git a/main/serd/version b/main/serd/version new file mode 100644 index 00000000..1bf4b602 --- /dev/null +++ b/main/serd/version @@ -0,0 +1 @@ +0.32.2 1 diff --git a/main/sg3_utils/PKGBUILD b/main/sg3_utils/PKGBUILD new file mode 100644 index 00000000..99005f66 --- /dev/null +++ b/main/sg3_utils/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sg3_utils +pkgver=%version% +pkgrel=%release% +pkgdesc="Generic SCSI utilities" +arch=(x86_64) +url="http://sg.danny.cz/sg/sg3_utils.html" +license=('GPL' 'custom:BSD') +depends=('glibc') +source=(http://sg.danny.cz/sg/p/${pkgname}-${pkgver}.tar.xz) +sha512sums=('ef072b8f0012d0944e21d2134aff7125e24ea24d1cbbb1aa79160e844f9a60236f1e244437a3bc08a22a7e99f613adad4a05ae5cc3916ded5a72d162cd3aa163') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/main/sg3_utils/README b/main/sg3_utils/README new file mode 100644 index 00000000..7b1a8553 --- /dev/null +++ b/main/sg3_utils/README @@ -0,0 +1,43 @@ +sg3_utils +________________________________________________________________________________ + +Generic SCSI utilities + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sg3_utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://sg.danny.cz/sg/sg3_utils.html diff --git a/main/sg3_utils/version b/main/sg3_utils/version new file mode 100644 index 00000000..02688b9b --- /dev/null +++ b/main/sg3_utils/version @@ -0,0 +1 @@ +1.47 1 diff --git a/main/shaderc/.PKGINFO b/main/shaderc/.PKGINFO new file mode 100644 index 00000000..1850a404 --- /dev/null +++ b/main/shaderc/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = shaderc +pkgbase = shaderc +xdata = pkgtype=pkg +pkgver = 2024.0-1 +pkgdesc = Collection of tools, libraries and tests for shader compilation +url = https://github.com/google/shaderc +builddate = 1715045458 +packager = Developer +size = 697830 +arch = x86_64 +license = Apache-2.0 +provides = libshaderc_shared.so=1-64 +depend = glibc +depend = gcc-libs +depend = glslang +depend = spirv-tools +makedepend = asciidoctor +makedepend = cmake +makedepend = ninja +makedepend = python +makedepend = spirv-headers diff --git a/main/shaderc/PKGBUILD b/main/shaderc/PKGBUILD new file mode 100644 index 00000000..09fdbffe --- /dev/null +++ b/main/shaderc/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=shaderc +pkgver=%version% +pkgrel=%release% +pkgdesc='Collection of tools, libraries and tests for shader compilation' +url='https://github.com/google/shaderc' +arch=('x86_64') +license=('Apache') +depends=('glibc' 'gcc-libs' 'glslang' 'spirv-tools') +makedepends=('asciidoctor' 'cmake' 'ninja' 'python' 'spirv-headers') +provides=('libshaderc_shared.so') +source=(https://github.com/google/shaderc/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('2a5e59a2bb6c4b5462758d824747fee0edaf177dc64f30fe698fd2d2cc21cddab1a19ec2b2d63bd3d2e209330a13519f399395398379370b15daa39e6ee6b2bf') +b2sums=('334bda3bdff510ac97f97fa710e18ca9a2c807d1e71973aaf4493112dca3adb69c7a83c0590c65db3e6dffab82f500058162d3190e5822a01ea2d611db771857') + +prepare() { + cd ${pkgname}-${pkgver} + + # de-vendor libs and disable git versioning + sed '/examples/d;/third_party/d' -i CMakeLists.txt + sed '/build-version/d' -i glslc/CMakeLists.txt + cat <<- EOF > glslc/src/build-version.inc +"${pkgver}\\n" +"$(pacman -Q spirv-tools|cut -d \ -f 2|sed 's/-.*//')\\n" +"$(pacman -Q glslang|cut -d \ -f 2|sed 's/-.*//')\\n" +EOF +} + +build() { + cd ${pkgname}-${pkgver} + cmake \ + -B build \ + -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects" \ + -DSHADERC_SKIP_TESTS=ON \ + -DPYTHON_EXECUTABLE=python \ + -Dglslang_SOURCE_DIR=/usr/include/glslang + ninja -C build + + cd glslc + asciidoctor -b manpage README.asciidoc -o glslc.1 +} + +check() { + cd ${pkgname}-${pkgver} + ninja -C build test +} + +package() { + cd ${pkgname}-${pkgver} + DESTDIR="${pkgdir}" ninja -C build install + install -Dm 644 glslc/glslc.1 -t "${pkgdir}/usr/share/man/man1" + + # Remove unused shaderc_static.pc + rm "${pkgdir}/usr/lib/pkgconfig/shaderc_static.pc" +} + +# vim: ts=2 sw=2 et: diff --git a/main/shaderc/README b/main/shaderc/README new file mode 100644 index 00000000..49fde352 --- /dev/null +++ b/main/shaderc/README @@ -0,0 +1,43 @@ +shaderc +________________________________________________________________________________ + +Collection of tools, libraries and tests for shader compilation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S shaderc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/google/shaderc diff --git a/main/shaderc/version b/main/shaderc/version new file mode 100644 index 00000000..d5c71317 --- /dev/null +++ b/main/shaderc/version @@ -0,0 +1 @@ +2024.0 1 diff --git a/main/shadow/.nvchecker.toml b/main/shadow/.nvchecker.toml new file mode 100644 index 00000000..37da26ff --- /dev/null +++ b/main/shadow/.nvchecker.toml @@ -0,0 +1,5 @@ +[shadow] +source = "git" +git = "https://github.com/shadow-maint/shadow" +include_regex = "([\\d]+[.]+)()([\\d.]+)" +exclude_regex = ".*(dev|rc|RC|alpha|beta|bp).*" diff --git a/main/shadow/0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch b/main/shadow/0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch new file mode 100644 index 00000000..7bfcfe7f --- /dev/null +++ b/main/shadow/0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch @@ -0,0 +1,727 @@ +From fd7fac6b8488ddade1adbb18bdceeaf41a049e9f Mon Sep 17 00:00:00 2001 +From: David Runge +Date: Sat, 5 Nov 2022 23:40:18 +0100 +Subject: [PATCH 1/3] Disable replaced tools, their man pages and PAM + integration + +etc/pam.d/Makefile.am: +Disable installation of PAM integration for chfn, chsh and login tools +as they are provided by util-linux. + +man/Makefile.am, man/*/Makefile.am: +Disable man pages for chfn, chsh, login, logoutd, newgrp, nologin, vigr, +vipw and su as they are either no longer used or replaced by util-linux. + +src/Makefile.am: +Set usbindir to use bin instead of sbin, as Arch Linux is a /usr and bin +merge distribution. +Remove the use of login, nologin, chfn, chsh, logoutd, vipw and vigr, as +they are either not used or replaced by util-linux. +Move newgrp to replace sg (instead of it being a symlink). +--- + etc/pam.d/Makefile.am | 3 --- + man/Makefile.am | 20 +++----------------- + man/cs/Makefile.am | 8 ++------ + man/da/Makefile.am | 8 +------- + man/de/Makefile.am | 11 +---------- + man/fi/Makefile.am | 5 +---- + man/fr/Makefile.am | 11 +---------- + man/hu/Makefile.am | 6 +----- + man/id/Makefile.am | 2 -- + man/it/Makefile.am | 11 +---------- + man/ja/Makefile.am | 10 +--------- + man/ko/Makefile.am | 8 +------- + man/pl/Makefile.am | 7 +------ + man/ru/Makefile.am | 11 +---------- + man/sv/Makefile.am | 8 +------- + man/tr/Makefile.am | 3 --- + man/uk/Makefile.am | 11 +---------- + man/zh_CN/Makefile.am | 11 +---------- + man/zh_TW/Makefile.am | 4 ---- + src/Makefile.am | 18 +++++++----------- + 20 files changed, 25 insertions(+), 151 deletions(-) + +diff --git a/etc/pam.d/Makefile.am b/etc/pam.d/Makefile.am +index b8e4321f..73d4554f 100644 +--- a/etc/pam.d/Makefile.am ++++ b/etc/pam.d/Makefile.am +@@ -3,10 +3,7 @@ + + pamd_files = \ + chpasswd \ +- chfn \ +- chsh \ + groupmems \ +- login \ + newusers \ + passwd + +diff --git a/man/Makefile.am b/man/Makefile.am +index 83b1d688..e372a73f 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -8,10 +8,8 @@ endif + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -26,12 +24,9 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ ++ man8/lastlog.8 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -43,9 +38,7 @@ man_MANS = \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +@@ -77,10 +70,8 @@ endif + + man_XMANS = \ + chage.1.xml \ +- chfn.1.xml \ + chgpasswd.8.xml \ + chpasswd.8.xml \ +- chsh.1.xml \ + expiry.1.xml \ + faillog.5.xml \ + faillog.8.xml \ +@@ -94,12 +85,9 @@ man_XMANS = \ + grpck.8.xml \ + gshadow.5.xml \ + limits.5.xml \ +- login.1.xml \ + login.access.5.xml \ + login.defs.5.xml \ +- logoutd.8.xml \ + newgidmap.1.xml \ +- newgrp.1.xml \ + newuidmap.1.xml \ + newusers.8.xml \ + nologin.8.xml \ +@@ -111,14 +99,12 @@ man_XMANS = \ + shadow.3.xml \ + shadow.5.xml \ + sg.1.xml \ +- su.1.xml \ + suauth.5.xml \ + subgid.5.xml \ + subuid.5.xml \ + useradd.8.xml \ + userdel.8.xml \ +- usermod.8.xml \ +- vipw.8.xml ++ usermod.8.xml + + if ENABLE_LASTLOG + man_XMANS += lastlog.8.xml +diff --git a/man/cs/Makefile.am b/man/cs/Makefile.am +index 84407d71..c5ef7cf5 100644 +--- a/man/cs/Makefile.am ++++ b/man/cs/Makefile.am +@@ -12,11 +12,8 @@ man_MANS = \ + man1/groups.1 \ + man8/grpck.8 \ + man5/gshadow.5 \ +- man8/nologin.8 \ + man5/passwd.5 \ +- man5/shadow.5 \ +- man1/su.1 \ +- man8/vipw.8 ++ man5/shadow.5 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +@@ -24,6 +21,5 @@ endif + + EXTRA_DIST = $(man_MANS) \ + man1/id.1 \ +- man8/groupmems.8 \ +- man8/logoutd.8 ++ man8/groupmems.8 + +diff --git a/man/da/Makefile.am b/man/da/Makefile.am +index a3b09224..e45bef66 100644 +--- a/man/da/Makefile.am ++++ b/man/da/Makefile.am +@@ -3,16 +3,10 @@ mandir = @mandir@/da + + # 2012.01.28 - activate manpages with more than 50% translated messages + man_MANS = \ +- man1/chfn.1 \ + man8/groupdel.8 \ + man1/groups.1 \ + man5/gshadow.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ +- man8/nologin.8 \ +- man1/sg.1 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man1/sg.1 + + man_nopam = + +diff --git a/man/de/Makefile.am b/man/de/Makefile.am +index 671432d3..333d5524 100644 +--- a/man/de/Makefile.am ++++ b/man/de/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/de + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/fi/Makefile.am b/man/fi/Makefile.am +index 26a1a848..f02b92f3 100644 +--- a/man/fi/Makefile.am ++++ b/man/fi/Makefile.am +@@ -1,10 +1,7 @@ + + mandir = @mandir@/fi + +-man_MANS = \ +- man1/chfn.1 \ +- man1/chsh.1 \ +- man1/su.1 ++man_MANS = + + # Outdated manpages + # passwd.1 (https://bugs.launchpad.net/ubuntu/+bug/384024) +diff --git a/man/fr/Makefile.am b/man/fr/Makefile.am +index 335e0298..9962c038 100644 +--- a/man/fr/Makefile.am ++++ b/man/fr/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/fr + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/hu/Makefile.am b/man/hu/Makefile.am +index 205bb0a8..3d813179 100644 +--- a/man/hu/Makefile.am ++++ b/man/hu/Makefile.am +@@ -2,15 +2,11 @@ + mandir = @mandir@/hu + + man_MANS = \ +- man1/chsh.1 \ + man1/gpasswd.1 \ + man1/groups.1 \ +- man1/login.1 \ +- man1/newgrp.1 \ + man1/passwd.1 \ + man5/passwd.5 \ +- man1/sg.1 \ +- man1/su.1 ++ man1/sg.1 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/id/Makefile.am b/man/id/Makefile.am +index 21f3dbe9..6d10b930 100644 +--- a/man/id/Makefile.am ++++ b/man/id/Makefile.am +@@ -2,8 +2,6 @@ + mandir = @mandir@/id + + man_MANS = \ +- man1/chsh.1 \ +- man1/login.1 \ + man8/useradd.8 + + EXTRA_DIST = $(man_MANS) +diff --git a/man/it/Makefile.am b/man/it/Makefile.am +index b76187fa..1f62e20e 100644 +--- a/man/it/Makefile.am ++++ b/man/it/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/it + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am +index 13f18da1..3401a085 100644 +--- a/man/ja/Makefile.am ++++ b/man/ja/Makefile.am +@@ -3,9 +3,7 @@ mandir = @mandir@/ja + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -17,10 +15,7 @@ man_MANS = \ + man8/grpck.8 \ + man8/grpconv.8 \ + man8/grpunconv.8 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ + man1/passwd.1 \ + man5/passwd.5 \ +@@ -29,13 +24,10 @@ man_MANS = \ + man8/pwunconv.8 \ + man1/sg.1 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/ko/Makefile.am b/man/ko/Makefile.am +index c269f0bb..9616cb3e 100644 +--- a/man/ko/Makefile.am ++++ b/man/ko/Makefile.am +@@ -2,14 +2,8 @@ + mandir = @mandir@/ko + + man_MANS = \ +- man1/chfn.1 \ +- man1/chsh.1 \ + man1/groups.1 \ +- man1/login.1 \ +- man5/passwd.5 \ +- man1/su.1 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man5/passwd.5 + # newgrp.1 must be updated + # newgrp.1 + +diff --git a/man/pl/Makefile.am b/man/pl/Makefile.am +index b2f096f7..00817d37 100644 +--- a/man/pl/Makefile.am ++++ b/man/pl/Makefile.am +@@ -4,7 +4,6 @@ mandir = @mandir@/pl + # 2012.01.28 - activate manpages with more than 50% translated messages + man_MANS = \ + man1/chage.1 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -15,14 +14,10 @@ man_MANS = \ + man8/groupmod.8 \ + man1/groups.1 \ + man8/grpck.8 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man1/sg.1 \ + man3/shadow.3 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/ru/Makefile.am b/man/ru/Makefile.am +index 84d55d9e..b65f4881 100644 +--- a/man/ru/Makefile.am ++++ b/man/ru/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/ru + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/sv/Makefile.am b/man/sv/Makefile.am +index 70329edf..58fa80e5 100644 +--- a/man/sv/Makefile.am ++++ b/man/sv/Makefile.am +@@ -3,7 +3,6 @@ mandir = @mandir@/sv + # 2012.01.28 - activate manpages with more than 50% translated messages + man_MANS = \ + man1/chage.1 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -15,18 +14,13 @@ man_MANS = \ + man1/groups.1 \ + man8/grpck.8 \ + man5/gshadow.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ + man1/sg.1 \ + man3/shadow.3 \ + man5/suauth.5 \ +- man8/userdel.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/userdel.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/tr/Makefile.am b/man/tr/Makefile.am +index 8d8b9166..4fe3632a 100644 +--- a/man/tr/Makefile.am ++++ b/man/tr/Makefile.am +@@ -2,15 +2,12 @@ mandir = @mandir@/tr + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/groupadd.8 \ + man8/groupdel.8 \ + man8/groupmod.8 \ +- man1/login.1 \ + man1/passwd.1 \ + man5/passwd.5 \ + man5/shadow.5 \ +- man1/su.1 \ + man8/useradd.8 \ + man8/userdel.8 \ + man8/usermod.8 +diff --git a/man/uk/Makefile.am b/man/uk/Makefile.am +index 3fb5ffb3..e13c8fee 100644 +--- a/man/uk/Makefile.am ++++ b/man/uk/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/uk + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/zh_CN/Makefile.am b/man/zh_CN/Makefile.am +index a8b93a56..42ad764d 100644 +--- a/man/zh_CN/Makefile.am ++++ b/man/zh_CN/Makefile.am +@@ -3,10 +3,8 @@ mandir = @mandir@/zh_CN + + man_MANS = \ + man1/chage.1 \ +- man1/chfn.1 \ + man8/chgpasswd.8 \ + man8/chpasswd.8 \ +- man1/chsh.1 \ + man1/expiry.1 \ + man5/faillog.5 \ + man8/faillog.8 \ +@@ -21,12 +19,8 @@ man_MANS = \ + man8/grpconv.8 \ + man8/grpunconv.8 \ + man5/gshadow.5 \ +- man1/login.1 \ + man5/login.defs.5 \ +- man8/logoutd.8 \ +- man1/newgrp.1 \ + man8/newusers.8 \ +- man8/nologin.8 \ + man1/passwd.1 \ + man5/passwd.5 \ + man8/pwck.8 \ +@@ -35,13 +29,10 @@ man_MANS = \ + man1/sg.1 \ + man3/shadow.3 \ + man5/shadow.5 \ +- man1/su.1 \ + man5/suauth.5 \ + man8/useradd.8 \ + man8/userdel.8 \ +- man8/usermod.8 \ +- man8/vigr.8 \ +- man8/vipw.8 ++ man8/usermod.8 + + if ENABLE_LASTLOG + man_MANS += man8/lastlog.8 +diff --git a/man/zh_TW/Makefile.am b/man/zh_TW/Makefile.am +index c36ed2c7..26696b67 100644 +--- a/man/zh_TW/Makefile.am ++++ b/man/zh_TW/Makefile.am +@@ -2,15 +2,11 @@ + mandir = @mandir@/zh_TW + + man_MANS = \ +- man1/chfn.1 \ +- man1/chsh.1 \ + man8/chpasswd.8 \ +- man1/newgrp.1 \ + man8/groupadd.8 \ + man8/groupdel.8 \ + man8/groupmod.8 \ + man5/passwd.5 \ +- man1/su.1 \ + man8/useradd.8 \ + man8/userdel.8 \ + man8/usermod.8 +diff --git a/src/Makefile.am b/src/Makefile.am +index b6cb09ef..bfe73b09 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -3,7 +3,7 @@ EXTRA_DIST = \ + .indent.pro + + ubindir = ${prefix}/bin +-usbindir = ${prefix}/sbin ++usbindir = ${prefix}/bin + suidperms = 4755 + sgidperms = 2755 + +@@ -26,9 +26,9 @@ AM_CFLAGS = $(LIBBSD_CFLAGS) + # and installation would be much simpler (just two directories, + # $prefix/bin and $prefix/sbin, no install-data hacks...) + +-bin_PROGRAMS = groups login +-sbin_PROGRAMS = nologin +-ubin_PROGRAMS = faillog chage chfn chsh expiry gpasswd newgrp passwd ++bin_PROGRAMS = groups ++sbin_PROGRAMS = ++ubin_PROGRAMS = faillog lastlog chage expiry gpasswd newgrp passwd + if ENABLE_SUBIDS + ubin_PROGRAMS += newgidmap newuidmap + endif +@@ -48,22 +48,20 @@ usbin_PROGRAMS = \ + grpck \ + grpconv \ + grpunconv \ +- logoutd \ + newusers \ + pwck \ + pwconv \ + pwunconv \ + useradd \ + userdel \ +- usermod \ +- vipw ++ usermod + + # id and groups are from gnu, sulogin from sysvinit + noinst_PROGRAMS = id sulogin + + suidusbins = + suidbins = +-suidubins = chage chfn chsh expiry gpasswd newgrp ++suidubins = chage expiry gpasswd newgrp + if WITH_SU + suidbins += su + endif +@@ -135,18 +133,16 @@ sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) + useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl + userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl + usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl +-vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) + + install-am: all-am + $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +- ln -sf newgrp $(DESTDIR)$(ubindir)/sg +- ln -sf vipw $(DESTDIR)$(usbindir)/vigr + set -e; for i in $(suidbins); do \ + chmod $(suidperms) $(DESTDIR)$(bindir)/$$i; \ + done + set -e; for i in $(suidubins); do \ + chmod $(suidperms) $(DESTDIR)$(ubindir)/$$i; \ + done ++ mv -v $(DESTDIR)$(ubindir)/newgrp $(DESTDIR)$(ubindir)/sg + set -e; for i in $(suidusbins); do \ + chmod $(suidperms) $(DESTDIR)$(usbindir)/$$i; \ + done +-- +2.44.0 + diff --git a/main/shadow/0002-Adapt-login.defs-for-PAM-and-util-linux.patch b/main/shadow/0002-Adapt-login.defs-for-PAM-and-util-linux.patch new file mode 100644 index 00000000..8cd6e68a --- /dev/null +++ b/main/shadow/0002-Adapt-login.defs-for-PAM-and-util-linux.patch @@ -0,0 +1,699 @@ +From 51121d5484938ec0e939deebf216f94402bf0552 Mon Sep 17 00:00:00 2001 +From: David Runge +Date: Mon, 31 Oct 2022 09:45:13 +0100 +Subject: [PATCH 2/3] Adapt login.defs for PAM and util-linux + +etc/login.defs: +Remove unused login.defs options, that are either irrelevant due to the +use of PAM or because the util-linux version of a binary does not +support them. +Modify all options that are ignored when using PAM, but are supported by +util-linux. + +Removed options because they are part of PAMDEFS (options in PAMDEFS are +options silently ignored by shadow when built with PAM enabled): +* CHFN_AUTH +* CRACKLIB_DICTPATH +* ENV_HZ +* ENVIRON_FILE +* ENV_TZ +* FAILLOG_ENAB +* FTMP_FILE +* ISSUE_FILE +* LASTLOG_ENAB +* LOGIN_STRING +* MAIL_CHECK_ENAB +* NOLOGINS_FILE +* OBSCURE_CHECKS_ENAB +* PASS_ALWAYS_WARN +* PASS_CHANGE_TRIES +* PASS_MAX_LEN +* PASS_MIN_LEN +* PORTTIME_CHECKS_ENAB +* QUOTAS_ENAB +* SU_WHEEL_ONLY +* SYSLOG_SU_ENAB +* ULIMIT + +Removed options because they are not availablbe with PAM enabled: +* BCRYPT_MIN_ROUNDS +* BCRYPT_MAX_ROUNDS +* CONSOLE_GROUPS +* CONSOLE +* MD5_CRYPT_ENAB +* PREVENT_NO_AUTH + +Removed encryption methods (`ENCRYPT_METHOD`), because they are unsafe +or not available with PAM: +* BCRYPT +* MD5 + +Removed options because they are not supported by login from util-linux: +* ERASECHAR +* KILLCHAR +* LOG_OK_LOGINS +* TTYTYPE_FILE + +Removed options because they are not supported by su from util-linux: +* SULOG_FILE +* SU_NAME + +Adapted options because they are in PAMDEFS but are supported by login +from util-linux: +* MOTD_FILE + +man/login.defs.5.xml: +Remove unavailable options from man 5 login.defs. +--- + etc/login.defs | 223 +------------------------------------------ + man/login.defs.5.xml | 148 +--------------------------- + 2 files changed, 8 insertions(+), 363 deletions(-) + +diff --git a/etc/login.defs b/etc/login.defs +index 33622c29..797ca6b3 100644 +--- a/etc/login.defs ++++ b/etc/login.defs +@@ -3,6 +3,8 @@ + # + # $Id$ + # ++# NOTE: This file is adapted for the use on Arch Linux! ++# Unsupported options due to the use of util-linux or PAM are removed. + + # + # Delay in seconds before being allowed another attempt after a login failure +@@ -11,26 +13,11 @@ + # + FAIL_DELAY 3 + +-# +-# Enable logging and display of /var/log/faillog login(1) failure info. +-# +-FAILLOG_ENAB yes +- + # + # Enable display of unknown usernames when login(1) failures are recorded. + # + LOG_UNKFAIL_ENAB no + +-# +-# Enable logging of successful logins +-# +-LOG_OK_LOGINS no +- +-# +-# Enable logging and display of /var/log/lastlog login(1) time info. +-# +-LASTLOG_ENAB yes +- + # + # Limit the highest user ID number for which the lastlog entries should + # be updated. +@@ -40,88 +27,13 @@ LASTLOG_ENAB yes + # + #LASTLOG_UID_MAX + +-# +-# Enable checking and display of mailbox status upon login. +-# +-# Disable if the shell startup files already check for mail +-# ("mailx -e" or equivalent). +-# +-MAIL_CHECK_ENAB yes +- +-# +-# Enable additional checks upon password changes. +-# +-OBSCURE_CHECKS_ENAB yes +- +-# +-# Enable checking of time restrictions specified in /etc/porttime. +-# +-PORTTIME_CHECKS_ENAB yes +- +-# +-# Enable setting of ulimit, umask, and niceness from passwd(5) gecos field. +-# +-QUOTAS_ENAB yes +- +-# +-# Enable "syslog" logging of su(1) activity - in addition to sulog file logging. +-# SYSLOG_SG_ENAB does the same for newgrp(1) and sg(1). +-# +-SYSLOG_SU_ENAB yes +-SYSLOG_SG_ENAB yes +- +-# +-# If defined, either full pathname of a file containing device names or +-# a ":" delimited list of device names. Root logins will be allowed only +-# from these devices. +-# +-CONSOLE /etc/securetty +-#CONSOLE console:tty01:tty02:tty03:tty04 +- +-# +-# If defined, all su(1) activity is logged to this file. +-# +-#SULOG_FILE /var/log/sulog +- + # + # If defined, ":" delimited list of "message of the day" files to + # be displayed upon login. + # +-MOTD_FILE /etc/motd ++MOTD_FILE + #MOTD_FILE /etc/motd:/usr/lib/news/news-motd + +-# +-# If defined, this file will be output before each login(1) prompt. +-# +-#ISSUE_FILE /etc/issue +- +-# +-# If defined, file which maps tty line to TERM environment parameter. +-# Each line of the file is in a format similar to "vt100 tty01". +-# +-#TTYTYPE_FILE /etc/ttytype +- +-# +-# If defined, login(1) failures will be logged here in a utmp format. +-# last(1), when invoked as lastb(1), will read /var/log/btmp, so... +-# +-FTMP_FILE /var/log/btmp +- +-# +-# If defined, name of file whose presence will inhibit non-root +-# logins. The content of this file should be a message indicating +-# why logins are inhibited. +-# +-NOLOGINS_FILE /etc/nologin +- +-# +-# If defined, the command name to display when running "su -". For +-# example, if this is defined as "su" then ps(1) will display the +-# command as "-su". If not defined, then ps(1) will display the +-# name of the shell actually being run, e.g. something like "-sh". +-# +-SU_NAME su +- + # + # *REQUIRED* + # Directory where mailboxes reside, _or_ name of file, relative to the +@@ -139,21 +51,6 @@ MAIL_DIR /var/spool/mail + HUSHLOGIN_FILE .hushlogin + #HUSHLOGIN_FILE /etc/hushlogins + +-# +-# If defined, either a TZ environment parameter spec or the +-# fully-rooted pathname of a file containing such a spec. +-# +-#ENV_TZ TZ=CST6CDT +-#ENV_TZ /etc/tzname +- +-# +-# If defined, an HZ environment parameter spec. +-# +-# for Linux/x86 +-ENV_HZ HZ=100 +-# For Linux/Alpha... +-#ENV_HZ HZ=1024 +- + # + # *REQUIRED* The default PATH settings, for superuser and normal users. + # +@@ -175,23 +72,6 @@ ENV_PATH PATH=/bin:/usr/bin + TTYGROUP tty + TTYPERM 0600 + +-# +-# Login configuration initializations: +-# +-# ERASECHAR Terminal ERASE character ('\010' = backspace). +-# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +-# ULIMIT Default "ulimit" value. +-# +-# The ERASECHAR and KILLCHAR are used only on System V machines. +-# The ULIMIT is used only if the system supports it. +-# (now it works with setrlimit too; ulimit is in 512-byte units) +-# +-# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +-# +-ERASECHAR 0177 +-KILLCHAR 025 +-#ULIMIT 2097152 +- + # Default initial "umask" value used by login(1) on non-PAM enabled systems. + # Default "umask" value for pam_umask(8) on PAM enabled systems. + # UMASK is also used by useradd(8) and newusers(8) to set the mode for new +@@ -211,22 +91,12 @@ UMASK 022 + # + # PASS_MAX_DAYS Maximum number of days a password may be used. + # PASS_MIN_DAYS Minimum number of days allowed between password changes. +-# PASS_MIN_LEN Minimum acceptable password length. + # PASS_WARN_AGE Number of days warning given before a password expires. + # + PASS_MAX_DAYS 99999 + PASS_MIN_DAYS 0 +-PASS_MIN_LEN 5 + PASS_WARN_AGE 7 + +-# +-# If "yes", the user must be listed as a member of the first gid 0 group +-# in /etc/group (called "root" on most Linux systems) to be able to "su" +-# to uid 0 accounts. If the group doesn't exist or is empty, no one +-# will be able to "su" to uid 0. +-# +-SU_WHEEL_ONLY no +- + # + # Min/max values for automatic uid selection in useradd(8) + # +@@ -263,28 +133,6 @@ LOGIN_RETRIES 5 + # + LOGIN_TIMEOUT 60 + +-# +-# Maximum number of attempts to change password if rejected (too easy) +-# +-PASS_CHANGE_TRIES 5 +- +-# +-# Warn about weak passwords (but still allow them) if you are root. +-# +-PASS_ALWAYS_WARN yes +- +-# +-# Number of significant characters in the password for crypt(). +-# Default is 8, don't change unless your crypt() is better. +-# Ignored if MD5_CRYPT_ENAB set to "yes". +-# +-#PASS_MAX_LEN 8 +- +-# +-# Require password before chfn(1)/chsh(1) can make any changes. +-# +-CHFN_AUTH yes +- + # + # Which fields may be changed by regular users using chfn(1) - use + # any combination of letters "frwh" (full name, room number, work +@@ -293,38 +141,13 @@ CHFN_AUTH yes + # + CHFN_RESTRICT rwh + +-# +-# Password prompt (%s will be replaced by user name). +-# +-# XXX - it doesn't work correctly yet, for now leave it commented out +-# to use the default which is just "Password: ". +-#LOGIN_STRING "%s's Password: " +- +-# +-# Only works if compiled with MD5_CRYPT defined: +-# If set to "yes", new passwords will be encrypted using the MD5-based +-# algorithm compatible with the one used by recent releases of FreeBSD. +-# It supports passwords of unlimited length and longer salt strings. +-# Set to "no" if you need to copy encrypted passwords to other systems +-# which don't understand the new algorithm. Default is "no". +-# +-# Note: If you use PAM, it is recommended to use a value consistent with +-# the PAM modules configuration. +-# +-# This variable is deprecated. You should use ENCRYPT_METHOD instead. +-# +-#MD5_CRYPT_ENAB no +- + # + # Only works if compiled with ENCRYPTMETHOD_SELECT defined: +-# If set to MD5, MD5-based algorithm will be used for encrypting password + # If set to SHA256, SHA256-based algorithm will be used for encrypting password + # If set to SHA512, SHA512-based algorithm will be used for encrypting password +-# If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password + # If set to YESCRYPT, YESCRYPT-based algorithm will be used for encrypting password + # If set to DES, DES-based algorithm will be used for encrypting password (default) + # MD5 and DES should not be used for new hashes, see crypt(5) for recommendations. +-# Overrides the MD5_CRYPT_ENAB option + # + # Note: If you use PAM, it is recommended to use a value consistent with + # the PAM modules configuration. +@@ -348,21 +171,6 @@ CHFN_RESTRICT rwh + #SHA_CRYPT_MIN_ROUNDS 5000 + #SHA_CRYPT_MAX_ROUNDS 5000 + +-# +-# Only works if ENCRYPT_METHOD is set to BCRYPT. +-# +-# Define the number of BCRYPT rounds. +-# With a lot of rounds, it is more difficult to brute-force the password. +-# However, more CPU resources will be needed to authenticate users if +-# this value is increased. +-# +-# If not specified, 13 rounds will be attempted. +-# If only one of the MIN or MAX values is set, then this value will be used. +-# If MIN > MAX, the highest value will be used. +-# +-#BCRYPT_MIN_ROUNDS 13 +-#BCRYPT_MAX_ROUNDS 13 +- + # + # Only works if ENCRYPT_METHOD is set to YESCRYPT. + # +@@ -376,17 +184,6 @@ CHFN_RESTRICT rwh + # + #YESCRYPT_COST_FACTOR 5 + +-# +-# List of groups to add to the user's supplementary group set +-# when logging in from the console (as determined by the CONSOLE +-# setting). Default is none. +-# +-# Use with caution - it is possible for users to gain permanent +-# access to these groups, even when not logged in from the console. +-# How to do it is left as an exercise for the reader... +-# +-#CONSOLE_GROUPS floppy:audio:cdrom +- + # + # Should login be allowed if we can't cd to the home directory? + # Default is no. +@@ -401,12 +198,6 @@ DEFAULT_HOME yes + # + NONEXISTENT /nonexistent + +-# +-# If this file exists and is readable, login environment will be +-# read from it. Every line should be in the form name=value. +-# +-ENVIRON_FILE /etc/environment +- + # + # If defined, this command is run when removing a user. + # It should remove any at/cron/print jobs etc. owned by +@@ -454,14 +245,6 @@ USERGROUPS_ENAB yes + # + #GRANT_AUX_GROUP_SUBIDS yes + +-# +-# Prevents an empty password field to be interpreted as "no authentication +-# required". +-# Set to "yes" to prevent for all accounts +-# Set to "superuser" to prevent for UID 0 / root (default) +-# Set to "no" to not prevent for any account (dangerous, historical default) +-PREVENT_NO_AUTH superuser +- + # + # Select the HMAC cryptography algorithm. + # Used in pam_timestamp module to calculate the keyed-hash message +diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml +index 05ef5125..1ddf537e 100644 +--- a/man/login.defs.5.xml ++++ b/man/login.defs.5.xml +@@ -7,70 +7,38 @@ + --> + +- + +- +- +- + + + +- + + +- +- +- + +- +- +- + + + + +- +- +- + +- + + +- + +- + + +- + +- + +- +- +- +- + + + +- +- + +- +- +- + + + + +- + + + + +- + +- + + + +@@ -147,48 +115,25 @@ + The following configuration items are provided: + + +- &BCRYPT_MIN_ROUNDS; +- &CHFN_AUTH; + &CHFN_RESTRICT; +- &CHSH_AUTH; +- &CONSOLE; +- &CONSOLE_GROUPS; + &CREATE_HOME; + &DEFAULT_HOME; + &ENCRYPT_METHOD; +- &ENV_HZ; + &ENV_PATH; + &ENV_SUPATH; +- &ENV_TZ; +- &ENVIRON_FILE; +- &ERASECHAR; + &FAIL_DELAY; +- &FAILLOG_ENAB; +- &FAKE_SHELL; +- &FTMP_FILE; + &GID_MAX; + &HMAC_CRYPTO_ALGO; + &HOME_MODE; + &HUSHLOGIN_FILE; +- &ISSUE_FILE; +- &KILLCHAR; +- &LASTLOG_ENAB; + &LASTLOG_UID_MAX; +- &LOG_OK_LOGINS; + &LOG_UNKFAIL_ENAB; + &LOGIN_RETRIES; +- &LOGIN_STRING; + &LOGIN_TIMEOUT; +- &MAIL_CHECK_ENAB; + &MAIL_DIR; + &MAX_MEMBERS_PER_GROUP; +- &MD5_CRYPT_ENAB; + &MOTD_FILE; +- &NOLOGINS_FILE; + &NONEXISTENT; +- &OBSCURE_CHECKS_ENAB; +- &PASS_ALWAYS_WARN; +- &PASS_CHANGE_TRIES; + &PASS_MAX_DAYS; + &PASS_MIN_DAYS; + &PASS_WARN_AGE; +@@ -198,25 +143,16 @@ + time of account creation. Any changes to these settings won't affect + existing accounts. + +- &PASS_MAX_LEN; +- &PORTTIME_CHECKS_ENAB; +- "AS_ENAB; + &SHA_CRYPT_MIN_ROUNDS; +- &SULOG_FILE; +- &SU_NAME; +- &SU_WHEEL_ONLY; + &SUB_GID_COUNT; + &SUB_UID_COUNT; + &SYS_GID_MAX; + &SYS_UID_MAX; + &SYSLOG_SG_ENAB; +- &SYSLOG_SU_ENAB; + &TCB_AUTH_GROUP; + &TCB_SYMLINKS; + &TTYGROUP; +- &TTYTYPE_FILE; + &UID_MAX; +- &ULIMIT; + &UMASK; + &USERDEL_CMD; + &USERGROUPS_ENAB; +@@ -255,7 +191,7 @@ + + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS +- ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB ++ ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP + SHA_CRYPT_MAX_ROUNDS + SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR +@@ -280,7 +216,7 @@ + chsh + + +- CHSH_AUTH LOGIN_STRING ++ CHSH_AUTH + + + +@@ -292,7 +228,7 @@ + + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS +- ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB ++ ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP + SHA_CRYPT_MAX_ROUNDS + SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR +@@ -352,35 +288,6 @@ + LASTLOG_UID_MAX + + +- +- login +- +- +- CONSOLE +- CONSOLE_GROUPS DEFAULT_HOME +- ENV_HZ ENV_PATH ENV_SUPATH +- ENV_TZ ENVIRON_FILE +- ERASECHAR FAIL_DELAY +- FAILLOG_ENAB +- FAKE_SHELL +- FTMP_FILE +- HUSHLOGIN_FILE +- ISSUE_FILE +- KILLCHAR +- LASTLOG_ENAB LASTLOG_UID_MAX +- LOGIN_RETRIES +- LOGIN_STRING +- LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB +- MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE +- MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB +- QUOTAS_ENAB +- TTYGROUP TTYPERM TTYTYPE_FILE +- ULIMIT UMASK +- USERGROUPS_ENAB +- +- +- +- + + newgrp / sg + +@@ -397,7 +304,7 @@ + BCRYPT_MIN_ROUNDS + ENCRYPT_METHOD + GID_MAX GID_MIN +- MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB ++ MAX_MEMBERS_PER_GROUP + HOME_MODE + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + SHA_CRYPT_MAX_ROUNDS +@@ -417,8 +324,7 @@ + + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS +- ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB +- PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN ++ ENCRYPT_METHOD + SHA_CRYPT_MAX_ROUNDS + SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR +@@ -451,32 +357,6 @@ + + + +- +- su +- +- +- CONSOLE +- CONSOLE_GROUPS DEFAULT_HOME +- ENV_HZ ENVIRON_FILE +- ENV_PATH ENV_SUPATH +- ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB +- MAIL_DIR MAIL_FILE QUOTAS_ENAB +- SULOG_FILE SU_NAME +- SU_WHEEL_ONLY +- SYSLOG_SU_ENAB +- USERGROUPS_ENAB +- +- +- +- +- sulogin +- +- +- ENV_HZ +- ENV_TZ +- +- +- + + useradd + +@@ -505,24 +385,6 @@ + + + +- +- usermod +- +- +- LASTLOG_UID_MAX +- MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP +- TCB_SYMLINKS USE_TCB +- +- +- +- +- vipw +- +- +- USE_TCB +- +- +- + + + +-- +2.44.0 + diff --git a/main/shadow/0003-Add-Arch-Linux-defaults-for-login.defs.patch b/main/shadow/0003-Add-Arch-Linux-defaults-for-login.defs.patch new file mode 100644 index 00000000..a51c3477 --- /dev/null +++ b/main/shadow/0003-Add-Arch-Linux-defaults-for-login.defs.patch @@ -0,0 +1,73 @@ +From 3d08c402ec9ee72151c585de07b840a5dcb71c0b Mon Sep 17 00:00:00 2001 +From: David Runge +Date: Mon, 31 Oct 2022 10:10:22 +0100 +Subject: [PATCH 3/3] Add Arch Linux defaults for login.defs + +etc/login.defs: +- Change `ENV_SUPATH` and `ENV_SUPATH` to only use + /usr/local/sbin:/usr/local/bin:/usr/bin as Arch Linux is a /usr and + bin merge distribution. +- Set `HOME_MODE` to `0700` to be able to rely on a `UMASK` of `022` + while creating home directories in a privacy conserving manner. +- Change SYS_UID_MIN and SYS_GID_MIN to 500 which gives more space for + distribution added UIDs and GIDs of system users. +- Change ENCRYPT_METHOD to YESCRYPT as it is a safer hashing algorithm + than DES. +--- + etc/login.defs | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/etc/login.defs b/etc/login.defs +index 797ca6b3..c4accbf8 100644 +--- a/etc/login.defs ++++ b/etc/login.defs +@@ -55,8 +55,8 @@ HUSHLOGIN_FILE .hushlogin + # *REQUIRED* The default PATH settings, for superuser and normal users. + # + # (they are minimal, add the rest in the shell startup files) +-ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin +-ENV_PATH PATH=/bin:/usr/bin ++ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ENV_PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/bin + + # + # Terminal permissions +@@ -84,7 +84,7 @@ UMASK 022 + # HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new + # home directories. + # If HOME_MODE is not set, the value of UMASK is used to create the mode. +-#HOME_MODE 0700 ++HOME_MODE 0700 + + # + # Password aging controls: +@@ -103,7 +103,7 @@ PASS_WARN_AGE 7 + UID_MIN 1000 + UID_MAX 60000 + # System accounts +-SYS_UID_MIN 101 ++SYS_UID_MIN 500 + SYS_UID_MAX 999 + # Extra per user uids + SUB_UID_MIN 100000 +@@ -116,7 +116,7 @@ SUB_UID_COUNT 65536 + GID_MIN 1000 + GID_MAX 60000 + # System accounts +-SYS_GID_MIN 101 ++SYS_GID_MIN 500 + SYS_GID_MAX 999 + # Extra per user group ids + SUB_GID_MIN 100000 +@@ -152,7 +152,7 @@ CHFN_RESTRICT rwh + # Note: If you use PAM, it is recommended to use a value consistent with + # the PAM modules configuration. + # +-#ENCRYPT_METHOD DES ++ENCRYPT_METHOD YESCRYPT + + # + # Only works if ENCRYPT_METHOD is set to SHA256 or SHA512. +-- +2.44.0 + diff --git a/main/shadow/PKGBUILD b/main/shadow/PKGBUILD new file mode 100644 index 00000000..eadd02cf --- /dev/null +++ b/main/shadow/PKGBUILD @@ -0,0 +1,146 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=shadow +pkgver=%version% +pkgrel=%release% +pkgdesc="Password and account management tool suite with support for shadow files and PAM" +arch=(x86_64) +url="https://github.com/shadow-maint/shadow" +license=(BSD-3-Clause) +depends=( + glibc +) +makedepends=( + acl + attr + audit + docbook-xsl + itstool + libcap + libxcrypt + libxslt + pam +) +backup=( + etc/default/useradd + etc/login.defs + etc/pam.d/chpasswd + etc/pam.d/groupmems + etc/pam.d/newusers + etc/pam.d/passwd +) +options=(!emptydirs) +# NOTE: distribution patches are taken from https://gitlab.archlinux.org/archlinux/packaging/upstream/shadow/-/commits/4.15.1.arch1 +source=( + $url/releases/download/$pkgver/$pkgname-$pkgver.tar.xz{,.asc} + 0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch + 0002-Adapt-login.defs-for-PAM-and-util-linux.patch + 0003-Add-Arch-Linux-defaults-for-login.defs.patch + shadow.{timer,service} + shadow.{sysusers,tmpfiles} + useradd.defaults +) +sha512sums=('e3ae51bf53bfa1662d81bbe0150ada19c116514f1e56391d877045d48e16776326446561759edbf5006c0f97ab1d5f4bae63521bf1fae67e118ddda0d4a8f6cb' + 'SKIP' + '839b83a3824be89930207e635f7aaa10cf3660ba2f4a6e95b3366d083fe2c76295d1d54b108bdfe317e5ebb049a8bbbf7b5859907d201cee43af330abb2091b6' + 'a3da00d0368a9397be00ce1fc06416e5261f2000b99f69bd83202cf56e7d0ebea34562fbf35fdf43e7cf52a82f6720f6299defed9fa1d6436648e2f29d10512b' + 'c41e2cef30930a79a6ad4eb63a8106688fde49b3bfc22ec68833e1974d6932e856244dc5f0fbe63943dcd09c05d06db6aa71783aa09a25708f78898189436683' + 'e4edf705dd04e088c6b561713eaa1afeb92f42ac13722bff037aede6ac5ad7d4d00828cfb677f7b1ff048db8b6788238c1ab6a71dfcfd3e02ef6cb78ae09a621' + '2c8689b52029f6aa27d75b8b05b0b36e2fc322cab40fdfbb50cdbe331f61bc84e8db20f012cf9af3de8c4e7fdb10c2d5a4925ca1ba3b70eb5627772b94da84b3' + '5afac4a96b599b0b8ed7be751e7160037c3beb191629928c6520bfd3f2adcd1c55c31029c92c2ff8543e6cd9e37e2cd515ba4e1789c6d66f9c93b4e7f209ee7a' + '97a6a57c07502e02669dc1a91bffc447dba7d98d208b798d80e07de0d2fdf9d23264453978d2d3d1ba6652ca1f2e22cdadc4309c7b311e83fa71b00ad144f877' + '706ba6e7fa8298475f2605a28daffef421c9fa8d269cbd5cbcf7f7cb795b40a24d52c20e8d0b73e29e6cd35cd7226b3e9738dc513703e87dde04c1d24087a69c') +b2sums=('a24f492cb2a7721b165c70237b1a9290acc0063bdf493f061752ca41d23a1154b26e16ee00dd96a19e825eff7f711391892eeb08a314d9277514d4d32a4adafe' + 'SKIP' + '8d49018484533f1e9d0a2bdc81d6550a1662b275ffb5bb6dbe3d3062aa7d25e7acd3234bcbd3eb3e00dd8cd3a480cab9753d72b6970c44dc6e814ca5b45b554c' + '5fa58287e123fac7ba2cde8c98e0dfd52cbff0d0d67306b359881ebc54997907fe64b59012880f8750a152d05c05063888a03e43c19eabc7a2de0590bae0b1df' + '0ae11bf0ded3e6d6be3d960f5b75fdc885d936f499d162944ef27f0c3997be4fd1fc4f08cba60be6f81eddefbbb576cc37aeaf13993d80bfc8d452e496d286f4' + '5cfc936555aa2b2e15f8830ff83764dad6e11a80e2a102c5f2bd3b7c83db22a5457a3afdd182e3648c9d7d5bca90fa550f59576d0ac47a11a31dfb636cb18f2b' + 'a69191ab966f146c35e7e911e7e57c29fffd54436ea014aa8ffe0dd46aaf57c635d0a652b35916745c75d82b3fca7234366ea5f810b622e94730b45ec86f122c' + '511c4ad9f3be530dc17dd68f2a3387d748dcdb84192d35f296b88f82442224477e2a74b1841ec3f107b39a5c41c2d961480e396a48d0578f8fd5f65dbe8d9f04' + 'd727923dc6ed02e90ef31f10b3427df50afbfe416bd03c6de0c341857d1bb33ab6168312bd4ba18d19d0653020fb332cbcfeeb24e668ae3916add9d01b89ccb4' + 'f743922062494fe342036b3acb8b747429eb33b1a13aa150daa4bb71a84e9c570cfcc8527a5f846e3ea7020e6f23c0b10d78cf2ba8363eea0224e4c34ea10161') +validpgpkeys=( + 66D0387DB85D320F8408166DB175CFA98F192AF2 # Serge Hallyn + A9348594CE31283A826FBDD8D57633D441E25BB5 # Alejandro Colomar +) + +prepare() { + local filename + + cd $pkgname-$pkgver + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + printf "Applying patch %s\n" "${filename##*/}" + patch -Np1 -i "$srcdir/${filename##*/}" + fi + done + + autoreconf -fiv +} + +build() { + local configure_options=( + --bindir=/usr/bin + --disable-account-tools-setuid # no setuid for chgpasswd, chpasswd, groupadd, groupdel, groupmod, newusers, useradd, userdel, usermod + --enable-man + --libdir=/usr/lib + --mandir=/usr/share/man + --prefix=/usr + --sbindir=/usr/bin + --sysconfdir=/etc + --with-audit + --with-fcaps # use capabilities instead of setuid for setuidmap and setgidmap + --with-group-name-max-length=32 + --with-libpam # PAM integration for chpasswd, groupmems, newusers, passwd + --with-yescrypt + --without-bcrypt + --without-libbsd # shadow can use internal implementation for getting passphrase + --without-nscd # we do not ship nscd anymore + --without-selinux + --without-su # su is provided by util-linux + ) + + cd $pkgname-$pkgver + # add extra check, preventing accidental deletion of other user's home dirs when using `userdel -r ` + export CFLAGS="$CFLAGS -DEXTRA_CHECK_HOME_DIR" + ./configure "${configure_options[@]}" + + # prevent excessive overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + depends+=( + acl libacl.so + attr libattr.so + audit libaudit.so + libxcrypt libcrypt.so + pam libpam.so libpam_misc.so + ) + + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" -C man install + + # license + install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + + # custom useradd(8) defaults (not provided by upstream) + install -vDm 600 ../useradd.defaults "$pkgdir/etc/default/useradd" + + # systemd units + install -vDm 644 ../shadow.timer -t "$pkgdir/usr/lib/systemd/system/" + install -vDm 644 ../shadow.service -t "$pkgdir/usr/lib/systemd/system/" + install -vdm 755 "$pkgdir/usr/lib/systemd/system/timers.target.wants" + ln -s ../shadow.timer "$pkgdir/usr/lib/systemd/system/timers.target.wants/shadow.timer" + + install -vDm 644 ../$pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + install -vDm 644 ../$pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + # adapt executables to match the modes used by tmpfiles.d, so that pacman does not complain: + chmod 750 "$pkgdir/usr/bin/groupmems" +} diff --git a/main/shadow/README b/main/shadow/README new file mode 100644 index 00000000..97535eee --- /dev/null +++ b/main/shadow/README @@ -0,0 +1,43 @@ +shadow +________________________________________________________________________________ + +Password and account management tool suite with support for shadow files and PAM + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S shadow | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/shadow-maint/shadow diff --git a/main/shadow/shadow.service b/main/shadow/shadow.service new file mode 100644 index 00000000..1810ef21 --- /dev/null +++ b/main/shadow/shadow.service @@ -0,0 +1,37 @@ +[Unit] +Description=Verify integrity of password and group files +After=systemd-sysusers.service + +[Service] +CapabilityBoundingSet=CAP_DAC_READ_SEARCH +# Always run both checks, but fail the service if either fails +ExecStart=/bin/sh -c '/usr/bin/pwck -qr || r=1; /usr/bin/grpck -r && exit $r' +Nice=19 +IOSchedulingClass=best-effort +IOSchedulingPriority=7 +IPAddressDeny=any +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=yes +PrivateNetwork=yes +PrivateTmp=yes +ProcSubset=pid +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=read-only +ProtectHostname=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectProc=invisible +ProtectSystem=strict +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=yes +RestrictSUIDSGID=yes +RestrictRealtime=yes +SystemCallArchitectures=native +SystemCallFilter=@system-service +SystemCallFilter=~@resources +SystemCallFilter=~@privileged +UMask=0077 diff --git a/main/shadow/shadow.sysusers b/main/shadow/shadow.sysusers new file mode 100644 index 00000000..fc536aa2 --- /dev/null +++ b/main/shadow/shadow.sysusers @@ -0,0 +1 @@ +g groups - - diff --git a/main/shadow/shadow.timer b/main/shadow/shadow.timer new file mode 100644 index 00000000..9cc6baaa --- /dev/null +++ b/main/shadow/shadow.timer @@ -0,0 +1,7 @@ +[Unit] +Description=Daily verification of password and group files + +[Timer] +OnCalendar=daily +AccuracySec=12h +Persistent=true diff --git a/main/shadow/shadow.tmpfiles b/main/shadow/shadow.tmpfiles new file mode 100644 index 00000000..dabf5457 --- /dev/null +++ b/main/shadow/shadow.tmpfiles @@ -0,0 +1 @@ +z /usr/bin/groupmems 2750 root groups - - diff --git a/main/shadow/useradd.defaults b/main/shadow/useradd.defaults new file mode 100644 index 00000000..9bc422c5 --- /dev/null +++ b/main/shadow/useradd.defaults @@ -0,0 +1,27 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +SHELL=/usr/bin/bash + +# The default group for users +GROUP=users + +# The default home directory. +HOME=/home + +# The number of days after a password expires until the account is permanently +# disabled +INACTIVE=-1 + +# The default expire date +EXPIRE= + +# The SKEL variable specifies the directory containing "skeletal" user files; +# in other words, files such as a sample .profile that will be copied to the +# new user's home directory when it is created. +SKEL=/etc/skel + +# Defines whether the mail spool should be created while +# creating the account +CREATE_MAIL_SPOOL=no diff --git a/main/shadow/version b/main/shadow/version new file mode 100644 index 00000000..96316c84 --- /dev/null +++ b/main/shadow/version @@ -0,0 +1 @@ +4.15.1 2 diff --git a/main/shared-mime-info/MR_162.patch b/main/shared-mime-info/MR_162.patch new file mode 100644 index 00000000..0c554aa5 --- /dev/null +++ b/main/shared-mime-info/MR_162.patch @@ -0,0 +1,130 @@ +From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 8 Nov 2021 18:22:47 -0500 +Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating + translated XML + +gettext upstream has supported this for a very long time (since 0.19.7 +via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015), +and itstool is (mostly) a legacy of the time before gettext had proper +support for these sorts of use cases. + +This is similar to the state of intltool, which is described at +https://wiki.gnome.org/MigratingFromIntltoolToGettext + +During the port from autotools to meson, the legacy use of itstool was +faithfully translated to meson in the only way possible: by jumping +through hoops to run ninja inside ninja in order to generate the .mo +files for itstool, because meson's i18n module used a flawed design and +there was no "real" target to create those files, only a .PHONY +run_target which other rules cannot depend on. + +Although meson 0.60.0 added support for real targets for the built .mo +files, this changed the rules for output filenames, breaking the script. + +But msgfmt does not care, and anyways comes with builtin meson functions +for convenient use with XML files. So let's take this opportunity to +drop legacy dependencies and use the modern, builtin tooling, which +fixes this bug as a side effect. + +Fixes #170 +--- + .gitlab-ci.yml | 2 -- + README.md | 2 +- + data/freedesktop_generate.sh | 12 ------------ + data/meson.build | 16 +++++----------- + meson.build | 1 - + 5 files changed, 6 insertions(+), 27 deletions(-) + delete mode 100755 data/freedesktop_generate.sh + +diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml +index 985dfe9..345e1ce 100644 +--- a/.gitlab-ci.yml ++++ b/.gitlab-ci.yml +@@ -9,7 +9,6 @@ variables: + glib2-devel + gettext + git +- itstool + xmlto + findutils + gettext-devel +@@ -34,4 +33,3 @@ build:meson: + paths: + - _build/meson-logs/*.txt + - _build/meson-dist/*.* +- +diff --git a/README.md b/README.md +index c23d9d5..b2fb0ac 100644 +--- a/README.md ++++ b/README.md +@@ -19,7 +19,7 @@ $ ninja -v -C _build install + ``` + + It requires the glib development package to be installed as well as +-gettext and itstool. ++gettext. + This database is translated at Transifex. + + +diff --git a/data/freedesktop_generate.sh b/data/freedesktop_generate.sh +deleted file mode 100755 +index 62ccffa..0000000 +--- a/data/freedesktop_generate.sh ++++ /dev/null +@@ -1,12 +0,0 @@ +-#!/bin/sh -e +- +-src_root="$1" +-build_root="$2" +- +-${NINJA:-ninja} -C "${build_root}" shared-mime-info-gmo +- +-itstool \ +- --its "${src_root}/data/its/shared-mime-info.its" \ +- --join "${src_root}/data/freedesktop.org.xml.in" \ +- -o "${build_root}/data/freedesktop.org.xml" \ +- "${build_root}/po/"*".gmo" +diff --git a/data/meson.build b/data/meson.build +index 24361c9..09ed7a9 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -1,18 +1,12 @@ + + install_man('update-mime-database.1') + +-freedesktop_org_xml = custom_target('freedesktop.org.xml', +- input : files( +- 'freedesktop.org.xml.in', +- 'its/shared-mime-info.its', +- 'its/shared-mime-info.loc', +- ), ++freedesktop_org_xml = i18n.merge_file( ++ input: 'freedesktop.org.xml.in', + output: 'freedesktop.org.xml', +- command: [ +- find_program('freedesktop_generate.sh'), +- meson.source_root(), +- meson.build_root() +- ], ++ data_dirs: '.', ++ po_dir: '../po', ++ type: 'xml', + install: true, + install_dir: get_option('datadir') / 'mime' / 'packages', + ) +diff --git a/meson.build b/meson.build +index 0d08c8a..60f17ae 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,7 +20,6 @@ config.set_quoted('VERSION', meson.project_version()) + ############################################################################### + # Find tools + +-itstool = find_program('itstool') + xmllint = find_program('xmllint') + xmlto = find_program('xmlto', required: false) + +-- +GitLab + diff --git a/main/shared-mime-info/PKGBUILD b/main/shared-mime-info/PKGBUILD new file mode 100644 index 00000000..5bd2b74b --- /dev/null +++ b/main/shared-mime-info/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=shared-mime-info +_commit=9a6d6b8e963935f145f3a1ef446552de6996dada # = master 2023-11-12 = v2.4 +pkgver=%version% +pkgrel=%release% +pkgdesc="Freedesktop.org Shared MIME Info" +arch=('x86_64') +license=('GPL2') +depends=('libxml2' 'glib2' 'glibc' 'gcc-libs') +makedepends=('gettext' 'xmlto' 'docbook-xsl' 'git' 'meson') +install=shared-mime-info.install +# https://gitlab.freedesktop.org/xdg/shared-mime-info +url="https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/" +source=("git+https://gitlab.freedesktop.org/xdg/shared-mime-info.git#commit=$_commit" + # to run the testsuite + "git+https://gitlab.freedesktop.org/xdg/xdgmime.git#commit=92f6a09fda2b23c2ab95cede8eb0612ca96bd0f7" # master 2022-01-19 + update-mime-database.hook) +sha256sums=('SKIP' + 'SKIP' + 'f08efbcbac9d2bd18a805b8dcf3ed06d7763b97eca5935aa64d65593774b6501') +options=(!makeflags) + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^Release.//;s/\([^-]*-g\)/\1/;s/-/+/g;' +} + +prepare() { + # build xdgmime from source to run the testsuite - check HACKING.md + CFLAGS= make -C xdgmime +} + +build() { + arch-meson ${pkgname} build \ + -D update-mimedb=false \ + -D xdgmime-path=${srcdir}/xdgmime + + # Print config + meson configure build + # compile it + ninja -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build + # use a prefix to run it early enough - other hooks may depend on it - FS#72858 + install -Dm644 "$srcdir"/update-mime-database.hook "$pkgdir"/usr/share/libalpm/hooks/30-update-mime-database.hook +} diff --git a/main/shared-mime-info/README b/main/shared-mime-info/README new file mode 100644 index 00000000..bdba79cc --- /dev/null +++ b/main/shared-mime-info/README @@ -0,0 +1,43 @@ +shared-mime-info +________________________________________________________________________________ + +Freedesktop.org Shared MIME Info + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S shared-mime-info | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/ diff --git a/main/shared-mime-info/shared-mime-info.install b/main/shared-mime-info/shared-mime-info.install new file mode 100644 index 00000000..a620547a --- /dev/null +++ b/main/shared-mime-info/shared-mime-info.install @@ -0,0 +1,7 @@ +post_remove() { + if [ -d usr/share/mime ]; then + rm -f usr/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} + rm -rf usr/share/mime/{application,audio,image,inode,message,model,multipart,text,video,x-content,x-epoc} + rmdir --ignore-fail-on-non-empty usr/share/mime + fi +} diff --git a/main/shared-mime-info/update-mime-database.hook b/main/shared-mime-info/update-mime-database.hook new file mode 100644 index 00000000..9abe5385 --- /dev/null +++ b/main/shared-mime-info/update-mime-database.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/mime/packages/*.xml + +[Action] +Description = Updating the MIME type database... +When = PostTransaction +Exec = /usr/bin/env PKGSYSTEM_ENABLE_FSYNC=0 /usr/bin/update-mime-database /usr/share/mime diff --git a/main/shared-mime-info/version b/main/shared-mime-info/version new file mode 100644 index 00000000..b468432e --- /dev/null +++ b/main/shared-mime-info/version @@ -0,0 +1 @@ +2.4 1 diff --git a/main/signon-kwallet-extension/.PKGINFO b/main/signon-kwallet-extension/.PKGINFO new file mode 100644 index 00000000..e18ec44d --- /dev/null +++ b/main/signon-kwallet-extension/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = signon-kwallet-extension +pkgbase = signon-kwallet-extension +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = KWallet integration for signon framework +url = https://www.kde.org +builddate = 1718491931 +packager = Developer +size = 35296 +arch = x86_64 +license = LGPL-2.0-or-later +group = kde-applications +group = kde-network +depend = gcc-libs +depend = glibc +depend = kwallet +depend = qt6-base +depend = signond +makedepend = extra-cmake-modules diff --git a/main/signon-kwallet-extension/PKGBUILD b/main/signon-kwallet-extension/PKGBUILD new file mode 100644 index 00000000..f6769035 --- /dev/null +++ b/main/signon-kwallet-extension/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=signon-kwallet-extension +pkgver=%version% +pkgrel=%release% +pkgdesc='KWallet integration for signon framework' +arch=(x86_64) +url='https://www.kde.org' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + kwallet + qt6-base + signond) +makedepends=(extra-cmake-modules) +groups=(kde-applications + kde-network) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('47ccf9178f0deb1444eabcd45774b59dba95efbcac1658efb4726764d75cf452' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DQT_MAJOR_VERSION=6 + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/signon-kwallet-extension/README b/main/signon-kwallet-extension/README new file mode 100644 index 00000000..32c01deb --- /dev/null +++ b/main/signon-kwallet-extension/README @@ -0,0 +1,43 @@ +signon-kwallet-extension +________________________________________________________________________________ + +KWallet integration for signon framework + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S signon-kwallet-extension | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.kde.org diff --git a/main/signon-kwallet-extension/version b/main/signon-kwallet-extension/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/signon-kwallet-extension/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/signon-plugin-oauth2/.nvchecker.toml b/main/signon-plugin-oauth2/.nvchecker.toml new file mode 100644 index 00000000..a7fc8e29 --- /dev/null +++ b/main/signon-plugin-oauth2/.nvchecker.toml @@ -0,0 +1,6 @@ +[signon-plugin-oauth2] +source = 'gitlab' +gitlab = 'accounts-sso/signon-plugin-oauth2' +use_max_tag = true +prefix = 'VERSION_' +include_regex = 'VERSION.*' diff --git a/main/signon-plugin-oauth2/PKGBUILD b/main/signon-plugin-oauth2/PKGBUILD new file mode 100644 index 00000000..5e158f71 --- /dev/null +++ b/main/signon-plugin-oauth2/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=signon-plugin-oauth2 +_pkgname=signon-oauth2 +pkgver=%version% +pkgrel=%release% +pkgdesc='OAuth 2 plugin for signon' +arch=(x86_64) +url='https://gitlab.com/accounts-sso/signon-plugin-oauth2' +license=(LGPL) +depends=(gcc-libs + glibc + qt6-base + signond) +makedepends=(git) +# source=(https://gitlab.com/accounts-sso/signon-plugin-oauth2/-/archive/VERSION_$pkgver/signon-plugin-oauth2-VERSION_$pkgver.tar.bz2) +_commit=fab698862466994a8fdc9aa335c87b4f05430ce6 +source=(git+https://gitlab.com/nicolasfella/signon-plugin-oauth2#commit=$_commit) +sha256sums=('SKIP') + +prepare() { + cd $pkgname + + # Do not install tests and example + echo 'INSTALLS =' >>tests/tests.pro + echo 'INSTALLS =' >>example/example.pro +} + +build() { + cd $pkgname + + qmake6 \ + PREFIX=/usr \ + LIBDIR=/usr/lib + make +} + +package() { + cd $pkgname + + make INSTALL_ROOT="$pkgdir" install +} diff --git a/main/signon-plugin-oauth2/README b/main/signon-plugin-oauth2/README new file mode 100644 index 00000000..9c66ec21 --- /dev/null +++ b/main/signon-plugin-oauth2/README @@ -0,0 +1,43 @@ +signon-plugin-oauth2 +________________________________________________________________________________ + +OAuth 2 plugin for signon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S signon-plugin-oauth2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/accounts-sso/signon-plugin-oauth2 diff --git a/main/signon-plugin-oauth2/version b/main/signon-plugin-oauth2/version new file mode 100644 index 00000000..032a10b0 --- /dev/null +++ b/main/signon-plugin-oauth2/version @@ -0,0 +1 @@ +0.25 3 diff --git a/main/signon-ui/PKGBUILD b/main/signon-ui/PKGBUILD new file mode 100644 index 00000000..905d10ab --- /dev/null +++ b/main/signon-ui/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=signon-ui +pkgver=%version% +pkgrel=%release% +_commit=eef943f0edf3beee8ecb85d4a9dae3656002fc24 +pkgdesc='UI component responsible for handling the user interactions which can happen during the login process of an online account' +arch=(x86_64) +url='https://launchpad.net/online-accounts-signon-ui' +license=(GPL) +depends=(gcc-libs + glib2 + glibc + libaccounts-qt + libnotify + libproxy + qt6-base + qt6-declarative + qt6-webengine + signond) +source=(https://gitlab.com/accounts-sso/signon-ui/-/archive/$_commit/$pkgname-$pkgver.tar.gz + fake-user-agent.patch) +sha256sums=('0906a1adee88e331e9dcf1f2d5978c24f8564fb734f5c114c88bddb63196d3d4' + '5eb7782c6472e51a8107a25324d1d30052bac5d8e9050907cd957c89568fa577') + +prepare() { + cd $pkgname-$_commit + + # Do not install tests + sed -e 's|src \\|src|' -e '/tests/d' -i signon-ui.pro + # Fake user ID to bypass Google blacklist + patch -p1 -i ../fake-user-agent.patch +} + +build() { + cd $pkgname-$_commit + + qmake6 \ + PREFIX=/usr \ + LIBDIR=/usr/lib + make +} + +package() { + cd $pkgname-$_commit + + make INSTALL_ROOT="$pkgdir" install +} diff --git a/main/signon-ui/README b/main/signon-ui/README new file mode 100644 index 00000000..d4496f1f --- /dev/null +++ b/main/signon-ui/README @@ -0,0 +1,43 @@ +signon-ui +________________________________________________________________________________ + +UI component responsible for handling the user interactions which can happen during the login process of an online account + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S signon-ui | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://launchpad.net/online-accounts-signon-ui diff --git a/main/signon-ui/fake-user-agent.patch b/main/signon-ui/fake-user-agent.patch new file mode 100644 index 00000000..b8021b48 --- /dev/null +++ b/main/signon-ui/fake-user-agent.patch @@ -0,0 +1,12 @@ +diff --git a/src/qml/WebView.qml b/src/qml/WebView.qml +index 33462b8..b720111 100644 +--- a/src/qml/WebView.qml ++++ b/src/qml/WebView.qml +@@ -25,6 +25,7 @@ WebEngineView { + profile: WebEngineProfile { + cachePath: rootDir + persistentStoragePath: rootDir ++ httpUserAgent: "Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/77.0" + } + + ProgressBar { diff --git a/main/signon-ui/version b/main/signon-ui/version new file mode 100644 index 00000000..879330f6 --- /dev/null +++ b/main/signon-ui/version @@ -0,0 +1 @@ +0.17+20231016 2 diff --git a/main/signond/.nvchecker.toml b/main/signond/.nvchecker.toml new file mode 100644 index 00000000..36b6c549 --- /dev/null +++ b/main/signond/.nvchecker.toml @@ -0,0 +1,6 @@ +[signond] +source = 'gitlab' +gitlab = 'accounts-sso/signond' +use_max_tag = true +prefix = 'VERSION_' +include_regex = 'VERSION.*' diff --git a/main/signond/PKGBUILD b/main/signond/PKGBUILD new file mode 100644 index 00000000..440a98bd --- /dev/null +++ b/main/signond/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=signond +pkgver=%version% +pkgrel=%release% +pkgdesc='A D-Bus service which performs user authentication on behalf of its clients' +arch=(x86_64) +url='https://gitlab.com/accounts-sso/signond/' +license=(LGPL) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + git + graphviz + qt6-tools + ttf-font) +# source=(https://gitlab.com/accounts-sso/signond/-/archive/VERSION_$pkgver/signond-VERSION_$pkgver.tar.bz2) +_commit=c8ad98249af541514ff7a81634d3295e712f1a39 +source=(git+https://gitlab.com/nicolasfella/signond#commit=$_commit) +sha256sums=('SKIP') + +build() { + cd $pkgname + qmake6 \ + PREFIX=/usr \ + LIBDIR=/usr/lib + make +} + +package() { + cd $pkgname + make INSTALL_ROOT="$pkgdir" install + + # Do not ship docs + rm -rf "$pkgdir"/usr/share/doc +} diff --git a/main/signond/README b/main/signond/README new file mode 100644 index 00000000..c2757a3a --- /dev/null +++ b/main/signond/README @@ -0,0 +1,43 @@ +signond +________________________________________________________________________________ + +A D-Bus service which performs user authentication on behalf of its clients + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S signond | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/accounts-sso/signond/ diff --git a/main/signond/version b/main/signond/version new file mode 100644 index 00000000..2e416be2 --- /dev/null +++ b/main/signond/version @@ -0,0 +1 @@ +8.61 3 diff --git a/main/slang/PKGBUILD b/main/slang/PKGBUILD new file mode 100644 index 00000000..5e374409 --- /dev/null +++ b/main/slang/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=slang +pkgver=%version% +pkgrel=%release% +pkgdesc="S-Lang is a powerful interpreted language" +arch=('x86_64') +url="https://www.jedsoft.org/slang/" +license=('GPL') +depends=('pcre') +backup=('etc/slsh.rc') +options=('!makeflags') +source=(https://www.jedsoft.org/releases/slang/${pkgname}-${pkgver}.tar.bz2{,.asc}) +sha256sums=('f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18' + 'SKIP') +validpgpkeys=('64083373E9E1DE997EBBE7784B82D0B82930237D') # John E. Davis + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +check() { + cd ${pkgname}-${pkgver} + + [[ $CARCH = "i686" ]] || make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install-all +} diff --git a/main/slang/README b/main/slang/README new file mode 100644 index 00000000..42788f8f --- /dev/null +++ b/main/slang/README @@ -0,0 +1,43 @@ +slang +________________________________________________________________________________ + +S-Lang is a powerful interpreted language + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S slang | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.jedsoft.org/slang/ diff --git a/main/slang/version b/main/slang/version new file mode 100644 index 00000000..c54a416a --- /dev/null +++ b/main/slang/version @@ -0,0 +1 @@ +2.3.3 2 diff --git a/main/smartmontools/PKGBUILD b/main/smartmontools/PKGBUILD new file mode 100644 index 00000000..cfe2fdee --- /dev/null +++ b/main/smartmontools/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=smartmontools +pkgver=%version% +pkgrel=%release% +pkgdesc='Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives' +url='http://smartmontools.sourceforge.net' +license=('GPL') +arch=('x86_64') +depends=('gcc-libs' 'libcap-ng' 'bash' 'systemd-libs') +makedepends=('systemd') +optdepends=('s-nail: to get mail alerts to work') +backup=('etc/smartd.conf' + 'etc/conf.d/smartd') +validpgpkeys=('0C9577FD2C4CFCB4B9A599640A30812EFF3AEFF5') # Smartmontools Signing Key (through 2025) +source=("https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc} + 'smartd.conf') +sha256sums=('e9a61f641ff96ca95319edfb17948cd297d0cd3342736b2c49c99d4716fb993d' + 'SKIP' + 'c2c0f2f6b4a3f3d76da1c7706139297aef6e3f2a705eb7fdd800544812427c74') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --with-drivedbdir \ + --with-libcap-ng=yes \ + --with-libsystemd=yes \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-systemdenvfile=/etc/conf.d/smartd \ + --with-smartdscriptdir=/usr/share/smartmontools \ + --with-smartdplugindir=/usr/share/smartmontools/smartd_warning.d + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i -e "s:sysconfig/smartmontools:conf.d/smartd:g" smartd.service + sed -i -e "s:smartd_opts:SMARTD_ARGS:g" smartd.service + + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/etc/rc.d + install -D -m0644 "${srcdir}"/smartd.conf "${pkgdir}/etc/conf.d/smartd" +} diff --git a/main/smartmontools/README b/main/smartmontools/README new file mode 100644 index 00000000..ab08eb61 --- /dev/null +++ b/main/smartmontools/README @@ -0,0 +1,43 @@ +smartmontools +________________________________________________________________________________ + +Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S smartmontools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://smartmontools.sourceforge.net diff --git a/main/smartmontools/smartd.conf b/main/smartmontools/smartd.conf new file mode 100644 index 00000000..f14870ab --- /dev/null +++ b/main/smartmontools/smartd.conf @@ -0,0 +1 @@ +SMARTD_ARGS="" diff --git a/main/smartmontools/version b/main/smartmontools/version new file mode 100644 index 00000000..aa1d1f1e --- /dev/null +++ b/main/smartmontools/version @@ -0,0 +1 @@ +7.4 1 diff --git a/main/snappy/PKGBUILD b/main/snappy/PKGBUILD new file mode 100644 index 00000000..de56119e --- /dev/null +++ b/main/snappy/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=snappy +pkgver=%version% +pkgrel=%release% +pkgdesc='A fast compressor/decompressor library' +arch=('x86_64') +url="https://google.github.io/snappy/" +license=('BSD') +depends=('glibc' 'gcc-libs') +checkdepends=('zlib') +makedepends=('cmake' 'clang' 'gtest' 'benchmark') +source=("https://github.com/google/snappy/archive/$pkgver/$pkgname-$pkgver.tar.gz" + snappy.pc.in + cmake_add_pkgconfig.patch + system_gtest.patch::https://github.com/google/snappy/commit/114df35e84ad95b6d5afbcf69aa85a14ff029000.patch + reenable_rtti.patch::https://github.com/google/snappy/commit/516fdcca6606502e2d562d20c01b225c8d066739.patch) +sha256sums=('49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90' + '134f06ca0584a1026538d0fb972fc141c008390ecae1806184b721eca1abbc75' + '2a204d7d35509ffc290d80c641fcb7e8488c67ca550aa1695493cff12c53156b' + '1bb8a37b377620f6c1adc2bb572ccd0570edbf825da087cd6eda3d24f7acb8eb' + 'bae38a49c9c7c05e7655479559200c3e94d9d6f2b4d6bb46cd22985298f51019') + +prepare() { + cd "$pkgname-$pkgver" + cp ../snappy.pc.in . + patch -p1 < ../cmake_add_pkgconfig.patch # https://bugs.archlinux.org/task/71246 + patch -p1 < ../system_gtest.patch # https://github.com/google/snappy/pull/132 + patch -p1 < ../reenable_rtti.patch # https://bugs.archlinux.org/task/72058 +} + +build() { + cd "$pkgname-$pkgver" + + # compile without assertions + CXXFLAGS+=\ -DNDEBUG + + # export CXX=clang++ + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_CXX_STANDARD=23 \ + -DBUILD_SHARED_LIBS=yes \ + -DSNAPPY_USE_BUNDLED_GTEST=OFF \ + -DSNAPPY_USE_BUNDLED_BENCHMARK_LIB=OFF \ + . + + make +} + +check() { + # compile without assertions + CXXFLAGS+=\ -DNDEBUG + + make -C "$pkgname-$pkgver" test +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + install -m644 -D COPYING "$pkgdir/usr/share/licenses/snappy/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/snappy/README b/main/snappy/README new file mode 100644 index 00000000..894c799c --- /dev/null +++ b/main/snappy/README @@ -0,0 +1,43 @@ +snappy +________________________________________________________________________________ + +A fast compressor/decompressor library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S snappy | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://google.github.io/snappy/ diff --git a/main/snappy/cmake_add_pkgconfig.patch b/main/snappy/cmake_add_pkgconfig.patch new file mode 100644 index 00000000..6c3952bd --- /dev/null +++ b/main/snappy/cmake_add_pkgconfig.patch @@ -0,0 +1,24 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -187,6 +187,12 @@ + "${PROJECT_BINARY_DIR}/config.h" + ) + ++configure_file( ++ "${CMAKE_CURRENT_SOURCE_DIR}/snappy.pc.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" ++ @ONLY ++) ++ + # We don't want to define HAVE_ macros in public headers. Instead, we use + # CMake's variable substitution with 0/1 variables, which will be seen by the + # preprocessor as constants. +@@ -395,4 +401,8 @@ + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) ++ install( ++ FILES "${PROJECT_BINARY_DIR}/snappy.pc" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ++ ) + endif(SNAPPY_INSTALL) diff --git a/main/snappy/snappy.pc.in b/main/snappy/snappy.pc.in new file mode 100644 index 00000000..9c1a3478 --- /dev/null +++ b/main/snappy/snappy.pc.in @@ -0,0 +1,10 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: snappy +Description: Fast compressor/decompressor library. +Version: @PROJECT_VERSION@ +Libs: -L${libdir} -lsnappy +Cflags: -I${includedir} diff --git a/main/snappy/version b/main/snappy/version new file mode 100644 index 00000000..653d6891 --- /dev/null +++ b/main/snappy/version @@ -0,0 +1 @@ +1.1.10 1 diff --git a/main/snowball/PKGBUILD b/main/snowball/PKGBUILD new file mode 100644 index 00000000..71c5c09c --- /dev/null +++ b/main/snowball/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=snowball +pkgname=(snowball libstemmer) +pkgver=%version% +pkgrel=%release% +pkgdesc="String processing language for creating stemming algorithms" +url="https://snowballstem.org/" +arch=(x86_64) +license=(BSD) +makedepends=(git) +_commit=48a67a2831005f49c48ec29a5837640e23e54e6b # tags/v2.2.0^0 +source=("git+https://github.com/snowballstem/snowball#commit=$_commit" + dynamiclib.diff) +sha256sums=('SKIP' + 'c031da5a11bafa079df6c33b38b8795b65cf2c91cc6b452dcf2b10612288a3e6') + +pkgver() { + cd snowball + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd snowball + git apply -3 ../dynamiclib.diff +} + +build() { + cd snowball + make +} + +# No check - needs external test data + +package_snowball() { + depends=(libstemmer) + + cd snowball + + install -Dt "$pkgdir/usr/bin" snowball stemwords + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} + +package_libstemmer() { + pkgdesc="Stemming library supporting several languages" + depends=(glibc) + provides=(libstemmer.so) + + cd snowball + + install -Dt "$pkgdir/usr/include" -m644 include/libstemmer.h + install -Dm644 libstemmer.so.0 "$pkgdir/usr/lib/libstemmer.so.0.0.0" + ln -s libstemmer.so.0.0.0 "$pkgdir/usr/lib/libstemmer.so.0" + ln -s libstemmer.so.0 "$pkgdir/usr/lib/libstemmer.so" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} diff --git a/main/snowball/README b/main/snowball/README new file mode 100644 index 00000000..76ef5628 --- /dev/null +++ b/main/snowball/README @@ -0,0 +1,43 @@ +snowball +________________________________________________________________________________ + +String processing language for creating stemming algorithms Stemming library supporting several languages + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S snowball | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://snowballstem.org/ diff --git a/main/snowball/dynamiclib.diff b/main/snowball/dynamiclib.diff new file mode 100644 index 00000000..9d90fe86 --- /dev/null +++ b/main/snowball/dynamiclib.diff @@ -0,0 +1,68 @@ + GNUmakefile | 15 +++++++-------- + libstemmer/symbol.map | 6 ++++++ + 2 files changed, 13 insertions(+), 8 deletions(-) + +diff --git c/GNUmakefile i/GNUmakefile +index 98eb1fa..86e4855 100644 +--- c/GNUmakefile ++++ i/GNUmakefile +@@ -170,20 +170,19 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o) + JAVA_CLASSES = $(JAVA_SOURCES:.java=.class) + JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class) + +-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations +-CPPFLAGS= ++CFLAGS+=-fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations + + INCLUDES=-Iinclude + +-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) ++all: snowball$(EXEEXT) libstemmer.so.0 stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) + + algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt + libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt + + clean: + rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \ + $(LIBSTEMMER_OBJECTS) $(LIBSTEMMER_UTF8_OBJECTS) $(STEMWORDS_OBJECTS) snowball$(EXEEXT) \ +- libstemmer.a stemwords$(EXEEXT) \ ++ libstemmer.so.0 stemwords$(EXEEXT) \ + libstemmer/modules.h \ + libstemmer/modules_utf8.h \ + $(C_LIB_SOURCES) $(C_LIB_HEADERS) $(C_LIB_OBJECTS) \ +@@ -222,19 +221,19 @@ libstemmer/modules_utf8.h libstemmer/mkinc_utf8.mak: libstemmer/mkmodules.pl lib + + libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS) + +-libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) +- $(AR) -cru $@ $^ ++libstemmer.so.0: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) ++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@,-version-script,libstemmer/symbol.map -o $@ $^ + + examples/%.o: examples/%.c + $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $< + +-stemwords$(EXEEXT): $(STEMWORDS_OBJECTS) libstemmer.a ++stemwords$(EXEEXT): $(STEMWORDS_OBJECTS) libstemmer.so.0 + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + + tests/%.o: tests/%.c + $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $< + +-stemtest$(EXEEXT): $(STEMTEST_OBJECTS) libstemmer.a ++stemtest$(EXEEXT): $(STEMTEST_OBJECTS) libstemmer.so.0 + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + + csharp_stemwords$(EXEEXT): $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES) +diff --git c/libstemmer/symbol.map i/libstemmer/symbol.map +new file mode 100644 +index 0000000..7a3d423 +--- /dev/null ++++ i/libstemmer/symbol.map +@@ -0,0 +1,6 @@ ++SB_STEMMER_0 { ++ global: ++ sb_stemmer_*; ++ local: ++ *; ++}; diff --git a/main/snowball/version b/main/snowball/version new file mode 100644 index 00000000..903c9d6f --- /dev/null +++ b/main/snowball/version @@ -0,0 +1 @@ +2.2.0 2 diff --git a/main/socat/.PKGINFO b/main/socat/.PKGINFO new file mode 100644 index 00000000..7fd5bc9c --- /dev/null +++ b/main/socat/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = socat +pkgbase = socat +xdata = pkgtype=pkg +pkgver = 1.8.0.0-2 +pkgdesc = Multipurpose relay +url = http://www.dest-unreach.org/socat/ +builddate = 1718491933 +packager = Developer +size = 524917 +arch = x86_64 +license = GPL-2.0-only +depend = glibc +depend = openssl +depend = libssl.so=3-64 +depend = readline +depend = libreadline.so=8-64 +checkdepend = bash +checkdepend = net-tools +checkdepend = procps-ng diff --git a/main/socat/.nvchecker.toml b/main/socat/.nvchecker.toml new file mode 100644 index 00000000..85186e10 --- /dev/null +++ b/main/socat/.nvchecker.toml @@ -0,0 +1,4 @@ +[socat] +source = "regex" +url = "http://www.dest-unreach.org/socat/download/" +regex = 'socat-([\.\d]+)\.tar\.gz' diff --git a/main/socat/PKGBUILD b/main/socat/PKGBUILD new file mode 100644 index 00000000..1b15e276 --- /dev/null +++ b/main/socat/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=socat +pkgver=%version% +pkgrel=%release% +pkgdesc='Multipurpose relay' +url='http://www.dest-unreach.org/socat/' +license=('GPL-2.0-only') +arch=('x86_64') +depends=( + 'glibc' + 'openssl' 'libssl.so' + 'readline' 'libreadline.so' +) +checkdepends=( + 'bash' + 'net-tools' + 'procps-ng' +) +source=("http://www.dest-unreach.org/socat/download/${pkgname}-${pkgver}.tar.gz") +sha256sums=('6010f4f311e5ebe0e63c77f78613d264253680006ac8979f52b0711a9a231e82') +b2sums=('816f404283425900e0d703c9458cc1c1cf1edbcc343e0f3d9039ec39ff588e74796831e73c383daf807d59f105b81f743fe063e3c8376a87f7526282dc0ff58c') + +build() { + cd "${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + + make +} + +check() { + cd "${pkgname}-${pkgver}" + # TODO: one of the tests always fails, but lets keep + # it for manual sanity check + make test||true +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/socat/README b/main/socat/README new file mode 100644 index 00000000..0332a4b1 --- /dev/null +++ b/main/socat/README @@ -0,0 +1,43 @@ +socat +________________________________________________________________________________ + +Multipurpose relay + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S socat | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.dest-unreach.org/socat/ diff --git a/main/socat/version b/main/socat/version new file mode 100644 index 00000000..3d310663 --- /dev/null +++ b/main/socat/version @@ -0,0 +1 @@ +1.8.0.0 2 diff --git a/main/sof-bin/PKGBUILD b/main/sof-bin/PKGBUILD new file mode 100644 index 00000000..92cefb3e --- /dev/null +++ b/main/sof-bin/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=sof-bin +pkgname=( + sof-firmware + sof-tools +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Sound Open Firmware" +url="https://www.sofproject.org/" +arch=(x86_64) +license=('BSD-3-Clause AND ISC') +source=(https://github.com/thesofproject/sof-bin/releases/download/v$pkgver/sof-bin-$pkgver.tar.gz) +b2sums=('23d73ff3ab30b5134086bb21e606805a7d9667adf1a5598a3d31068ba0254dc4c34464ee3913eb3530a8124e3614eff9ba28fa731e9816b28980ea05834c1037') + +prepare() { + cd sof-bin-$pkgver + sha256sum -c sha256sum.txt +} + +package_sof-firmware() { + options+=(!strip) + + local fwdir="$pkgdir/usr/lib/firmware/intel" + mkdir -p "$fwdir" + + cd sof-bin-$pkgver + + cp -at "$fwdir" sof* + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENCE* Notice* +} + +package_sof-tools() { + pkgdesc+=" - tools" + depends=( + alsa-lib + python + ) + + cd sof-bin-$pkgver + + install -Dt "$pkgdir/usr/bin" tools/* + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENCE* Notice* +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/sof-bin/README b/main/sof-bin/README new file mode 100644 index 00000000..b7103e24 --- /dev/null +++ b/main/sof-bin/README @@ -0,0 +1,43 @@ +sof-bin +________________________________________________________________________________ + +Sound Open Firmware Sound Open Firmware - tools + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sof-bin | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.sofproject.org/ diff --git a/main/sof-bin/version b/main/sof-bin/version new file mode 100644 index 00000000..ef4cb4cc --- /dev/null +++ b/main/sof-bin/version @@ -0,0 +1 @@ +2024.03 1 diff --git a/main/solid/.PKGINFO b/main/solid/.PKGINFO new file mode 100644 index 00000000..70bd0ebd --- /dev/null +++ b/main/solid/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = solid +pkgbase = solid +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Hardware integration and detection +url = https://community.kde.org/Frameworks +builddate = 1718491934 +packager = Developer +size = 2770887 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = libimobiledevice +depend = libplist +depend = media-player-info +depend = qt6-base +depend = systemd-libs +depend = udisks2 +depend = upower +depend = util-linux-libs +optdepend = qt5-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/solid/PKGBUILD b/main/solid/PKGBUILD new file mode 100644 index 00000000..31766ebf --- /dev/null +++ b/main/solid/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=solid +pkgver=%version% +pkgrel=%release% +pkgdesc='Hardware integration and detection' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + libimobiledevice + libplist + media-player-info + qt6-base + systemd-libs + udisks2 + upower + util-linux-libs) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt5-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('75c5d254eeceb917c35cb0e32beff76a2cf1458f773ecd0e7795b47dad5aadd3' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON \ + -DWITH_NEW_POWER_ASYNC_API=ON \ + -DWITH_NEW_POWER_ASYNC_FREEDESKTOP=ON \ + -DWITH_NEW_SOLID_JOB=ON # https://bugs.archlinux.org/task/64093 + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/solid/README b/main/solid/README new file mode 100644 index 00000000..a2c7166e --- /dev/null +++ b/main/solid/README @@ -0,0 +1,43 @@ +solid +________________________________________________________________________________ + +Hardware integration and detection + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S solid | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/solid/version b/main/solid/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/solid/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/sonnet/.PKGINFO b/main/sonnet/.PKGINFO new file mode 100644 index 00000000..3a26f48a --- /dev/null +++ b/main/sonnet/.PKGINFO @@ -0,0 +1,32 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = sonnet +pkgbase = sonnet +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Spelling framework for Qt5 +url = https://community.kde.org/Frameworks +builddate = 1718491935 +packager = Developer +size = 2168213 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = aspell: spell checking via aspell +optdepend = hspell: spell checking for Hebrew +optdepend = hunspell: spell checking via hunspell +optdepend = libvoikko: Finnish support via Voikko +optdepend = qt6-declarative: QML bindings +makedepend = aspell +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = hspell +makedepend = hunspell +makedepend = libvoikko +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/sonnet/PKGBUILD b/main/sonnet/PKGBUILD new file mode 100644 index 00000000..9ca7fe95 --- /dev/null +++ b/main/sonnet/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sonnet +pkgver=%version% +pkgrel=%release% +pkgdesc='Spelling framework for Qt5' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(aspell + doxygen + extra-cmake-modules + hspell + hunspell + libvoikko + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('aspell: spell checking via aspell' + 'hspell: spell checking for Hebrew' + 'hunspell: spell checking via hunspell' + 'libvoikko: Finnish support via Voikko' + 'qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2083df45e7a729a37a8d6642145e6acf4c53e6b235303843e31031c8d290ae8b' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/sonnet/README b/main/sonnet/README new file mode 100644 index 00000000..b87d38a5 --- /dev/null +++ b/main/sonnet/README @@ -0,0 +1,43 @@ +sonnet +________________________________________________________________________________ + +Spelling framework for Qt5 + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sonnet | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/sonnet/version b/main/sonnet/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/sonnet/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/sord/PKGBUILD b/main/sord/PKGBUILD new file mode 100644 index 00000000..249e92dc --- /dev/null +++ b/main/sord/PKGBUILD @@ -0,0 +1,71 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=sord +pkgname=(sord sord-docs) +pkgver=%version% +pkgrel=%release% +pkgdesc="A lightweight C library for storing RDF data in memory" +arch=(x86_64) +url="https://drobilla.net/software/sord.html" +license=(ISC) +makedepends=( + doxygen + glibc + meson + pcre2 + python-sphinx + serd + zix +) +source=(https://download.drobilla.net/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('8728fa01466e8f64c1a70a6d4ce727cdac3aaba78db0163ad511d7e959a260c95ab47405cce24ca0e076fb1f0da761687d788cddef87a96aa813757d10f0bfe0' + 'SKIP') +b2sums=('e657f6e4d38df1c254ce6282ae54a6795e29fd60546373a2b4e1560b269658fa69dd93af4d6f75eaa73f9f777a2d82f99f80d34fd65e1001b8231b63af71029f' + 'SKIP') +validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + arch-meson $pkgname-$pkgver build + meson compile -C build +} + +check() { + meson test -C build +} + +package_sord() { + depends=( + glibc + pcre2 + serd libserd-0.so + zix libzix-0.so + ) + provides=(libsord-0.so) + optdepends=('sord-docs: for developer documentation') + + meson install -C build --destdir "$pkgdir" + ( + cd "$pkgdir" + _pick $pkgname-docs usr/share/doc + ) + install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_sord-docs() { + pkgdesc+=" - documentation" + + mv -v $pkgname/* "$pkgdir" + mv -v "$pkgdir/usr/share/doc/"sord{-0,} +} diff --git a/main/sord/README b/main/sord/README new file mode 100644 index 00000000..a09eb724 --- /dev/null +++ b/main/sord/README @@ -0,0 +1,43 @@ +sord +________________________________________________________________________________ + +A lightweight C library for storing RDF data in memory A lightweight C library for storing RDF data in memory - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sord | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://drobilla.net/software/sord.html diff --git a/main/sord/version b/main/sord/version new file mode 100644 index 00000000..bad57992 --- /dev/null +++ b/main/sord/version @@ -0,0 +1 @@ +0.16.16 1 diff --git a/main/sound-theme-freedesktop/PKGBUILD b/main/sound-theme-freedesktop/PKGBUILD new file mode 100644 index 00000000..8b6e6b42 --- /dev/null +++ b/main/sound-theme-freedesktop/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sound-theme-freedesktop +pkgver=%version% +pkgrel=%release% +pkgdesc="Freedesktop sound theme" +arch=(any) +license=('custom') +makedepends=('intltool') +source=(https://people.freedesktop.org/~mccann/dist/${pkgname}-${pkgver}.tar.bz2) +url="https://freedesktop.org/wiki/Specifications/sound-theme-spec" +sha512sums=('f08e0414443f3a47bc433a69a7226d2b9383bc7c64e0711e8a605bd761ac69ea052a6db7f0037d88fbf0900efddaae6466ca96391eb71295ee1d0edbd0364621') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/CREDITS" \ + "${pkgdir}/usr/share/licenses/${pkgname}/CREDITS" +} diff --git a/main/sound-theme-freedesktop/README b/main/sound-theme-freedesktop/README new file mode 100644 index 00000000..9ada7d7d --- /dev/null +++ b/main/sound-theme-freedesktop/README @@ -0,0 +1,43 @@ +sound-theme-freedesktop +________________________________________________________________________________ + +Freedesktop sound theme + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sound-theme-freedesktop | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://freedesktop.org/wiki/Specifications/sound-theme-spec diff --git a/main/sound-theme-freedesktop/version b/main/sound-theme-freedesktop/version new file mode 100644 index 00000000..2821566a --- /dev/null +++ b/main/sound-theme-freedesktop/version @@ -0,0 +1 @@ +0.8 5 diff --git a/main/source-highlight/.PKGINFO b/main/source-highlight/.PKGINFO new file mode 100644 index 00000000..7bcfa877 --- /dev/null +++ b/main/source-highlight/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = source-highlight +pkgbase = source-highlight +xdata = pkgtype=pkg +pkgver = 3.1.9-12 +pkgdesc = Convert source code to syntax highlighted document +url = https://www.gnu.org/software/src-highlite/ +builddate = 1714401766 +packager = Developer +size = 3327983 +arch = x86_64 +license = GPL +depend = bash +depend = boost-libs +optdepend = lesspipe: src-hilite-lesspipe.sh +makedepend = ctags +makedepend = boost diff --git a/main/source-highlight/PKGBUILD b/main/source-highlight/PKGBUILD new file mode 100644 index 00000000..2041994b --- /dev/null +++ b/main/source-highlight/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=source-highlight +pkgver=%version% +pkgrel=%release% +pkgdesc="Convert source code to syntax highlighted document" +arch=('x86_64') +url="https://www.gnu.org/software/src-highlite/" +license=('GPL') +depends=('bash' 'boost-libs') +makedepends=('ctags' 'boost') +optdepends=('lesspipe: src-hilite-lesspipe.sh') +source=(https://ftp.gnu.org/gnu/src-highlite/${pkgname}-${pkgver}.tar.gz{,.sig} + source-highlight-gcc11.patch) +validpgpkeys=('E9FE8AE950CB07F5BEB2E805036A75309D33E5B5') +sha512sums=('d8e154e9a5d62c77807e4e5d36c0faed5ce2964291be5f8b83e2968a6de52229503689a4ca2109a717ae2632a14b63ec937ca0430c91684c72063f6bc0294195' + 'SKIP' + '55f22121a2e7501c437f305790b34d330b9ad475a87ed4482527386c23424ed2eb8c1a563da41995573f0598e4a5c9096abbf414938f7e1305354bcc720944ec') + +prepare() { + patch -d $pkgname-$pkgver -p1 < source-highlight-gcc11.patch # Fix build with GCC 11 + + cd ${pkgname}-${pkgver} + sed -i 's/lesspipe/lesspipe.sh/' src/src-hilite-lesspipe.sh.in +} + +build() { + cd ${pkgname}-${pkgver} + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-bash-completion=/usr/share/bash-completion/completions + make +} + +package() { + cd ${pkgname}-${pkgver} + + make prefix="${pkgdir}/usr" bash_completiondir="${pkgdir}/usr/share/bash-completion/completions" install + + # PKGBUILD syntax highlighting + echo -e "\npkgbuild = sh.lang" >> "${pkgdir}"/usr/share/${pkgname}/lang.map +} diff --git a/main/source-highlight/README b/main/source-highlight/README new file mode 100644 index 00000000..d1fe5bf7 --- /dev/null +++ b/main/source-highlight/README @@ -0,0 +1,43 @@ +source-highlight +________________________________________________________________________________ + +Convert source code to syntax highlighted document + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S source-highlight | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/src-highlite/ diff --git a/main/source-highlight/source-highlight-gcc11.patch b/main/source-highlight/source-highlight-gcc11.patch new file mode 100644 index 00000000..1e5b0dd8 --- /dev/null +++ b/main/source-highlight/source-highlight-gcc11.patch @@ -0,0 +1,34 @@ +From 904949c9026cb772dc93fbe0947a252ef47127f4 Mon Sep 17 00:00:00 2001 +From: Tom Tromey +Date: Wed, 10 Jun 2020 20:38:27 -0600 +Subject: Remove "throw" specifications + +diff --git a/lib/srchilite/fileutil.cc b/lib/srchilite/fileutil.cc +index 59a6d64..963178c 100644 +--- a/lib/srchilite/fileutil.cc ++++ b/lib/srchilite/fileutil.cc +@@ -48,7 +48,7 @@ void set_file_util_verbose(bool b) { + // FIXME avoid using a global variable + std::string start_path; + +-string readFile(const string &fileName) throw (IOException) { ++string readFile(const string &fileName) { + ifstream file(fileName.c_str()); + + if (!file.is_open()) { +diff --git a/lib/srchilite/fileutil.h b/lib/srchilite/fileutil.h +index 7335a9b..042eb56 100644 +--- a/lib/srchilite/fileutil.h ++++ b/lib/srchilite/fileutil.h +@@ -27,7 +27,7 @@ extern std::string start_path; + * @return the contents of the file + * @throw IOException + */ +-string readFile(const string &fileName) throw (IOException); ++string readFile(const string &fileName); + + //char *read_file(const string &fileName); + +-- +cgit v1.2.1 + diff --git a/main/source-highlight/version b/main/source-highlight/version new file mode 100644 index 00000000..45462b7f --- /dev/null +++ b/main/source-highlight/version @@ -0,0 +1 @@ +3.1.9 12 diff --git a/main/spdlog/PKGBUILD b/main/spdlog/PKGBUILD new file mode 100644 index 00000000..225db7a3 --- /dev/null +++ b/main/spdlog/PKGBUILD @@ -0,0 +1,49 @@ +# Packager = Developer +pkgname=spdlog +pkgver=%version% +pkgrel=%release% +pkgdesc='Very fast, header-only/compiled, C++ logging library' +arch=('x86_64') +url='https://github.com/gabime/spdlog' +license=('MIT') +depends=('libfmt.so') +makedepends=('cmake') +source=( + "$pkgname-$pkgver.tar.gz::https://github.com/gabime/spdlog/archive/v$pkgver.tar.gz" + "spdlog_fmt_external.patch" +) +provides=( + 'libspdlog.so' +) +sha256sums=('1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b' + 'a0eb34b7c6920f0db2587460071f53372663c191cdfe34bf5ea2704c309c745f') + +prepare() { + cd "$pkgname-$pkgver" + patch -p1 <../spdlog_fmt_external.patch +} + +build() { + export CFLAGS+=" ${CPPFLAGS}" + export CXXFLAGS+=" ${CPPFLAGS}" + # FIXME: Stop -DSPDLOG_BUILD_TESTS=ON from downloading bundled catch2 + cmake -B build -S "$pkgname-$pkgver" \ + -DSPDLOG_BUILD_BENCH=OFF \ + -DSPDLOG_FMT_EXTERNAL=ON \ + -DSPDLOG_BUILD_SHARED=ON \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -Wno-dev + make -C build +} + +# See FIXME above +#check() { +# make -C build test +#} + +package() { + make -C build DESTDIR="$pkgdir" install + install -Dm644 "$pkgname-$pkgver/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/spdlog/spdlog_constexpr.patch b/main/spdlog/spdlog_constexpr.patch new file mode 100644 index 00000000..34496903 --- /dev/null +++ b/main/spdlog/spdlog_constexpr.patch @@ -0,0 +1,21 @@ +diff --git a/include/spdlog/common.h b/include/spdlog/common.h +index 0a262eb2..059627c8 100644 +--- a/include/spdlog/common.h ++++ b/include/spdlog/common.h +@@ -75,6 +75,16 @@ + # endif + #endif + ++#ifdef SPDLOG_USE_STD_FORMAT ++ #define SPDLOG_CONSTEXPR_FUNC constexpr ++#else // Being built with fmt ++ #if FMT_USE_CONSTEXPR ++ #define SPDLOG_CONSTEXPR_FUNC FMT_CONSTEXPR ++ #else ++ #define SPDLOG_CONSTEXPR_FUNC inline ++ #endif ++#endif ++ + #if defined(__GNUC__) || defined(__clang__) + # define SPDLOG_DEPRECATED __attribute__((deprecated)) + #elif defined(_MSC_VER) diff --git a/main/spdlog/spdlog_fmt_external.patch b/main/spdlog/spdlog_fmt_external.patch new file mode 100644 index 00000000..aac0a9cf --- /dev/null +++ b/main/spdlog/spdlog_fmt_external.patch @@ -0,0 +1,11 @@ +--- a/include/spdlog/tweakme.h 2023-01-02 09:57:15.667781832 -0800 ++++ b/include/spdlog/tweakme.h 2023-01-02 09:57:17.761105926 -0800 +@@ -78,7 +78,7 @@ + // In this case spdlog will try to include so set your -I flag + // accordingly. + // +-// #define SPDLOG_FMT_EXTERNAL ++#define SPDLOG_FMT_EXTERNAL + /////////////////////////////////////////////////////////////////////////////// + + /////////////////////////////////////////////////////////////////////////////// diff --git a/main/spdlog/version b/main/spdlog/version new file mode 100644 index 00000000..045ad770 --- /dev/null +++ b/main/spdlog/version @@ -0,0 +1 @@ +1.14.1 1 diff --git a/main/spectacle/.PKGINFO b/main/spectacle/.PKGINFO new file mode 100644 index 00000000..34e20e7b --- /dev/null +++ b/main/spectacle/.PKGINFO @@ -0,0 +1,49 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.35 +pkgname = spectacle +pkgbase = spectacle +xdata = pkgtype=pkg +pkgver = 24.05.1-1 +pkgdesc = KDE screenshot capture utility +url = https://apps.kde.org/spectacle/ +builddate = 1718491937 +packager = Developer +size = 5386325 +arch = x86_64 +license = GPL-2.0-or-later +group = kde-applications +group = kde-graphics +depend = gcc-libs +depend = glibc +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kdbusaddons +depend = kglobalaccel +depend = kguiaddons +depend = ki18n +depend = kio +depend = kirigami +depend = kjobwidgets +depend = knotifications +depend = kpipewire +depend = kservice +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = layer-shell-qt +depend = libxcb +depend = opencv +depend = purpose +depend = qt6-base +depend = qt6-declarative +depend = qt6-multimedia +depend = qt6-wayland +depend = wayland +depend = xcb-util +depend = xcb-util-cursor +depend = xcb-util-image +depend = zxing-cpp +makedepend = extra-cmake-modules +makedepend = kdoctools +makedepend = plasma-wayland-protocols diff --git a/main/spectacle/PKGBUILD b/main/spectacle/PKGBUILD new file mode 100644 index 00000000..db9f39a0 --- /dev/null +++ b/main/spectacle/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=spectacle +pkgver=%version% +pkgrel=%release% +pkgdesc='KDE screenshot capture utility' +arch=(x86_64) +url='https://apps.kde.org/spectacle/' +license=(GPL-2.0-or-later) +depends=(gcc-libs + glibc + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kglobalaccel + kguiaddons + ki18n + kio + kirigami + kjobwidgets + knotifications + kpipewire + kservice + kwidgetsaddons + kwindowsystem + kxmlgui + layer-shell-qt + libxcb + purpose + qt6-base + qt6-declarative + qt6-multimedia + qt6-wayland + wayland + xcb-util + xcb-util-cursor + xcb-util-image) +makedepends=(extra-cmake-modules + kdoctools + plasma-wayland-protocols) +groups=(kde-applications + kde-graphics) +source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('5746bc02ab89de56ba3f3bb4adf72cd87d08b0fb60037081481b43a7a364ea57' + 'SKIP') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 # Christoph Feck + D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + diff --git a/main/spectacle/README b/main/spectacle/README new file mode 100644 index 00000000..042fc5a0 --- /dev/null +++ b/main/spectacle/README @@ -0,0 +1,43 @@ +spectacle +________________________________________________________________________________ + +KDE screenshot capture utility + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S spectacle | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://apps.kde.org/spectacle/ diff --git a/main/spectacle/version b/main/spectacle/version new file mode 100644 index 00000000..60625ba4 --- /dev/null +++ b/main/spectacle/version @@ -0,0 +1 @@ +24.05.1 1 diff --git a/main/speech-dispatcher/.PKGINFO b/main/speech-dispatcher/.PKGINFO new file mode 100644 index 00000000..1b0a47dc --- /dev/null +++ b/main/speech-dispatcher/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libspeechd +pkgbase = speech-dispatcher +xdata = pkgtype=split +pkgver = 0.11.5-2 +pkgdesc = High-level device independent layer for speech synthesis interface +url = http://www.freebsoft.org/speechd +builddate = 1714401255 +packager = Developer +size = 60827 +arch = x86_64 +license = GPL2 +license = FDL +depend = glib2 +depend = libtool +makedepend = glib2 +makedepend = intltool +makedepend = espeak-ng +makedepend = libtool +makedepend = python-pyxdg +makedepend = dotconf +makedepend = libpulse +makedepend = libao diff --git a/main/speech-dispatcher/PKGBUILD b/main/speech-dispatcher/PKGBUILD new file mode 100644 index 00000000..619429d2 --- /dev/null +++ b/main/speech-dispatcher/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=speech-dispatcher +pkgname=(speech-dispatcher libspeechd) +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +pkgdesc="High-level device independent layer for speech synthesis interface" +url='http://www.freebsoft.org/speechd' +license=('GPL2' 'FDL') +makedepends=('glib2' 'intltool' 'espeak-ng' 'libtool' 'python-pyxdg' 'dotconf' 'libpulse' 'libao') +source=("https://github.com/brailcom/speechd/releases/download/${pkgver}/speech-dispatcher-${pkgver}.tar.gz") +sha512sums=('d6d880bce0ae5bc2a5d519ef7740c689ae8b4b0bb658379762810e4beae3e465a429fbe19f7c490e89db0ea6a36aedd4b2287ac9251b90059b5c2cb3c0dd8a28') + +build() { + cd ${pkgname}-${pkgver} + + ./configure --prefix=/usr --sysconfdir=/etc \ + --disable-static \ + --libexecdir=/usr/lib/speech-dispatcher/ \ + --with-ibmtts=no --with-kali=no --with-baratinoo=no \ + --with-voxin=no --without-flite + make +} + +package_speech-dispatcher() { + depends=("libspeechd=$pkgver-$pkgrel" 'python-pyxdg' 'dotconf' 'libpulse' 'libao') + optdepends=('festival: Speech output using Festival' + 'espeak-ng: Speech output using ESpeak-ng' + 'pulseaudio: PulseAudio support') + backup=('etc/speech-dispatcher/clients/emacs.conf' + 'etc/speech-dispatcher/modules/dtk-generic.conf' + 'etc/speech-dispatcher/modules/epos-generic.conf' + 'etc/speech-dispatcher/modules/espeak-ng.conf' + 'etc/speech-dispatcher/modules/espeak-ng-mbrola.conf' + 'etc/speech-dispatcher/modules/espeak-ng-mbrola-generic.conf' + 'etc/speech-dispatcher/modules/festival.conf' + 'etc/speech-dispatcher/modules/llia_phon-generic.conf' + 'etc/speech-dispatcher/modules/mary-generic.conf' + 'etc/speech-dispatcher/modules/swift-generic.conf' + 'etc/speech-dispatcher/speechd.conf') + + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}/etc/speech-dispatcher/modules/cicero.conf" + rm "${pkgdir}/etc/speech-dispatcher/modules/espeak.conf" + rm "${pkgdir}/etc/speech-dispatcher/modules/espeak-mbrola-generic.conf" + rm "${pkgdir}/etc/speech-dispatcher/modules/flite.conf" + rm "${pkgdir}/usr/lib/speech-dispatcher/speech-dispatcher-modules/sd_cicero" + + sed -i 's|includedir=.*|includedir=${prefix}/include/speech-dispatcher|g' "${pkgdir}/usr/lib/pkgconfig/speech-dispatcher.pc" + + mkdir -p "${srcdir}"/libspeechd/usr/lib + mv "${pkgdir}"/usr/include "${srcdir}"/libspeechd/usr + mv "${pkgdir}"/usr/lib/libspeechd*so* "${srcdir}"/libspeechd/usr/lib + mv "${pkgdir}/usr/lib/pkgconfig" "${srcdir}/libspeechd/usr/lib" +} + +package_libspeechd() { + depends=('glib2' 'libtool') + mkdir -p "${pkgdir}"/usr/lib + + mv "${srcdir}"/libspeechd/usr/include "${pkgdir}"/usr + mv "${srcdir}"/libspeechd/usr/lib/* "${pkgdir}"/usr/lib +} diff --git a/main/speech-dispatcher/README b/main/speech-dispatcher/README new file mode 100644 index 00000000..9e21a1c2 --- /dev/null +++ b/main/speech-dispatcher/README @@ -0,0 +1,43 @@ +speech-dispatcher +________________________________________________________________________________ + +High-level device independent layer for speech synthesis interface + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S speech-dispatcher | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.freebsoft.org/speechd diff --git a/main/speech-dispatcher/version b/main/speech-dispatcher/version new file mode 100644 index 00000000..df2cb9c3 --- /dev/null +++ b/main/speech-dispatcher/version @@ -0,0 +1 @@ +0.11.5 2 diff --git a/main/speex/PKGBUILD b/main/speex/PKGBUILD new file mode 100644 index 00000000..de27bf1e --- /dev/null +++ b/main/speex/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=speex +pkgver=%version% +pkgrel=%release% +pkgdesc="A free codec for free speech" +url="https://www.speex.org/" +arch=(x86_64) +license=(BSD) +depends=(gcc-libs libogg speexdsp) +makedepends=(git) +_commit=5dceaaf3e23ee7fd17c80cb5f02a838fd6c18e01 # tags/Speex-1.2.1^0 +source=("git+https://gitlab.xiph.org/xiph/speex.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd speex + git describe --tags | sed 's/^Speex-//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd speex + ./autogen.sh +} + +build() { + cd speex + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --enable-binaries \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd speex + make -k check +} + +package() { + depends+=(libogg.so libspeexdsp.so) + provides+=(libspeex.so) + + cd speex + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} diff --git a/main/speex/README b/main/speex/README new file mode 100644 index 00000000..5c567f3c --- /dev/null +++ b/main/speex/README @@ -0,0 +1,43 @@ +speex +________________________________________________________________________________ + +A free codec for free speech + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S speex | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.speex.org/ diff --git a/main/speex/version b/main/speex/version new file mode 100644 index 00000000..cd3d02bc --- /dev/null +++ b/main/speex/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/main/speexdsp/PKGBUILD b/main/speexdsp/PKGBUILD new file mode 100644 index 00000000..6f1631e6 --- /dev/null +++ b/main/speexdsp/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=speexdsp +pkgver=%version% +pkgrel=%release% +pkgdesc="DSP library derived from Speex" +url="https://www.speex.org/" +arch=(x86_64) +license=(BSD) +depends=(gcc-libs) +makedepends=(git) +provides=(libspeexdsp.so) +_commit=1b28a0f61bc31162979e1f26f3981fc3637095c8 # tags/SpeexDSP-1.2.1^0 +source=("git+https://gitlab.xiph.org/xiph/speexdsp.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd speexdsp + git describe --tags | sed 's/^SpeexDSP-//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd speexdsp + ./autogen.sh +} + +build() { + cd speexdsp + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd speexdsp + make -k check +} + +package() { + cd speexdsp + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +} diff --git a/main/speexdsp/README b/main/speexdsp/README new file mode 100644 index 00000000..37fb6e3c --- /dev/null +++ b/main/speexdsp/README @@ -0,0 +1,43 @@ +speexdsp +________________________________________________________________________________ + +DSP library derived from Speex + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S speexdsp | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.speex.org/ diff --git a/main/speexdsp/version b/main/speexdsp/version new file mode 100644 index 00000000..cd3d02bc --- /dev/null +++ b/main/speexdsp/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/main/spirv-tools/.PKGINFO b/main/spirv-tools/.PKGINFO new file mode 100644 index 00000000..d0bb1d54 --- /dev/null +++ b/main/spirv-tools/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = spirv-tools +pkgbase = spirv-tools +xdata = pkgtype=pkg +pkgver = 2024.1-1 +pkgdesc = API and commands for processing SPIR-V modules +url = https://www.khronos.org/vulkan/ +builddate = 1715045460 +packager = Developer +size = 6610235 +arch = x86_64 +license = Apache-2.0 +group = vulkan-devel +depend = gcc-libs +depend = sh +makedepend = cmake +makedepend = python +makedepend = ninja +makedepend = spirv-headers diff --git a/main/spirv-tools/PKGBUILD b/main/spirv-tools/PKGBUILD new file mode 100644 index 00000000..0a2560a7 --- /dev/null +++ b/main/spirv-tools/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=spirv-tools +pkgver=%version% +# There was no release tag, just the release candidate +_tag="${pkgver}.rc1" +pkgrel=%release% +pkgdesc="API and commands for processing SPIR-V modules" +arch=('x86_64') +url="https://www.khronos.org/vulkan/" +license=('Apache-2.0') +groups=(vulkan-devel) +depends=('gcc-libs' 'sh') +makedepends=('cmake' 'python' 'ninja' 'spirv-headers') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v${_tag}.tar.gz") +sha256sums=('750e4bfcaccd636fb04dd912b668a8a6d29940f8f83b7d9a266170b1023a1a89') + +build() { + cd "SPIRV-Tools-${_tag}" + + cmake \ + -Bbuild \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=None \ + -DSPIRV_WERROR=Off \ + -DBUILD_SHARED_LIBS=ON \ + -DSPIRV_TOOLS_BUILD_STATIC=OFF \ + -DSPIRV-Headers_SOURCE_DIR=/usr + cmake --build build +} + +check() { + cd "SPIRV-Tools-${_tag}" + ninja -C build test +} + +package() { + cd "SPIRV-Tools-${_tag}" + + DESTDIR="${pkgdir}" cmake --install build +} diff --git a/main/spirv-tools/README b/main/spirv-tools/README new file mode 100644 index 00000000..f7fa2d40 --- /dev/null +++ b/main/spirv-tools/README @@ -0,0 +1,43 @@ +spirv-tools +________________________________________________________________________________ + +API and commands for processing SPIR-V modules + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S spirv-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.khronos.org/vulkan/ diff --git a/main/spirv-tools/version b/main/spirv-tools/version new file mode 100644 index 00000000..4bbca5b9 --- /dev/null +++ b/main/spirv-tools/version @@ -0,0 +1 @@ +2024.1 1 diff --git a/main/sqlite/.PKGINFO b/main/sqlite/.PKGINFO new file mode 100644 index 00000000..dfdc1470 --- /dev/null +++ b/main/sqlite/.PKGINFO @@ -0,0 +1,20 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = sqlite-tcl +pkgbase = sqlite +xdata = pkgtype=split +pkgver = 3.45.3-1 +pkgdesc = sqlite Tcl Extension Architecture (TEA) +url = https://www.sqlite.org/ +builddate = 1713312704 +packager = Developer +size = 59817 +arch = x86_64 +license = LicenseRef-Sqlite +replaces = sqlite3-tcl +provides = sqlite3-tcl=3.45.3 +depend = sqlite +depend = glibc +makedepend = tcl +makedepend = readline +makedepend = zlib diff --git a/main/sqlite/.nvchecker.toml b/main/sqlite/.nvchecker.toml new file mode 100644 index 00000000..fbd274f6 --- /dev/null +++ b/main/sqlite/.nvchecker.toml @@ -0,0 +1,4 @@ +[sqlite] +source = "regex" +regex = "Version (\\d+.\\d+.\\d+)" +url = "https://www.sqlite.org/index.html" diff --git a/main/sqlite/PKGBUILD b/main/sqlite/PKGBUILD new file mode 100644 index 00000000..4f44ff94 --- /dev/null +++ b/main/sqlite/PKGBUILD @@ -0,0 +1,157 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase="sqlite" +pkgname=('sqlite' 'sqlite-tcl' 'sqlite-analyzer' 'lemon' 'sqlite-doc') +_srcver=3450200 +_docver=${_srcver} +#_docver=3440000 +pkgver=%version% +pkgrel=%release% +pkgdesc="A C library that implements an SQL database engine" +arch=('x86_64') +license=('LicenseRef-Sqlite') +url="https://www.sqlite.org/" +makedepends=('tcl' 'readline' 'zlib') +options=('!emptydirs') +source=(https://www.sqlite.org/2024/sqlite-src-${_srcver}.zip + https://www.sqlite.org/2024/sqlite-doc-${_docver}.zip + sqlite-lemon-system-template.patch + license.txt) +# upstream now switched to sha3sums - currently not supported by makepkg +sha256sums=('4a45a3577cc8af683c4bd4c6e81a7c782c5b7d5daa06175ea2cb971ca71691b1' + '645fd1078a4a03cfe83bfccc380685cc5dcf7dd132a23f78fad4f660e40cf2c7' + '55746d93b0df4b349c4aa4f09535746dac3530f9fd6de241c9f38e2c92e8ee97' + '4e57d9ac979f1c9872e69799c2597eeef4c6ce7224f3ede0bf9dc8d217b1e65d') + +prepare() { + cd sqlite-src-$_srcver + + # patch taken from Fedora + # https://src.fedoraproject.org/rpms/sqlite/blob/master/f/sqlite.spec + patch -Np1 -i ../sqlite-lemon-system-template.patch + + #autoreconf -vfi +} + +build() { + # this uses malloc_usable_size, which is incompatible with fortification level 3 + export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + export CPPFLAGS="$CPPFLAGS \ + -DSQLITE_ENABLE_COLUMN_METADATA=1 \ + -DSQLITE_ENABLE_UNLOCK_NOTIFY \ + -DSQLITE_ENABLE_DBSTAT_VTAB=1 \ + -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \ + -DSQLITE_ENABLE_FTS3_PARENTHESIS \ + -DSQLITE_SECURE_DELETE \ + -DSQLITE_ENABLE_STMTVTAB \ + -DSQLITE_ENABLE_STAT4 \ + -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ + -DSQLITE_MAX_EXPR_DEPTH=10000 \ + -DSQLITE_ENABLE_MATH_FUNCTIONS" + + # build sqlite + cd sqlite-src-$_srcver + ./configure --prefix=/usr \ + --disable-static \ + --enable-fts3 \ + --enable-fts4 \ + --enable-fts5 \ + --enable-rtree \ + TCLLIBDIR=/usr/lib/sqlite$pkgver + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + # build additional tools + make showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer +} + +package_sqlite() { + + pkgdesc="A C library that implements an SQL database engine" + depends=('readline' 'zlib' 'glibc') + provides=("sqlite3=$pkgver" 'libsqlite3.so') + replaces=("sqlite3") + + cd sqlite-src-$_srcver + make DESTDIR="${pkgdir}" install + + install -m755 showdb showjournal showstat4 showwal sqldiff "${pkgdir}"/usr/bin/ + + # install manpage + install -m755 -d "${pkgdir}"/usr/share/man/man1 + install -m644 sqlite3.1 "${pkgdir}"/usr/share/man/man1/ + + # license + install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt + + # split out tcl extension + mkdir "$srcdir"/tcl + mv "$pkgdir"/usr/lib/sqlite* "$srcdir"/tcl +} + +package_sqlite-tcl() { + + pkgdesc="sqlite Tcl Extension Architecture (TEA)" + depends=('sqlite' 'glibc') + provides=("sqlite3-tcl=$pkgver") + replaces=("sqlite3-tcl") + + install -m755 -d "${pkgdir}"/usr/lib + mv "$srcdir"/tcl/* "${pkgdir}"/usr/lib + + # install manpage + install -m755 -d "${pkgdir}"/usr/share/man/mann + install -m644 "${srcdir}"/sqlite-src-$_srcver/autoconf/tea/doc/sqlite3.n "${pkgdir}"/usr/share/man/mann/ + + # license + install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_sqlite-analyzer() { + + pkgdesc="An analysis program for sqlite3 database files" + depends=('sqlite' 'tcl' 'glibc') + + cd sqlite-src-$_srcver + install -m755 -d "${pkgdir}"/usr/bin + install -m755 sqlite3_analyzer "${pkgdir}"/usr/bin/ + + # license + install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_lemon() { + + # https://www.sqlite.org/lemon.html + pkgdesc="A parser generator" + depends=('glibc') + + cd sqlite-src-$_srcver + # ELF file ('usr/bin/lemon') lacks FULL RELRO, check LDFLAGS. - no fix found so far + install -Dm755 lemon ${pkgdir}/usr/bin/lemon + install -Dm644 lempar.c ${pkgdir}/usr/share/lemon/lempar.c + + mkdir -p "${pkgdir}"/usr/share/doc/${pkgname} + cp ../sqlite-doc-${_docver}/lemon.html "${pkgdir}"/usr/share/doc/${pkgname}/ + # license + install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_sqlite-doc() { + + pkgdesc="most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation" + #arch=('any') - not yet supported + provides=("sqlite3-doc=$pkgver") + replaces=("sqlite3-doc") + + cd sqlite-doc-${_docver} + mkdir -p "${pkgdir}"/usr/share/doc/${pkgbase} + cp -R * "${pkgdir}"/usr/share/doc/${pkgbase}/ + + # license + install -D -m644 "${srcdir}"/license.txt "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt + + rm "${pkgdir}"/usr/share/doc/${pkgbase}/lemon.html +} diff --git a/main/sqlite/README b/main/sqlite/README new file mode 100644 index 00000000..2db4dc50 --- /dev/null +++ b/main/sqlite/README @@ -0,0 +1,43 @@ +sqlite +________________________________________________________________________________ + +A C library that implements an SQL database engine A C library that implements an SQL database engine sqlite Tcl Extension Architecture (TEA) An analysis program for sqlite3 database files A parser generator most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sqlite | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.sqlite.org/ diff --git a/main/sqlite/license.txt b/main/sqlite/license.txt new file mode 100644 index 00000000..118c5d5e --- /dev/null +++ b/main/sqlite/license.txt @@ -0,0 +1,33 @@ +SQLite Copyright +SQLite is in the +Public Domain + + +All of the deliverable code in SQLite has been dedicated to the public domain by the authors. All code authors, and representatives of the companies they work for, have signed affidavits dedicating their contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. + +The previous paragraph applies to the deliverable code in SQLite - those parts of the SQLite library that you actually bundle and ship with a larger application. Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library. + +All of the deliverable code in SQLite has been written from scratch. No code has been taken from other projects or from the open internet. Every line of code can be traced back to its original author, and all of those authors have public domain dedications on file. So the SQLite code base is clean and is uncontaminated with licensed code from other projects. +Obtaining An Explicit License To Use SQLite + +Even though SQLite is in the public domain and does not require a license, some users want to obtain a license anyway. Some reasons for obtaining a license include: +You are using SQLite in a jurisdiction that does not recognize the public domain. +You are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain. +You want to hold a tangible legal document as evidence that you have the legal right to use and distribute SQLite. +Your legal department tells you that you have to purchase a license. + +If you feel like you really have to purchase a license for SQLite, Hwaci, the company that employs the architect and principal developers of SQLite, will sell you one. +Contributed Code + +In order to keep SQLite completely free and unencumbered by copyright, all new contributors to the SQLite code base are asked to dedicate their contributions to the public domain. If you want to send a patch or enhancement for possible inclusion in the SQLite source tree, please accompany the patch with the following statement: +The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law. + +We are not able to accept patches or changes to SQLite that are not accompanied by a statement such as the above. In addition, if you make changes or enhancements as an employee, then a simple statement such as the above is insufficient. You must also send by surface mail a copyright release signed by a company officer. A signed original of the copyright release should be mailed to: +Hwaci +6200 Maple Cove Lane +Charlotte, NC 28269 +USA + +A template copyright release is available in PDF or HTML. You can use this release to make future changes. + +see http://www.sqlite.org/copyright.html \ No newline at end of file diff --git a/main/sqlite/sqlite-lemon-system-template.patch b/main/sqlite/sqlite-lemon-system-template.patch new file mode 100644 index 00000000..d4ed6c0b --- /dev/null +++ b/main/sqlite/sqlite-lemon-system-template.patch @@ -0,0 +1,13 @@ +diff --git a/tool/lemon.c b/tool/lemon.c +index 54c8946..ac14a06 100644 +--- a/tool/lemon.c ++++ b/tool/lemon.c +@@ -3668,6 +3668,8 @@ PRIVATE FILE *tplt_open(struct lemon *lemp) + tpltname = buf; + }else if( access(templatename,004)==0 ){ + tpltname = templatename; ++ }else if( access("/usr/share/lemon/lempar.c", R_OK)==0){ ++ tpltname = "/usr/share/lemon/lempar.c"; + }else{ + toFree = tpltname = pathsearch(lemp->argv0,templatename,0); + } diff --git a/main/sqlite/version b/main/sqlite/version new file mode 100644 index 00000000..6fa38341 --- /dev/null +++ b/main/sqlite/version @@ -0,0 +1 @@ +3.45.3 1 diff --git a/main/squashfs-tools/PKGBUILD b/main/squashfs-tools/PKGBUILD new file mode 100644 index 00000000..e29b1dc8 --- /dev/null +++ b/main/squashfs-tools/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer +# Original TU: Jeff Mickey + +pkgname=squashfs-tools +pkgver=%version% +pkgrel=%release% +pkgdesc='Tools for squashfs, a highly compressed read-only filesystem for Linux' +arch=(x86_64) +url='https://github.com/plougher/squashfs-tools' +license=(GPL2) +depends=( + glibc + gcc-libs + lz4 + lzo + xz + zlib + zstd +) +makedepends=(help2man) +source=($url/archive/$pkgver/$pkgname-$pkgver.tar.gz) +sha512sums=('10e8a4b1e2327e062aef4f85860e76ebcd7a29e4c19e152ff7edec4a38316982b5bcfde4ab69da6bcb931258d264c2b6cb40cb5f635f9e6f6eba1ed5976267cb') +b2sums=('05e38681de219413573e8b1a7f36d2f7e87734f68a929ecdeb5ae6017076fbfd67b897448980e047689ef4b154d2dcd1a90162367a6a5babab45f1ef36f09325') + +build() { + local make_options=( + GZIP_SUPPORT=1 + LZ4_SUPPORT=1 + LZMA_XZ_SUPPORT=1 + LZO_SUPPORT=1 + XATTR_SUPPORT=1 + XZ_SUPPORT=1 + ZSTD_SUPPORT=1 + -C $pkgname-$pkgver/$pkgname + ) + + make "${make_options[@]}" +} + +package() { + local make_options=( + INSTALL_PREFIX="$pkgdir/usr" + INSTALL_MANPAGES_DIR='$(INSTALL_PREFIX)/share/man/man1' + install + -C $pkgname-$pkgver/$pkgname + ) + + make "${make_options[@]}" + install -vDm 644 $pkgname-$pkgver/{ACTIONS-README,CHANGES,"README-$pkgver",USAGE*} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/squashfs-tools/README b/main/squashfs-tools/README new file mode 100644 index 00000000..3c9cdc49 --- /dev/null +++ b/main/squashfs-tools/README @@ -0,0 +1,43 @@ +squashfs-tools +________________________________________________________________________________ + +Tools for squashfs, a highly compressed read-only filesystem for Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S squashfs-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/plougher/squashfs-tools diff --git a/main/squashfs-tools/version b/main/squashfs-tools/version new file mode 100644 index 00000000..9fa68d8c --- /dev/null +++ b/main/squashfs-tools/version @@ -0,0 +1 @@ +4.6.1 1 diff --git a/main/sratom/PKGBUILD b/main/sratom/PKGBUILD new file mode 100644 index 00000000..460b7c99 --- /dev/null +++ b/main/sratom/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=sratom +pkgname=(sratom{,-docs}) +pkgver=%version% +pkgrel=%release% +pkgdesc="An LV2 Atom RDF serialisation library" +arch=(x86_64) +url="https://drobilla.net/software/sratom.html" +license=(ISC) +makedepends=( + doxygen + lv2 + meson + python-sphinx + python-sphinx-lv2-theme + python-sphinxygen + serd + sord +) +source=(https://download.drobilla.net/$pkgname-$pkgver.tar.xz{,.sig}) +sha512sums=('8e01eec642bff63745e8d99a814780ff34e4b79cc99699a1bb7ddac60da8808231d3b4a615a1d87464cbcf4dc26b8ec39e71688a268d493df71dc75892bf6479' + 'SKIP') +b2sums=('e78bc572d990ce6914f3276d1b110cb3ba01213f5a084d8548009bf9226107c820f9f86f4cf22ae8076dd9d44bdb5e8b4bc623f67759150fb267b6ccf673a1f7' + 'SKIP') +validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + arch-meson $pkgname-$pkgver build + meson compile -C build +} + +check() { + meson test -C build +} + +package_sratom() { + depends=( + glibc + serd libserd-0.so + sord libsord-0.so + lv2 + ) + provides=(libsratom-0.so) + optdepends=('sratom-docs: for developer documentation') + + meson install -C build --destdir "$pkgdir" + ( + cd "$pkgdir" + _pick $pkgname-docs usr/share/doc + ) + install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgname-$pkgver/{NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} + +package_sratom-docs() { + pkgdesc+=" - documentation" + + mv -v $pkgname/* "$pkgdir" + mv -v "$pkgdir/usr/share/doc/"sratom{-0,} +} diff --git a/main/sratom/README b/main/sratom/README new file mode 100644 index 00000000..d9173461 --- /dev/null +++ b/main/sratom/README @@ -0,0 +1,43 @@ +sratom +________________________________________________________________________________ + +An LV2 Atom RDF serialisation library An LV2 Atom RDF serialisation library - documentation + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sratom | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://drobilla.net/software/sratom.html diff --git a/main/sratom/version b/main/sratom/version new file mode 100644 index 00000000..b98ae1a8 --- /dev/null +++ b/main/sratom/version @@ -0,0 +1 @@ +0.6.16 1 diff --git a/main/srt/PKGBUILD b/main/srt/PKGBUILD new file mode 100644 index 00000000..77951300 --- /dev/null +++ b/main/srt/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=srt +pkgver=%version% +pkgrel=%release% +pkgdesc="Secure Reliable Transport library" +url="https://www.srtalliance.org/" +arch=(x86_64) +license=(MPL2) +depends=( + gcc-libs + openssl +) +makedepends=( + cmake + git + ninja +) +_commit=09f35c0f1743e23f514cb41444504a7faeacf89e # tags/v1.5.3 +source=("git+https://github.com/Haivision/srt#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd srt + git describe --tags | sed 's/^v//;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd srt +} + +build() { + local cmake_options=( + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_BUILD_TYPE=None + -DENABLE_STATIC=ON + -DENABLE_TESTING=ON + ) + + cmake -S srt -B build -G Ninja "${cmake_options[@]}" + cmake --build build +} + +check() { + cd build + ./uriparser-test + ./utility-test +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/srt/README b/main/srt/README new file mode 100644 index 00000000..a2330dab --- /dev/null +++ b/main/srt/README @@ -0,0 +1,43 @@ +srt +________________________________________________________________________________ + +Secure Reliable Transport library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S srt | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.srtalliance.org/ diff --git a/main/srt/version b/main/srt/version new file mode 100644 index 00000000..dae12545 --- /dev/null +++ b/main/srt/version @@ -0,0 +1 @@ +1.5.3 1 diff --git a/main/sshfs/PKGBUILD b/main/sshfs/PKGBUILD new file mode 100644 index 00000000..45735de5 --- /dev/null +++ b/main/sshfs/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sshfs +pkgver=%version% +pkgrel=%release% +pkgdesc="FUSE client based on the SSH File Transfer Protocol" +arch=('x86_64') +url="https://github.com/libfuse/sshfs" +license=(GPL) +depends=(fuse3 glib2 openssh) +makedepends=('meson' 'python-docutils') +source=(https://github.com/libfuse/sshfs/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz{,.asc}) +sha256sums=('5218ce7bdd2ce0a34137a0d7798e0f6d09f0e6d21b1e98ee730a18b0699c2e99' + 'SKIP') +validpgpkeys=('ED31791B2C5C1613AF388B8AD113FCAC3C4E599F') # Nikolaus Rath + +prepare() { + cd $pkgname-$pkgver + + rm -rf build + mkdir build + cd build + arch-meson .. +} + +build() { + cd $pkgname-$pkgver/build + ninja +} + +package() { + cd $pkgname-$pkgver/build + + DESTDIR="$pkgdir" ninja install +} diff --git a/main/sshfs/README b/main/sshfs/README new file mode 100644 index 00000000..ecf999a6 --- /dev/null +++ b/main/sshfs/README @@ -0,0 +1,43 @@ +sshfs +________________________________________________________________________________ + +FUSE client based on the SSH File Transfer Protocol + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sshfs | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/libfuse/sshfs diff --git a/main/sshfs/version b/main/sshfs/version new file mode 100644 index 00000000..3f0b66c4 --- /dev/null +++ b/main/sshfs/version @@ -0,0 +1 @@ +3.7.3 1 diff --git a/main/stoken/PKGBUILD b/main/stoken/PKGBUILD new file mode 100644 index 00000000..461b6e0a --- /dev/null +++ b/main/stoken/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=stoken +pkgver=%version% +pkgrel=%release% +pkgdesc='RSA SecurID-compatible software token for Linux/UNIX systems' +url='https://github.com/cernekee/stoken' +arch=('x86_64') +license=('LGPL2.1') +depends=('nettle' 'libxml2') +makedepends=('gtk3') +optdepends=('gtk3: required for stoken-gui') +provides=('libstoken.so') +source=(https://downloads.sourceforge.net/stoken/${pkgname}-${pkgver}.tar.gz{,.asc}) +sha256sums=('aa2b481b058e4caf068f7e747a2dcf5772bcbf278a4f89bc9efcbf82bcc9ef5a' + 'SKIP') +validpgpkeys=('45DFF2D5205FE8CD74C2EE6C63B81599BC0B0D65') + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make -k check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 CHANGES -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/main/stoken/README b/main/stoken/README new file mode 100644 index 00000000..d310988f --- /dev/null +++ b/main/stoken/README @@ -0,0 +1,43 @@ +stoken +________________________________________________________________________________ + +RSA SecurID-compatible software token for Linux/UNIX systems + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S stoken | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/cernekee/stoken diff --git a/main/stoken/version b/main/stoken/version new file mode 100644 index 00000000..4395223b --- /dev/null +++ b/main/stoken/version @@ -0,0 +1 @@ +0.92 4 diff --git a/main/sudo/PKGBUILD b/main/sudo/PKGBUILD new file mode 100644 index 00000000..f1881486 --- /dev/null +++ b/main/sudo/PKGBUILD @@ -0,0 +1,78 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sudo +_sudover=1.9.15p5 +pkgrel=%release% +pkgver=%version% +pkgdesc="Give certain users the ability to run some commands as root" +arch=('x86_64') +url="https://www.sudo.ws/sudo/" +license=('custom') +depends=('glibc' 'openssl' 'pam' 'libldap' 'zlib') +backup=('etc/pam.d/sudo' + 'etc/sudo.conf' + 'etc/sudo_logsrvd.conf' + 'etc/sudoers') +install=$pkgname.install +source=(https://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig} + sudo_logsrvd.service + sudo.pam) +sha256sums=('558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558' + 'SKIP' + 'bd4bc2f5d85cbe14d7e7acc5008cb4fe62c38de7d42dc6876c87bfaa273c0a6e' + 'd1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2') +validpgpkeys=('59D1E9CCBA2B376704FDD35BA9F4C021CEA470FB') + +prepare() { + cd $pkgname-$_sudover +} + +build() { + cd $pkgname-$_sudover + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --with-rundir=/run/sudo \ + --with-vardir=/var/db/sudo \ + --with-logfac=auth \ + --enable-tmpfiles.d \ + --with-pam \ + --with-sssd \ + --with-ldap \ + --with-ldap-conf-file=/etc/openldap/ldap.conf \ + --with-env-editor \ + --with-passprompt="[sudo] password for %p: " \ + --with-all-insults + make +} + +check() { + cd $pkgname-$_sudover + make check +} + +package() { + depends+=('libcrypto.so' 'libssl.so') + + cd $pkgname-$_sudover + make DESTDIR="$pkgdir" install + + # sudo_logsrvd service file (taken from sudo-logsrvd-1.9.0-1.el8.x86_64.rpm) + install -Dm644 -t "$pkgdir/usr/lib/systemd/system" ../sudo_logsrvd.service + + # Remove sudoers.dist; not needed since pacman manages updates to sudoers + rm "$pkgdir/etc/sudoers.dist" + + # Remove /run/sudo directory; we create it using systemd-tmpfiles + rmdir "$pkgdir/run/sudo" + rmdir "$pkgdir/run" + + install -Dm644 "$srcdir/sudo.pam" "$pkgdir/etc/pam.d/sudo" + + install -Dm644 LICENSE.md -t "$pkgdir/usr/share/licenses/sudo" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/sudo/README b/main/sudo/README new file mode 100644 index 00000000..afdb9049 --- /dev/null +++ b/main/sudo/README @@ -0,0 +1,43 @@ +sudo +________________________________________________________________________________ + +Give certain users the ability to run some commands as root + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sudo | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.sudo.ws/sudo/ diff --git a/main/sudo/sudo.install b/main/sudo/sudo.install new file mode 100644 index 00000000..abf58e37 --- /dev/null +++ b/main/sudo/sudo.install @@ -0,0 +1,9 @@ +pre_upgrade() { + # Permissions of /var/db/sudo were changed from 0700 to 0711 in sudo 1.8.10 + # http://www.sudo.ws/repos/sudo/rev/5c38d77a2d0c + if (($(vercmp $2 1.8.10-1) < 0)); then + chmod 0711 var/db/sudo + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/main/sudo/sudo.pam b/main/sudo/sudo.pam new file mode 100644 index 00000000..ab053c54 --- /dev/null +++ b/main/sudo/sudo.pam @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth include system-auth +account include system-auth +session include system-auth diff --git a/main/sudo/sudo_logsrvd.service b/main/sudo/sudo_logsrvd.service new file mode 100644 index 00000000..06af76d5 --- /dev/null +++ b/main/sudo/sudo_logsrvd.service @@ -0,0 +1,13 @@ +[Unit] +Description=Sudo central log server +Documentation=man:sudo_logsrvd(8) man:sudo_logsrvd.conf(5) +Documentation=https://www.sudo.ws/man.html +After=network.target auditd.service + +[Service] +ExecStart=/usr/bin/sudo_logsrvd -n +KillMode=process +Type=exec + +[Install] +WantedBy=multi-user.target diff --git a/main/sudo/version b/main/sudo/version new file mode 100644 index 00000000..6a9f1436 --- /dev/null +++ b/main/sudo/version @@ -0,0 +1 @@ +${_sudover/p/.p} 1 diff --git a/main/svt-av1/.PKGINFO b/main/svt-av1/.PKGINFO new file mode 100644 index 00000000..34854b2a --- /dev/null +++ b/main/svt-av1/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = svt-av1 +pkgbase = svt-av1 +xdata = pkgtype=pkg +pkgver = 2.1.0-1 +pkgdesc = Scalable Video Technology AV1 encoder and decoder +url = https://gitlab.com/AOMediaCodec/SVT-AV1 +builddate = 1716337495 +packager = Developer +size = 7516438 +arch = x86_64 +license = BSD +license = custom: Alliance for Open Media Patent License 1.0 +depend = glibc +makedepend = cmake +makedepend = git +makedepend = nasm +makedepend = ninja diff --git a/main/svt-av1/PKGBUILD b/main/svt-av1/PKGBUILD new file mode 100644 index 00000000..a6309e79 --- /dev/null +++ b/main/svt-av1/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=svt-av1 +pkgver=%version% +pkgrel=%release% +pkgdesc='Scalable Video Technology AV1 encoder and decoder' +arch=(x86_64) +url=https://gitlab.com/AOMediaCodec/SVT-AV1 +license=( + BSD + 'custom: Alliance for Open Media Patent License 1.0' +) +depends=(glibc) +makedepends=( + cmake + git + nasm + ninja +) +_tag=2aeeb4f1a1d495b84bf5c21dbb60ae10e991fada +source=(git+https://gitlab.com/AOMediaCodec/SVT-AV1.git#tag=${_tag}) +b2sums=(SKIP) + +prepare() { + sed '/CMAKE_BUILD_TYPE Release/d' -i SVT-AV1/CMakeLists.txt +} + +pkgver() { + cd SVT-AV1 + git describe --tags | sed 's/^v//' +} + +build() { + export LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + cmake -S SVT-AV1 -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -DNATIVE=OFF + ninja -C build +} + +package() { + DESTDIR="${pkgdir}" ninja -C build install + install -Dm 644 SVT-AV1/{LICENSE,PATENTS}.md -t "${pkgdir}"/usr/share/licenses/svt-av1/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/svt-av1/README b/main/svt-av1/README new file mode 100644 index 00000000..3e2f5187 --- /dev/null +++ b/main/svt-av1/README @@ -0,0 +1,43 @@ +svt-av1 +________________________________________________________________________________ + +Scalable Video Technology AV1 encoder and decoder + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S svt-av1 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://gitlab.com/AOMediaCodec/SVT-AV1 diff --git a/main/svt-av1/version b/main/svt-av1/version new file mode 100644 index 00000000..ef862396 --- /dev/null +++ b/main/svt-av1/version @@ -0,0 +1 @@ +2.1.0 1 diff --git a/main/syndication/.PKGINFO b/main/syndication/.PKGINFO new file mode 100644 index 00000000..dd42c147 --- /dev/null +++ b/main/syndication/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = syndication +pkgbase = syndication +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = RSS/Atom parser library +url = https://community.kde.org/Frameworks +builddate = 1718491938 +packager = Developer +size = 1574572 +arch = x86_64 +license = LGPL-2.0-only +license = LGPL-3.0-only +group = kf6 +depend = gcc-libs +depend = glibc +depend = kcodecs +depend = qt6-base +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/syndication/PKGBUILD b/main/syndication/PKGBUILD new file mode 100644 index 00000000..59f0e6aa --- /dev/null +++ b/main/syndication/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=syndication +pkgver=%version% +pkgrel=%release% +pkgdesc='RSS/Atom parser library' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(LGPL-2.0-only LGPL-3.0-only) +depends=(gcc-libs + glibc + kcodecs + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-doc + qt6-tools) +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('ff5e5189fcf8f6fb1289886ea370c20295de8c07269521316c2548b8e7294bad' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/syndication/README b/main/syndication/README new file mode 100644 index 00000000..0ed4553e --- /dev/null +++ b/main/syndication/README @@ -0,0 +1,43 @@ +syndication +________________________________________________________________________________ + +RSS/Atom parser library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S syndication | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/syndication/version b/main/syndication/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/syndication/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/syntax-highlighting/.PKGINFO b/main/syntax-highlighting/.PKGINFO new file mode 100644 index 00000000..5170a465 --- /dev/null +++ b/main/syntax-highlighting/.PKGINFO @@ -0,0 +1,23 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = syntax-highlighting +pkgbase = syntax-highlighting +xdata = pkgtype=pkg +pkgver = 6.3.0-1 +pkgdesc = Syntax highlighting engine for structured text and code +url = https://community.kde.org/Frameworks +builddate = 1718491940 +packager = Developer +size = 10851148 +arch = x86_64 +license = MIT +group = kf6 +depend = gcc-libs +depend = glibc +depend = qt6-base +optdepend = qt6-declarative: QML bindings +makedepend = doxygen +makedepend = extra-cmake-modules +makedepend = qt6-declarative +makedepend = qt6-doc +makedepend = qt6-tools diff --git a/main/syntax-highlighting/PKGBUILD b/main/syntax-highlighting/PKGBUILD new file mode 100644 index 00000000..4455353b --- /dev/null +++ b/main/syntax-highlighting/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=syntax-highlighting +pkgver=%version% +pkgrel=%release% +pkgdesc='Syntax highlighting engine for structured text and code' +arch=(x86_64) +url='https://community.kde.org/Frameworks' +license=(MIT) +depends=(gcc-libs + glibc + qt6-base) +makedepends=(doxygen + extra-cmake-modules + qt6-declarative + qt6-doc + qt6-tools) +optdepends=('qt6-declarative: QML bindings') +groups=(kf6) +source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2ef9e6b8aeb8543e64f4a3628afa331c0656fe6c485f3574c407651d7c12a653' + 'SKIP') +validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB # David Faure + E0A3EB202F8E57528E13E72FD7574483BB57B18D) # Jonathan Esk-Riddell + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF \ + -DQRC_SYNTAX=OFF \ + -DBUILD_QCH=ON + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/syntax-highlighting/README b/main/syntax-highlighting/README new file mode 100644 index 00000000..fdae436b --- /dev/null +++ b/main/syntax-highlighting/README @@ -0,0 +1,43 @@ +syntax-highlighting +________________________________________________________________________________ + +Syntax highlighting engine for structured text and code + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S syntax-highlighting | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://community.kde.org/Frameworks diff --git a/main/syntax-highlighting/version b/main/syntax-highlighting/version new file mode 100644 index 00000000..b08fb4c6 --- /dev/null +++ b/main/syntax-highlighting/version @@ -0,0 +1 @@ +6.3.0 1 diff --git a/main/sysfsutils/PKGBUILD b/main/sysfsutils/PKGBUILD new file mode 100644 index 00000000..a0323d0e --- /dev/null +++ b/main/sysfsutils/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=sysfsutils +pkgver=%version% +pkgrel=%release% +pkgdesc="System Utilities Based on Sysfs" +arch=(x86_64) +license=('GPL' 'LGPL') +url="http://linux-diag.sourceforge.net/Sysfsutils.html" +depends=('glibc') +makedepends=('git') +source=("git+https://github.com/linux-ras/sysfsutils.git#tag=v${pkgver}") + +prepare() { +cd "$pkgname" + ./autogen +} + +build() { + cd "$pkgname" + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +check() { + cd "$pkgname" + make check +} + +package() { + cd "$pkgname" + make DESTDIR="$pkgdir" install + rm "$pkgdir/usr/lib/libsysfs.a" +} +md5sums=('SKIP') diff --git a/main/sysfsutils/README b/main/sysfsutils/README new file mode 100644 index 00000000..fcd3c9d6 --- /dev/null +++ b/main/sysfsutils/README @@ -0,0 +1,43 @@ +sysfsutils +________________________________________________________________________________ + +System Utilities Based on Sysfs + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sysfsutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://linux-diag.sourceforge.net/Sysfsutils.html diff --git a/main/sysfsutils/version b/main/sysfsutils/version new file mode 100644 index 00000000..05565a80 --- /dev/null +++ b/main/sysfsutils/version @@ -0,0 +1 @@ +2.1.1 1 diff --git a/main/syslinux/0002-gfxboot-menu-label.patch b/main/syslinux/0002-gfxboot-menu-label.patch new file mode 100644 index 00000000..0666a883 --- /dev/null +++ b/main/syslinux/0002-gfxboot-menu-label.patch @@ -0,0 +1,53 @@ +From: Colin Watson +Date: Wed, 2 Nov 2011 07:57:23 +0100 +Subject: Allow boot entry to start with label instead of menu_label. + +menu_ptr->menu_label is human-readable (perhaps even translatable!) text if +the MENU LABEL command is used, which isn't very convenient at the start of +a boot entry. Allow the entry to start with menu_ptr->label (an +identifier) as an alternative. +--- + com32/gfxboot/gfxboot.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c +index f67132c..4c76a35 100644 +--- a/com32/gfxboot/gfxboot.c ++++ b/com32/gfxboot/gfxboot.c +@@ -818,7 +818,7 @@ void boot(int index) + { + char *arg, *alt_kernel; + menu_t *menu_ptr; +- int i, label_len; ++ int i, label_len, menu_label_len; + unsigned ipapp; + const struct syslinux_ipappend_strings *ipappend; + char *gfxboot_cwd = (char *) gfx_config.gfxboot_cwd; +@@ -836,18 +836,22 @@ void boot(int index) + if(!menu_ptr || !menu_ptr->menu_label) return; + + arg = skipspace(cmdline); +- label_len = strlen(menu_ptr->menu_label); ++ label_len = strlen(menu_ptr->label); ++ menu_label_len = strlen(menu_ptr->menu_label); + + // if it does not start with label string, assume first word is kernel name +- if(strncmp(arg, menu_ptr->menu_label, label_len)) { ++ if(!strncmp(arg, menu_ptr->label, label_len)) { ++ arg += label_len; ++ } ++ else if(!strncmp(arg, menu_ptr->menu_label, menu_label_len)) { ++ arg += menu_label_len; ++ } ++ else { + alt_kernel = arg; + arg = skip_nonspaces(arg); + if(*arg) *arg++ = 0; + if(*alt_kernel) menu_ptr->alt_kernel = alt_kernel; + } +- else { +- arg += label_len; +- } + + arg = skipspace(arg); + diff --git a/main/syslinux/0004-gnu-efi-from-arch.patch b/main/syslinux/0004-gnu-efi-from-arch.patch new file mode 100644 index 00000000..597e4848 --- /dev/null +++ b/main/syslinux/0004-gnu-efi-from-arch.patch @@ -0,0 +1,36 @@ +From: Lukas Schwaighofer +Date: Tue, 3 Oct 2017 18:29:13 +0200 +Subject: Link against gnu-efi from Debian + +Adjust EFIINC, LIBDIR and LIBEFI variables in mk/efi.mk to point to the +files installed by Arch's gnu-efi package. + +Forwarded: not-needed +--- + mk/efi.mk | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/mk/efi.mk b/mk/efi.mk +index f097ad2..dc2b708 100644 +--- a/mk/efi.mk ++++ b/mk/efi.mk +@@ -8,8 +8,8 @@ core = $(topdir)/core + # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories + # set up the LIBDIR and EFIINC for building for the appropriate architecture + GCCOPT := $(call gcc_ok,-fno-stack-protector,) +-EFIINC = $(objdir)/include/efi +-LIBDIR = $(objdir)/lib ++EFIINC = /usr/include/efi ++LIBDIR = /usr/lib + + ifeq ($(ARCH),i386) + ARCHOPT = -m32 -march=i386 +@@ -44,7 +51,7 @@ SFLAGS = $(GCCOPT) $(GCCWARN) $(ARCHOPT) \ + -nostdinc -iwithprefix include \ + -I$(com32)/libutil/include -I$(com32)/include -I$(com32)/include/sys $(GPLINCLUDE) + +-LIBEFI = $(objdir)/lib/libefi.a ++LIBEFI = $(LIBDIR)/libefi.a + + $(LIBEFI): + @echo Building gnu-efi for $(EFI_SUBARCH) diff --git a/main/syslinux/0005-Workaround-multiple-definition-of-symbol-errors.patch b/main/syslinux/0005-Workaround-multiple-definition-of-symbol-errors.patch new file mode 100644 index 00000000..b5bbad0a --- /dev/null +++ b/main/syslinux/0005-Workaround-multiple-definition-of-symbol-errors.patch @@ -0,0 +1,109 @@ +From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 08:02:27 -0500 +Subject: [PATCH] Workaround multiple definition of symbol errors + +--- + com32/cmenu/Makefile | 2 +- + com32/elflink/ldlinux/Makefile | 2 +- + com32/gpllib/Makefile | 2 +- + com32/hdt/Makefile | 2 +- + core/Makefile | 2 +- + dos/Makefile | 2 +- + efi/Makefile | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile +index b81b68ed..2ae989c4 100644 +--- a/com32/cmenu/Makefile ++++ b/com32/cmenu/Makefile +@@ -49,7 +49,7 @@ makeoutputdirs: + @mkdir -p $(OBJ)/libmenu + + libmenu/libmenu.elf: $(LIBMENU) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \ + -o $@ $^ + + tidy dist: +diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile +index 87c0d362..2be2a01a 100644 +--- a/com32/elflink/ldlinux/Makefile ++++ b/com32/elflink/ldlinux/Makefile +@@ -33,7 +33,7 @@ endif + all: $(BTARGET) ldlinux_lnx.a + + ldlinux.elf : $(OBJS) +- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS) ++ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS) + + LNXCFLAGS += -D__export='__attribute__((visibility("default")))' + LNXLIBOBJS = get_key.lo +diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile +index 1fec9145..2d764d0b 100644 +--- a/com32/gpllib/Makefile ++++ b/com32/gpllib/Makefile +@@ -24,7 +24,7 @@ makeoutputdirs: + $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b)) + + libgpl.elf : $(LIBOBJS) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ + + tidy dist clean: + find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \ +diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile +index 61736d05..1d947857 100644 +--- a/com32/hdt/Makefile ++++ b/com32/hdt/Makefile +@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm + all: $(MODULES) $(TESTFILES) + + hdt.elf : $(OBJS) $(LIBS) $(C_LIBS) +- $(LD) $(LDFLAGS) -o $@ $^ ++ $(LD) $(LDFLAGS) -z muldefs -o $@ $^ + + memtest: + -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST) +diff --git a/core/Makefile b/core/Makefile +index 46cb037c..f0cfcbe9 100644 +--- a/core/Makefile ++++ b/core/Makefile +@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld + NASM_ELF = elf + + %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) +- $(LD) $(LDFLAGS) -pie -Bsymbolic \ ++ $(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \ + -T $(LDSCRIPT) \ + --unresolved-symbols=report-all \ + -E --hash-style=gnu -M -o $@ $< \ +diff --git a/dos/Makefile b/dos/Makefile +index 4c930d19..5d1c72ca 100644 +--- a/dos/Makefile ++++ b/dos/Makefile +@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk + CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3 + # CFLAGS += -DDEBUG + +-LDFLAGS = -T $(SRC)/dosexe.ld ++LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs + OPTFLAGS = -g + INCLUDES = -include code16.h -nostdinc -iwithprefix include \ + -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \ +diff --git a/efi/Makefile b/efi/Makefile +index bbf23f24..3dd922d5 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -69,7 +69,7 @@ $(OBJS): | $(OBJ)/$(ARCH) + BTARGET = syslinux.efi + + syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) +- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi ++ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi + + # We need to rename the .hash section because the EFI firmware + # linker really doesn't like it. +-- +2.25.1 + diff --git a/main/syslinux/0005-gnu-efi-version-compatibility.patch b/main/syslinux/0005-gnu-efi-version-compatibility.patch new file mode 100644 index 00000000..f50ad006 --- /dev/null +++ b/main/syslinux/0005-gnu-efi-version-compatibility.patch @@ -0,0 +1,25 @@ +From: Lukas Schwaighofer +Date: Mon, 3 Dec 2018 22:45:44 +0100 +Subject: Fix compatibility with new gnu-efi version + +Allow multiple definitions when linking the syslinux binary so the +memset and memcpy symbols which are included by gnu-efi since 3.0.8 are +ignored (we still use the definitions from syslinux) but linking +succeeds. +--- + efi/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/efi/Makefile b/efi/Makefile +index f4501e7..0d1a673 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -71,7 +71,7 @@ $(OBJS): | $(OBJ)/$(ARCH) + BTARGET = syslinux.efi + + syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) +- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi ++ $(LD) $(LDFLAGS) -zmuldefs --strip-debug -o $@ $^ -lgnuefi -lefi + + # We need to rename the .hash section because the EFI firmware + # linker really doesn't like it. diff --git a/main/syslinux/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch b/main/syslinux/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch new file mode 100644 index 00000000..11160bb8 --- /dev/null +++ b/main/syslinux/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch @@ -0,0 +1,40 @@ +From eae06bdce9468d7fde263de1c53f80f2faff0c9e Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 11:58:37 -0500 +Subject: [PATCH] Replace builtin strlen that appears to get optimized away + +--- + dos/string.h | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/dos/string.h b/dos/string.h +index f648de2d..407d0233 100644 +--- a/dos/string.h ++++ b/dos/string.h +@@ -5,12 +5,22 @@ + #ifndef _STRING_H + #define _STRING_H + ++#include ++ + /* Standard routines */ + #define memcpy(a,b,c) __builtin_memcpy(a,b,c) + #define memmove(a,b,c) __builtin_memmove(a,b,c) + #define memset(a,b,c) __builtin_memset(a,b,c) + #define strcpy(a,b) __builtin_strcpy(a,b) +-#define strlen(a) __builtin_strlen(a) ++#define strlen(a) inline_strlen(a) ++ ++/* replacement for builtin strlen that appears to get optimized away */ ++static inline size_t inline_strlen(const char *str) ++{ ++ size_t l; ++ for (l = 0; *str++; l++); ++ return l; ++} + + /* This only returns true or false */ + static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) +-- +2.25.1 + diff --git a/main/syslinux/0016-strip-gnu-property.patch b/main/syslinux/0016-strip-gnu-property.patch new file mode 100644 index 00000000..69656f92 --- /dev/null +++ b/main/syslinux/0016-strip-gnu-property.patch @@ -0,0 +1,43 @@ +From: Lukas Schwaighofer +Date: Sat, 18 Aug 2018 12:48:21 +0200 +Subject: Strip the .note.gnu.property section for the mbr + +This section is added since binutils Debian version 2.31.1-2 and causes mbr.bin +to grow in size beyond what can fit into the master boot record. + +Forwarded: https://www.syslinux.org/archives/2018-August/026168.html +--- + mbr/i386/mbr.ld | 6 +++++- + mbr/x86_64/mbr.ld | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld +index d14ba80..6d48990 100644 +--- a/mbr/i386/mbr.ld ++++ b/mbr/i386/mbr.ld +@@ -69,5 +69,9 @@ SECTIONS + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +- /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : ++ { ++ *(.note.GNU-stack) ++ *(.note.gnu.property) ++ } + } +diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld +index ae27d49..5b46db6 100644 +--- a/mbr/x86_64/mbr.ld ++++ b/mbr/x86_64/mbr.ld +@@ -68,5 +68,9 @@ SECTIONS + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +- /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : ++ { ++ *(.note.GNU-stack) ++ *(.note.gnu.property) ++ } + } diff --git a/main/syslinux/0017-single-load-segment.patch b/main/syslinux/0017-single-load-segment.patch new file mode 100644 index 00000000..7fd53b16 --- /dev/null +++ b/main/syslinux/0017-single-load-segment.patch @@ -0,0 +1,306 @@ +From: Lukas Schwaighofer +Date: Sat, 18 Aug 2018 16:56:35 +0200 +Subject: Force the linker to put all sections into a single PT_LOAD segment + +This is required when using binutils >= 2.31 which writes two PT_LOAD segments +by default. This is not supported by the wrapper.c script used to convert the +shared object into an elf binary. + +Forwarded: https://www.syslinux.org/archives/2018-August/026167.html +--- + efi/i386/syslinux.ld | 37 +++++++++++++++++++++---------------- + efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++---------------- + 2 files changed, 42 insertions(+), 32 deletions(-) + +diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld +index bab3fc7..19c1647 100644 +--- a/efi/i386/syslinux.ld ++++ b/efi/i386/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") + OUTPUT_ARCH(i386) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + +diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld +index 450641c..a2c124f 100644 +--- a/efi/x86_64/syslinux.ld ++++ b/efi/x86_64/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + diff --git a/main/syslinux/0018-prevent-pow-optimization.patch b/main/syslinux/0018-prevent-pow-optimization.patch new file mode 100644 index 00000000..0c42c7bb --- /dev/null +++ b/main/syslinux/0018-prevent-pow-optimization.patch @@ -0,0 +1,36 @@ +From: Lukas Schwaighofer +Date: Tue, 26 Feb 2019 23:13:58 +0100 +Subject: Prevent optimizing the pow() function + +With the current GCC 8.2.0 from Debian, a section of code calling pow() in +zzjson_parse.c is turned into a sequence calling exp(). Since no exp() +implementation is available in syslinux those optimizations need to be +disabled. +--- + com32/gpllib/zzjson/zzjson_parse.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c +index ecb6f61..e66a9d8 100644 +--- a/com32/gpllib/zzjson/zzjson_parse.c ++++ b/com32/gpllib/zzjson/zzjson_parse.c +@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) { + return zzjson; + } + ++static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) { ++ return pow(x, y); ++} ++ + static ZZJSON *parse_number(ZZJSON_CONFIG *config) { + ZZJSON *zzjson; + unsigned long long ival = 0, expo = 0; +@@ -213,7 +217,7 @@ skipexpo: + if (dbl) { + dval = sign * (long long) ival; + dval += sign * frac; +- dval *= pow(10.0, (double) signexpo * expo); ++ dval *= pow_noopt(10.0, (double) signexpo * expo); + } + + zzjson = config->calloc(1, sizeof(ZZJSON)); diff --git a/main/syslinux/0025-reproducible-build.patch b/main/syslinux/0025-reproducible-build.patch new file mode 100644 index 00000000..965a9d94 --- /dev/null +++ b/main/syslinux/0025-reproducible-build.patch @@ -0,0 +1,39 @@ +diff --git a/core/Makefile b/core/Makefile +index 50ff35af..f1af71b7 100644 +--- a/core/Makefile ++++ b/core/Makefile +@@ -112,7 +112,7 @@ CFLAGS += -D__SYSLINUX_CORE__ -D__FIRMWARE_$(FIRMWARE)__ \ + # official release. Otherwise, substitute a hex string that is pretty much + # guaranteed to be unique to be unique from build to build. + ifndef HEXDATE +-HEXDATE := $(shell $(PERL) $(SRC)/../now.pl $(SRCS)) ++HEXDATE := $(shell printf '0x%x\n' $(git log -1 --format=%ct)) # make the build more predictable + endif + ifndef DATE + DATE := $(shell sh $(SRC)/../gen-id.sh $(VERSION) $(HEXDATE)) +diff --git a/mk/lib.mk b/mk/lib.mk +index f3fb07c7..bece24a0 100644 +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -58,8 +58,8 @@ CFLAGS += -mregparm=3 -DREGPARM=3 + endif + + ARCH_MATH_OBJS = \ +- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.c)) \ +- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.S)) ++ $(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.c))) \ ++ $(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.S))) + + VPATH = $(SRC) + LIBOTHER_OBJS = \ +@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \ + exit.o + + LIBGCC_OBJS = \ +- $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c)) \ +- $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)) ++ $(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \ ++ $(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S))) + + LIBCONSOLE_OBJS = \ + \ diff --git a/main/syslinux/PKGBUILD b/main/syslinux/PKGBUILD new file mode 100644 index 00000000..c6bdeea2 --- /dev/null +++ b/main/syslinux/PKGBUILD @@ -0,0 +1,108 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=syslinux +pkgver=%version% +#_tag=syslinux-$pkgver +_commit=bf6db5b4 +pkgrel=%release% +pkgdesc='Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE' +url='https://www.syslinux.org/' +arch=(x86_64) +backup=(boot/syslinux/syslinux.cfg) +install=syslinux.install +license=(GPL2) +# syslinux build system is a mess of submakes that does not work with -jN +# efi32/com32 do not like Arch cflags/ldflags, though it would be nice to have the flags for userspace tools +options=(!makeflags !buildflags) +makedepends=(git python nasm upx asciidoc) +makedepends_x86_64=(lib32-glibc) # efi32 needs it +optdepends=('perl-crypt-passwdmd5: For md5pass' + 'perl-digest-sha1: For sha1pass' + 'mtools: For mkdiskimage and syslinux support' + 'gptfdisk: For GPT support' + 'util-linux: For isohybrid' + 'efibootmgr: For EFI support' + 'dosfstools: For EFI support') + +# The syslinux-install_update script is maintained at https://gist.github.com/pyther/772138 +# Script not yet updated for syslinux-efi +source=(git+https://repo.or.cz/syslinux.git#commit=$_commit + syslinux.cfg + syslinux-install_update + 0002-gfxboot-menu-label.patch + 0005-gnu-efi-version-compatibility.patch + 0017-single-load-segment.patch + 0004-gnu-efi-from-arch.patch + 0016-strip-gnu-property.patch + 0018-prevent-pow-optimization.patch + 0025-reproducible-build.patch + 0005-Workaround-multiple-definition-of-symbol-errors.patch + 0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch +) +sha256sums=('SKIP' + 'b9692be0cce43811c1b04053072ac50dd7b39bbc2ba7bcbe0e4387668af8df08' + '5f86b5813465c48ba7bd178389aacb5149ff0b5f2467ab1772a4f862c5b15d41' + 'd1fe9084ce2526619f94b8a07b89fb0194e874beef9f202f8b974879d77f2e1a' + '8610959df6c01568ff478ca1eb4aac301f3ba1f5bd4739daaec072865e8be2d7' + '5b017ba5eae77caa09fa5af6ecfa0df1e7e22776b2b13c8744c6cb7ecd7ad0e9' + 'cf3c3da9300d6ea70eab5b8dca724ce03a3651bd63fb0168594dcfeb35eec11c' + '7facb5c2abc71c9bfe01bf4db388306ed7b7abf6654009af336262839527f962' + '755cd7062fe8495f6f62053ce664451c12ae65dba9fb5c75062a495fbe040fb1' + '9a76f6f75a42485bc337163ba38068b09f7889bdc1a4e191408898f10de36662' + '7e41e17e8cbc7287d6c3c9eb0a7b682cd8d3252030856b338050c21dff9bf05a' + 'd7410d0ff89a15e2a100faf1546d730e043dde15c295974564144e00a93f03a3') + +_targets='bios efi64 efi32' + +pkgver() { + cd syslinux + git describe --long | sed 's/^syslinux-//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd syslinux + + patch -p1 < ../0002-gfxboot-menu-label.patch + patch -p1 < ../0017-single-load-segment.patch + patch -p1 < ../0016-strip-gnu-property.patch + patch -p1 < ../0018-prevent-pow-optimization.patch + + # TODO: use 'gnu-efi-libs' package instead of embedded sources + # patch -p1 < ../0004-gnu-efi-from-arch.patch + # patch -p1 < ../0005-gnu-efi-version-compatibility.patch + + patch -p1 < ../0025-reproducible-build.patch + + patch -p1 < ../0005-Workaround-multiple-definition-of-symbol-errors.patch + patch -p1 < ../0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch + + # do not swallow efi compilation output to make debugging easier + sed 's|> /dev/null 2>&1||' -i efi/check-gnu-efi.sh + + # disable debug and development flags to reduce bootloader size + truncate --size 0 mk/devel.mk +} + +build() { + cd syslinux + export LDFLAGS+=--no-dynamic-linker # workaround for binutils 2.28 http://www.syslinux.org/wiki/index.php?title=Building + export EXTRA_CFLAGS=-fno-PIE # to fix gpxe build + make PYTHON=python $_targets +} + +package() { + cd syslinux + make $_targets install INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man AUXDIR=/usr/lib/syslinux + + rm -r "$pkgdir"/usr/lib/syslinux/{com32,dosutil,syslinux.com} + install -D -m644 COPYING "$pkgdir"/usr/share/licenses/syslinux/COPYING + install -d "$pkgdir"/usr/share/doc + cp -ar doc "$pkgdir"/usr/share/doc/syslinux + + install -d "$pkgdir"/usr/lib/syslinux/bios + mv "$pkgdir"/usr/lib/syslinux/{*.bin,*.c32,*.0,memdisk} "$pkgdir"/usr/lib/syslinux/bios + + install -D -m0644 ../syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg + install -D -m0755 ../syslinux-install_update "$pkgdir"/usr/bin/syslinux-install_update +} diff --git a/main/syslinux/README b/main/syslinux/README new file mode 100644 index 00000000..206d164e --- /dev/null +++ b/main/syslinux/README @@ -0,0 +1,43 @@ +syslinux +________________________________________________________________________________ + +Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S syslinux | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.syslinux.org/ diff --git a/main/syslinux/syslinux-install_update b/main/syslinux/syslinux-install_update new file mode 100644 index 00000000..63bbd03c --- /dev/null +++ b/main/syslinux/syslinux-install_update @@ -0,0 +1,465 @@ +#!/usr/bin/bash +# +# Syslinux Installer / Updater Script (for BIOS only) +# Copyright (C) 2011-2013 Matthew Gyurgyik +# Copyright (C) 2013 Keshav Padram Amburay <(the) (ddoott) (ridikulus) (ddoott) (rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +#----------------- +# ChangeLog: +# 2013-10-23 : Keshav Padram Amburay : Updated script to work with Syslinux 6.02 Arch Linux pkg +#----------------- +# Exit Codes: +# 1 - get_boot_device or other function failed +# 2 - install/update failed +# 3 - set_active failed +# 4 - install_mbr failed +#----------------- + +shopt -s nullglob + +bios_libpath="/usr/lib/syslinux/bios" +bios_bootpath="/boot/syslinux" +EXTLINUX="/usr/bin/extlinux" + +bios_autoupdate_file="/boot/syslinux/SYSLINUX_AUTOUPDATE" +pciids_file="/usr/share/hwdata/pci.ids" + +## Helper functions ## +# Taken from libui-sh +# $1 needle +# $2 set (array) haystack +check_is_in() { + local needle="$1" element + shift + for element; do + [[ $element = $needle ]] && return 0 + done + return 1 +} + +get_disk() { + local part=$1 + if [[ ! -b "${part}" ]]; then + echo >&2 "error: '$part' is not a valid block device!" + exit 1 + fi + + case "$part" in + # catch cases like mmcblk0p1 and loop0p3 + *[[:digit:]]p[[:digit:]]*) + local disk="${part%p[[:digit:]]}" # get everything before p1 + ;; + *) + local disk="${part%%[[:digit:]]*}" + ;; + esac + if [[ ! -b "${disk}" ]]; then + echo >&2 "error: '$disk' is not a valid block device!" + exit 1 + fi + echo $disk +} + +# return true when blockdevice is an md raid, otherwise return a unset value +# get all devices that are part of raid device $1 +device_is_raid() { + [[ $1 && -f /proc/mdstat ]] || return 1 + local devmajor=$(stat -c %t "$1") + (( devmajor == 9 )) +} + +mdraid_all_slaves() { + local slave slaves + for slave in /sys/class/block/${1##*/}/slaves/*; do + source "$slave/uevent" + slaves="$slaves/dev/$DEVNAME " + unset DEVNAME + done + echo $slaves +} + +# Check /sys/block to see if device is partitioned +# If we have a partitioned block device (sda1) /sys/block/sda1/dev will not exist +# However, if we have an unpartitioned block device (sda) /sys/block/sda/dev will exist +dev_is_part() { + # $1 - blockdevice + local dev=$1 + + # If block device uevent file should be found + # If a partition is passed in path shouldn't exist + if [[ $dev = *cciss* ]]; then + [[ -f /sys/block/cciss\!${dev##*/}/dev ]] && return 1 + elif [[ $dev = *ida* ]]; then + [[ -f /sys/block/ida\!${dev##*/}/dev ]] && return 1 + else + [[ -f /sys/block/${dev##*/}/dev ]] && return 1 + fi + + return 0 +} + +# If EFI PART is present in the first 8 bytes then it must be a GPT disk +device_is_gpt() { + local partsig=$(dd if="$1" skip=64 bs=8 count=1 2>/dev/null) + [[ $partsig = "EFI PART" ]] +} + +clear_gpt_attr2() { + # $1 - Block Device, no partitions + local disk=$1 + + # Special Exception for cciss controllers + if [[ $disk = *cciss* ]]; then + for part in /dev/cciss/${disk##*/}*p*; do + local partnum="${part##*[[:alpha:]]}" + sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null + done + # Smart 2 Controllers + elif [[ $disk = *ida* ]]; then + for part in /dev/ida/${disk##*/}*p*; do + local partnum="${part##*[[:alpha:]]}" + sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null + done + else + for part in /sys/block/${disk##*/}/${disk##*/}*; do + local partnum="${part##*[[:alpha:]]}" + sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null + done + fi + return 0 +} + +usage() { +cat << EOF +usage: $0 options + +This script will install or upgrade Syslinux (for BIOS only) + +OPTIONS: + -h Show this message + -i Install Syslinux + -u Update Syslinux + -a Set Boot flag on boot partiton + -m Install Syslinux MBR + -s Updates Syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists + + Arguments Required: + -c Chroot install (ex: -c /mnt) + +Example Usage: $0 -i -a -m # (install, set boot flag, install mbr) + $0 -u # (update) +EOF +} + +# Trys to find the partition that /boot resides on +# This will either be on /boot or / (root) +getBoot() { + if [[ ! -d "$bios_bootpath" ]]; then + echo "Could not find $bios_bootpath" + echo "Is boot mounted? Is Syslinux installed?" + exit 1 + fi + + syslinux_fs=(ext2 ext3 ext4 btrfs vfat xfs) + + # Use DATA from findmnt see rc.sysint for more info + if [[ -f /proc/self/mountinfo ]]; then + read rootdev rootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/") + read bootdev bootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/boot") + else + echo "Could not find /proc/self/mountinfo" + echo "Are you running a kernel greater than 2.6.24?" + exit 1 + fi + + if [[ $bootfs ]]; then + if ! check_is_in "$bootfs" "${syslinux_fs[@]}"; then + echo "/boot file system is not supported by Syslinux" + exit 1 + fi + boot="boot" + bootpart="$(readlink -f "$bootdev")" + elif [[ $rootfs ]]; then + if ! check_is_in "$rootfs" "${syslinux_fs[@]}"; then + echo "/ (root) file system is not supported by Syslinux" + exit 1 + fi + boot="root" + bootpart="$(readlink -f "$rootdev")" + else + echo "Could not find filesystem on / (root) or /boot." + exit 1 + fi +} + +# We store the partition table type either gpt or mbr in var ptb +# In rare cases a user could have one raid disk using mbr and another using gpt +# In such cases we accept that the output may be incomplete + +# Calls get_ptb() for $bootpart or for all device in RAID +declare -A bootdevs +get_boot_devices() { + if device_is_raid "$bootpart"; then + slaves=$(mdraid_all_slaves "$bootpart") + + for slave in ${slaves[@]}; do + local disk=$(get_disk "$slave") + device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR" + bootdevs[$slave]="$ptb" + done + else + local disk=$(get_disk "$bootpart") + device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR" + bootdevs[$bootpart]="$ptb" + fi +} + +# Function Assumes the boot partition should be marked as active +# All other partitions should not have the boot flag set +set_active() { + # If any bootdev is a block device without partitions bail + # we want to set the boot flag on partitioned disk + for dev in "${!bootdevs[@]}"; do + dev_is_part $dev || { echo "$dev does not contain partition table. Aborting set_active!"; return 1; } + done + + # Clear BIOS Bootable Legacy Attribute for GPT drives + # In rare cases where a RAID device has slaves on the same block device + # Attribute 2 will be cleared for each partition multiple times + for dev in "${!bootdevs[@]}"; do + local ptb="${bootdevs[$dev]}" + if [[ "$ptb" = GPT ]]; then + local disk=$(get_disk "$dev") + clear_gpt_attr2 "$disk" + fi + done + + # Set the boot flag on bootdevs (generated from get_boot_devices) + for part in "${!bootdevs[@]}"; do + local ptb="${bootdevs[$part]}" + local partnum="${part##*[[:alpha:]]}" + local disk=$(get_disk "$part") + + if [[ "$ptb" = MBR ]]; then + if sfdisk "$disk" --activate "$partnum" &>/dev/null; then + echo "Boot Flag Set - $part" + else + echo "FAILED to Set the boot flag on $part" + exit 3 + fi + elif [[ "$ptb" = GPT ]]; then + if [[ ! -e /usr/bin/sgdisk ]]; then + echo "FAILED to set attribute Legacy BIOS Bootable. sgdisk is not found - please install 'gptfdisk' package." + exit 3 + fi + + if sgdisk "$disk" --attributes="$partnum":set:2 &>/dev/null; then + echo "Attribute Legacy Bios Bootable Set - $part" + else + echo "FAILED to set attribute Legacy BIOS Bootable on $part" + exit 3 + fi + fi + done + return 0 +} + +install_mbr() { + # If any bootdev is a block device without partitions bail + # we want to install the mbr to a partitioned disk + for dev in "${!bootdevs[@]}"; do + dev_is_part "$dev" || { echo "$dev does not contain partition table. Aborting MBR install."; return 1; } + done + + for part in "${!bootdevs[@]}"; do + local partnum="${part##*[[:alpha:]]}" + local disk=$(get_disk "$part") + local ptb="${bootdevs[$part]}" + + # We want to install to the root of the block device + # If the device is a partition - ABORT! + dev_is_part "$disk" && \ + { echo "ABORT! MBR installation to partition ($disk)!"; exit 4;} + + if [[ "$ptb" = MBR ]]; then + mbrfile="$bios_libpath/mbr.bin" + elif [[ "$ptb" = GPT ]]; then + mbrfile="$bios_libpath/gptmbr.bin" + fi + + if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then + echo "Installed MBR ($mbrfile) to $disk" + else + echo "Error Installing MBR ($mbrfile) to $disk" + exit 4 + fi + done + return 0 +} + +install_modules() { + # Copy all syslinux *.c32 modules to /boot + rm "$bios_bootpath"/*.c32 &> /dev/null + cp "$bios_libpath"/*.c32 "$bios_bootpath"/ &> /dev/null + + # Copy / Symlink pci.ids if pci.ids exists on the FS + if [[ -f "$pciids_file" ]]; then + rm "$bios_bootpath/pci.ids" &> /dev/null + cp "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null + fi +} + +_install() { + install_modules + + if device_is_raid "$bootpart" ; then + echo "Detected RAID on /boot - installing Syslinux with --raid" + "$EXTLINUX" --install "$bios_bootpath" --raid &> /dev/null + else + "$EXTLINUX" --install "$bios_bootpath" &> /dev/null + fi + + if (( $? )); then + echo "Syslinux BIOS install failed" + exit 2 + else + echo "Syslinux BIOS install successful" + fi + + touch "$CHROOT/$bios_autoupdate_file" +} + +update() { + install_modules + + if device_is_raid "$bootpart" ; then + echo "Detected RAID on /boot - updating Syslinux with --raid" + "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null + else + "$EXTLINUX" --update "$bios_bootpath" &> /dev/null + fi + + if (($?)); then + echo "Syslinux BIOS update failed" + exit 2 + else + echo "Syslinux BIOS update successful" + fi +} + +if (( $# == 0 )); then + usage + exit 1 +fi + +while getopts "c:uihmas" opt; do + case $opt in + c) + CHROOT=$(readlink -e "$OPTARG") + if [[ -z $CHROOT ]]; then + echo "error: chroot path ``$OPTARG does not exist"; + exit 1 + fi + ;; + h) + USAGE="True" + ;; + i) + INSTALL="True" + ;; + u) + UPDATE="True" + ;; + m) + MBR="True" + ;; + a) + SET_ACTIVE="True" + ;; + s) + # If AUTOUPDATE_FILE does not exist exit the script + if [[ -f $bios_autoupdate_file ]]; then + UPDATE="True" + else + exit 0 + fi + ;; + *) + usage + exit 1 + ;; + esac +done + +if [[ $USAGE ]]; then + usage + exit 0 +fi + +# Display Usage Information if both Install and Update are passed +if [[ $INSTALL && $UPDATE ]]; then + usage + exit 1 +fi + +# Make sure only root can run our script +if (( $(id -u) != 0 )); then + echo "This script must be run as root" 1>&2 + exit 1 +fi + +# If a chroot dir is path set variables to reflect chroot +if [[ "$CHROOT" ]]; then + bios_libpath="$CHROOT$bios_libpath" + bios_bootpath="$CHROOT$bios_bootpath" + EXTLINUX="$CHROOT$EXTLINUX" +fi + +# Exit if no /boot path exists +if ( f=("$bios_bootpath"/*); (( ! ${#f[@]} )) ); then + echo "Error: $bios_bootpath is empty!" + echo "Is /boot mounted?" + exit 1 +fi + +# Get the boot device if any of these options are passed +if [[ $INSTALL || $UPDATE || $SET_ACTIVE || $MBR ]]; then + getBoot +fi + +# Install or Update +if [[ $INSTALL ]]; then + _install || exit +elif [[ $UPDATE ]]; then + update || exit +fi + + +# SET_ACTIVE and MBR +if [[ $SET_ACTIVE ]] || [[ $MBR ]]; then + get_boot_devices + + if [[ $SET_ACTIVE ]]; then + set_active || exit + fi + + if [[ $MBR ]]; then + install_mbr || exit + fi +fi + +exit 0 diff --git a/main/syslinux/syslinux.cfg b/main/syslinux/syslinux.cfg new file mode 100644 index 00000000..d7f69c20 --- /dev/null +++ b/main/syslinux/syslinux.cfg @@ -0,0 +1,78 @@ +# Config file for Syslinux - +# /boot/syslinux/syslinux.cfg +# +# Comboot modules: +# * menu.c32 - provides a text menu +# * vesamenu.c32 - provides a graphical menu +# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders +# * hdt.c32 - hardware detection tool +# * reboot.c32 - reboots the system +# +# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux. +# If /usr and /boot are on the same file system, symlink the files instead +# of copying them. +# +# If you do not use a menu, a 'boot:' prompt will be shown and the system +# will boot automatically after 5 seconds. +# +# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux +# The wiki provides further configuration examples + +DEFAULT arch +PROMPT 0 # Set to 1 if you always want to display the boot: prompt +TIMEOUT 50 +# You can create syslinux keymaps with the keytab-lilo tool +#KBDMAP de.ktl + +# Menu Configuration +# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux +UI menu.c32 +#UI vesamenu.c32 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu +MENU TITLE Arch Linux +#MENU BACKGROUND splash.png +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std + +# boot sections follow +# +# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line. +# +#-* + +LABEL arch + MENU LABEL Arch Linux + LINUX ../vmlinuz-linux + APPEND root=/dev/sda3 rw + INITRD ../initramfs-linux.img + +LABEL archfallback + MENU LABEL Arch Linux Fallback + LINUX ../vmlinuz-linux + APPEND root=/dev/sda3 rw + INITRD ../initramfs-linux-fallback.img + +#LABEL windows +# MENU LABEL Windows +# COM32 chain.c32 +# APPEND hd0 1 + +LABEL hdt + MENU LABEL HDT (Hardware Detection Tool) + COM32 hdt.c32 + +LABEL reboot + MENU LABEL Reboot + COM32 reboot.c32 + +LABEL poweroff + MENU LABEL Poweroff + COM32 poweroff.c32 diff --git a/main/syslinux/syslinux.install b/main/syslinux/syslinux.install new file mode 100644 index 00000000..cbc4e9e7 --- /dev/null +++ b/main/syslinux/syslinux.install @@ -0,0 +1,32 @@ +show_efi_msg() { + cat << EOF + +==> For setting up Syslinux EFI follow + https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems + +==> The syslinux-install_update script does not currently support EFI install + +EOF +} + +show_bios_autoupdate_msg() { + cat << EOF + +==> For setting up Syslinux BIOS using the syslinux-install_update script follow + https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install +EOF +} + +post_install() { + [ -f /boot/syslinux/SYSLINUX_AUTOUPDATE ] || show_bios_autoupdate_msg + [ -d /sys/firmware/efi ] && show_efi_msg + + true +} + +post_upgrade() { + ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists + /usr/bin/syslinux-install_update -s + + post_install +} diff --git a/main/syslinux/version b/main/syslinux/version new file mode 100644 index 00000000..0480e6da --- /dev/null +++ b/main/syslinux/version @@ -0,0 +1 @@ +6.04.pre2.r11.gbf6db5b4 4 diff --git a/main/sysprof/.PKGINFO b/main/sysprof/.PKGINFO new file mode 100644 index 00000000..522119dd --- /dev/null +++ b/main/sysprof/.PKGINFO @@ -0,0 +1,17 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = libsysprof-capture +pkgbase = sysprof +xdata = pkgtype=split +pkgver = 46.0-3 +pkgdesc = Kernel based performance profiler - capture library +url = https://wiki.gnome.org/Apps/Sysprof +builddate = 1715214605 +packager = Developer +size = 255947 +arch = x86_64 +license = BSD-2-Clause-Patent +makedepend = git +makedepend = meson +makedepend = python-packaging +makedepend = yelp-tools diff --git a/main/sysprof/PKGBUILD b/main/sysprof/PKGBUILD new file mode 100644 index 00000000..98f5bcc1 --- /dev/null +++ b/main/sysprof/PKGBUILD @@ -0,0 +1,101 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=sysprof +pkgname=( + sysprof + libsysprof-capture +) +pkgver=%version% +pkgrel=%release% +pkgdesc="Kernel based performance profiler" +url="https://wiki.gnome.org/Apps/Sysprof" +license=(GPL-3.0-or-later) +arch=(x86_64) +depends=( + cairo + gcc-libs + glib2 + glibc + graphene + gtk4 + hicolor-icon-theme + json-glib + libadwaita + libdex + libpanel + libunwind + pango + polkit + systemd-libs +) +makedepends=( + git + meson + python-packaging + yelp-tools +) +_commit=594a3037c0e7cc1bf97f162a392aa4f8989c9dce # tags/46.0^0 +source=( + "git+https://gitlab.gnome.org/GNOME/sysprof.git#commit=$_commit" +) +b2sums=('SKIP') + +pkgver() { + cd sysprof + git describe --tags | sed -r 's/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd sysprof +} + +build() { + # Ensure static library is non-LTO compatible + CFLAGS+=" -ffat-lto-objects" + + arch-meson sysprof build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_sysprof() { + depends+=(libsysprof-capture) + groups=(gnome-extra) + + meson install -C build --destdir "$pkgdir" + + cd "$pkgdir" + + _pick capture usr/lib/libsysprof-capture-* + _pick capture usr/lib/pkgconfig/sysprof-capture-* + _pick capture usr/include/sysprof-*/sysprof-{address,capture,clock,collector,macros}.h + _pick capture usr/include/sysprof-*/sysprof-{platform,version,version-macros}.h + _pick capture usr/include/sysprof-*/sysprof-capture-{condition,cursor,reader,types,writer}.h +} + +package_libsysprof-capture() { + pkgdesc+=" - capture library" + depends=() + license=(BSD-2-Clause-Patent) + + mv capture/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 \ + sysprof/src/libsysprof-capture/COPYING +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/sysprof/README b/main/sysprof/README new file mode 100644 index 00000000..9a90a6c2 --- /dev/null +++ b/main/sysprof/README @@ -0,0 +1,43 @@ +sysprof +________________________________________________________________________________ + +Kernel based performance profiler Kernel based performance profiler - capture library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S sysprof | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://wiki.gnome.org/Apps/Sysprof diff --git a/main/sysprof/version b/main/sysprof/version new file mode 100644 index 00000000..eae280a9 --- /dev/null +++ b/main/sysprof/version @@ -0,0 +1 @@ +46.0 3 diff --git a/main/systemd/.PKGINFO b/main/systemd/.PKGINFO new file mode 100644 index 00000000..7657c591 --- /dev/null +++ b/main/systemd/.PKGINFO @@ -0,0 +1,68 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = systemd-ukify +pkgbase = systemd +xdata = pkgtype=split +pkgver = 255.6-2 +pkgdesc = Combine kernel and initrd into a signed Unified Kernel Image +url = https://www.github.com/systemd/systemd +builddate = 1716419875 +packager = Developer +size = 73756 +arch = x86_64 +license = LGPL-2.1-or-later +conflict = mkinitcpio<38-1 +provides = ukify +depend = systemd=255.6 +depend = binutils +depend = python-cryptography +depend = python-pefile +optdepend = python-pillow: Show the size of splash image +optdepend = sbsigntools: Sign the embedded kernel +makedepend = acl +makedepend = cryptsetup +makedepend = docbook-xsl +makedepend = gperf +makedepend = lz4 +makedepend = xz +makedepend = pam +makedepend = libelf +makedepend = intltool +makedepend = iptables +makedepend = kmod +makedepend = libcap +makedepend = libidn2 +makedepend = libgcrypt +makedepend = libmicrohttpd +makedepend = libxcrypt +makedepend = libxslt +makedepend = util-linux +makedepend = linux-api-headers +makedepend = python-jinja +makedepend = python-lxml +makedepend = quota-tools +makedepend = shadow +makedepend = git +makedepend = meson +makedepend = libseccomp +makedepend = pcre2 +makedepend = audit +makedepend = kexec-tools +makedepend = libxkbcommon +makedepend = bash-completion +makedepend = p11-kit +makedepend = systemd +makedepend = libfido2 +makedepend = tpm2-tss +makedepend = rsync +makedepend = bpf +makedepend = libbpf +makedepend = clang +makedepend = llvm +makedepend = curl +makedepend = gnutls +makedepend = python-pyelftools +makedepend = libpwquality +makedepend = qrencode +makedepend = lib32-gcc-libs +makedepend = python-pefile diff --git a/main/systemd/0001-Use-Arch-Linux-device-access-groups.patch b/main/systemd/0001-Use-Arch-Linux-device-access-groups.patch new file mode 100644 index 00000000..d8848657 --- /dev/null +++ b/main/systemd/0001-Use-Arch-Linux-device-access-groups.patch @@ -0,0 +1,181 @@ +From 0e8c18bc2639da328274d02d9222ee2c1f6bf696 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 6 Mar 2018 23:39:47 +0100 +Subject: [PATCH] Use Arch Linux' device access groups +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + cdrom → optical + dialout → uucp + tape → storage +--- + meson.build | 6 +++--- + meson_options.txt | 12 ++++++------ + rules.d/50-udev-default.rules.in | 14 +++++++------- + sysusers.d/basic.conf.in | 6 +++--- + 4 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/meson.build b/meson.build +index 76ad51d3fb..5cf679b088 100644 +--- a/meson.build ++++ b/meson.build +@@ -915,19 +915,19 @@ conf.set_quoted('NOBODY_GROUP_NAME', nobody_group) + static_ugids = [] + foreach option : ['adm-gid', + 'audio-gid', +- 'cdrom-gid', +- 'dialout-gid', + 'disk-gid', + 'input-gid', + 'kmem-gid', + 'kvm-gid', + 'lp-gid', ++ 'optical-gid', + 'render-gid', + 'sgx-gid', +- 'tape-gid', ++ 'storage-gid', + 'tty-gid', + 'users-gid', + 'utmp-gid', ++ 'uucp-gid', + 'video-gid', + 'wheel-gid', + 'systemd-journal-gid', +diff --git a/meson_options.txt b/meson_options.txt +index 814f340840..253a77ecb3 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -257,10 +257,6 @@ option('adm-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "adm" group') + option('audio-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "audio" group') +-option('cdrom-gid', type : 'integer', value : 0, +- description : 'soft-static allocation for the "cdrom" group') +-option('dialout-gid', type : 'integer', value : 0, +- description : 'soft-static allocation for the "dialout" group') + option('disk-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "disk" group') + option('input-gid', type : 'integer', value : 0, +@@ -271,18 +267,22 @@ option('kvm-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "kvm" group') + option('lp-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "lp" group') ++option('optical-gid', type : 'integer', value : '0', ++ description : 'soft-static allocation for the "optical" group') + option('render-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "render" group') + option('sgx-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "sgx" group') +-option('tape-gid', type : 'integer', value : 0, +- description : 'soft-static allocation for the "tape" group') ++option('storage-gid', type : 'integer', value : '0', ++ description : 'soft-static allocation for the "storage" group') + option('tty-gid', type : 'integer', value : 5, + description : 'the numeric GID of the "tty" group') + option('users-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "users" group') + option('utmp-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "utmp" group') ++option('uucp-gid', type : 'integer', value : '0', ++ description : 'soft-static allocation for the "uucp" group') + option('video-gid', type : 'integer', value : 0, + description : 'soft-static allocation for the "video" group') + option('wheel-gid', type : 'integer', value : 0, +diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in +index 843bdaf9ce..a192f091df 100644 +--- a/rules.d/50-udev-default.rules.in ++++ b/rules.d/50-udev-default.rules.in +@@ -26,7 +26,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" + SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" + SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" + SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty" +-KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" ++KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp" + + SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" + +@@ -72,13 +72,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" + SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp" + + SUBSYSTEM=="block", GROUP="disk" +-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom" +-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom" +-KERNEL=="sch[0-9]*", GROUP="cdrom" +-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" +-KERNEL=="pktcdvd", GROUP="cdrom" ++SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="optical" ++SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="optical" ++KERNEL=="sch[0-9]*", GROUP="optical" ++KERNEL=="pktcdvd[0-9]*", GROUP="optical" ++KERNEL=="pktcdvd", GROUP="optical" + +-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape" ++SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="storage" + SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk" + KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" + KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control" +diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in +index a602b872e4..8d38febb6a 100644 +--- a/sysusers.d/basic.conf.in ++++ b/sysusers.d/basic.conf.in +@@ -23,17 +23,17 @@ g utmp {{UTMP_GID }} - - + + # Physical and virtual hardware access groups + g audio {{AUDIO_GID }} - - +-g cdrom {{CDROM_GID }} - - +-g dialout {{DIALOUT_GID}} - - + g disk {{DISK_GID }} - - + g input {{INPUT_GID }} - - + g kmem {{KMEM_GID }} - - + g kvm {{KVM_GID }} - - + g lp {{LP_GID }} - - ++g optical {{OPTICAL_GID}} - - + g render {{RENDER_GID }} - - + g sgx {{SGX_GID }} - - +-g tape {{TAPE_GID }} - - ++g storage {{STORAGE_GID}} - - + g tty {{TTY_GID }} - - ++g uucp {{UUCP_GID }} - - + g video {{VIDEO_GID }} - - + + # Default group for normal users + +From 9e2987a7b4d09d7b554141e9ef2c911cb3fda570 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 27 Dec 2021 23:32:42 +0100 +Subject: [PATCH] generate tmpfiles.d/legacy.conf + +--- + tmpfiles.d/legacy.conf.in | 3 --- + tmpfiles.d/meson.build | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/tmpfiles.d/legacy.conf.in b/tmpfiles.d/legacy.conf.in +index 4f2c0d7c43..62e2ae0986 100644 +--- a/tmpfiles.d/legacy.conf.in ++++ b/tmpfiles.d/legacy.conf.in +@@ -12,9 +12,6 @@ + + d /run/lock 0755 root root - + L /var/lock - - - - ../run/lock +-{% if CREATE_LOG_DIRS %} +-L /var/log/README - - - - ../..{{DOC_DIR}}/README.logs +-{% endif %} + + # /run/lock/subsys is used for serializing SysV service execution, and + # hence without use on SysV-less systems. +diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build +index ca1abbf3fe..25e2b53402 100644 +--- a/tmpfiles.d/meson.build ++++ b/tmpfiles.d/meson.build +@@ -29,7 +29,7 @@ foreach pair : files + endforeach + + in_files = [['etc.conf', ''], +- ['legacy.conf', 'HAVE_SYSV_COMPAT'], ++ ['legacy.conf', ''], + ['static-nodes-permissions.conf', ''], + ['systemd.conf', ''], + ['var.conf', ''], diff --git a/main/systemd/20-systemd-sysusers.hook b/main/systemd/20-systemd-sysusers.hook new file mode 100644 index 00000000..edc71957 --- /dev/null +++ b/main/systemd/20-systemd-sysusers.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/sysusers.d/*.conf + +[Action] +Description = Creating system user accounts... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook sysusers diff --git a/main/systemd/30-systemd-binfmt.hook b/main/systemd/30-systemd-binfmt.hook new file mode 100644 index 00000000..19f3bcc1 --- /dev/null +++ b/main/systemd/30-systemd-binfmt.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/binfmt.d/*.conf + +[Action] +Description = Registering binary formats... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook binfmt diff --git a/main/systemd/30-systemd-catalog.hook b/main/systemd/30-systemd-catalog.hook new file mode 100644 index 00000000..6e717b9a --- /dev/null +++ b/main/systemd/30-systemd-catalog.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/systemd/catalog/* + +[Action] +Description = Updating journal message catalog... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook catalog diff --git a/main/systemd/30-systemd-daemon-reload-system.hook b/main/systemd/30-systemd-daemon-reload-system.hook new file mode 100644 index 00000000..a305d734 --- /dev/null +++ b/main/systemd/30-systemd-daemon-reload-system.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/systemd/system/* + +[Action] +Description = Reloading system manager configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook daemon-reload-system diff --git a/main/systemd/30-systemd-daemon-reload-user.hook b/main/systemd/30-systemd-daemon-reload-user.hook new file mode 100644 index 00000000..3eddf8f3 --- /dev/null +++ b/main/systemd/30-systemd-daemon-reload-user.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/systemd/user/* + +[Action] +Description = Reloading user manager configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook daemon-reload-user diff --git a/main/systemd/30-systemd-hwdb.hook b/main/systemd/30-systemd-hwdb.hook new file mode 100644 index 00000000..1d85e29e --- /dev/null +++ b/main/systemd/30-systemd-hwdb.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/udev/hwdb.d/* + +[Action] +Description = Updating udev hardware database... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook hwdb diff --git a/main/systemd/30-systemd-sysctl.hook b/main/systemd/30-systemd-sysctl.hook new file mode 100644 index 00000000..e2354c0b --- /dev/null +++ b/main/systemd/30-systemd-sysctl.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/sysctl.d/*.conf + +[Action] +Description = Applying kernel sysctl settings... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook sysctl diff --git a/main/systemd/30-systemd-tmpfiles.hook b/main/systemd/30-systemd-tmpfiles.hook new file mode 100644 index 00000000..b07db6a8 --- /dev/null +++ b/main/systemd/30-systemd-tmpfiles.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/tmpfiles.d/*.conf + +[Action] +Description = Creating temporary files... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook tmpfiles diff --git a/main/systemd/30-systemd-udev-reload.hook b/main/systemd/30-systemd-udev-reload.hook new file mode 100644 index 00000000..7676cca8 --- /dev/null +++ b/main/systemd/30-systemd-udev-reload.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/udev/rules.d/* + +[Action] +Description = Reloading device manager configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook udev-reload diff --git a/main/systemd/30-systemd-update.hook b/main/systemd/30-systemd-update.hook new file mode 100644 index 00000000..f95d9dcc --- /dev/null +++ b/main/systemd/30-systemd-update.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/ + +[Action] +Description = Arming ConditionNeedsUpdate... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook update diff --git a/main/systemd/PKGBUILD b/main/systemd/PKGBUILD new file mode 100644 index 00000000..5e198013 --- /dev/null +++ b/main/systemd/PKGBUILD @@ -0,0 +1,353 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=systemd +pkgname=('systemd' + 'systemd-libs' + 'systemd-resolvconf' + 'systemd-sysvcompat' + 'systemd-ukify') +_tag='255.4' +# Upstream versioning is incompatible with pacman's version comparisons so we +# replace tildes with the empty string to make sure pacman's version comparing +# does the right thing for rc versions: +# ➜ vercmp 255~rc1 255 +# 1 +# ➜ vercmp 255rc1 255 +# -1 +pkgver=%version% +pkgrel=%release% +arch=('x86_64') +license=('LGPL-2.1-or-later') +url='https://www.github.com/systemd/systemd' +makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' + 'intltool' 'iptables' 'kmod' 'libcap' 'libidn2' 'libgcrypt' + 'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers' + 'python-jinja' 'python-lxml' 'quota-tools' 'shadow' 'git' + 'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon' + 'bash-completion' 'p11-kit' 'systemd' 'libfido2' 'tpm2-tss' 'rsync' + 'bpf' 'libbpf' 'clang' 'llvm' 'curl' 'gnutls' 'python-pyelftools' + 'libpwquality' 'qrencode' 'lib32-gcc-libs' 'python-pefile') +conflicts=("mkinitcpio<38-1") +validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering + 'A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E' # Luca Boccassi + '9A774DB5DB996C154EBBFBFDA0099A18E29326E1' # Yu Watanabe + '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek +source=("git+https://github.com/systemd/systemd-stable#tag=v${_tag}?signed" + "git+https://github.com/systemd/systemd#tag=v${_tag%.*}?signed" + '0001-Use-Arch-Linux-device-access-groups.patch' + # bootloader files + 'arch.conf' + 'loader.conf' + 'splash-arch.bmp' + # pam configuration + 'systemd-user.pam' + # pacman / libalpm hooks + 'systemd-hook' + '20-systemd-sysusers.hook' + '30-systemd-binfmt.hook' + '30-systemd-catalog.hook' + '30-systemd-daemon-reload-system.hook' + '30-systemd-daemon-reload-user.hook' + '30-systemd-hwdb.hook' + '30-systemd-sysctl.hook' + '30-systemd-tmpfiles.hook' + '30-systemd-udev-reload.hook' + '30-systemd-update.hook') +sha512sums=('0c41c21931c5f08b5c91fe718d90f8cb11fb83429b3028bde9922605a35ea81d8452b00af99775b519b19195b8ba0084147d13dec1c5dfe9c905d769018b0676' + 'd430427987309483c99062adb02741d25239ba5fbb97053ef817c0c5a0a935328af9c8b651de2b119b0e851dcf6623f01343859735ff81d7013ab0133e67c7ea' + '3ccf783c28f7a1c857120abac4002ca91ae1f92205dcd5a84aff515d57e706a3f9240d75a0a67cff5085716885e06e62597baa86897f298662ec36a940cf410e' + '61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648' + 'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5' + '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75' + 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19' + '3cb8f88c1bffc753d0c540be5d25a0fdb9224478cca64743b5663340f2f26b197775286e6e680228db54c614dcd11da1135e625674a622127681662bec4fa886' + '299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5' + '0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7' + '2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc' + 'a436d3f5126c6c0d6b58c6865e7bd38dbfbfb7babe017eeecb5e9d162c21902cbf4e0a68cf3ac2f99815106f9fa003b075bd2b4eb5d16333fa913df6e2f3e32a' + '190112e38d5a5c0ca91b89cd58f95595262a551530a16546e1d84700fc9644aa2ca677953ffff655261e8a7bff6e6af4e431424df5f13c00bc90b77c421bc32d' + 'a1661ab946c6cd7d3c6251a2a9fd68afe231db58ce33c92c42594aedb5629be8f299ba08a34713327b373a3badd1554a150343d8d3e5dfb102999c281bd49154' + '9426829605bbb9e65002437e02ed54e35c20fdf94706770a3dc1049da634147906d6b98bf7f5e7516c84068396a12c6feaf72f92b51bdf19715e0f64620319de' + 'da7a97d5d3701c70dd5388b0440da39006ee4991ce174777931fea2aa8c90846a622b2b911f02ae4d5fffb92680d9a7e211c308f0f99c04896278e2ee0d9a4dc' + 'a50d202a9c2e91a4450b45c227b295e1840cc99a5e545715d69c8af789ea3dd95a03a30f050d52855cabdc9183d4688c1b534eaa755ebe93616f9d192a855ee3' + '825b9dd0167c072ba62cabe0677e7cd20f2b4b850328022540f122689d8b25315005fa98ce867cf6e7460b2b26df16b88bb3b5c9ebf721746dce4e2271af7b97') + +_meson_version="${pkgver}-${pkgrel}" +_meson_mode='release' +_meson_compile=() +_meson_install=() + +if ((_systemd_UPSTREAM)); then + _meson_version="${pkgver}" + _meson_mode='developer' + makedepends+=('libarchive') + optdepends_upstream=('libarchive: convert DDIs to tarballs') + if ((_systemd_QUIET)); then + _meson_install=('--quiet') + else + _meson_compile=('--verbose') + fi +fi + +_backports=( +) + +_reverts=( +) + +prepare() { + cd "$pkgbase-stable" + + # add upstream repository for cherry-picking + git remote add -f upstream ../systemd + + local _c _l + for _c in "${_backports[@]}"; do + if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi + git log --oneline "${_l}" "${_c}" + git cherry-pick --mainline 1 --no-commit "${_c}" + done + for _c in "${_reverts[@]}"; do + if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi + git log --oneline "${_l}" "${_c}" + git revert --mainline 1 --no-commit "${_c}" + done + + # Replace cdrom/dialout/tape groups with optical/uucp/storage + patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch +} + +build() { + local _timeservers=({0..3}.arch.pool.ntp.org) + local _nameservers=( + # We use these public name services, ordered by their privacy policy (hopefully): + # * Cloudflare (https://1.1.1.1/) + # * Quad9 (https://www.quad9.net/) + # * Google (https://developers.google.com/speed/public-dns/) + '1.1.1.1#cloudflare-dns.com' + '9.9.9.9#dns.quad9.net' + '8.8.8.8#dns.google' + '2606:4700:4700::1111#cloudflare-dns.com' + '2620:fe::9#dns.quad9.net' + '2001:4860:4860::8888#dns.google' + ) + + local _meson_options=( + -Dversion-tag="${_meson_version}-arch" + # We use the version without tildes as the shared library tag because + # pacman looks at the shared library version. + -Dshared-lib-tag="${_meson_version/~/}" + -Dmode="${_meson_mode}" + + -Dapparmor=false + -Dbootloader=true + -Dxenctrl=false + -Dbpf-framework=true + -Dima=false + -Dlibidn2=true + -Dlz4=true + -Dman=true + -Dnscd=false + -Dselinux=false + + # We disable DNSSEC by default, it still causes trouble: + # https://github.com/systemd/systemd/issues/10579 + + -Ddbuspolicydir=/usr/share/dbus-1/system.d + -Ddefault-dnssec=no + -Ddefault-hierarchy=unified + -Ddefault-kill-user-processes=false + -Ddefault-locale='C.UTF-8' + -Dlocalegen-path=/usr/bin/locale-gen + -Ddns-over-tls=openssl + -Dfallback-hostname='archlinux' + -Dnologin-path=/usr/bin/nologin + -Dntp-servers="${_timeservers[*]}" + -Ddns-servers="${_nameservers[*]}" + -Drpmmacrosdir=no + -Dsysvinit-path= + -Dsysvrcnd-path= + + -Dsbat-distro='arch' + -Dsbat-distro-summary='Arch Linux' + -Dsbat-distro-pkgname="${pkgname}" + -Dsbat-distro-version="${pkgver}" + -Dsbat-distro-url="https://archlinux.org/packages/core/x86_64/${pkgname}/" + ) + + arch-meson "$pkgbase-stable" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS + + meson compile -C build "${_meson_compile[@]}" +} + +check() { + meson test -C build --print-errorlogs +} + +package_systemd() { + pkgdesc='system and service manager' + license+=( + 'CC0-1.0' # siphash + 'GPL-2.0-or-later' # udev + 'MIT-0' # documentation and config files + ) + depends=('acl' 'libacl.so' 'bash' 'cryptsetup' 'libcryptsetup.so' 'dbus' + 'dbus-units' 'kbd' 'kmod' 'libkmod.so' 'hwdata' 'libcap' 'libcap.so' + 'libgcrypt' 'libxcrypt' 'libcrypt.so' 'systemd-libs' 'libidn2' 'lz4' 'pam' + 'libelf' 'libseccomp' 'libseccomp.so' 'util-linux' 'libblkid.so' + 'libmount.so' 'xz' 'pcre2' 'audit' 'libaudit.so' + 'openssl' 'libcrypto.so' 'libssl.so') + provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver") + replaces=('nss-myhostname' 'systemd-tools' 'udev') + conflicts=('nss-myhostname' 'systemd-tools' 'udev') + optdepends=('libmicrohttpd: systemd-journal-gatewayd and systemd-journal-remote' + 'quota-tools: kernel-level quota management' + 'systemd-sysvcompat: symlink package to provide sysvinit binaries' + 'systemd-ukify: combine kernel and initrd into a signed Unified Kernel Image' + 'polkit: allow administration as unprivileged user' + 'curl: systemd-journal-upload, machinectl pull-tar and pull-raw' + 'gnutls: systemd-journal-gatewayd and systemd-journal-remote' + 'qrencode: show QR codes' + 'iptables: firewall features' + 'libbpf: support BPF programs' + 'libpwquality: check password quality' + 'libfido2: unlocking LUKS2 volumes with FIDO2 token' + 'libp11-kit: support PKCS#11' + 'tpm2-tss: unlocking LUKS2 volumes with TPM2') + optdepends+=("${_optdepends_upstream[@]}") + backup=(etc/pam.d/systemd-user + etc/systemd/coredump.conf + etc/systemd/homed.conf + etc/systemd/journald.conf + etc/systemd/journal-remote.conf + etc/systemd/journal-upload.conf + etc/systemd/logind.conf + etc/systemd/networkd.conf + etc/systemd/oomd.conf + etc/systemd/pstore.conf + etc/systemd/resolved.conf + etc/systemd/sleep.conf + etc/systemd/system.conf + etc/systemd/timesyncd.conf + etc/systemd/user.conf + etc/udev/iocost.conf + etc/udev/udev.conf) + install=systemd.install + + meson install -C build --destdir "$pkgdir" "${_meson_install[@]}" + + # we'll create this on installation + rmdir "$pkgdir"/var/log/journal/remote + + # runtime libraries shipped with systemd-libs + install -d -m0755 systemd-libs/lib/ + mv "$pkgdir"/usr/lib/lib{nss,systemd,udev}*.so* systemd-libs/lib/ + mv "$pkgdir"/usr/lib/pkgconfig systemd-libs/lib/pkgconfig + mv "$pkgdir"/usr/include systemd-libs/include + mv "$pkgdir"/usr/share/man/man3 systemd-libs/man3 + + # ukify shipped in separate package + install -d -m0755 systemd-ukify/{bin,systemd,man1,install.d} + mv "$pkgdir"/usr/bin/ukify systemd-ukify/bin/ + mv "$pkgdir"/usr/lib/systemd/ukify systemd-ukify/systemd/ + mv "$pkgdir"/usr/share/man/man1/ukify.1 systemd-ukify/man1/ + # we move the ukify hook itself, but keep 90-uki-copy.install in place, + # because there are other ways to generate UKIs w/o ukify, e.g. w/ mkinitcpio + mv "$pkgdir"/usr/lib/kernel/install.d/60-ukify.install systemd-ukify/install.d + + # manpages shipped with systemd-sysvcompat + rm "$pkgdir"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 + + # executable (symlinks) shipped with systemd-sysvcompat + rm "$pkgdir"/usr/bin/{halt,init,poweroff,reboot,shutdown} + + # files shipped with systemd-resolvconf + rm "$pkgdir"/usr/{bin/resolvconf,share/man/man1/resolvconf.1} + + # avoid a potential conflict with [core]/filesystem + rm "$pkgdir"/usr/share/factory/etc/{issue,nsswitch.conf} + sed -i -e '/^C \/etc\/nsswitch\.conf/d' \ + -e '/^C \/etc\/issue/d' "$pkgdir"/usr/lib/tmpfiles.d/etc.conf + + # ship default policy to leave services disabled + echo 'disable *' >"$pkgdir"/usr/lib/systemd/system-preset/99-default.preset + + # The group 'systemd-journal' is allocated dynamically and may have varying + # gid on different systems. Let's install with gid 0 (root), systemd-tmpfiles + # will fix the permissions for us. (see /usr/lib/tmpfiles.d/systemd.conf) + install -d -o root -g root -m 2755 "$pkgdir"/var/log/journal + + # add example bootctl configuration + install -D -m0644 arch.conf "$pkgdir"/usr/share/systemd/bootctl/arch.conf + install -D -m0644 loader.conf "$pkgdir"/usr/share/systemd/bootctl/loader.conf + install -D -m0644 splash-arch.bmp "$pkgdir"/usr/share/systemd/bootctl/splash-arch.bmp + + # pacman hooks + install -D -m0755 systemd-hook "$pkgdir"/usr/share/libalpm/scripts/systemd-hook + install -D -m0644 -t "$pkgdir"/usr/share/libalpm/hooks *.hook + + # overwrite the systemd-user PAM configuration with our own + install -D -m0644 systemd-user.pam "$pkgdir"/etc/pam.d/systemd-user +} + +package_systemd-libs() { + pkgdesc='systemd client libraries' + depends=('glibc' 'gcc-libs' 'libcap' 'libgcrypt' 'lz4' 'xz' 'zstd') + license+=( + 'CC0-1.0' # siphash + 'GPL-2.0-or-later WITH Linux-syscall-note' # src/basic/linux/* + ) + provides=('libsystemd' 'libsystemd.so' 'libudev.so') + conflicts=('libsystemd') + replaces=('libsystemd') + + install -d -m0755 "$pkgdir"/usr/share/man + mv systemd-libs/lib "$pkgdir"/usr/lib + mv systemd-libs/include "$pkgdir"/usr/include + mv systemd-libs/man3 "$pkgdir"/usr/share/man/man3 +} + +package_systemd-resolvconf() { + pkgdesc='systemd resolvconf replacement (for use with systemd-resolved)' + depends=('systemd') + provides=('openresolv' 'resolvconf') + conflicts=('resolvconf') + + install -d -m0755 "$pkgdir"/usr/bin + ln -s resolvectl "$pkgdir"/usr/bin/resolvconf + + install -d -m0755 "$pkgdir"/usr/share/man/man1 + ln -s resolvectl.1.gz "$pkgdir"/usr/share/man/man1/resolvconf.1.gz +} + +package_systemd-sysvcompat() { + pkgdesc='sysvinit compat for systemd' + conflicts=('sysvinit') + depends=('systemd') + + install -D -m0644 -t "$pkgdir"/usr/share/man/man8 \ + build/man/{halt,poweroff,reboot,shutdown}.8 + + install -d -m0755 "$pkgdir"/usr/bin + ln -s ../lib/systemd/systemd "$pkgdir"/usr/bin/init + for tool in halt poweroff reboot shutdown; do + ln -s systemctl "$pkgdir"/usr/bin/$tool + done +} + +package_systemd-ukify() { + pkgdesc='Combine kernel and initrd into a signed Unified Kernel Image' + provides=('ukify') + depends=('binutils' 'python-cryptography' 'python-pefile' 'systemd') + optdepends=('python-pillow: Show the size of splash image' + 'sbsigntools: Sign the embedded kernel') + + install -d -m0755 "$pkgdir"/usr/{lib/kernel,share/man} + mv systemd-ukify/bin "$pkgdir"/usr/bin + mv systemd-ukify/systemd "$pkgdir"/usr/lib/systemd + mv systemd-ukify/man1 "$pkgdir"/usr/share/man/man1 + mv systemd-ukify/install.d "$pkgdir"/usr/lib/kernel/install.d +} + +# vim:ft=sh syn=sh et sw=2: diff --git a/main/systemd/README b/main/systemd/README new file mode 100644 index 00000000..0c4735a5 --- /dev/null +++ b/main/systemd/README @@ -0,0 +1,43 @@ +systemd +________________________________________________________________________________ + +system and service manager systemd client libraries systemd resolvconf replacement (for use with systemd-resolved) sysvinit compat for systemd Combine kernel and initrd into a signed Unified Kernel Image + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S systemd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.github.com/systemd/systemd diff --git a/main/systemd/arch.conf b/main/systemd/arch.conf new file mode 100644 index 00000000..250b7785 --- /dev/null +++ b/main/systemd/arch.conf @@ -0,0 +1,7 @@ +## This is just an example config file. +## Please edit the paths and kernel parameters according to your system. + +title Arch Linux +linux /vmlinuz-linux +initrd /initramfs-linux.img +options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap diff --git a/main/systemd/loader.conf b/main/systemd/loader.conf new file mode 100644 index 00000000..1f7cd7ef --- /dev/null +++ b/main/systemd/loader.conf @@ -0,0 +1 @@ +default arch diff --git a/main/systemd/splash-arch.bmp b/main/systemd/splash-arch.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f083d4bbf5acb0e3904511da832c2b700e8e946c GIT binary patch literal 378226 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 RsUreJfCvx)BGBCk{67aehJpY9 literal 0 HcmV?d00001 diff --git a/main/systemd/systemd-hook b/main/systemd/systemd-hook new file mode 100644 index 00000000..d64341fd --- /dev/null +++ b/main/systemd/systemd-hook @@ -0,0 +1,81 @@ +#!/bin/sh -e + +is_chrooted() { + if systemd-detect-virt --chroot; then + echo >&2 " Skipped: Running in chroot." + exit 0 + fi +} + +systemd_live() { + is_chrooted + if [ ! -d /run/systemd/system ]; then + echo >&2 " Skipped: Current root is not booted." + exit 0 + fi +} + +udevd_live() { + is_chrooted + if [ ! -S /run/udev/control ]; then + echo >&2 " Skipped: Device manager is not running." + exit 0 + fi +} + +op="$1"; shift + +case "$op" in + binfmt) + systemd_live + /usr/lib/systemd/systemd-binfmt + ;; + catalog) + /usr/bin/journalctl --update-catalog + ;; + daemon-reload-system) + systemd_live + /usr/bin/systemctl --system daemon-reload + ;; + daemon-reload-user) + systemd_live + /usr/bin/systemctl kill --kill-whom='main' --signal='SIGHUP' 'user@*.service' + ;; + hwdb) + /usr/bin/systemd-hwdb --usr update + ;; + sysctl) + systemd_live + /usr/lib/systemd/systemd-sysctl + ;; + sysusers) + /usr/bin/systemd-sysusers + ;; + tmpfiles) + /usr/bin/systemd-tmpfiles --create + ;; + update) + touch -c /usr + ;; + udev-reload) + udevd_live + /usr/bin/udevadm control --reload + if [ ! -e /etc/systemd/do-not-udevadm-trigger-on-update ]; then + /usr/bin/udevadm trigger -c change + /usr/bin/udevadm settle + fi + ;; + + # For use by other packages + reload) + systemd_live + /usr/bin/systemctl try-reload-or-restart "$@" + ;; + + *) + echo >&2 " Invalid operation '$op'" + exit 1 + ;; +esac + +exit 0 diff --git a/main/systemd/systemd-user.pam b/main/systemd/systemd-user.pam new file mode 100644 index 00000000..83f76269 --- /dev/null +++ b/main/systemd/systemd-user.pam @@ -0,0 +1,5 @@ +# Used by systemd --user instances. + +account include system-login +session required pam_loginuid.so +session include system-login diff --git a/main/systemd/systemd.install b/main/systemd/systemd.install new file mode 100644 index 00000000..d5f0a68f --- /dev/null +++ b/main/systemd/systemd.install @@ -0,0 +1,54 @@ +#!/bin/bash + +sd_booted() { + [[ -d run/systemd/system && ! -L run/systemd/system ]] +} + +add_journal_acls() { + # ignore errors, since the filesystem might not support ACLs + setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx var/log/journal/ 2>/dev/null + : +} + +post_common() { + systemd-sysusers + journalctl --update-catalog +} + +post_install() { + systemd-machine-id-setup + + post_common "$@" + + add_journal_acls + + # enable some services by default, but don't track them + systemctl enable \ + getty@tty1.service \ + remote-fs.target \ + systemd-userdbd.socket + + # group 'systemd-journal-remote' is created by systemd-sysusers + mkdir -m2755 var/log/journal/remote + chgrp systemd-journal-remote var/log/journal/remote +} + +post_upgrade() { + post_common "$@" + + if sd_booted; then + systemctl --system daemon-reexec + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + fi + + local v upgrades=( + ) + + for v in "${upgrades[@]}"; do + if [[ $(vercmp "$v" "$2") -eq 1 ]]; then + "_${v//[.-]/_}_changes" + fi + done +} + +# vim:set ts=2 sw=2 et: diff --git a/main/systemd/version b/main/systemd/version new file mode 100644 index 00000000..15f1537b --- /dev/null +++ b/main/systemd/version @@ -0,0 +1 @@ +255.6 2 diff --git a/main/systemsettings/.PKGINFO b/main/systemsettings/.PKGINFO new file mode 100644 index 00000000..5914360d --- /dev/null +++ b/main/systemsettings/.PKGINFO @@ -0,0 +1,41 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = systemsettings +pkgbase = systemsettings +xdata = pkgtype=pkg +pkgver = 6.0.4-1 +pkgdesc = KDE system manager for hardware, software, and workspaces +url = https://kde.org/plasma-desktop/ +builddate = 1713663773 +packager = Developer +size = 1215077 +arch = x86_64 +license = LGPL-2.0-or-later +group = plasma +depend = gcc-libs +depend = glibc +depend = plasma-activities +depend = kauth +depend = kcmutils +depend = kcolorscheme +depend = kconfig +depend = kconfigwidgets +depend = kcoreaddons +depend = kcrash +depend = kdbusaddons +depend = ki18n +depend = kiconthemes +depend = kio +depend = kirigami +depend = kitemmodels +depend = kitemviews +depend = kjobwidgets +depend = krunner +depend = kservice +depend = kwidgetsaddons +depend = kwindowsystem +depend = kxmlgui +depend = qt6-base +depend = qt6-declarative +makedepend = extra-cmake-modules +makedepend = kdoctools diff --git a/main/systemsettings/PKGBUILD b/main/systemsettings/PKGBUILD new file mode 100644 index 00000000..67bb100c --- /dev/null +++ b/main/systemsettings/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=systemsettings +pkgver=%version% +_dirver=$(echo $pkgver | cut -d. -f1-3) +pkgrel=%release% +pkgdesc='KDE system manager for hardware, software, and workspaces' +arch=(x86_64) +url='https://kde.org/plasma-desktop/' +license=(LGPL-2.0-or-later) +depends=(gcc-libs + glibc + plasma-activities + kauth + kcmutils + kcolorscheme + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kiconthemes + kio + kirigami + kitemmodels + kitemviews + kjobwidgets + krunner + kservice + kwidgetsaddons + kwindowsystem + kxmlgui + qt6-base + qt6-declarative) +makedepends=(extra-cmake-modules + kdoctools) +groups=(plasma) +source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('1c74d8928bbd0cbd58f01fd5eda9db8cd325e17e63b7436c0f19d3208f51c5ac' + 'SKIP') +validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell + '0AAC775BB6437A8D9AF7A3ACFE0784117FBCE11D' # Bhushan Shah + 'D07BD8662C56CB291B316EB2F5675605C74E02CF' # David Edmundson + '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DBUILD_TESTING=OFF + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/systemsettings/README b/main/systemsettings/README new file mode 100644 index 00000000..d9bd706e --- /dev/null +++ b/main/systemsettings/README @@ -0,0 +1,43 @@ +systemsettings +________________________________________________________________________________ + +KDE system manager for hardware, software, and workspaces + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S systemsettings | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://kde.org/plasma-desktop/ diff --git a/main/systemsettings/version b/main/systemsettings/version new file mode 100644 index 00000000..17016fdc --- /dev/null +++ b/main/systemsettings/version @@ -0,0 +1 @@ +6.0.4 1 diff --git a/main/taglib/.PKGINFO b/main/taglib/.PKGINFO new file mode 100644 index 00000000..3c50b72b --- /dev/null +++ b/main/taglib/.PKGINFO @@ -0,0 +1,21 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = taglib +pkgbase = taglib +xdata = pkgtype=pkg +pkgver = 2.0.1-1 +pkgdesc = A Library for reading and editing the meta-data of several popular audio formats +url = https://taglib.github.io/ +builddate = 1712800443 +packager = Developer +size = 1973304 +arch = x86_64 +license = LGPL-2.1-only +license = MPL-1.1 +depend = gcc-libs +depend = glibc +depend = sh +depend = zlib +makedepend = cmake +makedepend = utf8cpp +checkdepend = cppunit diff --git a/main/taglib/.nvchecker.toml b/main/taglib/.nvchecker.toml new file mode 100644 index 00000000..94ac9a95 --- /dev/null +++ b/main/taglib/.nvchecker.toml @@ -0,0 +1,5 @@ +[taglib] +source = 'github' +github = 'taglib/taglib' +use_max_tag = true +prefix = 'v' diff --git a/main/taglib/PKGBUILD b/main/taglib/PKGBUILD new file mode 100644 index 00000000..4f90ec6b --- /dev/null +++ b/main/taglib/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=taglib +pkgver=%version% +pkgrel=%release% +pkgdesc='A Library for reading and editing the meta-data of several popular audio formats' +arch=(x86_64) +url='https://taglib.github.io/' +license=(LGPL-2.1-only + MPL-1.1) +depends=(gcc-libs + glibc + sh + zlib) +makedepends=(cmake + utf8cpp) +checkdepends=(cppunit) +source=(https://taglib.github.io/releases/$pkgname-$pkgver.tar.gz + https://github.com/taglib/taglib/commit/dfef09f1.patch) +sha256sums=('e36ea877a6370810b97d84cf8f72b1e4ed205149ab3ac8232d44c850f38a2859' + 'bef9bf3cb5cb342e339612ca9fb9d9020ddd3307af15db0402507e7dcbcf35a2') + +prepare() { + patch -d $pkgname-$pkgver -Rp1 < dfef09f1.patch # https://github.com/taglib/taglib/issues/1211 +} + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -DNDEBUG" + cmake --build build +} + +check() { + cmake --build build --target test +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} diff --git a/main/taglib/README b/main/taglib/README new file mode 100644 index 00000000..99421370 --- /dev/null +++ b/main/taglib/README @@ -0,0 +1,43 @@ +taglib +________________________________________________________________________________ + +A Library for reading and editing the meta-data of several popular audio formats + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S taglib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://taglib.github.io/ diff --git a/main/taglib/version b/main/taglib/version new file mode 100644 index 00000000..4a473510 --- /dev/null +++ b/main/taglib/version @@ -0,0 +1 @@ +2.0.1 1 diff --git a/main/talloc/.PKGINFO b/main/talloc/.PKGINFO new file mode 100644 index 00000000..31d57495 --- /dev/null +++ b/main/talloc/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = talloc +pkgbase = talloc +xdata = pkgtype=pkg +pkgver = 2.4.2-2 +pkgdesc = Hierarchical pool based memory allocator with destructors +url = https://talloc.samba.org/ +builddate = 1714401791 +packager = Developer +size = 172692 +arch = x86_64 +license = GPL-3.0-or-later +depend = glibc +depend = libxcrypt +optdepend = python: for python bindings +makedepend = python +makedepend = docbook-xsl diff --git a/main/talloc/PKGBUILD b/main/talloc/PKGBUILD new file mode 100644 index 00000000..6b92bd2d --- /dev/null +++ b/main/talloc/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=talloc +pkgver=%version% +pkgrel=%release% +pkgdesc="Hierarchical pool based memory allocator with destructors" +arch=('x86_64') +license=('GPL-3.0-or-later') +url="https://talloc.samba.org/" +depends=('glibc' 'libxcrypt') +makedepends=('python' 'docbook-xsl') +optdepends=('python: for python bindings') +source=(https://www.samba.org/ftp/talloc/talloc-$pkgver.tar.{gz,asc}) +sha512sums=('fb91665ffbe0cce96b1359940ff3ed21330c81c5331140788a26aa94f82b50492176e6000ff54b31d1a434bb1cb53a6a2c7894153545252a1fd91bda7c05a213' + 'SKIP') +validpgpkeys=(9147A339719518EE9011BCB54793916113084025) # samba-bugs@samba.org + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --sysconfdir=/etc/samba \ + --localstatedir=/var \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --enable-talloc-compat1 + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/main/talloc/README b/main/talloc/README new file mode 100644 index 00000000..6d10e100 --- /dev/null +++ b/main/talloc/README @@ -0,0 +1,43 @@ +talloc +________________________________________________________________________________ + +Hierarchical pool based memory allocator with destructors + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S talloc | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://talloc.samba.org/ diff --git a/main/talloc/version b/main/talloc/version new file mode 100644 index 00000000..f7977673 --- /dev/null +++ b/main/talloc/version @@ -0,0 +1 @@ +2.4.2 2 diff --git a/main/tar/PKGBUILD b/main/tar/PKGBUILD new file mode 100644 index 00000000..ff8a2baf --- /dev/null +++ b/main/tar/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer +# Mainainer: Sébastien "Seblu" Luttringer + +pkgname=tar +pkgver=%version% +pkgrel=%release% +pkgdesc='Utility used to store, backup, and transport files' +arch=('x86_64') +url='https://www.gnu.org/software/tar/' +license=('GPL3') +depends=('glibc' 'acl') +checkdepends=('attr') +options=('!emptydirs') +validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/tar \ + --enable-backup-scripts + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/main/tar/README b/main/tar/README new file mode 100644 index 00000000..b47222f2 --- /dev/null +++ b/main/tar/README @@ -0,0 +1,43 @@ +tar +________________________________________________________________________________ + +Utility used to store, backup, and transport files + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tar | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.gnu.org/software/tar/ diff --git a/main/tar/version b/main/tar/version new file mode 100644 index 00000000..2440f717 --- /dev/null +++ b/main/tar/version @@ -0,0 +1 @@ +1.35 2 diff --git a/main/tcl/.PKGINFO b/main/tcl/.PKGINFO new file mode 100644 index 00000000..4f17dbd0 --- /dev/null +++ b/main/tcl/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tcl +pkgbase = tcl +xdata = pkgtype=pkg +pkgver = 8.6.14-4 +pkgdesc = Powerful, easy-to-learn dynamic programming language +url = http://tcl.sourceforge.net/ +builddate = 1715045477 +packager = Developer +size = 14138934 +arch = x86_64 +license = TCL +depend = zlib diff --git a/main/tcl/.nvchecker.toml b/main/tcl/.nvchecker.toml new file mode 100644 index 00000000..35fb24bd --- /dev/null +++ b/main/tcl/.nvchecker.toml @@ -0,0 +1,5 @@ +[tcl] +source = "httpheader" +url = "https://sourceforge.net/projects/tcl/files/latest/download" +regex = 'tcl(\d+\.\d+\.\d+)-src.tar.gz' + diff --git a/main/tcl/PKGBUILD b/main/tcl/PKGBUILD new file mode 100644 index 00000000..a58b51d1 --- /dev/null +++ b/main/tcl/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tcl +pkgver=%version% +pkgrel=%release% +pkgdesc='Powerful, easy-to-learn dynamic programming language' +arch=(x86_64) +url='http://tcl.sourceforge.net/' +license=(TCL) +depends=(zlib) +options=(staticlibs !lto) +_archive="$pkgname$pkgver" +source=("https://downloads.sourceforge.net/sourceforge/tcl/$_archive-src.tar.gz") +sha256sums=('5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66') + +prepare() { + cd "$_archive" + # we build the tcl sqlite interface in sqlite-tcl package + rm -rf pkgs/sqlite3* +} + +build() { + cd "$_archive/unix" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-threads \ + --enable-64bit + # Since the test targets are known-broken with a race condition in + # prerequisites, forcing one job at a time just out of defensiveness. + make -j1 +} + +check() { + cd "$_archive/unix" + # Upstream test suite uses a custom test runner with two different + # invocations. The Makefile specifies dependencies for one of those + # runs, but not both—relying instead on them having been built by the + # other invocation. Running parallel jobs can run those in a different + # order which makes for non-deterministic test failures. + make -j1 test +} + +package() { + cd "$_archive/unix" + make INSTALL_ROOT="$pkgdir" install install-private-headers + ln -sf tclsh${pkgver%.*} "$pkgdir/usr/bin/tclsh" + ln -sf libtcl${pkgver%.*}.so "$pkgdir/usr/lib/libtcl.so" + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" ../license.terms + install -Dm644 tcl.m4 -t "$pkgdir/usr/share/aclocal" + chmod 644 "$pkgdir/usr/lib/libtclstub8.6.a" + + # remove buildroot traces + _tclver=8.6 + sed -e "s#$srcdir/$_archive/unix#/usr/lib#" \ + -e "s#$srcdir/$_archive#/usr/include#" \ + -e "s#'{/usr/lib} '#'/usr/lib/tcl$_tclver'#" \ + -i "$pkgdir/usr/lib/tclConfig.sh" + + tdbcver=tdbc1.1.7 + sed -e "s#$srcdir/$_archive/unix/pkgs/$tdbcver#/usr/lib/$tdbcver#" \ + -e "s#$srcdir/$_archive/pkgs/$tdbcver/generic#/usr/include#" \ + -e "s#$srcdir/$_archive/pkgs/$tdbcver/library#/usr/lib/tcl${pkgver%.*}#" \ + -e "s#$srcdir/$_archive/pkgs/$tdbcver#/usr/include#" \ + -i "$pkgdir/usr/lib/$tdbcver/tdbcConfig.sh" + + itclver=itcl4.2.4 + sed -e "s#$srcdir/$_archive/unix/pkgs/$itclver#/usr/lib/$itclver#" \ + -e "s#$srcdir/$_archive/pkgs/$itclver/generic#/usr/include#" \ + -e "s#$srcdir/$_archive/pkgs/$itclver#/usr/include#" \ + -i "$pkgdir/usr/lib/$itclver/itclConfig.sh" +} diff --git a/main/tcl/README b/main/tcl/README new file mode 100644 index 00000000..8e6f553b --- /dev/null +++ b/main/tcl/README @@ -0,0 +1,43 @@ +tcl +________________________________________________________________________________ + +Powerful, easy-to-learn dynamic programming language + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tcl | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://tcl.sourceforge.net/ diff --git a/main/tcl/version b/main/tcl/version new file mode 100644 index 00000000..65533960 --- /dev/null +++ b/main/tcl/version @@ -0,0 +1 @@ +8.6.14 4 diff --git a/main/tcpdump/.PKGINFO b/main/tcpdump/.PKGINFO new file mode 100644 index 00000000..31643b93 --- /dev/null +++ b/main/tcpdump/.PKGINFO @@ -0,0 +1,24 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tcpdump +pkgbase = tcpdump +xdata = pkgtype=pkg +pkgver = 4.99.4-2 +pkgdesc = Powerful command-line packet analyzer +url = https://www.tcpdump.org/ +builddate = 1718491941 +packager = Developer +size = 1141514 +arch = x86_64 +license = BSD-3-Clause +depend = glibc +depend = libpcap +depend = libpcap.so=1-64 +depend = libcap-ng +depend = libcap-ng.so=0-64 +depend = openssl +depend = libcrypto.so=3-64 +makedepend = cmake +makedepend = libpcap +makedepend = libcap-ng +makedepend = openssl diff --git a/main/tcpdump/PKGBUILD b/main/tcpdump/PKGBUILD new file mode 100644 index 00000000..83ab0361 --- /dev/null +++ b/main/tcpdump/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tcpdump +pkgver=%version% +pkgrel=%release% +pkgdesc='Powerful command-line packet analyzer' +url="https://www.tcpdump.org/" +arch=(x86_64) +license=(BSD) +depends=(glibc) +makedepends=( + cmake + libpcap + libcap-ng + openssl +) +source=(https://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz{,.sig}) +sha512sums=('cb51e19574707d07c0de90dd4c301955897f2c9f2a69beb7162c08f59189f55625346d1602c8d66ab2b4c626ea4b0df1f08ed8734d2d7f536d0a7840c2d6d8df' + 'SKIP') +b2sums=('f100e10774574ef04a770bc30d4e2d06fd0f1f16a7b2c88848be6e8290cc4838666ff378d9f78fdc418f4ffab9716a11214edc3588c292cb5ff39636cd7cfd2d' + 'SKIP') +validpgpkeys=('1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D') # The Tcpdump Group (Package signing key) + +build() { + local cmake_options=( + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_BUILD_TYPE=None + -Wno-dev + -B build + -S $pkgname-$pkgver + ) + + cmake "${cmake_options[@]}" + cmake --build build --verbose +} + +check() { + make VERBOSE=1 check -C build +} + +package() { + depends+=( + libpcap libpcap.so + libcap-ng libcap-ng.so + openssl libcrypto.so + ) + + DESTDIR="$pkgdir" cmake --install build + install -vDm 644 $pkgname-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/tcpdump/README b/main/tcpdump/README new file mode 100644 index 00000000..a3627e9a --- /dev/null +++ b/main/tcpdump/README @@ -0,0 +1,43 @@ +tcpdump +________________________________________________________________________________ + +Powerful command-line packet analyzer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tcpdump | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.tcpdump.org/ diff --git a/main/tcpdump/version b/main/tcpdump/version new file mode 100644 index 00000000..fd1b601b --- /dev/null +++ b/main/tcpdump/version @@ -0,0 +1 @@ +4.99.4 2 diff --git a/main/tdb/.PKGINFO b/main/tdb/.PKGINFO new file mode 100644 index 00000000..e03662e6 --- /dev/null +++ b/main/tdb/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tdb +pkgbase = tdb +xdata = pkgtype=pkg +pkgver = 1.4.10-3 +pkgdesc = Trivial Database similar to GDBM but allows simultaneous commits +url = https://tdb.samba.org/ +builddate = 1714401793 +packager = Developer +size = 238963 +arch = x86_64 +license = GPL-3.0-or-later +provides = libtdb.so=1-64 +depend = glibc +optdepend = python: for python bindings +makedepend = python +makedepend = libxslt +makedepend = docbook-xsl diff --git a/main/tdb/PKGBUILD b/main/tdb/PKGBUILD new file mode 100644 index 00000000..caf7bfa0 --- /dev/null +++ b/main/tdb/PKGBUILD @@ -0,0 +1,33 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tdb +pkgver=%version% +pkgrel=%release% +pkgdesc='Trivial Database similar to GDBM but allows simultaneous commits' +arch=(x86_64) +license=('GPL-3.0-or-later') +url="https://tdb.samba.org/" +depends=('glibc') +makedepends=('python' 'libxslt' 'docbook-xsl') +optdepends=('python: for python bindings') +provides=(libtdb.so) +source=(https://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar{.gz,.asc}) +validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key +sha512sums=('b5147d811617d90a025d1070abf16c42744b3fc3cac1042fbff03b1e635af2eaf9c957a7bffdb3f56b4a0c775b44f8027def9f23deb1b3ede817b95bbece2ce9' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc/samba + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/tdb/README b/main/tdb/README new file mode 100644 index 00000000..2e5e3619 --- /dev/null +++ b/main/tdb/README @@ -0,0 +1,43 @@ +tdb +________________________________________________________________________________ + +Trivial Database similar to GDBM but allows simultaneous commits + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tdb | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tdb.samba.org/ diff --git a/main/tdb/version b/main/tdb/version new file mode 100644 index 00000000..499a38cf --- /dev/null +++ b/main/tdb/version @@ -0,0 +1 @@ +1.4.10 3 diff --git a/main/terminus-font/PKGBUILD b/main/terminus-font/PKGBUILD new file mode 100644 index 00000000..20778ac3 --- /dev/null +++ b/main/terminus-font/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=terminus-font +pkgver=%version% +pkgrel=%release% + +pkgdesc='Monospace bitmap font (for X11 and console)' +url='http://terminus-font.sourceforge.net/' +arch=('any') +license=('GPL2' 'custom:OFL') +makedepends=('xorg-bdftopcf' 'python' 'grub' 'freetype2') +conflicts=('terminus-font-otb') +replaces=('terminus-font-otb') +source=("https://downloads.sourceforge.net/project/terminus-font/terminus-font-${pkgver%.1}/terminus-font-$pkgver.tar.gz" + fix-75-yes-terminus.patch) +sha256sums=('d961c1b781627bf417f9b340693d64fc219e0113ad3a3af1a3424c7aa373ef79' + 'ddd86485cf6d54e020e36f1c38c56e8b21b57c23a5d76250e15c1d16fed9caa5') + +prepare() { + cd "terminus-font-$pkgver" + patch -p1 <"$srcdir"/fix-75-yes-terminus.patch +} + +build() { + cd "terminus-font-$pkgver" + + ./configure \ + --prefix=/usr \ + --x11dir=/usr/share/fonts/misc \ + --otbdir=/usr/share/fonts/misc \ + --psfdir=/usr/share/kbd/consolefonts + make all otb + # build grub fonts + for i in *.bdf; do + grub-mkfont -o "$(basename "$i" .bdf).pf2" "$i" + done +} + +package() { + make -C "terminus-font-$pkgver" DESTDIR="$pkgdir" install install-otb + + install -Dm644 "$srcdir/terminus-font-$pkgver/75-yes-terminus.conf" \ + "$pkgdir/usr/share/fontconfig/conf.avail/75-yes-terminus.conf" + install -Dm644 "$srcdir/terminus-font-$pkgver/OFL.TXT" \ + "$pkgdir/usr/share/licenses/terminus-font/LICENSE" + + install -d "$pkgdir/usr/share/fontconfig/conf.default" + ln -sr "$pkgdir/usr/share/fontconfig/conf.avail/75-yes-terminus.conf" \ + "$pkgdir/usr/share/fontconfig/conf.default/75-yes-terminus.conf" + cd terminus-font-$pkgver + for i in *.pf2; do + install -D -m644 $i "$pkgdir/usr/share/grub/$i" + done + + install -Dm644 README "$pkgdir/usr/share/$pkgname/README" +} + +# vim:set ts=2 sw=2 et: diff --git a/main/terminus-font/README b/main/terminus-font/README new file mode 100644 index 00000000..2b46641f --- /dev/null +++ b/main/terminus-font/README @@ -0,0 +1,43 @@ +terminus-font +________________________________________________________________________________ + +Monospace bitmap font (for X11 and console) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S terminus-font | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://terminus-font.sourceforge.net/ diff --git a/main/terminus-font/fix-75-yes-terminus.patch b/main/terminus-font/fix-75-yes-terminus.patch new file mode 100644 index 00000000..3447f5ba --- /dev/null +++ b/main/terminus-font/fix-75-yes-terminus.patch @@ -0,0 +1,11 @@ +--- a/75-yes-terminus.conf 2019-01-01 19:32:47.000000000 +0100 ++++ b/75-yes-terminus.conf 2019-01-01 19:41:28.323308293 +0100 +@@ -5,7 +5,7 @@ + + + +- Terminus ++ xos4 Terminus + + + diff --git a/main/terminus-font/version b/main/terminus-font/version new file mode 100644 index 00000000..09f674dd --- /dev/null +++ b/main/terminus-font/version @@ -0,0 +1 @@ +4.49.1 6 diff --git a/main/testdisk/PKGBUILD b/main/testdisk/PKGBUILD new file mode 100644 index 00000000..a0aa8fac --- /dev/null +++ b/main/testdisk/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=testdisk +pkgver=%version% +pkgrel=%release% +pkgdesc="Checks and undeletes partitions + PhotoRec, signature based recovery tool" +arch=('x86_64') +url="https://www.cgsecurity.org/index.html?testdisk.html" +license=('GPL-3.0-or-later') +depends=('libjpeg' 'openssl' 'ntfsprogs') +source=(https://www.cgsecurity.org/$pkgname-$pkgver.tar.bz2) + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --without-ewf \ + --enable-sudo + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} +sha256sums=('f8343be20cb4001c5d91a2e3bcd918398f00ae6d8310894a5a9f2feb813c283f') diff --git a/main/testdisk/README b/main/testdisk/README new file mode 100644 index 00000000..525a2101 --- /dev/null +++ b/main/testdisk/README @@ -0,0 +1,43 @@ +testdisk +________________________________________________________________________________ + +Checks and undeletes partitions + PhotoRec, signature based recovery tool + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S testdisk | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.cgsecurity.org/index.html?testdisk.html diff --git a/main/testdisk/version b/main/testdisk/version new file mode 100644 index 00000000..c8e787cd --- /dev/null +++ b/main/testdisk/version @@ -0,0 +1 @@ +7.2 1 diff --git a/main/tevent/.PKGINFO b/main/tevent/.PKGINFO new file mode 100644 index 00000000..0e50b190 --- /dev/null +++ b/main/tevent/.PKGINFO @@ -0,0 +1,18 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tevent +pkgbase = tevent +xdata = pkgtype=pkg +pkgver = 1:0.16.1-3 +pkgdesc = Event system based on the talloc memory management library +url = https://tevent.samba.org/ +builddate = 1714401795 +packager = Developer +size = 217658 +arch = x86_64 +license = GPL-3.0-or-later +provides = libtevent.so=0-64 +depend = talloc +optdepend = python: for python bindings +makedepend = python +makedepend = cmocka diff --git a/main/tevent/PKGBUILD b/main/tevent/PKGBUILD new file mode 100644 index 00000000..32b6a5de --- /dev/null +++ b/main/tevent/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tevent +pkgver=%version% +pkgrel=%release% +epoch=1 +pkgdesc='Event system based on the talloc memory management library' +url="https://tevent.samba.org/" +arch=('x86_64') +source=(https://samba.org/ftp/tevent/${pkgname}-${pkgver}.tar{.gz,.asc}) +license=('GPL-3.0-or-later') +depends=('talloc') +makedepends=('python' 'cmocka') +optdepends=('python: for python bindings') +provides=(libtevent.so) +validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key +sha512sums=('cda001d91728b2f28dd081e9c5f6d8ede345dcd9ce1dca04394860cd83090c15aa8dfef1c53b73e120bd17f0d95551fa9301eb4927963314556d016fe5420a39' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --bundled-libraries=NONE \ + --builtin-libraries=replace + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/main/tevent/README b/main/tevent/README new file mode 100644 index 00000000..0df4a771 --- /dev/null +++ b/main/tevent/README @@ -0,0 +1,43 @@ +tevent +________________________________________________________________________________ + +Event system based on the talloc memory management library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tevent | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tevent.samba.org/ diff --git a/main/tevent/version b/main/tevent/version new file mode 100644 index 00000000..ccafe84d --- /dev/null +++ b/main/tevent/version @@ -0,0 +1 @@ +1:0.16.1 3 diff --git a/main/thin-provisioning-tools/PKGBUILD b/main/thin-provisioning-tools/PKGBUILD new file mode 100644 index 00000000..16992021 --- /dev/null +++ b/main/thin-provisioning-tools/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=thin-provisioning-tools +pkgver=%version% +pkgrel=%release% +pkgdesc='Suite of tools for manipulating the metadata of the dm-thin device-mapper target' +arch=('x86_64') +url='https://github.com/jthornber/thin-provisioning-tools' +license=('GPL3') +depends=('gcc-libs') +makedepends=('cargo') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/jthornber/${pkgname}/archive/v${pkgver}.tar.gz") +sha256sums=('55f3423c22d3a5716be88d0ae9155c95d8145cb3ee65f89ff96d2d6a9ede6ad5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + cargo build --release +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make \ + DESTDIR="${pkgdir}"/usr \ + BINDIR="${pkgdir}"/usr/bin \ + DATADIR="${pkgdir}"/usr/share \ + install +} + diff --git a/main/thin-provisioning-tools/README b/main/thin-provisioning-tools/README new file mode 100644 index 00000000..e71f1dbe --- /dev/null +++ b/main/thin-provisioning-tools/README @@ -0,0 +1,43 @@ +thin-provisioning-tools +________________________________________________________________________________ + +Suite of tools for manipulating the metadata of the dm-thin device-mapper target + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S thin-provisioning-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/jthornber/thin-provisioning-tools diff --git a/main/thin-provisioning-tools/version b/main/thin-provisioning-tools/version new file mode 100644 index 00000000..072c2e9a --- /dev/null +++ b/main/thin-provisioning-tools/version @@ -0,0 +1 @@ +1.0.12 1 diff --git a/main/tmux/.PKGINFO b/main/tmux/.PKGINFO new file mode 100644 index 00000000..fffd1271 --- /dev/null +++ b/main/tmux/.PKGINFO @@ -0,0 +1,22 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tmux +pkgbase = tmux +xdata = pkgtype=pkg +pkgver = 3.4-7 +pkgdesc = Terminal multiplexer +url = https://github.com/tmux/tmux/wiki +builddate = 1714618460 +packager = Developer +size = 1057670 +arch = x86_64 +license = BSD +depend = libevent +depend = libevent_core-2.1.so=7-64 +depend = libutempter +depend = ncurses +depend = libncursesw.so=6-64 +depend = systemd-libs +depend = libsystemd.so=0-64 +makedepend = git +makedepend = systemd diff --git a/main/tmux/PKGBUILD b/main/tmux/PKGBUILD new file mode 100644 index 00000000..2346dd78 --- /dev/null +++ b/main/tmux/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tmux +pkgver=%version% +pkgrel=%release% +pkgdesc='Terminal multiplexer' +url='https://github.com/tmux/tmux/wiki' +arch=('x86_64') +license=('BSD') +depends=('libevent' 'libevent_core-2.1.so' + 'libutempter' + 'ncurses' 'libncursesw.so' + 'systemd-libs' 'libsystemd.so') +makedepends=('git' 'systemd') +source=("git+https://github.com/tmux/tmux.git#tag=${pkgver}") +sha256sums=('71387cf05585836da88d9b481f98e89be5bc8f09a203600187b22aa0e00c52b0') + +prepare() { + cd "$pkgname" + + sh autogen.sh +} + +build() { + cd "$pkgname" + + ./configure \ + --prefix=/usr \ + --enable-sixel \ + --enable-systemd \ + --enable-utempter + make +} + +package() { + cd "$pkgname" + + make install DESTDIR="$pkgdir" + install -D -m0644 COPYING "$pkgdir/usr/share/licenses/tmux/LICENSE" +} diff --git a/main/tmux/README b/main/tmux/README new file mode 100644 index 00000000..52af0b88 --- /dev/null +++ b/main/tmux/README @@ -0,0 +1,43 @@ +tmux +________________________________________________________________________________ + +Terminal multiplexer + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tmux | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/tmux/tmux/wiki diff --git a/main/tmux/version b/main/tmux/version new file mode 100644 index 00000000..45af7379 --- /dev/null +++ b/main/tmux/version @@ -0,0 +1 @@ +3.4 7 diff --git a/main/tpkg/PKGBUILD b/main/tpkg/PKGBUILD new file mode 100644 index 00000000..9773e3a0 --- /dev/null +++ b/main/tpkg/PKGBUILD @@ -0,0 +1,118 @@ +# Maintainer: Tuxcore + +pkgname=tpkg +pkgver=%version% +pkgrel=%release% +pkgdesc="A library-based package manager with dependency support" +arch=('x86_64') +url="https://www.archlinux.org/pacman/" +license=('GPL-2.0-or-later') +depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'gettext' 'gawk' 'coreutils' 'gnupg' 'grep') +makedepends=('meson' 'asciidoc' 'doxygen') +checkdepends=('python' 'fakechroot') +optdepends=('perl-locale-gettext: translation support in makepkg-template') +provides=('libalpm.so') +backup=(etc/tpkg.conf + etc/makepkg.conf) +options=('strip') +source=(https://gitlab.archlinux.org/pacman/pacman/-/releases/v$pkgver/downloads/pacman-$pkgver.tar.xz + revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch + "$pkgname-fix-msg-unknown-key.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/6bb95c8856437513ee0ab19226bc090d6fd0fb06.patch" + "$pkgname-man-gitlab.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/95f148c2222db608a0d72d5c5577d0c71e7fa199.patch" + "$pkgname-make-aligned-titles.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/5e0496260b7d3f9c9fcf2b1c4899e4dbcc20ff03.patch" + "$pkgname-repo-add-parseopts.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/0571ee82bff0edbd5ffac2228d4e6ac510b9008e.patch" + "$pkgname-drop-result-warn.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/111eed0251238a9d3f90e76d62f2ac01aeccce48.patch" + "$pkgname-fix-debugedit.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/bae9594ac1806ce30f2af1de27c49bb101a00d44.patch" + tpkg.conf + makepkg.conf) +sha256sums=('5a60ac6e6bf995ba6140c7d038c34448df1f3daa4ae7141d2cad88eeb5f1f9d9' + 'b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2' + '94c987046c2ff232fa0d395cddc11644840d767806711e04ef34f876a9baf217' + '0774d7035e34661f74b673d4b0a94be877bdc0158a555b873ec6bd4e2c936377' + '7bb64910265ce2590f593cdfd302076e49f67a68f8cc792a9aaac572d36fc842' + '2bbfe40539513ff5775aaf900644c8985ef618f5df9af856b9d571e2501365b0' + '160515b741aadc876a67f213029f5f62a51ff072ea4aaeb687bbe614035bf72f' + '1f4e4cc54332e60c9da2bdabf9a80dc11db466535f1a0be298cbf654f0723721' + 'SKIP' + 'SKIP') + +prepare() { + cd "pacman-$pkgver" + + # handle patches + local -a patches + patches=($(printf '%s\n' "${source[@]}" | grep '.patch')) + patches=("${patches[@]%%::*}") + patches=("${patches[@]##*/}") + + if (( ${#patches[@]} != 0 )); then + for patch in "${patches[@]}"; do + if [[ $patch =~ revertme-* ]]; then + msg2 "Reverting patch $patch..." + patch -RNp1 < "../$patch" + else + msg2 "Applying patch $patch..." + patch -Np1 < "../$patch" + fi + done + fi + + + grep -rl PACMAN "$srcdir" | xargs sed -i 's/PACMAN/TPKG/g' + grep -rl pacman . | xargs sed -i 's/pacman/tpkg/g' + grep -rl pacnew . | xargs sed -i 's/pacnew/backup/g' + echo "GREP DONE!" + + find . -mindepth 1 -maxdepth 1 -name "*pacman*" -exec bash -c ' mv $0 ${0/\pacman/tpkg}' {} \; + find . -mindepth 2 -maxdepth 2 -name "*pacman*" -exec bash -c ' mv $0 ${0/\pacman/tpkg}' {} \; + find . -mindepth 3 -maxdepth 3 -name "*pacman*" -exec bash -c ' mv $0 ${0/\pacman/tpkg}' {} \; + find . -mindepth 4 -maxdepth 4 -name "*pacman*" -exec bash -c ' mv $0 ${0/\pacman/tpkg}' {} \; + find . -mindepth 5 -maxdepth 5 -name "*pacman*" -exec bash -c ' mv $0 ${0/\pacman/tpkg}' {} \; + + find . -mindepth 1 -maxdepth 1 -name "*PACMAN*" -exec bash -c ' mv $0 ${0/\PACMAN/TPKG}' {} \; + find . -mindepth 2 -maxdepth 2 -name "*PACMAN*" -exec bash -c ' mv $0 ${0/\PACMAN/TPKG}' {} \; + find . -mindepth 3 -maxdepth 3 -name "*PACMAN*" -exec bash -c ' mv $0 ${0/\PACMAN/TPKG}' {} \; + find . -mindepth 4 -maxdepth 4 -name "*PACMAN*" -exec bash -c ' mv $0 ${0/\PACMAN/TPKG}' {} \; + find . -mindepth 5 -maxdepth 5 -name "*PACMAN*" -exec bash -c ' mv $0 ${0/\PACMAN/TPKG}' {} \; +} + +build() { + cd "pacman-$pkgver" + + meson --prefix=/usr \ + --buildtype=plain \ + -Ddoc=enabled \ + -Ddoxygen=enabled \ + -Dscriptlet-shell=/usr/bin/bash \ + -Dldconfig=/usr/bin/ldconfig \ + build + + meson compile -C build +} + +check() { + cd "pacman-$pkgver" + + meson test -C build +} + +package() { + cd "pacman-$pkgver" + + DESTDIR="$pkgdir" meson install -C build + + # install Arch specific stuff + install -dm755 "$pkgdir/etc" + install -m644 "$srcdir/tpkg.conf" "$pkgdir/etc/tpkg.conf" + install -m644 "$srcdir/makepkg.conf" "$pkgdir/etc" + + local wantsdir="$pkgdir/usr/lib/systemd/system/sockets.target.wants" + install -dm755 "$wantsdir" + + local unit + for unit in dirmngr gpg-agent gpg-agent-{browser,extra,ssh} keyboxd; do + ln -s "../${unit}@.socket" "$wantsdir/${unit}@etc-pkg.d-gnupg.socket" + done +} + +# vim: set ts=2 sw=2 et: diff --git a/main/tpkg/README b/main/tpkg/README new file mode 100644 index 00000000..2b4a56f9 --- /dev/null +++ b/main/tpkg/README @@ -0,0 +1,43 @@ +pacman +________________________________________________________________________________ + +A library-based package manager with dependency support + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S pacman | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.archlinux.org/pacman/ diff --git a/main/tpkg/makepkg.conf b/main/tpkg/makepkg.conf new file mode 100644 index 00000000..929bc357 --- /dev/null +++ b/main/tpkg/makepkg.conf @@ -0,0 +1,167 @@ +#!/hint/bash +# shellcheck disable=2034 + +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#-- Compiler and Linker Flags +#CPPFLAGS="" +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection \ + -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" +LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ + -Wl,-z,pack-relative-relocs" +LTOFLAGS="-flto=auto" +RUSTFLAGS="-Cforce-frame-pointers=yes" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +DEBUG_RUSTFLAGS="-C debuginfo=2" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +BUILDENV=(!distcc color !ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +#-- autodeps: Automatically add depends/provides +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" +#-- Prefix and directories for library autodeps +LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -c -z -) +COMPRESSZST=(zstd -c -T0 --ultra -20 -) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +PKGEXT='.pkg.tar.zst' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run tpkg as root, instead of trying sudo and su +#tpkg_AUTH=() +# vim: set ft=sh ts=2 sw=2 et: diff --git a/main/tpkg/tpkg.conf b/main/tpkg/tpkg.conf new file mode 100644 index 00000000..93793768 --- /dev/null +++ b/main/tpkg/tpkg.conf @@ -0,0 +1,74 @@ +# +# /etc/tpkg.conf +# +# See the tpkg.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/tpkg/ +#CacheDir = /var/cache/tpkg/pkg/ +#LogFile = /var/log/tpkg.log +#GPGDir = /etc/tpkg.d/gnupg/ +#HookDir = /etc/tpkg.d/hooks/ +HoldPkg = tpkg glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# tpkg won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +CheckSpace +#VerbosePkgLists +ParallelDownloads = 5 + +# By default, tpkg accepts packages signed by keys that its local keyring +# trusts (see tpkg-key and its man page), as well as unsigned packages. +SigLevel = Never +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# +# REPOSITORIES +# - can be defined here or included from another file +# - tpkg will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +[main] +Server = https://cdn.tuxcore.org/packages/$repo + +[opt] +Server = https://cdn.tuxcore.org/packages/$repo + +# An example of a custom package repository. See the tpkg manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/main/tpkg/version b/main/tpkg/version new file mode 100644 index 00000000..b486bb19 --- /dev/null +++ b/main/tpkg/version @@ -0,0 +1 @@ +6.1.0 5 \ No newline at end of file diff --git a/main/tpm2-tools/.nvchecker.toml b/main/tpm2-tools/.nvchecker.toml new file mode 100644 index 00000000..288d54c9 --- /dev/null +++ b/main/tpm2-tools/.nvchecker.toml @@ -0,0 +1,4 @@ +[tpm2-tools] +source = "git" +git = "https://github.com/tpm2-software/tpm2-tools" +ignore_regex = ".*(alpha|beta|rc).*" diff --git a/main/tpm2-tools/PKGBUILD b/main/tpm2-tools/PKGBUILD new file mode 100644 index 00000000..68439d43 --- /dev/null +++ b/main/tpm2-tools/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tpm2-tools +pkgver=%version% +pkgrel=%release% +pkgdesc='Trusted Platform Module 2.0 tools based on tpm2-tss' +arch=(x86_64) +url='https://github.com/tpm2-software/tpm2-tools' +license=(BSD-3-Clause) +depends=( + glibc +) +makedepends=( + curl + openssl + tpm2-tss +) +checkdepends=( + cmocka + expect + iproute2 + python-yaml + swtpm + tpm2-abrmd + util-linux-libs + xxd +) +optdepends=('tpm2-abrmd: user space resource manager') +options=(!lto) +source=($url/releases/download/$pkgver/$pkgname-$pkgver.tar.gz{,.asc}) +sha512sums=('14216f29ed3ecca5fbe356ed3744c8b6b25a62ff11b2aed596d11101328c8bfd29a02f6ca5a218f9a4477a5e9648c50f0ae96e71de0b4ff5ea1f98ebeeb73cd7' + 'SKIP') +b2sums=('fe88722c26d62128cd6dfbdd8ef2568656a75fe27b1443fed28387d0db1f50b7d0651819d34dfa98acde785b4cfb4e7c11420b110bb5333ed2bb6b67cdd4fc70' + 'SKIP') +validpgpkeys=( + '5B482B8E3E19DA7C978E1D016DE2E9078E1F50C1' # William Roberts (Bill Roberts) + '6313E6DC41AAFC315A8760A414986F6944B1F72B' # Desai, Imran (idesai-github-gpg) + '6F72A30EEA41B9B548570AD20D0DB2B265493E29' # ajay kishore +) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-unit + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + depends+=( + curl libcurl.so + openssl libcrypto.so + tpm2-tss libtss2-esys.so libtss2-fapi.so libtss2-mu.so libtss2-rc.so libtss2-sys.so libtss2-tctildr.so + ) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 docs/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/tpm2-tools/README b/main/tpm2-tools/README new file mode 100644 index 00000000..d04c0873 --- /dev/null +++ b/main/tpm2-tools/README @@ -0,0 +1,43 @@ +tpm2-tools +________________________________________________________________________________ + +Trusted Platform Module 2.0 tools based on tpm2-tss + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tpm2-tools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/tpm2-software/tpm2-tools diff --git a/main/tpm2-tools/version b/main/tpm2-tools/version new file mode 100644 index 00000000..8d9e3fe5 --- /dev/null +++ b/main/tpm2-tools/version @@ -0,0 +1 @@ +5.6 1 diff --git a/main/tpm2-tss/PKGBUILD b/main/tpm2-tss/PKGBUILD new file mode 100644 index 00000000..89a162a3 --- /dev/null +++ b/main/tpm2-tss/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=tpm2-tss +pkgver=%version% +pkgrel=%release% +pkgdesc='Implementation of the TCG Trusted Platform Module 2.0 Software Stack (TSS2)' +arch=('x86_64') +url='https://github.com/tpm2-software/tpm2-tss' +license=('BSD') +depends=('curl' 'json-c' 'openssl' 'libjson-c.so') +makedepends=('cmocka' 'doxygen' 'libtpms') +checkdepends=('iproute2' 'swtpm' 'uthash') +provides=('libtss2-esys.so' 'libtss2-fapi.so' 'libtss2-mu.so' 'libtss2-rc.so' 'libtss2-sys.so' 'libtss2-tctildr.so') +backup=('etc/tpm2-tss/fapi-config.json' + 'etc/tpm2-tss/fapi-profiles/P_ECCP256SHA256.json' + 'etc/tpm2-tss/fapi-profiles/P_RSA2048SHA256.json') +options=('!emptydirs' '!lto') +source=("$url/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"{,.asc} + 'https://raw.githubusercontent.com/tpm2-software/tpm2-tss/e237e4d33cbf280292a480edd8ad061dcd3a37a2/lib/tss2-tcti-libtpms.map' + 'https://github.com/tpm2-software/tpm2-tss/commit/218c0da8.patch') +sha512sums=('ed6ddc52cb0e8c1082a4bb001e1225eb9905fd2380da88db5fd69ff5b5d9d43a93eb67b634e49d53eb5d586832da3aef2c4c7e5f18d51bb730481f8913319d7d' + 'SKIP' + '55be966eb320c96ca49b3aaa0635815076fe1a21149d1a0f95654778c8359bd16f18a10c0cabe955a366d4a14e2645a8150878b601085d987727de40831e50ab' + '5c6f57ddf43b0c767578ecbad1df960ef0d77417eb1db0c9c492636a4b07c0b5b29cc031d5352d83aec4a8e1d67276587db24e7e188dfeecff5d7ed7c55cc30c') +validpgpkeys=('D6B4D8BAC7E0CC97DCD4AC7272E88B53F7A95D84' # Andreas Fuchs + '5B482B8E3E19DA7C978E1D016DE2E9078E1F50C1') # William Roberts (Bill Roberts) + +prepare() { + cd "$pkgname-$pkgver" + # Add file missing from release tarball (https://github.com/tpm2-software/tpm2-tss/issues/2313) + cp "$srcdir/tss2-tcti-libtpms.map" lib + patch -p1 -i ../218c0da8.patch # Fix tests +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --with-runstatedir=/run --with-sysusersdir=/usr/lib/sysusers.d \ + --with-tmpfilesdir=/usr/lib/tmpfiles.d --with-udevrulesprefix=60- \ + --enable-unit $( ((CHECKFUNC)) && echo --enable-integration) + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/main/tpm2-tss/README b/main/tpm2-tss/README new file mode 100644 index 00000000..8ade645f --- /dev/null +++ b/main/tpm2-tss/README @@ -0,0 +1,43 @@ +tpm2-tss +________________________________________________________________________________ + +Implementation of the TCG Trusted Platform Module 2.0 Software Stack (TSS2) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tpm2-tss | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/tpm2-software/tpm2-tss diff --git a/main/tpm2-tss/version b/main/tpm2-tss/version new file mode 100644 index 00000000..27328123 --- /dev/null +++ b/main/tpm2-tss/version @@ -0,0 +1 @@ +4.0.1 1 diff --git a/main/tracker3/.PKGINFO b/main/tracker3/.PKGINFO new file mode 100644 index 00000000..c6c773c5 --- /dev/null +++ b/main/tracker3/.PKGINFO @@ -0,0 +1,40 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tracker3 +pkgbase = tracker3 +xdata = pkgtype=split +pkgver = 3.7.3-2 +pkgdesc = SQLite-based RDF triplestore database with SPARQL interface +url = https://tracker.gnome.org/ +builddate = 1716253509 +packager = Developer +size = 3483184 +arch = x86_64 +license = LGPL-2.1-or-later +provides = libtracker-sparql-3.0.so=0-64 +depend = avahi +depend = bash +depend = gcc-libs +depend = glib2 +depend = glibc +depend = icu +depend = json-glib +depend = libsoup3 +depend = libstemmer +depend = libxml2 +depend = python +depend = sqlite +optdepend = libsoup: Alternative remoting backend +makedepend = asciidoc +makedepend = bash-completion +makedepend = dbus +makedepend = gi-docgen +makedepend = git +makedepend = gobject-introspection +makedepend = libsoup +makedepend = meson +makedepend = python-dbus +makedepend = python-gobject +makedepend = python-tappy +makedepend = systemd +makedepend = vala diff --git a/main/tracker3/PKGBUILD b/main/tracker3/PKGBUILD new file mode 100644 index 00000000..c266d73a --- /dev/null +++ b/main/tracker3/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=tracker3 +pkgname=( + tracker3 + tracker3-docs +) +pkgver=%version% +pkgrel=%release% +pkgdesc="SQLite-based RDF triplestore database with SPARQL interface" +url="https://tracker.gnome.org/" +arch=(x86_64) +license=(LGPL-2.1-or-later) +depends=( + avahi + bash + gcc-libs + glib2 + glibc + icu + json-glib + libsoup3 + libstemmer + libxml2 + python + sqlite +) +makedepends=( + asciidoc + bash-completion + dbus + gi-docgen + git + gobject-introspection + libsoup + meson + python-dbus + python-gobject + python-tappy + systemd + vala +) +source=( + "git+https://gitlab.gnome.org/GNOME/tracker.git#tag=$pkgver" + "git+https://gitlab.gnome.org/GNOME/gvdb.git" +) +b2sums=('230283b17543725b7a6f0ee3768966abec896fa2164363a7ef2b6e9f945a774ff5e8ebb264b5547a59e008c606cf22fd065ff89d2b4fb2c40f9be97b95cb08db' + 'SKIP') + +prepare() { + cd tracker + + git submodule init + git submodule set-url subprojects/gvdb "$srcdir/gvdb" + git -c protocol.file.allow=always submodule update +} + +build() { + local meson_options=( + -D tests_tap_protocol=true + ) + + arch-meson tracker build "${meson_options[@]}" + meson compile -C build +} + +check() { + dbus-run-session meson test -C build --print-errorlogs -t 3 +} + +package_tracker3() { + optdepends=('libsoup: Alternative remoting backend') + provides=(libtracker-sparql-3.0.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p docs/usr/share + mv {"$pkgdir",docs}/usr/share/doc +} + +package_tracker3-docs() { + pkgdesc+=" (documentation)" + depends=() + mv docs/* "$pkgdir" +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/tracker3/README b/main/tracker3/README new file mode 100644 index 00000000..cd8ca1fd --- /dev/null +++ b/main/tracker3/README @@ -0,0 +1,43 @@ +tracker3 +________________________________________________________________________________ + +SQLite-based RDF triplestore database with SPARQL interface SQLite-based RDF triplestore database with SPARQL interface (documentation) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tracker3 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://tracker.gnome.org/ diff --git a/main/tracker3/version b/main/tracker3/version new file mode 100644 index 00000000..9ff7c5b7 --- /dev/null +++ b/main/tracker3/version @@ -0,0 +1 @@ +3.7.3 2 diff --git a/main/tslib/.nvchecker.toml b/main/tslib/.nvchecker.toml new file mode 100644 index 00000000..8b81f399 --- /dev/null +++ b/main/tslib/.nvchecker.toml @@ -0,0 +1,5 @@ +[tslib] +source = 'github' +github = 'kergoth/tslib' +use_max_tag = true +exclude_regex = '.*rc.*' diff --git a/main/tslib/PKGBUILD b/main/tslib/PKGBUILD new file mode 100644 index 00000000..ebe0246f --- /dev/null +++ b/main/tslib/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tslib +pkgver=%version% +pkgrel=%release% +pkgdesc="Touchscreen Access Library" +arch=(x86_64) +url="https://github.com/kergoth/tslib" +license=(LGPL-2.1-only) +depends=(glibc) +makedepends=() +source=("https://github.com/kergoth/tslib/releases/download/$pkgver/$pkgname-$pkgver.tar.xz"{,.asc}) +sha256sums=('9b489a54d48006201f2fe955a88c3f857535ac93b6cf8e5a16c7b166c8991dac' + 'SKIP') +validpgpkeys=(F2082B880F9E423934686E3F500398DF5AB387D3) # Martin Kepplinger + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/main/tslib/README b/main/tslib/README new file mode 100644 index 00000000..caeddb81 --- /dev/null +++ b/main/tslib/README @@ -0,0 +1,43 @@ +tslib +________________________________________________________________________________ + +Touchscreen Access Library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tslib | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/kergoth/tslib diff --git a/main/tslib/version b/main/tslib/version new file mode 100644 index 00000000..843b2ed1 --- /dev/null +++ b/main/tslib/version @@ -0,0 +1 @@ +1.23 1 diff --git a/main/ttf-hack/LICENSE b/main/ttf-hack/LICENSE new file mode 100644 index 00000000..08927e50 --- /dev/null +++ b/main/ttf-hack/LICENSE @@ -0,0 +1,45 @@ +The work in the Hack project is Copyright 2018 Source Foundry Authors and licensed under the MIT License + +The work in the DejaVu project was committed to the public domain. + +Bitstream Vera Sans Mono Copyright 2003 Bitstream Inc. and licensed under the Bitstream Vera License with Reserved Font Names "Bitstream" and "Vera" + +### MIT License + +Copyright (c) 2018 Source Foundry Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +### BITSTREAM VERA LICENSE + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: + +The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. diff --git a/main/ttf-hack/PKGBUILD b/main/ttf-hack/PKGBUILD new file mode 100644 index 00000000..8885e09c --- /dev/null +++ b/main/ttf-hack/PKGBUILD @@ -0,0 +1,18 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=ttf-hack +pkgver=%version% +pkgrel=%release% +pkgdesc='A hand groomed and optically balanced typeface based on Bitstream Vera Mono.' +arch=('any') +license=('custom:ttf-hack') +url="https://sourcefoundry.org/hack/" +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/source-foundry/Hack/archive/refs/tags/v${pkgver}.tar.gz") +sha256sums=('3c6f1a20e86744077e83c9bacf879a5b13f659f1c07e9c5c57d6efc3cbe66c07') + +package() { + install -Dm644 -t "$pkgdir/usr/share/fonts/TTF" Hack-${pkgver}/build/ttf/Hack-*.ttf + install -Dm644 "Hack-${pkgver}/config/fontconfig/45-Hack.conf" -t "$pkgdir"/usr/share/fontconfig/conf.avail + install -Dm644 "Hack-${pkgver}/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/main/ttf-hack/README b/main/ttf-hack/README new file mode 100644 index 00000000..a0ced9b7 --- /dev/null +++ b/main/ttf-hack/README @@ -0,0 +1,43 @@ +ttf-hack +________________________________________________________________________________ + +A hand groomed and optically balanced typeface based on Bitstream Vera Mono. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S ttf-hack | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://sourcefoundry.org/hack/ diff --git a/main/ttf-hack/version b/main/ttf-hack/version new file mode 100644 index 00000000..4e808314 --- /dev/null +++ b/main/ttf-hack/version @@ -0,0 +1 @@ +3.003 6 diff --git a/main/tzdata/.PKGINFO b/main/tzdata/.PKGINFO new file mode 100644 index 00000000..1615cada --- /dev/null +++ b/main/tzdata/.PKGINFO @@ -0,0 +1,15 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = tzdata +pkgbase = tzdata +xdata = pkgtype=pkg +pkgver = 2024a-2 +pkgdesc = Sources for time zone and daylight saving time data +url = https://www.iana.org/time-zones +builddate = 1715045741 +packager = Developer +size = 2096413 +arch = x86_64 +license = LicenseRef-tz +optdepend = bash: for tzselect +optdepend = glibc: for zdump, zic diff --git a/main/tzdata/.nvchecker.toml b/main/tzdata/.nvchecker.toml new file mode 100644 index 00000000..3c0b85e2 --- /dev/null +++ b/main/tzdata/.nvchecker.toml @@ -0,0 +1,4 @@ +[tzdata] +source = "github" +github = "eggert/tz" +use_max_tag = true diff --git a/main/tzdata/PKGBUILD b/main/tzdata/PKGBUILD new file mode 100644 index 00000000..e2c5c09b --- /dev/null +++ b/main/tzdata/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=tzdata +pkgver=%version% +_tzcode=2024a +_tzdata=2024a +pkgrel=%release% +pkgdesc="Sources for time zone and daylight saving time data" +arch=('x86_64') +url="https://www.iana.org/time-zones" +license=('LicenseRef-tz') +optdepends=('bash: for tzselect' + 'glibc: for zdump, zic') +options=('!emptydirs') +source=(https://www.iana.org/time-zones/repository/releases/tzcode${_tzcode}.tar.gz{,.asc} + https://www.iana.org/time-zones/repository/releases/${pkgname}${_tzdata}.tar.gz{,.asc}) +sha512sums=('46da8bfa762c7d109db93e5c060789097fc0e1e38bdad5bb8fec886ef47f138bd03b913a743cd5f7e23dc359a72bfd63e7ffc0de199d2b51e6a174361dbdc43c' + 'SKIP' + '1f09f1b2327cc9e1afc7e9045e83ee3377918dafe1bee2f282b6991828d03b3c70a4d3a17f9207dfb1361bb25bc214a8922a756e84fa114e9ba476226db57236' + 'SKIP') +validpgpkeys=('7E3792A9D8ACF7D633BC1588ED97E90E62AA7E34') # Paul Eggert + +_timezones=('africa' 'antarctica' 'asia' 'australasia' + 'europe' 'northamerica' 'southamerica' + 'etcetera' 'backward' 'factory') + +prepare() { + sed -i "s:sbin:bin:g" Makefile +} + +build() { + make LFLAGS="${LDFLAGS} ${LTOFLAGS}" +} + +package() { + cd "${srcdir}" + # install tzcode stuff + make DESTDIR="${pkgdir}" install + + # install tzdata stuff + ./zic -b fat -d "${pkgdir}"/usr/share/zoneinfo ${_timezones[@]} + ./zic -b fat -d "${pkgdir}"/usr/share/zoneinfo/posix ${_timezones[@]} + ./zic -b fat -d "${pkgdir}"/usr/share/zoneinfo/right -L leapseconds ${_timezones[@]} + # This creates the posixrules file. We use New York because POSIX requires the daylight savings time rules to be in accordance with US rules. + ./zic -b fat -d "${pkgdir}"/usr/share/zoneinfo -p America/New_York + install -m644 -t "${pkgdir}"/usr/share/zoneinfo iso3166.tab leap-seconds.list zone1970.tab zone.tab SECURITY # zone.tab is depricated and will go soon + + # cleanup + rm "${pkgdir}/etc/localtime" + + # install license + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/tzdata/README b/main/tzdata/README new file mode 100644 index 00000000..86e2f8b1 --- /dev/null +++ b/main/tzdata/README @@ -0,0 +1,43 @@ +tzdata +________________________________________________________________________________ + +Sources for time zone and daylight saving time data + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S tzdata | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.iana.org/time-zones diff --git a/main/tzdata/version b/main/tzdata/version new file mode 100644 index 00000000..2191dff6 --- /dev/null +++ b/main/tzdata/version @@ -0,0 +1 @@ +2024a 2 diff --git a/main/udftools/PKGBUILD b/main/udftools/PKGBUILD new file mode 100644 index 00000000..9e25cbe7 --- /dev/null +++ b/main/udftools/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=udftools +pkgver=%version% +pkgrel=%release% +pkgdesc='Linux tools for UDF filesystems and DVD/CD-R(W) drives' +url='https://github.com/pali/udftools' +arch=('x86_64') +license=('GPL') +depends=('ncurses' 'readline') +makedepends=('systemd') +source=("https://github.com/pali/$pkgname/releases/download/$pkgver/$pkgname-${pkgver}.tar.gz") +sha256sums=('750dcf5c797765eb42265e0a56d1a99f97f94b7f6f4534263a5410503f0caf59') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i 's|/lib/|$(libdir)/|' pktsetup/Makefile.am + autoreconf -fi +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --sbindir=/usr/bin + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install +} + diff --git a/main/udftools/README b/main/udftools/README new file mode 100644 index 00000000..a6121af1 --- /dev/null +++ b/main/udftools/README @@ -0,0 +1,43 @@ +udftools +________________________________________________________________________________ + +Linux tools for UDF filesystems and DVD/CD-R(W) drives + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S udftools | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/pali/udftools diff --git a/main/udftools/version b/main/udftools/version new file mode 100644 index 00000000..31af617f --- /dev/null +++ b/main/udftools/version @@ -0,0 +1 @@ +2.3 2 diff --git a/main/udisks2/.nvchecker.toml b/main/udisks2/.nvchecker.toml new file mode 100644 index 00000000..b162c4a0 --- /dev/null +++ b/main/udisks2/.nvchecker.toml @@ -0,0 +1,4 @@ +[udisks2] +source = "git" +git = "https://github.com/storaged-project/udisks" +prefix = "udisks-" diff --git a/main/udisks2/PKGBUILD b/main/udisks2/PKGBUILD new file mode 100644 index 00000000..43f2b13a --- /dev/null +++ b/main/udisks2/PKGBUILD @@ -0,0 +1,172 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=udisks2 +pkgname=(udisks2 udisks2-{btrfs,lvm2}) +pkgver=%version% +pkgrel=%release% +pkgdesc="Daemon, tools and libraries to access and manipulate disks, storage devices and technologies" +arch=('x86_64') +url="https://www.freedesktop.org/wiki/Software/udisks/" +license=( + GPL-2.0-or-later + LGPL-2.0-or-later +) +makedepends=( + 'acl' + 'gcc-libs' + 'glib2' + 'glibc' + 'gobject-introspection' + 'gtk-doc' + 'libatasmart' + 'libblockdev' + 'libblockdev-btrfs' + 'libblockdev-crypto' + 'libblockdev-fs' + 'libblockdev-mdraid' + 'libblockdev-loop' + 'libblockdev-lvm' + 'libblockdev-nvme' + 'libblockdev-part' + 'libblockdev-swap' + 'libgudev' + 'lvm2' + 'polkit' + 'systemd-libs' + 'util-linux-libs' +) +source=("https://github.com/storaged-project/udisks/releases/download/udisks-$pkgver/udisks-$pkgver.tar.bz2") +sha512sums=('9cdaeca4306a970c85f88d406dbe5d2dad23d72f47d9ab1c021b8c2888d4c790f680eb94388d86f9255024283b4a36e98b8aee4408d193a7d4aad1e74463356a') +b2sums=('41282e4dbbd93e6bda2a10a6ff2f2fb82bfc83b3ccbed9450cca7888c634cde9300fcd0b7d055e0d8e4c8fc0b431a75d5612a24132ea9b2677d194529732178d') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +build() { + local configure_options=( + --disable-static + --enable-btrfs + --enable-gtk-doc + # --enable-iscsi # relies on heavily patched open-iscsi only packaged by Fedora: https://github.com/storaged-project/udisks/issues/388 + --enable-lvm2 + --libexecdir=/usr/lib + --localstatedir=/var + --prefix=/usr + --sbindir=/usr/bin + --sysconfdir=/etc + --with-systemdsystemunitdir=/usr/lib/systemd/system + ) + + cd udisks-$pkgver + ./configure "${configure_options[@]}" + # prevent libtool from overlinking everything + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd udisks-$pkgver + make check +} + +package_udisks2() { + depends=( + acl libacl.so + dbus # a running dbus is required for default operation + gcc-libs + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + glibc + libatasmart + libblockdev libbd_utils.so libblockdev.so + libblockdev-crypto # dynamically loaded by libblockdev.so, required for default operation + libblockdev-fs # dynamically loaded by libblockdev.so, required for default operation + libblockdev-mdraid # dynamically loaded by libblockdev.so, required for default operation + libblockdev-loop # dynamically loaded by libblockdev.so, required for default operation + libblockdev-nvme # dynamically loaded by libblockdev.so, required for default operation + libblockdev-part # dynamically loaded by libblockdev.so, required for default operation + libblockdev-swap # dynamically loaded by libblockdev.so, required for default operation + libgudev libgudev-1.0.so + polkit libpolkit-agent-1.so libpolkit-gobject-1.so + systemd-libs libsystemd.so + util-linux-libs libblkid.so libmount.so libuuid.so + ) + optdepends=( + 'udisks2-btrfs: for BTRFS module' + 'udisks2-lvm2: for LVM2 module' + 'btrfs-progs: for BTRFS support in libblockdev-fs' + 'dosfstools: for FAT support in libblockdev-fs' + 'exfatprogs: for exFAT support in libblockdev-fs' + 'e2fsprogs: for Ext2/3/4 support in libblockdev-fs' + 'f2fs-tools: for F2FS support in libblockdev-fs' + 'nilfs-utils: for NILFS support in libblockdev-fs' + 'udftools: for UDF support in libblockdev-fs' + 'xfsprogs: for XFS support in libblockdev-fs' + ) + provides=(libudisks2.so) + backup=('etc/udisks2/udisks2.conf') + + cd udisks-$pkgver + make DESTDIR="$pkgdir" install + + # interface declaration + install -vDm 644 data/org.freedesktop.UDisks2.xml -t "$pkgdir/usr/share/dbus-1/interfaces/" + + cd "$pkgdir" + _pick $pkgbase-btrfs usr/lib/$pkgbase/modules/lib${pkgbase}_btrfs.so + _pick $pkgbase-btrfs usr/lib/pkgconfig/$pkgbase-btrfs.pc + _pick $pkgbase-btrfs usr/share/polkit-1/actions/org.freedesktop.UDisks2.btrfs.policy + + _pick $pkgbase-lvm2 usr/lib/$pkgbase/modules/lib${pkgbase}_lvm2.so + _pick $pkgbase-lvm2 usr/lib/pkgconfig/$pkgbase-lvm2.pc + _pick $pkgbase-lvm2 usr/share/polkit-1/actions/org.freedesktop.UDisks2.lvm2.policy +} + +package_udisks2-btrfs() { + pkgdesc+=" - BTRFS module" + depends=( + acl libacl.so + btrfs-progs + gcc-libs + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + glibc + libatasmart + libblockdev libbd_utils.so libblockdev.so + libblockdev-btrfs # dynamically loaded by libblockdev.so + libgudev libgudev-1.0.so + polkit libpolkit-gobject-1.so + systemd-libs libsystemd.so + udisks2 libudisks2.so + util-linux-libs libblkid.so libmount.so libuuid.so + ) + + mv -v $pkgname/* "$pkgdir/" +} + +package_udisks2-lvm2() { + pkgdesc+=" - LVM2 module" + depends=( + acl libacl.so + gcc-libs + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + glibc + libatasmart + libblockdev libbd_utils.so libblockdev.so + libblockdev-lvm # dynamically loaded by libblockdev.so + libgudev libgudev-1.0.so + lvm2 + polkit libpolkit-gobject-1.so + systemd-libs libsystemd.so + udisks2 libudisks2.so + util-linux-libs libblkid.so libmount.so libuuid.so + ) + + mv -v $pkgname/* "$pkgdir/" +} diff --git a/main/udisks2/README b/main/udisks2/README new file mode 100644 index 00000000..5fccf446 --- /dev/null +++ b/main/udisks2/README @@ -0,0 +1,43 @@ +udisks2 +________________________________________________________________________________ + +Daemon, tools and libraries to access and manipulate disks, storage devices and technologies Daemon, tools and libraries to access and manipulate disks, storage devices and technologies - BTRFS module Daemon, tools and libraries to access and manipulate disks, storage devices and technologies - LVM2 module + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S udisks2 | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.freedesktop.org/wiki/Software/udisks/ diff --git a/main/udisks2/version b/main/udisks2/version new file mode 100644 index 00000000..f495b956 --- /dev/null +++ b/main/udisks2/version @@ -0,0 +1 @@ +2.10.1 4 diff --git a/main/upower/.PKGINFO b/main/upower/.PKGINFO new file mode 100644 index 00000000..cdab0b74 --- /dev/null +++ b/main/upower/.PKGINFO @@ -0,0 +1,38 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = upower +pkgbase = upower +xdata = pkgtype=pkg +pkgver = 1.90.4-1 +pkgdesc = Abstraction for enumerating power devices, listening to device events and querying history and statistics +url = https://upower.freedesktop.org +builddate = 1712627321 +packager = Developer +size = 780778 +arch = x86_64 +license = GPL-2.0-or-later +provides = libupower-glib.so=3-64 +backup = etc/UPower/UPower.conf +depend = gcc-libs +depend = glib2 +depend = glibc +depend = libgudev +depend = libimobiledevice +depend = libplist +depend = libglib-2.0.so=0-64 +depend = libgobject-2.0.so=0-64 +depend = libgio-2.0.so=0-64 +optdepend = usbmuxd: Read charge status of iOS devices +makedepend = docbook-xsl +makedepend = git +makedepend = gobject-introspection +makedepend = gtk-doc +makedepend = meson +makedepend = python +makedepend = systemd +makedepend = usbmuxd +checkdepend = python-dbus +checkdepend = python-dbusmock +checkdepend = python-gobject +checkdepend = python-packaging +checkdepend = umockdev diff --git a/main/upower/PKGBUILD b/main/upower/PKGBUILD new file mode 100644 index 00000000..ef30da99 --- /dev/null +++ b/main/upower/PKGBUILD @@ -0,0 +1,65 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=upower +pkgver=%version% +pkgrel=%release% +pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics" +url="https://upower.freedesktop.org" +arch=(x86_64) +license=(GPL) +depends=( + libgudev + libimobiledevice + systemd + usbmuxd +) +makedepends=( + docbook-xsl + git + gobject-introspection + gtk-doc + meson + python +) +checkdepends=( + python-dbus + python-dbusmock + python-gobject + python-packaging + umockdev +) +backup=(etc/UPower/UPower.conf) +_commit=8dcf54440d7eb58b75d7982bc1c29ee35dccf0c2 # tags/v1.90.2^0 +source=("git+https://gitlab.freedesktop.org/upower/upower.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd upower + git describe --tags | sed -e 's/^v\|^UPOWER_//;s/_/\./g;s/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd upower +} + +build() { + arch-meson upower build + meson compile -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + depends+=(libg{lib,object,io}-2.0.so) + provides+=(libupower-glib.so) + + meson install -C build --destdir "$pkgdir" + + # Remove installed-tests + rm -rv "$pkgdir"/usr/{lib/upower,share/installed-tests} +} + +# vim:set sw=2 sts=-1 et: diff --git a/main/upower/README b/main/upower/README new file mode 100644 index 00000000..a6dcf0d0 --- /dev/null +++ b/main/upower/README @@ -0,0 +1,43 @@ +upower +________________________________________________________________________________ + +Abstraction for enumerating power devices, listening to device events and querying history and statistics + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S upower | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://upower.freedesktop.org diff --git a/main/upower/version b/main/upower/version new file mode 100644 index 00000000..dbb8c29a --- /dev/null +++ b/main/upower/version @@ -0,0 +1 @@ +1.90.2 1 diff --git a/main/uriparser/.PKGINFO b/main/uriparser/.PKGINFO new file mode 100644 index 00000000..c03571d0 --- /dev/null +++ b/main/uriparser/.PKGINFO @@ -0,0 +1,14 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = uriparser +pkgbase = uriparser +xdata = pkgtype=pkg +pkgver = 0.9.8-1 +pkgdesc = uriparser is a strictly RFC 3986 compliant URI parsing library. uriparser is cross-platform, fast, supports Unicode +url = https://github.com/uriparser/uriparser +builddate = 1715214768 +packager = Developer +size = 204527 +arch = x86_64 +license = custom +makedepend = cmake diff --git a/main/uriparser/PKGBUILD b/main/uriparser/PKGBUILD new file mode 100644 index 00000000..63051f27 --- /dev/null +++ b/main/uriparser/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=uriparser +pkgver=%version% +pkgrel=%release% +pkgdesc='uriparser is a strictly RFC 3986 compliant URI parsing library. uriparser is cross-platform, fast, supports Unicode' +url='https://github.com/uriparser/uriparser' +makedepends=('cmake') +arch=('x86_64') +license=('custom') +source=("https://github.com/uriparser/uriparser/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.xz") +sha256sums=('1ddae35cb3cc2c36e8199829d46f1c7f8b222e74a723fdae67ec8561e1ac5a39') + +build() { + mkdir "$srcdir"/build + cd "$srcdir"/build + + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DURIPARSER_BUILD_DOCS=OFF \ + -DURIPARSER_BUILD_TESTS=OFF \ + "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/build + + make DESTDIR="$pkgdir" install + install -D -m0644 "$srcdir"/$pkgname-$pkgver/COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/main/uriparser/README b/main/uriparser/README new file mode 100644 index 00000000..a79c5278 --- /dev/null +++ b/main/uriparser/README @@ -0,0 +1,43 @@ +uriparser +________________________________________________________________________________ + +uriparser is a strictly RFC 3986 compliant URI parsing library. uriparser is cross-platform, fast, supports Unicode + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S uriparser | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/uriparser/uriparser diff --git a/main/uriparser/version b/main/uriparser/version new file mode 100644 index 00000000..071d54e8 --- /dev/null +++ b/main/uriparser/version @@ -0,0 +1 @@ +0.9.8 1 diff --git a/main/usb_modeswitch/PKGBUILD b/main/usb_modeswitch/PKGBUILD new file mode 100644 index 00000000..65e1b79c --- /dev/null +++ b/main/usb_modeswitch/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=usb_modeswitch +pkgver=%version% +pkgrel=%release% +_pkgdata=20191128 +pkgdesc="Activating switchable USB devices on Linux." +arch=('x86_64') +url="http://www.draisberghof.de/usb_modeswitch/" +license=('GPL') +depends=('libusb' 'tcl') +makedepends=('gcc' 'make' 'systemd') +backup=("etc/$pkgname.conf") +source=("http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-${pkgver}.tar.bz2" + "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${_pkgdata}.tar.bz2" + "usb-modeswitch-${pkgver}-device_reference.txt::http://www.draisberghof.de/usb_modeswitch/device_reference.txt") +sha256sums=('5195d9e136e52f658f19e9f93e4f982b1b67bffac197d0a455cd8c2cd245fa34' + '3f039b60791c21c7cb15c7986cac89650f076dc274798fa242231b910785eaf9' + '846b45a82a31c9755ab86d9c051e706aff445e1e793575b7ae195a4edeb4d594') + +prepare() { + cd "$srcdir"/usb-modeswitch-$pkgver/ + sed -i 's|/usr/sbin/usb_mode|/usr/bin/usb_mode|g' usb_modeswitch{.conf,_dispatcher.tcl,.sh} +} + +build() { + cd "$srcdir"/usb-modeswitch-$pkgver/ + make clean + make SBINDIR=/usr/bin +} + +package() { + cd "$srcdir"/usb-modeswitch-$pkgver/ + + mkdir -p "$pkgdir"/usr/lib/udev + mkdir -p "$pkgdir"/etc + mkdir -p "$pkgdir"/usr/share/man/man1 + mkdir -p "$pkgdir"/usr/lib/systemd/system + + make \ + DESTDIR="$pkgdir" \ + UDEVDIR="$pkgdir"/usr/lib/udev \ + SBINDIR="$pkgdir"/usr/bin \ + SYSDIR="$pkgdir"/usr/lib/systemd/system \ + install + + cp "$srcdir"/usb-modeswitch-${pkgver}-device_reference.txt "$pkgdir"/etc/usb_modeswitch.setup + + cd "$srcdir"/usb-modeswitch-data-${_pkgdata} + make DESTDIR="$pkgdir" install RULESDIR="$pkgdir"/usr/lib/udev/rules.d +} diff --git a/main/usb_modeswitch/README b/main/usb_modeswitch/README new file mode 100644 index 00000000..8a349730 --- /dev/null +++ b/main/usb_modeswitch/README @@ -0,0 +1,43 @@ +usb_modeswitch +________________________________________________________________________________ + +Activating switchable USB devices on Linux. + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S usb_modeswitch | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.draisberghof.de/usb_modeswitch/ diff --git a/main/usb_modeswitch/version b/main/usb_modeswitch/version new file mode 100644 index 00000000..4d1410e4 --- /dev/null +++ b/main/usb_modeswitch/version @@ -0,0 +1 @@ +2.6.1 3 diff --git a/main/usbmuxd/PKGBUILD b/main/usbmuxd/PKGBUILD new file mode 100644 index 00000000..6b73c587 --- /dev/null +++ b/main/usbmuxd/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=usbmuxd +pkgver=%version% +pkgrel=%release% +pkgdesc="USB Multiplex Daemon" +url="https://marcansoft.com/blog/iphonelinux/usbmuxd/" +arch=('x86_64') +license=('GPL2' 'GPL3') +depends=('libimobiledevice' 'libusb' 'libplist') +makedepends=('git' 'systemd') +_commit=79c8b38d1488a6b07e1e68f39d8caec3f1a45622 # tags/1.1.1 +source=( + "git+https://github.com/libimobiledevice/usbmuxd#commit=$_commit" + usbmuxd.sysusers + libplist-2.3.0.diff +) +b2sums=('SKIP' + '67a843cd95e750555d1c43c4d01cc90e325ae1b69a5b24bb0e72480b903064f81baeaaa9e1dd95758b456b1444ed869b099be903d6533bb7f5dfe88a87ca1d4e' + '483559477f83f59933d95a8279b21abf92a9d5ad6fe29802ff8966b4a94a79ac80d11f7fc0648846a189484b9f3a7ffa3bd8337940aa255a13ae78b61bb556f4') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgname + + # Compatibility with libplist 2.3.0 + git apply -3 ../libplist-2.3.0.diff + + NOCONFIGURE=1 ./autogen.sh +} + +check() { + cd $pkgname + make check +} + +build() { + cd $pkgname + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin + make +} + +package() { + cd $pkgname + make DESTDIR="${pkgdir}" install + + install -Dm644 "$srcdir"/usbmuxd.sysusers "$pkgdir"/usr/lib/sysusers.d/usbmuxd.conf +} diff --git a/main/usbmuxd/README b/main/usbmuxd/README new file mode 100644 index 00000000..5136476a --- /dev/null +++ b/main/usbmuxd/README @@ -0,0 +1,43 @@ +usbmuxd +________________________________________________________________________________ + +USB Multiplex Daemon + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S usbmuxd | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://marcansoft.com/blog/iphonelinux/usbmuxd/ diff --git a/main/usbmuxd/libplist-2.3.0.diff b/main/usbmuxd/libplist-2.3.0.diff new file mode 100644 index 00000000..30ee4bf5 --- /dev/null +++ b/main/usbmuxd/libplist-2.3.0.diff @@ -0,0 +1,32 @@ +diff --git i/src/utils.c w/src/utils.c +index 206c684..a91faea 100644 +--- i/src/utils.c ++++ w/src/utils.c +@@ -302,7 +302,7 @@ int plist_read_from_filename(plist_t *plist, const char *filename) + return 1; + } + +-int plist_write_to_filename(plist_t plist, const char *filename, enum plist_format_t format) ++int plist_write_to_filename(plist_t plist, const char *filename, plist_format_t format) + { + char *buffer = NULL; + uint32_t length; +diff --git i/src/utils.h w/src/utils.h +index b5cab3f..3e9eb41 100644 +--- i/src/utils.h ++++ w/src/utils.h +@@ -78,13 +78,8 @@ char *string_concat(const char *str, ...); + int buffer_read_from_filename(const char *filename, char **buffer, uint64_t *length); + int buffer_write_to_filename(const char *filename, const char *buffer, uint64_t length); + +-enum plist_format_t { +- PLIST_FORMAT_XML, +- PLIST_FORMAT_BINARY +-}; +- + int plist_read_from_filename(plist_t *plist, const char *filename); +-int plist_write_to_filename(plist_t plist, const char *filename, enum plist_format_t format); ++int plist_write_to_filename(plist_t plist, const char *filename, plist_format_t format); + + uint64_t mstime64(void); + void get_tick_count(struct timeval * tv); diff --git a/main/usbmuxd/usbmuxd.sysusers b/main/usbmuxd/usbmuxd.sysusers new file mode 100644 index 00000000..ce0aeaef --- /dev/null +++ b/main/usbmuxd/usbmuxd.sysusers @@ -0,0 +1 @@ +u usbmux 140 "usbmux user" diff --git a/main/usbmuxd/version b/main/usbmuxd/version new file mode 100644 index 00000000..d59e1706 --- /dev/null +++ b/main/usbmuxd/version @@ -0,0 +1 @@ +1.1.1 3 diff --git a/main/usbutils/PKGBUILD b/main/usbutils/PKGBUILD new file mode 100644 index 00000000..9e1d14bc --- /dev/null +++ b/main/usbutils/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=usbutils +pkgver=%version% +pkgrel=%release% +pkgdesc="A collection of USB tools to query connected USB devices" +arch=(x86_64) +url="https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/" +license=( + GPL-2.0-only + GPL-2.0-or-later + GPL-3.0-only +) +depends=( + glibc + hwdata +) +makedepends=( + libusb + systemd +) +optdepends=( + 'coreutils: for lsusb.py usage' + 'python: for lsusb.py usage' + 'sh: for usb-devices' +) +source=(https://www.kernel.org/pub/linux/utils/usb/usbutils/$pkgname-$pkgver.tar{.xz,.sign}) +sha512sums=('eaebbc82eee4d940898f7a8de95ca49846c7c964e65c3d866b38735f8f3c8ccfed2b3a536bf2ef39a835a40a34c2273ac4d82b1012d0c693d4863cff14870d95' + 'SKIP') +b2sums=('868c646ed6d38a38b9bd3ab85ba3a5e9362a97e476aeed6576c1b175caaf4ee688cb2c33756f02c9bf0aef9e7d58657331fc1c3b3314d86145b3d4f37124537e' + 'SKIP') +validpgpkeys=('647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --datadir=/usr/share/hwdata + make +} + +package() { + depends+=( + libusb libusb-1.0.so + systemd-libs libudev.so + ) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -vDm 755 usbreset -t "$pkgdir/usr/bin" + install -vDm 644 NEWS -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/main/usbutils/README b/main/usbutils/README new file mode 100644 index 00000000..77bbb909 --- /dev/null +++ b/main/usbutils/README @@ -0,0 +1,43 @@ +usbutils +________________________________________________________________________________ + +A collection of USB tools to query connected USB devices + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S usbutils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/ diff --git a/main/usbutils/version b/main/usbutils/version new file mode 100644 index 00000000..fbf86026 --- /dev/null +++ b/main/usbutils/version @@ -0,0 +1 @@ +017 1 diff --git a/main/util-linux/.PKGINFO b/main/util-linux/.PKGINFO new file mode 100644 index 00000000..ded88d44 --- /dev/null +++ b/main/util-linux/.PKGINFO @@ -0,0 +1,41 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = util-linux-libs +pkgbase = util-linux +xdata = pkgtype=split +pkgver = 2.40.1-1 +pkgdesc = util-linux runtime libraries +url = https://github.com/util-linux/util-linux +builddate = 1715214775 +packager = Developer +size = 1333233 +arch = x86_64 +license = BSD-2-Clause +license = BSD-3-Clause +license = BSD-4-Clause-UC +license = GPL-2.0-only +license = GPL-2.0-or-later +license = GPL-3.0-or-later +license = ISC +license = LGPL-2.1-or-later +license = LicenseRef-PublicDomain +replaces = libutil-linux +conflict = libutil-linux +provides = libutil-linux +provides = libblkid.so=1-64 +provides = libfdisk.so=1-64 +provides = libmount.so=1-64 +provides = libsmartcols.so=1-64 +provides = libuuid.so=1-64 +depend = glibc +depend = sqlite +optdepend = python: python bindings to libmount +makedepend = asciidoctor +makedepend = bash-completion +makedepend = git +makedepend = libcap-ng +makedepend = libxcrypt +makedepend = meson +makedepend = python +makedepend = sqlite +makedepend = systemd diff --git a/main/util-linux/60-rfkill.rules b/main/util-linux/60-rfkill.rules new file mode 100644 index 00000000..bc98a3be --- /dev/null +++ b/main/util-linux/60-rfkill.rules @@ -0,0 +1 @@ +KERNEL=="rfkill", GROUP="rfkill", MODE="0664" diff --git a/main/util-linux/PKGBUILD b/main/util-linux/PKGBUILD new file mode 100644 index 00000000..da31984a --- /dev/null +++ b/main/util-linux/PKGBUILD @@ -0,0 +1,192 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgbase=util-linux +pkgname=(util-linux util-linux-libs) +_tag='2.40' +pkgver=%version% +pkgrel=%release% +pkgdesc='Miscellaneous system utilities for Linux' +url='https://github.com/util-linux/util-linux' +arch=('x86_64') +makedepends=('asciidoctor' + 'bash-completion' + 'git' + 'libcap-ng' + 'libxcrypt' + 'meson' + 'python' + 'sqlite' + 'systemd') +license=( + 'BSD-2-Clause' + 'BSD-3-Clause' + 'BSD-4-Clause-UC' + 'GPL-2.0-only' + 'GPL-2.0-or-later' + 'GPL-3.0-or-later' + 'ISC' + 'LGPL-2.1-or-later' + 'LicenseRef-PublicDomain' +) +options=('strip') +validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak +source=("git+https://github.com/util-linux/util-linux#tag=v${_tag}?signed" + $pkgbase-BSD-2-Clause.txt::https://raw.githubusercontent.com/Cyan4973/xxHash/f035303b8a86c1db9be70cbb638678ef6ef4cb2d/LICENSE + pam-{login,common,remote,runuser,su} + 'util-linux.sysusers' + '60-rfkill.rules' + 'rfkill-unblock_.service' + 'rfkill-block_.service') +sha256sums=('153ae22d30a04e8c3ef1edbac63081f21b2d7622467dd7bf324f7f45e45b343d' + '6ffedbc0f7878612d2b23589f1ff2ab15633e1df7963a5d9fc750ec5500c7e7a' + 'ee917d55042f78b8bb03f5467e5233e3e2ddc2fe01e302bc53b218003fe22275' + '57e057758944f4557762c6def939410c04ca5803cbdd2bfa2153ce47ffe7a4af' + '8bfbee453618ba44d60ba7fb00eced6c62edebfc592f2e75dede08e769ed8931' + '48d6fba767631e3dd3620cf02a71a74c5d65a525d4c4ce4b5a0b7d9f41ebfea1' + '3f54249ac2db44945d6d12ec728dcd0d69af0735787a8b078eacd2c67e38155b' + '10b0505351263a099163c0d928132706e501dd0a008dac2835b052167b14abe3' + '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37' + '8ccec10a22523f6b9d55e0d6cbf91905a39881446710aa083e935e8073323376' + 'a22e0a037e702170c7d88460cc9c9c2ab1d3e5c54a6985cd4a164ea7beff1b36') + +_backports=( +) + +_reverts=( +) + +prepare() { + cd "${pkgbase}" + + local _c _l + for _c in "${_backports[@]}"; do + if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi + git log --oneline "${_l}" "${_c}" + git cherry-pick --mainline 1 --no-commit "${_c}" + done + for _c in "${_reverts[@]}"; do + if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi + git log --oneline "${_l}" "${_c}" + git revert --mainline 1 --no-commit "${_c}" + done + + # do not mark dirty + sed -i '/dirty=/c dirty=' tools/git-version-gen +} + +build() { + local _meson_options=( + -Dfs-search-path=/usr/bin:/usr/local/bin + + -Dlibuser=disabled + -Dlibutempter=disabled + -Dncurses=disabled + -Dncursesw=enabled + -Deconf=disabled + + -Dbuild-chfn-chsh=enabled + -Dbuild-line=disabled + -Dbuild-mesg=enabled + -Dbuild-newgrp=enabled + -Dbuild-vipw=enabled + -Dbuild-write=enabled + ) + + arch-meson "${pkgbase}" build "${_meson_options[@]}" + + meson compile -C build +} + +package_util-linux() { + conflicts=('rfkill' 'hardlink') + provides=('rfkill' 'hardlink') + replaces=('rfkill' 'hardlink') + depends=('coreutils' + 'file' 'libmagic.so' + 'glibc' + 'libcap-ng' + 'libxcrypt' 'libcrypt.so' + 'ncurses' 'libncursesw.so' + 'pam' + 'readline' + 'shadow' + 'systemd-libs' 'libsystemd.so' 'libudev.so' + 'util-linux-libs' + 'zlib') + optdepends=('words: default dictionary for look') + backup=(etc/pam.d/chfn + etc/pam.d/chsh + etc/pam.d/login + etc/pam.d/remote + etc/pam.d/runuser + etc/pam.d/runuser-l + etc/pam.d/su + etc/pam.d/su-l) + + _python_stdlib="$(python -c 'import sysconfig; print(sysconfig.get_paths()["stdlib"])')" + + DESTDIR="${pkgdir}" meson install -C build + + # remove static libraries + rm "${pkgdir}"/usr/lib/lib*.a* + + # setuid chfn and chsh + chmod 4755 "${pkgdir}"/usr/bin/{newgrp,ch{sh,fn}} + + # install PAM files for login-utils + install -Dm0644 pam-common "${pkgdir}/etc/pam.d/chfn" + install -m0644 pam-common "${pkgdir}/etc/pam.d/chsh" + install -m0644 pam-login "${pkgdir}/etc/pam.d/login" + install -m0644 pam-remote "${pkgdir}/etc/pam.d/remote" + install -m0644 pam-runuser "${pkgdir}/etc/pam.d/runuser" + install -m0644 pam-runuser "${pkgdir}/etc/pam.d/runuser-l" + install -m0644 pam-su "${pkgdir}/etc/pam.d/su" + install -m0644 pam-su "${pkgdir}/etc/pam.d/su-l" + + # TODO(dreisner): offer this upstream? + sed -i '/ListenStream/ aRuntimeDirectory=uuidd' "${pkgdir}/usr/lib/systemd/system/uuidd.socket" + + # runtime libs are shipped as part of util-linux-libs + install -d -m0755 util-linux-libs/lib/ + mv "$pkgdir"/usr/lib/lib*.so* util-linux-libs/lib/ + mv "$pkgdir"/usr/lib/pkgconfig util-linux-libs/lib/pkgconfig + mv "$pkgdir"/usr/include util-linux-libs/include + mv "$pkgdir"/"${_python_stdlib}"/site-packages util-linux-libs/site-packages + rmdir "$pkgdir"/"${_python_stdlib}" + mv "$pkgdir"/usr/share/man/man3 util-linux-libs/man3 + + # install systemd-sysusers + install -Dm0644 util-linux.sysusers \ + "${pkgdir}/usr/lib/sysusers.d/util-linux.conf" + + install -Dm0644 60-rfkill.rules \ + "${pkgdir}/usr/lib/udev/rules.d/60-rfkill.rules" + + install -Dm0644 rfkill-unblock_.service \ + "${pkgdir}/usr/lib/systemd/system/rfkill-unblock@.service" + install -Dm0644 rfkill-block_.service \ + "${pkgdir}/usr/lib/systemd/system/rfkill-block@.service" + + install -vDm 644 $pkgbase/Documentation/licenses/COPYING.{BSD*,ISC} -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgbase-BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_util-linux-libs() { + pkgdesc='util-linux runtime libraries' + depends=('glibc' + 'sqlite') + provides=('libutil-linux' 'libblkid.so' 'libfdisk.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so') + conflicts=('libutil-linux') + replaces=('libutil-linux') + optdepends=('python: python bindings to libmount') + + install -d -m0755 "$pkgdir"/{"${_python_stdlib}",usr/share/man/} + mv util-linux-libs/lib/* "$pkgdir"/usr/lib/ + mv util-linux-libs/include "$pkgdir"/usr/include + mv util-linux-libs/site-packages "$pkgdir"/"${_python_stdlib}"/site-packages + mv util-linux-libs/man3 "$pkgdir"/usr/share/man/man3 + + install -vDm 644 $pkgbase/Documentation/licenses/COPYING.{BSD*,ISC} -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $pkgbase-BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/main/util-linux/README b/main/util-linux/README new file mode 100644 index 00000000..aa02e6af --- /dev/null +++ b/main/util-linux/README @@ -0,0 +1,43 @@ +util-linux +________________________________________________________________________________ + +Miscellaneous system utilities for Linux util-linux runtime libraries + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S util-linux | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://github.com/util-linux/util-linux diff --git a/main/util-linux/pam-common b/main/util-linux/pam-common new file mode 100644 index 00000000..066186e3 --- /dev/null +++ b/main/util-linux/pam-common @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_permit.so diff --git a/main/util-linux/pam-login b/main/util-linux/pam-login new file mode 100644 index 00000000..28f6fc5d --- /dev/null +++ b/main/util-linux/pam-login @@ -0,0 +1,7 @@ +#%PAM-1.0 + +auth requisite pam_nologin.so +auth include system-local-login +account include system-local-login +session include system-local-login +password include system-local-login diff --git a/main/util-linux/pam-remote b/main/util-linux/pam-remote new file mode 100644 index 00000000..7fce079c --- /dev/null +++ b/main/util-linux/pam-remote @@ -0,0 +1,8 @@ +#%PAM-1.0 + +auth required pam_securetty.so +auth requisite pam_nologin.so +auth include system-remote-login +account include system-remote-login +session include system-remote-login +password include system-remote-login diff --git a/main/util-linux/pam-runuser b/main/util-linux/pam-runuser new file mode 100644 index 00000000..26b59d51 --- /dev/null +++ b/main/util-linux/pam-runuser @@ -0,0 +1,4 @@ +#%PAM-1.0 + +auth sufficient pam_rootok.so +session include system-login diff --git a/main/util-linux/pam-su b/main/util-linux/pam-su new file mode 100644 index 00000000..cb5aa848 --- /dev/null +++ b/main/util-linux/pam-su @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +# Uncomment the following line to implicitly trust users in the "wheel" group. +#auth sufficient pam_wheel.so trust use_uid +# Uncomment the following line to require a user to be in the "wheel" group. +#auth required pam_wheel.so use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password include system-auth diff --git a/main/util-linux/rfkill-block_.service b/main/util-linux/rfkill-block_.service new file mode 100644 index 00000000..ede74d12 --- /dev/null +++ b/main/util-linux/rfkill-block_.service @@ -0,0 +1,10 @@ +[Unit] +Description=RFKill-Block %I +After=rfkill-unblock@all.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/rfkill block %I + +[Install] +WantedBy=multi-user.target diff --git a/main/util-linux/rfkill-unblock_.service b/main/util-linux/rfkill-unblock_.service new file mode 100644 index 00000000..94ebf35a --- /dev/null +++ b/main/util-linux/rfkill-unblock_.service @@ -0,0 +1,10 @@ +[Unit] +Description=RFKill-Unblock %I +After=rfkill-block@all.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/rfkill unblock %I + +[Install] +WantedBy=multi-user.target diff --git a/main/util-linux/util-linux.sysusers b/main/util-linux/util-linux.sysusers new file mode 100644 index 00000000..de04d9f0 --- /dev/null +++ b/main/util-linux/util-linux.sysusers @@ -0,0 +1,2 @@ +u uuidd 68 +g rfkill - - - diff --git a/main/util-linux/version b/main/util-linux/version new file mode 100644 index 00000000..3fb476cf --- /dev/null +++ b/main/util-linux/version @@ -0,0 +1 @@ +2.40.1 1 diff --git a/main/v4l-utils/PKGBUILD b/main/v4l-utils/PKGBUILD new file mode 100644 index 00000000..8509b496 --- /dev/null +++ b/main/v4l-utils/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Developer +# Maintainer: Developer +pkgname=v4l-utils +pkgver=%version% +pkgrel=%release% +pkgdesc="Userspace tools and conversion library for Video 4 Linux" +arch=('x86_64') +url="https://linuxtv.org/" +provides=("libv4l=$pkgver") +replaces=('libv4l') +conflicts=('libv4l') +backup=(etc/rc_maps.cfg) +license=('LGPL') +depends=('hicolor-icon-theme' 'gcc-libs' 'libjpeg-turbo' 'systemd-libs' 'json-c') +makedepends=('qt5-base' 'alsa-lib' 'meson' 'clang' 'doxygen' 'libbpf') +optdepends=('qt5-base: for qv4l2 and qvidcap' 'alsa-lib: for qv4l2' 'libbpf: for ir-keytable') +source=(https://linuxtv.org/downloads/v4l-utils/${pkgname}-${pkgver}.tar.xz{,.asc}) +sha256sums=('4a71608c0ef7df2931176989e6d32b445c0bdc1030a2376d929c8ca6e550ec4e' + 'SKIP') +validpgpkeys=('05D0169C26E41593418129DF199A64FADFB500FF') # Gregor Jasny + +prepare() { + # HACK: inform upstream to make this configurable + cd "${pkgname}-${pkgver}" + sed -i 's/sbin/bin/' utils/v4l2-dbg/meson.build +} + +build() { + arch-meson -Dgconv=disabled "${pkgname}-${pkgver}" build + meson compile -C build +} + +package() { + meson install -C build --destdir "$pkgdir" +} diff --git a/main/v4l-utils/README b/main/v4l-utils/README new file mode 100644 index 00000000..dc496a4f --- /dev/null +++ b/main/v4l-utils/README @@ -0,0 +1,43 @@ +v4l-utils +________________________________________________________________________________ + +Userspace tools and conversion library for Video 4 Linux + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S v4l-utils | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://linuxtv.org/ diff --git a/main/v4l-utils/version b/main/v4l-utils/version new file mode 100644 index 00000000..f1f8d267 --- /dev/null +++ b/main/v4l-utils/version @@ -0,0 +1 @@ +1.26.1 1 diff --git a/main/vapoursynth/.PKGINFO b/main/vapoursynth/.PKGINFO new file mode 100644 index 00000000..d48f09c5 --- /dev/null +++ b/main/vapoursynth/.PKGINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = vapoursynth +pkgbase = vapoursynth +xdata = pkgtype=pkg +pkgver = R68-1 +pkgdesc = A video processing framework with the future in mind +url = http://www.vapoursynth.com/ +builddate = 1716337496 +packager = Developer +size = 3349346 +arch = x86_64 +license = LGPL2.1 +license = custom:OFL +depend = libzimg.so=2-64 +depend = python +makedepend = cython +makedepend = git +makedepend = python-sphinx diff --git a/main/vapoursynth/PKGBUILD b/main/vapoursynth/PKGBUILD new file mode 100644 index 00000000..79791232 --- /dev/null +++ b/main/vapoursynth/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=vapoursynth +pkgver=%version% +pkgrel=%release% +pkgdesc='A video processing framework with the future in mind' +arch=(x86_64) +url=http://www.vapoursynth.com/ +license=( + LGPL2.1 + custom:OFL +) +depends=( + libzimg.so + python +) +makedepends=( + cython + git + python-sphinx +) +_tag=fe6c67cdb17f41160c79434f0240077f74de9fd1 +source=( + git+https://github.com/vapoursynth/vapoursynth.git#tag=${_tag} + vapoursynth.xml +) +b2sums=('SKIP' + 'feae23a22f8589177f30c36bdf21bab93d55a786194d3e0e958537016630d075b82178f60ac840f30ae316a8f87d3fb01f371211f62d1fee9850ee5063561747') + +pkgver() { + cd vapoursynth + git describe --tags +} + +prepare() { + cd vapoursynth + ./autogen.sh +} + +build() { + cd vapoursynth + ./configure \ + --prefix=/usr \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd vapoursynth + + make DESTDIR="${pkgdir}" install + + install -Dm 644 src/core/ter-116n.ofl.txt -t "${pkgdir}"/usr/share/licenses/vapoursynth/ + install -Dm 644 ../vapoursynth.xml -t "${pkgdir}"/usr/share/mime/packages/ +} + +# vim: ts=2 sw=2 et: diff --git a/main/vapoursynth/README b/main/vapoursynth/README new file mode 100644 index 00000000..d54caecf --- /dev/null +++ b/main/vapoursynth/README @@ -0,0 +1,43 @@ +vapoursynth +________________________________________________________________________________ + +A video processing framework with the future in mind + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S vapoursynth | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://www.vapoursynth.com/ diff --git a/main/vapoursynth/vapoursynth.xml b/main/vapoursynth/vapoursynth.xml new file mode 100755 index 00000000..358f37a7 --- /dev/null +++ b/main/vapoursynth/vapoursynth.xml @@ -0,0 +1,8 @@ + + + + + VapourSynth script + + + diff --git a/main/vapoursynth/version b/main/vapoursynth/version new file mode 100644 index 00000000..d317d5f4 --- /dev/null +++ b/main/vapoursynth/version @@ -0,0 +1 @@ +R68 1 diff --git a/main/verdict/PKGBUILD b/main/verdict/PKGBUILD new file mode 100644 index 00000000..bac74afc --- /dev/null +++ b/main/verdict/PKGBUILD @@ -0,0 +1,25 @@ +# Packager = Developer +pkgname=verdict +pkgver=1.4.2 +pkgrel=1 +pkgdesc='Compute quality functions of 2 and 3-dimensional regions' +arch=(x86_64) +url='https://github.com/sandialabs/verdict' +license=(BSD) +makedepends=(cmake) +depends=(glibc) +source=(https://github.com/sandialabs/verdict/archive/$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('225c8c5318f4b02e7215cefa61b5dc3f99e05147ad3fefe6ee5a3ee5b828964b') + +build() { + cmake -B build -S $pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DVERDICT_ENABLE_TESTING=OFF \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +} + +package () { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 $pkgname-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/main/verdict/version b/main/verdict/version new file mode 100644 index 00000000..4ff136af --- /dev/null +++ b/main/verdict/version @@ -0,0 +1 @@ +1.4.2 1 diff --git a/main/vid.stab/PKGBUILD b/main/vid.stab/PKGBUILD new file mode 100644 index 00000000..80363e6b --- /dev/null +++ b/main/vid.stab/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Developer +# Maintainer: Developer + +pkgname=vid.stab +pkgver=%version% +pkgrel=%release% +pkgdesc='Video stabilization library' +arch=(x86_64) +url=http://public.hronopik.de/vid.stab +license=(GPL) +depends=( + gcc-libs + glibc +) +makedepends=( + cmake + git + ninja +) +provides=(libvidstab.so) +_tag=90c76aca2cb06c3ff6f7476a7cd6851b39436656 +source=(git+https://github.com/georgmartius/vid.stab.git#tag=${_tag}) +b2sums=(SKIP) + +pkgver() { + cd vid.stab + git describe --tags | sed 's/^v//' +} + +build() { + cmake -S vid.stab -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr + cmake --build build +} + +package() { + DESTDIR="${pkgdir}" cmake --install build +} + +# vim: ts=2 sw=2 et: diff --git a/main/vid.stab/README b/main/vid.stab/README new file mode 100644 index 00000000..7f3aec65 --- /dev/null +++ b/main/vid.stab/README @@ -0,0 +1,43 @@ +vid.stab +________________________________________________________________________________ + +Video stabilization library + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S vid.stab | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] http://public.hronopik.de/vid.stab diff --git a/main/vid.stab/version b/main/vid.stab/version new file mode 100644 index 00000000..e343e3f8 --- /dev/null +++ b/main/vid.stab/version @@ -0,0 +1 @@ +1.1.1 1 diff --git a/main/vim/.PKGINFO b/main/vim/.PKGINFO new file mode 100644 index 00000000..0ac72ada --- /dev/null +++ b/main/vim/.PKGINFO @@ -0,0 +1,31 @@ +# Generated by makepkg 6.1.0 +# using fakeroot version 1.34 +pkgname = vim-runtime +pkgbase = vim +xdata = pkgtype=split +pkgver = 9.1.0429-1 +pkgdesc = Vi Improved, a highly configurable, improved version of the vi text editor (shared runtime) +url = https://www.vim.org +builddate = 1716337499 +packager = Developer +size = 38093917 +arch = x86_64 +license = custom:vim +backup = etc/vimrc +optdepend = sh: support for some tools and macros +optdepend = python: demoserver example tool +optdepend = gawk: mve tools upport +makedepend = gawk +makedepend = git +makedepend = glibc +makedepend = gpm +makedepend = gtk3 +makedepend = libcanberra +makedepend = libgcrypt +makedepend = libxt +makedepend = lua +makedepend = perl +makedepend = python +makedepend = ruby +makedepend = tcl +makedepend = zlib diff --git a/main/vim/.nvchecker.toml b/main/vim/.nvchecker.toml new file mode 100644 index 00000000..4da8471e --- /dev/null +++ b/main/vim/.nvchecker.toml @@ -0,0 +1,5 @@ +[vim] +source = "git" +git = "https://github.com/vim/vim.git" +prefix = "v" +use_max_tag = true diff --git a/main/vim/PKGBUILD b/main/vim/PKGBUILD new file mode 100644 index 00000000..6f0fd46d --- /dev/null +++ b/main/vim/PKGBUILD @@ -0,0 +1,207 @@ +# Maintainer: Developer + +pkgbase=vim +pkgname=('vim' 'gvim' 'vim-runtime') +pkgver=%version% +_versiondir=91 +pkgrel=%release% +pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' +url='https://www.vim.org' +arch=('x86_64') +license=('custom:vim') +makedepends=( + gawk + git + glibc + gpm + gtk3 + libcanberra + libgcrypt + libxt + lua + perl + python + ruby + tcl + zlib +) +source=(git+https://github.com/vim/vim.git?signed#tag=v${pkgver} + vimrc + archlinux.vim + vimdoc.hook) +sha256sums=('a252b1fffb74cd07d8f0d482c3ef7adcb9b9afbe718d5bc76e6b15f99191d135' + 'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b' + 'cc3d931129854c298eb22e993ec14c2ad86cc1e70a08a64496f5e06559289972' + '8e9656934d9d7793063230d15a689e10455e6db9b9fe73afa0f294792795d8ae') +validpgpkeys=('4F19708816918E19AAE19DEEF3F92DA383FDDE09') # Christian Brabandt + +prepare() { + (cd vim/src + # define the place for the global (g)vimrc file (set to /etc/vimrc) + sed -E 's|^.*(#define SYS_.*VIMRC_FILE.*").*$|\1|g' -i feature.h + sed -E 's|^.*(#define VIMRC_FILE.*").*$|\1|g' -i feature.h + autoconf + ) + cp -a vim gvim +} + +build() { + msg2 "Building vim..." + (cd vim + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic \ + --disable-canberra + make + ) + + msg2 "Building gvim..." + (cd gvim + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk3 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic \ + --enable-canberra + make + ) +} + +check() { + cd vim + TERM=xterm make -j1 test +} + +package_vim-runtime() { + pkgdesc+=' (shared runtime)' + optdepends=('sh: support for some tools and macros' + 'python: demoserver example tool' + 'gawk: mve tools upport') + backup=('etc/vimrc') + + cd vim + + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + # man and bin files belong to 'vim' + rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/ + + # Don't forget logtalk.dict + install -Dm 644 runtime/ftplugin/logtalk.dict \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict + + # rc files + install -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc + install -Dm 644 "${srcdir}"/archlinux.vim \ + "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim + + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} + + # license + install -dm 755 "${pkgdir}"/usr/share/licenses/vim-runtime + ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt +} + +package_vim() { + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl' 'glibc' 'libgcrypt' 'zlib') + optdepends=('python: Python language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + conflicts=('gvim' 'vim-minimal') + provides=('xxd' 'vim-minimal' 'vim-plugin-runtime') + replaces=('vim-minimal') + + cd vim + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd "${_mandir}" + rm -f ex.1 view.1 # provided by (n)vi + rm -f evim.1 # this does not make sense if we have no GUI + done + + # Runtime provided by runtime package + rm -r "${pkgdir}"/usr/share/vim + + # remove gvim.desktop as not included + rm "${pkgdir}"/usr/share/applications/gvim.desktop + + # license + install -Dm 644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt + + # pacman hook for documentation helptags + install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook +} + +package_gvim() { + pkgdesc+=' (with advanced features, such as a GUI)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk3' 'glibc' 'libgcrypt' + 'zlib' 'libcanberra') + optdepends=('python: Python language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + provides=("vim=${pkgver}-${pkgrel}" "xxd" 'vim-plugin-runtime') + conflicts=('vim-minimal' 'vim') + + cd gvim + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd "${_mandir}" + rm -f ex.1 view.1 # provided by (n)vi + done + + # need to remove since this is provided by vim-runtime + rm -r "${pkgdir}"/usr/share/vim + + # license + install -Dm 644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt + + # pacman hook for documentation helptags + install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook +} + +# vim: ts=2 sw=2 et: diff --git a/main/vim/README b/main/vim/README new file mode 100644 index 00000000..ceb8f0d7 --- /dev/null +++ b/main/vim/README @@ -0,0 +1,43 @@ +vim +________________________________________________________________________________ + +Vi Improved, a highly configurable, improved version of the vi text editor Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI) Vi Improved, a highly configurable, improved version of the vi text editor (shared runtime) + +[000] Index +________________________________________________________________________________ + +* Installation ........................................................... [001] +* Setup .................................................................. [002] +* Usage .................................................................. [003] +* Troubleshooting ........................................................ [004] +* References ............................................................. [005] + + +[001] Installation +________________________________________________________________________________ + ++------------------------------------------------------------------------------+ +| | +| $ pacman -S vim | +| | ++------------------------------------------------------------------------------+ + + +[002] Setup +________________________________________________________________________________ + + +[003] Usage +________________________________________________________________________________ + + + +[004] Troubleshooting +________________________________________________________________________________ + + + +[005] References +________________________________________________________________________________ + +[0] https://www.vim.org diff --git a/main/vim/archlinux.vim b/main/vim/archlinux.vim new file mode 100644 index 00000000..2b71ccbe --- /dev/null +++ b/main/vim/archlinux.vim @@ -0,0 +1,46 @@ +" The Arch Linux global vimrc - setting only a few sane defaults +" +" DO NOT EDIT THIS FILE. IT'S OVERWRITTEN UPON UPGRADES. +" +" Use /etc/vimrc for system-wide and $HOME/.vimrc for personal configuration +" (for details see ':help initialization'). +" +" Use :help '