From dee384508e7b93bdc99aaa4605689405f1994552 Mon Sep 17 00:00:00 2001 From: Tyler Swagar Date: Mar 14 2022 15:50:51 +0000 Subject: [PATCH 1/6] updpkg: nonsystemd/elogind 246.10-1 --- diff --git a/nonsystemd/elogind/PKGBUILD b/nonsystemd/elogind/PKGBUILD index cf3e8cf..ee13812 100644 --- a/nonsystemd/elogind/PKGBUILD +++ b/nonsystemd/elogind/PKGBUILD @@ -6,6 +6,7 @@ # This package comes from Artix # Parabola changes: # - elogind and libelogind: do not provide {lib,}elogind=$pkgver, it's ridiculous +# - elogind: do not provide systemd-tools, openrc will conflict it # - libelogind: make libsystemd.so a copy of libelogind.so instead of linking it, # so in that way it will provide the correct version according to the # architecture (libsystemd.so=0-64 or libsystemd.so=0-32) @@ -14,20 +15,20 @@ pkgbase=elogind pkgname=('elogind' 'libelogind') pkgver=246.10 -pkgrel=2 +pkgrel=1 pkgdesc="The systemd project's logind, extracted to a standalone package" -arch=('x86_64') -arch+=('i686' 'armv7h') +arch=('x86_64' 'i686' 'armv7h') url="https://github.com/elogind/elogind" license=('GPL' 'LGPL2.1') -makedepends=('acl' 'intltool' 'libtool' 'gperf' 'gtk-doc' 'polkit' 'dbus' - 'libseccomp' 'meson' 'kexec-tools' 'openrc' 'libcap') +conflicts=('systemd-libsystemd') +makedepends=('intltool' 'libtool' 'gperf' 'gtk-doc' 'polkit' 'dbus' + 'libseccomp' 'meson' 'kexec-tools' 'openrc') options=('!libtool') source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/elogind/elogind/archive/v${pkgver}.tar.gz" - #'elogind.confd' 'elogind.initd' - 'elogind.sv.initd') + 'elogind.confd' 'elogind.initd') sha256sums=('c490dc158c8f5bca8d00ecfcc7ad5af24d1c7b9e59990a0b3b1323996221a922' - 'b4097e85f81f37d8529eb57563813e94b7c7afb9931d892907d805093187761b') + '344db76bf8aadfba4363c63aacd93c945a647bd5e425d756cbfd9cb4453afc66' + '2fc375b3aa61cb63b16c55840acaa69d26b16a01d393ee129d77c804efdac278') build() { local meson_options=( @@ -38,7 +39,6 @@ build() { -Ddefault-hierarchy=hybrid -Dcgroup-controller=openrc -Ddefault-kill-user-processes=false - -Dman=true ) arch-meson "$pkgbase-${pkgver}" build "${meson_options[@]}" @@ -52,46 +52,44 @@ check(){ package_elogind() { pkgdesc="The systemd project's logind, extracted to a standalone package" - provides=("systemd=${pkgver}" 'logind') - depends=('acl' 'dbus' 'libseccomp' 'libelogind' 'kexec-tools' 'udev') + provides=("systemd=${pkgver}") + depends=('pam' 'dbus' 'libseccomp' 'libelogind' 'kexec-tools' 'udev') optdepends=('polkit: polkit support') backup=('etc/elogind/logind.conf') provides+=("${pkgname}-openrc") - conflicts=('systemd-udev' "${pkgname}-openrc") + conflicts+=('systemd-udev' "${pkgname}-openrc") replaces=("${pkgname}-openrc") DESTDIR="$pkgdir" meson install -C build - ln -sfv libelogind.pc "${pkgdir}"/usr/lib/pkgconfig/libsystemd.pc + ln -sfv libelogind.pc ${pkgdir}/usr/lib/pkgconfig/libsystemd.pc - install -dm755 "${srcdir}"/_libelogind - mv -v "${pkgdir}"/usr/lib/libelogind*.so* "${srcdir}"/_libelogind + install -dm755 ${srcdir}/_libelogind + mv -v ${pkgdir}/usr/lib/libelogind*.so* ${srcdir}/_libelogind - install -d "${pkgdir}"/{etc,usr/lib}/elogind/{logind,sleep}.conf.d + # Init scripts + install -Dm755 ${srcdir}/elogind.initd ${pkgdir}/etc/init.d/elogind + install -Dm755 ${srcdir}/elogind.confd ${pkgdir}/etc/conf.d/elogind - # Init script - #install -Dm755 "${srcdir}"/elogind.initd "${pkgdir}"/etc/init.d/elogind - #install -Dm755 "${srcdir}"/elogind.confd "${pkgdir}"/etc/conf.d/elogind - install -Dm755 "${srcdir}"/elogind.sv.initd "${pkgdir}"/etc/init.d/elogind - - install -d "${pkgdir}"/etc/runlevels/boot - ln -sf /etc/init.d/elogind "${pkgdir}"/etc/runlevels/boot/elogind + install -d "${pkgdir}/etc/runlevels/boot" + ln -sf "/etc/init.d/elogind" "${pkgdir}/etc/runlevels/boot/elogind" } package_libelogind(){ pkgdesc="elogind client libraries" - provides=('libelogind.so' 'liblogind') - provides+=("libsystemd=${pkgver}" "systemd-libs=${pkgver}" + groups=('base-devel') + provides=('libelogind.so' + "libsystemd=${pkgver}" "systemd-libs=${pkgver}" 'libsystemd.so') - conflicts=('libsystemd.so') + conflicts+=('libsystemd.so') depends=('libcap' 'libudev') - cd "${pkgbase}-${pkgver}" + cd ${pkgbase}-${pkgver} - install -dm755 "${pkgdir}"/usr/lib - mv "${srcdir}"/_libelogind/libelogind*.so* "${pkgdir}"/usr/lib + install -dm755 ${pkgdir}/usr/lib + mv ${srcdir}/_libelogind/libelogind*.so* ${pkgdir}/usr/lib - install -m755 "${pkgdir}"/usr/lib/libelogind.so "${pkgdir}"/usr/lib/libsystemd.so - ln -sfv libsystemd.so "${pkgdir}"/usr/lib/libsystemd.so.0 + install -m755 ${pkgdir}/usr/lib/libelogind.so ${pkgdir}/usr/lib/libsystemd.so + ln -sfv libsystemd.so ${pkgdir}/usr/lib/libsystemd.so.0 } From 99f47dc88828f9bfa6d2ae7e7cd1a3087e9c7865 Mon Sep 17 00:00:00 2001 From: Tyler Swagar Date: Mar 14 2022 15:50:51 +0000 Subject: [PATCH 2/6] updpkg: nonsystemd/openrc 0.43.3-1 --- diff --git a/nonsystemd/openrc/PKGBUILD b/nonsystemd/openrc/PKGBUILD index 7de97f7..eb0b0d2 100644 --- a/nonsystemd/openrc/PKGBUILD +++ b/nonsystemd/openrc/PKGBUILD @@ -9,42 +9,28 @@ pkgbase=openrc pkgname=('openrc' 'openrc-bash-completions' 'openrc-zsh-completions' 'openrc-init' 'openrc-sysvinit' 'openrc-net') -pkgver=0.42.1 -pkgrel=7 +pkgver=0.43.3 +pkgrel=1 pkgdesc="Gentoo's universal init system" arch=('x86_64' 'i686' 'armv7h') url="https://github.com/OpenRC/openrc" license=('BSD2') source=("${pkgbase}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz" - "revert.patch::${url}/commit/1801561c2d36c330df7fd02c7508f503a61ff5ba.patch" "${pkgbase}.logrotate" 'openrc-hook' '30-openrc-upgrade.hook' '30-sysctl.hook' 'sysctl.conf' '30-binfmt.hook' - 'kmod-static-nodes.initd' - gcc-10-fix.patch::${url}/commit/375ef42393f3dc6edbaa2cb70c79b2366072db38.patch - supervise-daemon-fix.patch::${url}/commit/6deda13754f1b60245945e953cce8d97e40e86fc.patch - openrc-shutdown-fix.patch::${url}/commit/fd852865e06a74ecf8b77ff534fa8053e020160f.patch - posix-compliant-grep.patch::${url}/commit/a7e7fd2b37a7666f26c2d4de9386b2d04f583b41.patch - binfmt-fix.patch::${url}/commit/eb610859519292c6164c4ba601d22e642c306beb.patch - cgroup2-verify.patch::${url}/commit/87cfad3d6cd619c6090e8209092448ae68279b0c.patch) -sha256sums=('91a01ca6d930a0688fb91338209985de57cac7aa2d37feddacb78fd3d95308e2' - '5211012d0e1bdfc1a32113cee5a2eec3a2be4b3549f88216cdecbadd6ca46d81' + 'kmod-static-nodes.initd') +sha256sums=('968e81743a1de7a2348590b3b3286d6af5baf96da28fa1e6364e24f8203fc3b6' '0b44210db9770588bd491cd6c0ac9412d99124c6be4c9d3f7d31ec8746072f5c' '7de1e65f48ba31fc015cfb77be167b41aabdf0f20cb6617ecf3f4c3ca434c9e8' 'a3fda2186e023ae60c0e0d3806ffeb95effe675acea03cdfd0bf30e8f1c188d4' '28ec075d30096bd54499e994f76f8526460474f1e4c33607045c1a71b0684263' '860d5b9ae60e13633bd94023c222fa1ef918a02db3ce2e3255cdd6bb9eef047e' '28aa413fd78bca98bb23294eeb3f49149825a2c2f97a7ee10039385f5e8e50e9' - '3ecbe7761b92a123a5a3d395ec3d9e090b0dfba7910a5987b4a2298c20a7e571' - 'addb1bf115b811fba3d120f5c68535ec07f32a55e570b661f1e5575f74327bac' - '654dada5ffe56d6ae10d0ea4f9cb62c8c6c39a5398cd02561419a8bbf3f686b7' - '5576a8b6c9fbe79ede027ed053f922da60d1cbe818803677f5aa5532f98ffac4' - '46f6e809aabb629212a739af7f5177930e9c4a7f2adfdfc59911d778d3716ec9' - '7e5d7dc888327ef99637fa7207ac9470d72cc37198ddd7ba2cdf72d10a1c7031' - '41c6598da76bcdcdc8d9349f559bc6b587a6f6dec55bf7c79669af2b28af43e1') + '3ecbe7761b92a123a5a3d395ec3d9e090b0dfba7910a5987b4a2298c20a7e571') _args=( BRANDING='Parabola GNU/Linux-libre' @@ -64,15 +50,6 @@ _args=( prepare(){ cd "${srcdir}/${pkgbase}-${pkgver}" sed -i 's:0444:0644:' mk/sys.mk - patch -Np 1 -i ../gcc-10-fix.patch - patch -Np 1 -i ../supervise-daemon-fix.patch - patch -Np 1 -i ../openrc-shutdown-fix.patch - patch -Np 1 -i ../posix-compliant-grep.patch - patch -Np 1 -i ../binfmt-fix.patch - patch -Np 1 -i ../cgroup2-verify.patch - - # make bootmisc work with sysvinit too - patch -RNp1 -i ../revert.patch } check(){ From ee804402de75727a65b0a4cc2e8af29de5553e07 Mon Sep 17 00:00:00 2001 From: Tyler Swagar Date: Mar 14 2022 15:50:51 +0000 Subject: [PATCH 3/6] updpkg: nonsystemd/networkmanager 1.30.4-3.nonsystemd1 --- diff --git a/nonsystemd/networkmanager/PKGBUILD b/nonsystemd/networkmanager/PKGBUILD index dc667e6..72d9a3e 100644 --- a/nonsystemd/networkmanager/PKGBUILD +++ b/nonsystemd/networkmanager/PKGBUILD @@ -7,29 +7,27 @@ # Contributor (Arch): Valentine Sinitsyn pkgbase=networkmanager -pkgname=(networkmanager libnm nm-cloud-setup) -pkgver=1.32.2 -pkgrel=1 +pkgname=(networkmanager libnm) +pkgver=1.30.4 +pkgrel=3 pkgrel+=.nonsystemd1 pkgdesc="Network connection manager and user applications" url="https://wiki.gnome.org/Projects/NetworkManager" -arch=(x86_64) -arch+=(i686 armv7h) -license=(GPL2) +arch=(x86_64 i686 armv7h) +license=(GPL2 LGPL2.1) _pppver=2.4.9 -makedepends=(intltool dhclient dhcpcd iptables-nft gobject-introspection gtk-doc - "ppp=$_pppver" modemmanager iproute2 nss polkit wpa_supplicant curl - logind libmm-glib libnewt libndp libteam nftables vala perl-yaml - python-gobject git vala jansson bluez-libs glib2-docs iwd dnsmasq - openresolv libpsl audit meson) +makedepends=(intltool dhclient iptables gobject-introspection gtk-doc "ppp=$_pppver" modemmanager + iproute2 nss polkit wpa_supplicant curl elogind libmm-glib + libnewt libndp libteam vala perl-yaml python-gobject git vala jansson bluez-libs + glib2-docs dhcpcd iwd dnsmasq openresolv libpsl audit meson) checkdepends=(libx11 python-dbus) -_commit=bf1b09702ed442a3efe426c8ceba4ef1e6bb1902 # tags/1.20.6^0 +_commit=a3e45da9f984d58e3b76d6ca064033541d819eca # tags/1.30.4^0 source=("git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit" NetworkManager.{confd,initd} 10-openrc-status) sha256sums=('SKIP' '4594573f01fe5e04b6dde4525796acf909158591bdcefd662ec23fe0d1c3e1bd' - 'eaf7d210540ed9f4c6b4ba81ddbb30a2aa5ce8b528057f7d64ce3478981f88e4' - 'd32a21c0683cf7a09370b35b7e3d3b3f28f5d4d242ecde2c866cfb400b94bcbe') + '861445d46e8863dca26a91018da3dd9fee6a64467a93e7512774dfd88914539d' + '1535237db113a76261d6f1ce0b24a55e956934b0c1c59e9fd624f621961327b6') pkgver() { cd NetworkManager @@ -38,53 +36,44 @@ pkgver() { prepare() { cd NetworkManager + + # https://bugs.archlinux.org/task/70710 + git cherry-pick -n 8acad5a20cc61081438294efc634c0e245452e35 } build() { local meson_args=( - # 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=elogind -D modify_system=true -D polkit_agent=true -D selinux=false - -D systemdsystemunitdir=no - -D session_tracking=elogind - -D systemd_journal=false - - # features -D iwd=true -D pppd_plugin_dir=/usr/lib/pppd/$_pppver -D teamdctl=true - -D nm_cloud_setup=true -D bluez5_dun=true -D ebpf=true - - # configuration plugins -D config_plugins_default=keyfile - - # 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 + -D systemdsystemunitdir=no + -D session_tracking=elogind + -D systemd_journal=false ) arch-meson NetworkManager build "${meson_args[@]}" - meson compile -C build + ninja -C build } check() { - meson test -C build --print-errorlogs + # iproute2 bug + # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/be76d8b624fab99cbd76092ff511e6adc305279c + meson test -C build --print-errorlogs || : } _pick() { @@ -99,77 +88,58 @@ _pick() { package_networkmanager() { depends=(libnm iproute2 polkit wpa_supplicant libmm-glib libnewt libndp libteam curl - bluez-libs libpsl audit mobile-broadband-provider-info elogind) + bluez-libs libpsl audit elogind) optdepends=('dnsmasq: connection sharing' - 'nftables: connection sharing' - 'iptables: connection sharing' 'bluez: Bluetooth support' 'ppp: dialup connection support' 'modemmanager: cellular network support' - 'iwd: wpa_supplicant alternative' - 'dhclient: alternative DHCP client' - 'dhcpcd: alternative DHCP client' - 'openresolv: alternative resolv.conf manager' - 'firewalld: firewall support') + 'iwd: wpa_supplicant alternative') provides=($pkgname-{elogind,openrc}) replaces=($pkgname-{elogind,openrc}) backup=(etc/NetworkManager/NetworkManager.conf) + groups=(gnome) - meson install -C build --destdir "$pkgdir" - - cd "$pkgdir" + DESTDIR="$pkgdir" meson install -C build # /etc/NetworkManager - install -d etc/NetworkManager/{conf,dnsmasq}.d - install -dm700 etc/NetworkManager/system-connections - install -m644 /dev/stdin etc/NetworkManager/NetworkManager.conf < Date: Mar 14 2022 15:50:51 +0000 Subject: [PATCH 4/6] [polkit]: CVE-2021-4034 --- diff --git a/nonsystemd/polkit/PKGBUILD b/nonsystemd/polkit/PKGBUILD index 133fcb7..9ea8cf1 100644 --- a/nonsystemd/polkit/PKGBUILD +++ b/nonsystemd/polkit/PKGBUILD @@ -2,63 +2,66 @@ # Maintainer (Arch): Jan de Groot pkgname=polkit -pkgver=0.118 -pkgrel=1 +pkgver=0.120 +pkgrel=4 pkgrel+=.nonsystemd1 pkgdesc="Application development toolkit for controlling system-wide privileges" arch=(x86_64 i686 armv7h) license=(LGPL) url="https://www.freedesktop.org/wiki/Software/polkit/" depends=(glib2 pam expat elogind js78) -makedepends=(intltool gtk-doc gobject-introspection git autoconf-archive) +makedepends=(meson gtk-doc gobject-introspection git) backup=(etc/pam.d/polkit-1) provides=(polkit-elogind) replaces=(polkit-elogind polkit-consolekit) -_commit=ff4c2144f0fb1325275887d9e254117fcd8a1b52 # git tag 0.118 +_commit=92b910ce2273daf6a76038f6bd764fa6958d4e8e # tags/0.120 source=("git+https://gitlab.freedesktop.org/polkit/polkit.git#commit=$_commit" '99-parabola.rules' - 'elogind-configure-fix.patch') + 'elogind-configure-fix.patch' + 'meson-0.61.diff') sha256sums=('SKIP' 'd28d6ecaf7682860e2b3768bb266bd94313546b7cd0ef3c2eace7b1576c47adb' - 'd90b2a95aa3e9e1ebf9369c038c144e04900e095c5405bc4ba4901c31bf3f59b') + 'd90b2a95aa3e9e1ebf9369c038c144e04900e095c5405bc4ba4901c31bf3f59b' + '45d08bbb76e1e22ca8e698df04652b7aceaded34f9b76ce6b68152fb26b0de8d') pkgver() { - cd $pkgname + cd polkit git describe --tags | sed 's/-/+/g' } prepare() { - cd $pkgname + cd polkit patch -Np 1 -i ${srcdir}/elogind-configure-fix.patch - NOCONFIGURE=1 ./autogen.sh -} - -build() { - cd $pkgname - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --libexecdir=/usr/lib \ - --enable-libsystemd-login=no --disable-static \ - --enable-libelogind=yes --with-systemdsystemunitdir=no \ - --enable-gtk-doc --with-os-type=redhat + # CVE-2021-4034 + git cherry-pick -n a2bf5c9c83b6ae46cbd5c779d3055bff81ded683 - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + # Fix build with Meson 0.61.0 + git apply -3 ../meson-0.61.diff +} - make +build() { + arch-meson polkit build \ + --prefix=/usr \ + -D session_tracking=libelogind \ + -D systemdsystemunitdir=no \ + -D os_type=redhat \ + -D examples=true \ + -D tests=true \ + -D gtk_doc=true \ + -D man=true + meson compile -C build } check() { - cd $pkgname - make -k check || : + meson test -C build --print-errorlogs -t 3 } package() { - cd $pkgname - make DESTDIR="$pkgdir" install \ - dbusconfdir=/usr/share/dbus-1/system.d \ - rulesdir=/usr/share/polkit-1/rules.d + meson install -C build --destdir "$pkgdir" install -d -o root -g 102 -m 750 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d + mv "$pkgdir"/{etc,usr/share}/polkit-1/rules.d/50-default.rules install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" < Date: Mar 14 2022 15:50:51 +0000 Subject: [PATCH 5/6] sq polkit --- diff --git a/nonsystemd/polkit/PKGBUILD b/nonsystemd/polkit/PKGBUILD index 9ea8cf1..19f45a9 100644 --- a/nonsystemd/polkit/PKGBUILD +++ b/nonsystemd/polkit/PKGBUILD @@ -1,26 +1,30 @@ # Maintainer: David P. -# Maintainer (Arch): Jan de Groot +# Maintainer (arch): Jan Alexander Steffens (heftig) +# Contributor: Jan de Groot pkgname=polkit pkgver=0.120 -pkgrel=4 +pkgrel=3 pkgrel+=.nonsystemd1 pkgdesc="Application development toolkit for controlling system-wide privileges" -arch=(x86_64 i686 armv7h) +arch=(x86_64) +arch+=(i686 armv7h) license=(LGPL) url="https://www.freedesktop.org/wiki/Software/polkit/" -depends=(glib2 pam expat elogind js78) +depends=(glib2 pam expat systemd js78) +depends=( ${depends[*]/systemd/elogind}) makedepends=(meson gtk-doc gobject-introspection git) +checkdepends=(python-dbusmock) backup=(etc/pam.d/polkit-1) provides=(polkit-elogind) replaces=(polkit-elogind polkit-consolekit) _commit=92b910ce2273daf6a76038f6bd764fa6958d4e8e # tags/0.120 -source=("git+https://gitlab.freedesktop.org/polkit/polkit.git#commit=$_commit" - '99-parabola.rules' - 'elogind-configure-fix.patch' - 'meson-0.61.diff') -sha256sums=('SKIP' - 'd28d6ecaf7682860e2b3768bb266bd94313546b7cd0ef3c2eace7b1576c47adb' +source=("git+https://gitlab.freedesktop.org/polkit/polkit.git#commit=$_commit") +source+=('99-parabola.rules' + 'elogind-configure-fix.patch' + 'meson-0.61.diff') +sha256sums=('SKIP') +sha256sums=('d28d6ecaf7682860e2b3768bb266bd94313546b7cd0ef3c2eace7b1576c47adb' 'd90b2a95aa3e9e1ebf9369c038c144e04900e095c5405bc4ba4901c31bf3f59b' '45d08bbb76e1e22ca8e698df04652b7aceaded34f9b76ce6b68152fb26b0de8d') From 9590d8f5810af75bd2f59e6b264e2a1472f52617 Mon Sep 17 00:00:00 2001 From: Morris Zuss Date: May 07 2022 20:42:05 +0000 Subject: [PATCH 6/6] updpkg: libre/blender 3.1.2 --- diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD index 01eba1c..d152f64 100644 --- a/libre/blender/PKGBUILD +++ b/libre/blender/PKGBUILD @@ -5,79 +5,43 @@ # Contributor: Márcio Silva # Contributor: bill-auger - # parabola changes and rationale: # - removed support for non-free CUDA and optix # - set OS type string to GNU/Linux-libre -# - pin to tightly-coupled dependency versions - pkgname=blender -pkgver=2.93.5 -pkgrel=7 +pkgver=3.1.2 +pkgrel=1 pkgrel+=.parabola1 -epoch=17 -_pythonver_x86_64=3.9 -_pythonver_i686=3.9 -_pythonver_armv7h=3.9 +_pythonver_x86_64=3.10 eval "_python_ver=\$_pythonver_${CARCH}" pkgdesc="A fully integrated 3D graphics creation suite" -pkgdesc+=", without non-free CUDA or optix support" +pkgdesc+=", without non-free CUDA or OptiX support" arch=('x86_64') -arch+=('i686' 'armv7h') license=('GPL') url="https://www.blender.org" -depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests' 'potrace' - 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg2' 'python-numpy' - 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic' 'openxr' - 'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage' 'openimagedenoise' - 'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2' 'embree' 'libharu') -[[ "${CARCH}" != 'x86_64' ]] && depends=( ${depends[*]/openimagedenoise/} ) -[[ "${CARCH}" != 'x86_64' ]] && depends=( ${depends[*]/libharu/} ) -[[ "${CARCH}" == 'armv7h' ]] && depends=( ${depends[*]/embree/} ) -makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm' 'cuda' 'ninja') -makedepends=( ${makedepends[*]/cuda/} ) +depends=('alembic' 'boost-libs' 'draco' 'embree' 'ffmpeg' 'fftw' 'freetype2' 'glew' + 'hicolor-icon-theme' 'jack' 'jemalloc' 'libharu' 'libpng' + 'libsndfile' 'libspnav' 'libtiff' 'log4cplus' 'openal' 'opencollada' + 'opencolorio' 'openexr' 'openimagedenoise' 'openimageio' 'openjpeg2' + 'openshadinglanguage' 'opensubdiv' 'openvdb' 'openxr' 'potrace' + 'ptex' 'python' 'python-numpy' 'sdl2') +makedepends=('boost' 'cmake' 'git' 'llvm' 'mesa' 'ninja') options=(!strip) source=("git+https://git.blender.org/blender.git#tag=v$pkgver" "git+https://git.blender.org/blender-addons.git" "git+https://git.blender.org/blender-addons-contrib.git" "git+https://git.blender.org/blender-translations.git" "git+https://git.blender.org/blender-dev-tools.git" - blender-openexr3.patch) + "force-draco1.patch" + "force-draco2.patch") sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' - 'e2dd7210d26b70445e9ae8e33dea35111ad0b0aca9d3b4ded3df560d0fcc8dc044868f729e0f090a04b6f316f083b5505a7056ce088e8702065add87b9b457e5') - - -_version_constraint() # (dep_pkgname [precision]) -{ - local dep_pkgname=$1 - local full_version=$(pacman -S --print-format='%v' ${dep_pkgname} | tail -n 1) - local n_dots=$(tmp=${full_version%-*} ; tmp=${tmp//[^\.]} ; echo "${#tmp}" ;) - local def_precision=$(( n_dots + 1 )) - local precision=$( [[ "$2" =~ ^[1-${def_precision}]$ ]] && echo $2 || echo ${def_precision} ) - local pkgver_rx='[^-\.\ ]+' - local subver_rx='\.'${pkgver_rx} - local pkgrel_rx='[^-\ ]+' - local capture_rx=${pkgver_rx} - for (( n_dots=1 ; n_dots < precision ; n_dots++ )) ; do capture_rx+=${subver_rx} ; done ; - - if [[ "${full_version}" =~ ^(${capture_rx})(${subver_rx})*-${pkgrel_rx}$ ]] - then local version=${BASH_REMATCH[1]} - local subver_inc=$(( ${version##*.} + 1 )) - local version_inc=$( [[ "${version}" =~ \. ]] && echo ${version%.*}.${subver_inc} || \ - echo ${subver_inc} ) - local constraint_string="${dep_pkgname}>=${version} ${dep_pkgname}<${version_inc}" - - echo "applied version constraint: ${constraint_string}" >&2 - echo -n "${constraint_string}" - else echo "ERROR: _version_constraint() error parsing: dep_pkgname='${dep_pkgname}' full_version='${full_version}'" >&2 - exit 1 - fi -} + 'e239da4f3906f1b54265435181cf770bae3d269c8d915df9a73861e6ee71ec70bf2339426e7c81a91e5a567273b3b3742d7a99feefd3398d821b26e1ff3a56d0' + '527ab66e5eace777de0043c1ca5787a488f6471450ce67fd6d08137ad0ef56177bc0c17696f30a5fca23fa55d8ca9c3f30cb7b17550dba2dbd8e89ca0b361990') prepare() { cd "$pkgname" @@ -90,32 +54,21 @@ prepare() { git submodule update git submodule foreach git checkout v${pkgver} - patch -p1 < "$srcdir"/blender-openexr3.patch # Fix build with OpenEXR 3 - # set OS type string sed -i 's|BUILD_PLATFORM;|"GNU/Linux-libre";|' 'source/creator/buildinfo.c' - # FIXME: error: implicit declaration of function ‘atomic_add_and_fetch_uint64’; - # did you mean ‘atomic_add_and_fetch_uint32’? [-Werror=implicit-function-declaration] - if [[ "${CARCH}" == 'armv7h' ]] || [[ "${CARCH}" == 'i686' ]] - then local sed_cmd='s| atomic_add_and_fetch_uint64(| atomic_add_and_fetch_uint32(|' - sed -i "${sed_cmd}" source/blender/blenlib/intern/session_uuid.c - fi + # Configure Draco (See FS#73415) + patch -p1 -i "$srcdir"/force-draco1.patch + patch -p1 -d release/scripts/addons -i "$srcdir"/force-draco2.patch + } build() { cd "$pkgname" - # libre changes - local _extra_opts=( -DWITH_CYCLES_CUDA_BINARIES=OFF \ - -DWITH_CYCLES_DEVICE_CUDA=OFF \ + # Libre Changes + local _extra_opts=( -DWITH_CYCLES_DEVICE_CUDA=OFF \ -DWITH_CYCLES_DEVICE_OPTIX=OFF ) - # arch-specific options - case "${CARCH}" in - 'i686' ) _extra_opts+=( -DWITH_RAYOPTIMIZATION=OFF \ - -DWITH_CYCLES_EMBREE=ON ) ;; - 'x86_64') _extra_opts+=( -DWITH_CYCLES_EMBREE=ON ) ;; - esac local PYTHON_VER=${_python_ver} @@ -139,19 +92,6 @@ build() { package() { cd "$pkgname" - # pin to tightly-coupled dependency versions - # NOTE: indirect sodeps may still be unsatisfyable: - # libboost_filesystem.so <- openimageio, - # libboost_thread.so <- openshadinglanguage, - # libboost_iostreams.so <- openvdb - depends+=( libboost_locale.so - $(_version_constraint openexr 2) # eg: libHalf.so.12 - $(_version_constraint openimageio 2) # eg: libOpenImageIO.so.2.0 - $(_version_constraint openshadinglanguage 2) # eg: liboslcomp.so.1.10 - $(_version_constraint opensubdiv 3) # eg: libosdGPU.so.3.3.3 - $(_version_constraint openvdb 2) # eg: libopenvdb.so.6.2 - $(_version_constraint python 2) ) # eg: libpython3.6.so.1.0 - DESTDIR="${pkgdir}" ninja -C build install install -Dm755 release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl" python -m compileall "${pkgdir}/usr/share/blender" @@ -160,5 +100,10 @@ package() { install -Dm644 release/freedesktop/org.blender.Blender.appdata.xml "${pkgdir}/usr/share/metainfo/org.blender.Blender.appdata.xml" # Manually install additional scripts (See FS#69351) - cp -r release/scripts/addons_contrib/* "${pkgdir}"/usr/share/blender/2*/scripts/addons_contrib/ + cp -r release/scripts/addons_contrib/* "${pkgdir}"/usr/share/blender/3*/scripts/addons_contrib/ + + # Manually install draco bindings (See FS#73415) + mkdir -p "${pkgdir}"/usr/lib/python3.10/ + mv "${pkgdir}"/usr/share/blender/3*/python/lib/* "${pkgdir}"/usr/lib/ + rm -r "${pkgdir}"/usr/share/blender/3*/python } diff --git a/libre/blender/blender-openexr3.patch b/libre/blender/blender-openexr3.patch deleted file mode 100644 index 73a727a..0000000 --- a/libre/blender/blender-openexr3.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake -index 090f80b8df7..a2f7b4c622b 100644 ---- a/build_files/cmake/Modules/FindOpenEXR.cmake -+++ b/build_files/cmake/Modules/FindOpenEXR.cmake -@@ -34,11 +34,10 @@ ENDIF() - SET(_openexr_libs_ver_init "2.0") - - SET(_openexr_FIND_COMPONENTS -- Half - Iex -- IlmImf -- IlmThread - Imath -+ OpenEXR -+ IlmThread - ) - - SET(_openexr_SEARCH_DIRS -@@ -120,7 +119,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG - IF(OPENEXR_FOUND) - SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) - # Both include paths are needed because of dummy OSL headers mixing #include and #include :( -- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR) -+ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath) - ENDIF() - - MARK_AS_ADVANCED( -diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp -index 382d86f2645..eff50b19c31 100644 ---- a/source/blender/imbuf/intern/openexr/openexr_api.cpp -+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp -@@ -38,8 +38,10 @@ - #include - #include - #include -+#include - #include - #include -+#include - #include - #include - #include diff --git a/libre/blender/force-draco1.patch b/libre/blender/force-draco1.patch new file mode 100644 index 0000000..4a8b638 --- /dev/null +++ b/libre/blender/force-draco1.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75f5795db68..d50686adfb0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -754,10 +754,6 @@ endif() + set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF) + set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF) + +-if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL) +- message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now") +- set(WITH_DRACO OFF) +-endif() + + # enable boost for cycles, audaspace or i18n + # otherwise if the user disabled diff --git a/libre/blender/force-draco2.patch b/libre/blender/force-draco2.patch new file mode 100644 index 0000000..379e447 --- /dev/null +++ b/libre/blender/force-draco2.patch @@ -0,0 +1,21 @@ +diff --git a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py +index e7518ac4..c0d78564 100644 +--- a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py ++++ b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py +@@ -13,6 +13,7 @@ + # limitations under the License. + + import os ++import site + import sys + from pathlib import Path + import bpy +@@ -30,7 +31,7 @@ def dll_path() -> Path: + python_lib = Path('{v[0]}.{v[1]}/python/lib'.format(v=bpy.app.version)) + python_version = 'python{v[0]}.{v[1]}'.format(v=sys.version_info) + +- path = os.environ.get('BLENDER_EXTERN_DRACO_LIBRARY_PATH') ++ path = site.getsitepackages()[0] + if path is None: + path = { + 'win32': blender_root / python_lib / 'site-packages',