diff options
author | davidovski <david@davidovski.xyz> | 2023-02-02 14:10:02 +0000 |
---|---|---|
committer | davidovski <david@davidovski.xyz> | 2023-02-02 14:10:02 +0000 |
commit | f29d569cd33a73da5ad675f43a34ad53c5cc9bc6 (patch) | |
tree | 76fe6267f8307e7630fc6f53ff99a9767ad40de0 /repo | |
parent | 05d004dfe0c9a9d898fac8a4a0292ca2a74ca391 (diff) |
Work
Diffstat (limited to 'repo')
411 files changed, 4279 insertions, 11447 deletions
diff --git a/repo/a52dec/a52dec.xibuild b/repo/a52dec/a52dec.xibuild index 2093040..d116394 100644 --- a/repo/a52dec/a52dec.xibuild +++ b/repo/a52dec/a52dec.xibuild @@ -27,10 +27,6 @@ build() { make } -check() { - make check -} - package() { make DESTDIR="$PKG_DEST" install install -m644 liba52/a52_internal.h "$PKG_DEST"/usr/include/a52dec/ diff --git a/repo/amb-plugins/amb-plugins.xibuild b/repo/amb-plugins/amb-plugins.xibuild new file mode 100644 index 0000000..528d0d4 --- /dev/null +++ b/repo/amb-plugins/amb-plugins.xibuild @@ -0,0 +1,19 @@ +#!/bin/sh + +NAME="amb-plugins" +DESC="A set of LADSPA ambisonics plugins" + +MAKEDEPS="make ladspa " + +PKG_VER=0.8.1 +SOURCE="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/AMB-plugins-${PKG_VER}.tar.bz2" + +build () { + make PREFIX=/usr +} + +package () { + for p in *.so; do + install -Dm755 $p "${PKG_DEST}/usr/lib/ladspa/" + done +} diff --git a/repo/ardour/ardour.xibuild b/repo/ardour/ardour.xibuild index 96e030e..755fa58 100644 --- a/repo/ardour/ardour.xibuild +++ b/repo/ardour/ardour.xibuild @@ -3,7 +3,7 @@ NAME="ardour" DESC="professional-grade digital audio workstation" -MAKEDEPS="alsa-lib atkmm aubio boost fftw gtk2 gtkmm3 itstool jack libarchive libexecinfo liblo libpng libsamplerate libsigc++ libsndfile lilv lrdf lv2 pulseaudio python readline redland rubberband serd sratom taglib vamp-sdk fluidsynth hidapi soundtouch gtkmm2" +MAKEDEPS="alsa-lib atkmm aubio boost fftw gtk2 gtkmm3 itstool jack libarchive libexecinfo liblo libpng libsamplerate libsigc++ libsndfile lilv lrdf lv2 pulseaudio python readline redland rubberband serd sratom taglib vamp-sdk fluidsynth hidapi soundtouch gtkmm2 itstool" PKG_VER=6.9.0 SOURCE="https://dev.alpinelinux.org/archive/ardour/Ardour-$PKG_VER.tar.bz2" diff --git a/repo/atkmm/atkmm.xibuild b/repo/atkmm/atkmm.xibuild index 42278b0..e5eea9b 100644 --- a/repo/atkmm/atkmm.xibuild +++ b/repo/atkmm/atkmm.xibuild @@ -3,21 +3,19 @@ NAME="atkmm" DESC="C++ bindings for atk" -MAKEDEPS="make " -DEPS="atk glib glibmm libsigc++ musl " +MAKEDEPS="make atk glib glibmm libsigc++ musl mm-common" -PKG_VER=2.28.3 +PKG_VER=2.36.2 SOURCE="https://download.gnome.org/sources/atkmm/${PKG_VER%.*}/atkmm-$PKG_VER.tar.xz" build () { - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static - make + mkdir build && + cd build && + meson --prefix=/usr \ + .. && + ninja } package () { - make DESTDIR=$PKG_DEST install + DESTDIR=$PKG_DEST ninja install } diff --git a/repo/avahi/CVE-2021-3468.patch b/repo/avahi/CVE-2021-3468.patch deleted file mode 100644 index 3e0725a..0000000 --- a/repo/avahi/CVE-2021-3468.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 447affe29991ee99c6b9732fc5f2c1048a611d3b Mon Sep 17 00:00:00 2001 -From: Riccardo Schirone <sirmy15@gmail.com> -Date: Fri, 26 Mar 2021 11:50:24 +0100 -Subject: [PATCH] Avoid infinite-loop in avahi-daemon by handling HUP event in - client_work - -If a client fills the input buffer, client_work() disables the -AVAHI_WATCH_IN event, thus preventing the function from executing the -`read` syscall the next times it is called. However, if the client then -terminates the connection, the socket file descriptor receives a HUP -event, which is not handled, thus the kernel keeps marking the HUP event -as occurring. While iterating over the file descriptors that triggered -an event, the client file descriptor will keep having the HUP event and -the client_work() function is always called with AVAHI_WATCH_HUP but -without nothing being done, thus entering an infinite loop. - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984938 ---- - avahi-daemon/simple-protocol.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c -index 3e0ebb11..6c0274d6 100644 ---- a/avahi-daemon/simple-protocol.c -+++ b/avahi-daemon/simple-protocol.c -@@ -424,6 +424,11 @@ static void client_work(AvahiWatch *watch, AVAHI_GCC_UNUSED int fd, AvahiWatchEv - } - } - -+ if (events & AVAHI_WATCH_HUP) { -+ client_free(c); -+ return; -+ } -+ - c->server->poll_api->watch_update( - watch, - (c->outbuf_length > 0 ? AVAHI_WATCH_OUT : 0) | diff --git a/repo/avahi/CVE-2021-36217.patch b/repo/avahi/CVE-2021-36217.patch deleted file mode 100644 index 7b0449a..0000000 --- a/repo/avahi/CVE-2021-36217.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001 -From: Tommi Rantala <tommi.t.rantala@nokia.com> -Date: Mon, 8 Feb 2021 11:04:43 +0200 -Subject: [PATCH] Fix NULL pointer crashes from #175 - -avahi-daemon is crashing when running "ping .local". -The crash is due to failing assertion from NULL pointer. -Add missing NULL pointer checks to fix it. - -Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd ---- - avahi-core/browse-dns-server.c | 5 ++++- - avahi-core/browse-domain.c | 5 ++++- - avahi-core/browse-service-type.c | 3 +++ - avahi-core/browse-service.c | 3 +++ - avahi-core/browse.c | 3 +++ - avahi-core/resolve-address.c | 5 ++++- - avahi-core/resolve-host-name.c | 5 ++++- - avahi-core/resolve-service.c | 5 ++++- - 8 files changed, 29 insertions(+), 5 deletions(-) - -diff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c -index 049752e9..c2d914fa 100644 ---- a/avahi-core/browse-dns-server.c -+++ b/avahi-core/browse-dns-server.c -@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new( - AvahiSDNSServerBrowser* b; - - b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_dns_server_browser_start(b); - - return b; --} -\ No newline at end of file -+} -diff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c -index f145d56a..06fa70c0 100644 ---- a/avahi-core/browse-domain.c -+++ b/avahi-core/browse-domain.c -@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new( - AvahiSDomainBrowser *b; - - b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_domain_browser_start(b); - - return b; --} -\ No newline at end of file -+} -diff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c -index fdd22dcd..b1fc7af8 100644 ---- a/avahi-core/browse-service-type.c -+++ b/avahi-core/browse-service-type.c -@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new( - AvahiSServiceTypeBrowser *b; - - b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_service_type_browser_start(b); - - return b; -diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c -index 5531360c..63e0275a 100644 ---- a/avahi-core/browse-service.c -+++ b/avahi-core/browse-service.c -@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new( - AvahiSServiceBrowser *b; - - b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_service_browser_start(b); - - return b; -diff --git a/avahi-core/browse.c b/avahi-core/browse.c -index 2941e579..e8a915e9 100644 ---- a/avahi-core/browse.c -+++ b/avahi-core/browse.c -@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new( - AvahiSRecordBrowser *b; - - b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_record_browser_start_query(b); - - return b; -diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c -index ac0b29b1..e61dd242 100644 ---- a/avahi-core/resolve-address.c -+++ b/avahi-core/resolve-address.c -@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new( - AvahiSAddressResolver *b; - - b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_address_resolver_start(b); - - return b; --} -\ No newline at end of file -+} -diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c -index 808b0e72..4e8e5973 100644 ---- a/avahi-core/resolve-host-name.c -+++ b/avahi-core/resolve-host-name.c -@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new( - AvahiSHostNameResolver *b; - - b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_host_name_resolver_start(b); - - return b; --} -\ No newline at end of file -+} -diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c -index 66bf3cae..43771763 100644 ---- a/avahi-core/resolve-service.c -+++ b/avahi-core/resolve-service.c -@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new( - AvahiSServiceResolver *b; - - b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata); -+ if (!b) -+ return NULL; -+ - avahi_s_service_resolver_start(b); - - return b; --} -\ No newline at end of file -+} diff --git a/repo/avahi/avahi.pre-install b/repo/avahi/avahi.pre-install deleted file mode 100644 index 89b2fd4..0000000 --- a/repo/avahi/avahi.pre-install +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -addgroup -S -g 28 netdev 2>/dev/null -addgroup -S -g 86 avahi 2>/dev/null -adduser -S -u 86 -D -H \ - -h /var/run/avahi-daemon \ - -s /sbin/nologin \ - -G avahi \ - -g "Avahi System User" \ - avahi 2>/dev/null - -exit 0 diff --git a/repo/avahi/avahi.xibuild b/repo/avahi/avahi.xibuild deleted file mode 100644 index d1e53f4..0000000 --- a/repo/avahi/avahi.xibuild +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -NAME="avahi" -DESC="multicast/unicast DNS-SD framework" - -MAKEDEPS="gdbm intltool gobject-introspection expat libdaemon glib dbus libcap gettext autoconf automake libtool libevent" - -PKG_VER=0.8 -SOURCE="https://github.com/lathiat/avahi/releases/download/v$PKG_VER/avahi-$PKG_VER.tar.gz" - -ADDITIONAL=" -CVE-2021-3468.patch -CVE-2021-36217.patch -avahi.pre-install -" - -prepare() { - apply_patches - autoreconf -vif -} - -build() { - # we dont build autoipd since dhcpcd does same job - LDFLAGS="$LDFLAGS -lintl" \ - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --disable-autoipd \ - --disable-qt3 \ - --disable-qt4 \ - --disable-qt5 \ - --disable-gtk \ - --disable-gtk3 \ - --disable-mono \ - --disable-monodoc \ - --disable-doxygen-doc \ - --disable-xmltoman \ - --enable-compat-libdns_sd \ - --enable-compat-howl \ - --disable-python \ - --with-dbus-sys=/usr/share/dbus-1/system.d \ - --with-distro="gentoo" - make -} - -check() { - make check -} - -package() { - make DESTDIR="$PKG_DEST" install - - install -d -o avahi -g avahi "$PKG_DEST"/var/run/avahi-daemon - - ln -s avahi-compat-howl.pc "$PKG_DEST"/usr/lib/pkgconfig/howl.pc - ln -s avahi-compat-libdns_sd.pc "$PKG_DEST"/usr/lib/pkgconfig/libdns_sd.pc - ln -s avahi-compat-libdns_sd/dns_sd.h "$PKG_DEST"/usr/include/ -} - diff --git a/repo/botan/botan.xibuild b/repo/botan/botan.xibuild index 86286ec..71ba43c 100644 --- a/repo/botan/botan.xibuild +++ b/repo/botan/botan.xibuild @@ -3,8 +3,7 @@ NAME="botan" DESC="Crypto and TLS for C++11" -MAKEDEPS="make boost bzip2 openssl sqlite3 xz zlib" -DEPS="musl libstdc++ libgcc" +MAKEDEPS="make boost bzip2 openssl sqlite3 xz zlib musl libstdc++ libgcc python-pygments python-babel python-markupsafe python-imagesize python-sphinx python-requests" PKG_VER=2.19.2 SOURCE="https://botan.randombit.net/releases/Botan-$PKG_VER.tar.xz" @@ -19,7 +18,6 @@ build () { --with-bzip2 \ --with-lzma \ --with-openmp \ - --with-openssl \ --with-sqlite3 \ --with-zlib \ --with-os-feature=getrandom \ diff --git a/repo/brotli/brotli.xibuild b/repo/brotli/brotli.xibuild index d45bb4b..e48768c 100644 --- a/repo/brotli/brotli.xibuild +++ b/repo/brotli/brotli.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="cmake make " DEPS="musl" -SOURCE=https://github.com/google/brotli +SOURCE=https://github.com/google/brotli.git DESC="A generic-purpose lossless compression algorithm" prepare () { diff --git a/repo/bsd-utils/bsd-utils.xibuild b/repo/bsd-utils/bsd-utils.xibuild new file mode 100644 index 0000000..064aae4 --- /dev/null +++ b/repo/bsd-utils/bsd-utils.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="bsd-utils" +DESC="BSD coreutils is a port of many utilities from BSD to Linux and macOS." + +MAKEDEPS="cmake openssl" + +PKG_VER=master +SOURCE="https://github.com/DiegoMagdaleno/BSDCoreUtils.git" + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/cabal/cabal.project.freeze b/repo/cabal/cabal.project.freeze deleted file mode 100644 index f4c0bd7..0000000 --- a/repo/cabal/cabal.project.freeze +++ /dev/null @@ -1,68 +0,0 @@ -active-repositories: hackage.haskell.org:merge -constraints: any.Cabal ==3.8.1.0, - any.Cabal-syntax ==3.8.1.0, - any.HTTP ==4000.4.1, - HTTP -conduit10 +network-uri -warn-as-error -warp-tests, - any.array ==0.5.4.0, - any.async ==2.2.4, - async -bench, - any.base ==4.15.1.0, - any.base-orphans ==0.8.7, - any.base16-bytestring ==1.0.2.0, - any.base64-bytestring ==1.2.1.0, - any.binary ==0.8.8.0, - any.bytestring ==0.10.12.1, - cabal-install +lukko +native-dns, - any.cabal-install-solver ==3.8.1.0, - cabal-install-solver -debug-conflict-sets -debug-expensive-assertions -debug-tracetree, - any.containers ==0.6.4.1, - any.cryptohash-sha256 ==0.11.102.1, - cryptohash-sha256 -exe +use-cbits, - any.deepseq ==1.4.5.0, - any.directory ==1.3.6.2, - any.echo ==0.1.4, - echo -example, - any.ed25519 ==0.0.5.0, - ed25519 +no-donna +test-doctests +test-hlint +test-properties, - any.edit-distance ==0.2.2.1, - any.exceptions ==0.10.4, - any.filepath ==1.4.2.1, - any.ghc-bignum ==1.1, - any.ghc-boot-th ==9.0.2, - any.ghc-prim ==0.7.0, - any.hackage-security ==0.6.2.2, - hackage-security +base48 -cabal-syntax +lukko -mtl21 -old-directory +use-network-uri, - any.hashable ==1.4.1.0, - hashable +containers +integer-gmp -random-initial-seed, - any.hsc2hs ==0.68.8, - hsc2hs -in-ghc-tree, - any.lukko ==0.1.1.3, - lukko +ofd-locking, - any.mtl ==2.2.2, - any.network ==3.1.2.7, - network -devel, - any.network-uri ==2.6.4.1, - any.parsec ==3.1.14.0, - any.pretty ==1.1.3.6, - any.process ==1.6.15.0, - any.random ==1.2.1.1, - any.regex-base ==0.94.0.2, - any.regex-posix ==0.96.0.1, - regex-posix -_regex-posix-clib, - any.resolv ==0.1.2.0, - any.rts ==1.0.2, - any.safe-exceptions ==0.1.7.3, - any.splitmix ==0.1.0.4, - splitmix -optimised-mixer, - any.stm ==2.5.0.0, - any.tar ==0.5.1.1, - tar -old-bytestring -old-time, - any.template-haskell ==2.17.0.0, - any.text ==1.2.5.0, - any.th-compat ==0.1.4, - any.time ==1.9.3, - any.transformers ==0.5.6.2, - any.unix ==2.7.2.2, - any.zlib ==0.6.3.0, - zlib -bundled-c-zlib -non-blocking-ffi -pkg-config -index-state: hackage.haskell.org 2022-08-16T18:13:49Z diff --git a/repo/cabal/cabal.xibuild b/repo/cabal/cabal.xibuild deleted file mode 100644 index 64bcd18..0000000 --- a/repo/cabal/cabal.xibuild +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -NAME="cabal" -DESC="The Haskell Cabal" - -MAKEDEPS="ghc gmp libffi zlib cabal-bootstrap" - -PKG_VER=3.8.1.0 -SOURCE="https://hackage.haskell.org/package/cabal-install-$PKG_VER/cabal-install-$PKG_VER.tar.gz" - -ADDITIONAL=" -cabal.project.freeze -" - -cabal_update() { - cd $BUILD_ROOT - # Build a freeze file to make the build reproducible. - # This freeze file is stored in $source and thus tracked in Git. - HOME="$_cabal_home" cabal v2-update --allow-newer - ( - cd "$BUILD_ROOT" - HOME="$_cabal_home" cabal v2-freeze \ - --allow-newer --shadow-installed-packages - mv cabal.project.freeze "$startdir/" - ) -} - -prepare() { - apply_patches - ln -sf "$BUILD_ROOT/cabal.project.freeze" \ - "$BUILD_ROOT/cabal.project.freeze" -} - -build() { - HOME="$_cabal_home" cabal v2-update - HOME="$_cabal_home" cabal v2-build all \ - --allow-newer \ - --jobs=${JOBS:-1} \ - --prefix=/usr \ - --docdir=/usr/share/doc/cabal \ - --sysconfdir=/etc -} - -package() { - # With v2- cabal no longer wants us to separate v2-build and - # v2-install, however, we don't want to build everything in a - # fakeroot. We work around this by copying binaries build in the - # previous step manually. - # - # See https://github.com/haskell/cabal/issues/6919#issuecomment-761563498 - HOME="$_cabal_home" cabal list-bin --allow-newer all:exes | \ - xargs install -Dm755 -t "$PKG_DEST"/usr/bin - - mkdir -p "$PKG_DEST"/usr/share/man/man1 - HOME="$_cabal_home" cabal man --raw \ - > "$PKG_DEST"/usr/share/man/man1/cabal.1 - - install -Dm644 LICENSE "$PKG_DEST/usr/share/licenses/cabal/LICENSE" -} - diff --git a/repo/cairomm/cairomm.xibuild b/repo/cairomm/cairomm.xibuild index 3d98220..28c5b3f 100644 --- a/repo/cairomm/cairomm.xibuild +++ b/repo/cairomm/cairomm.xibuild @@ -3,10 +3,9 @@ NAME="cairomm" DESC="C++ bindings to Cairo vector graphics library" -MAKEDEPS="meson ninja " -DEPS="cairo libsigc++ " +MAKEDEPS="meson ninja mm-common cairo libsigc++ " -PKG_VER=1.14.3 +PKG_VER=1.16.2 SOURCE="https://www.cairographics.org/releases/cairomm-$PKG_VER.tar.xz" build () { diff --git a/repo/caps/caps.xibuild b/repo/caps/caps.xibuild new file mode 100644 index 0000000..7e08c48 --- /dev/null +++ b/repo/caps/caps.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="caps" +DESC="The LADSPA C* Audio Plugin Suite" + +MAKEDEPS="make ladspa " + +PKG_VER=0.9.26 +SOURCE="http://quitte.de/dsp/caps_${PKG_VER}.tar.bz2" +ADDITIONAL=" +fix-cstdint-missing.patch +" + +prepare () { + apply_patches +} + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static + make +} + +package () { + make PREFIX=$PKG_DEST/usr install +} diff --git a/repo/caps/fix-cstdint-missing.patch b/repo/caps/fix-cstdint-missing.patch new file mode 100644 index 0000000..1cb69fd --- /dev/null +++ b/repo/caps/fix-cstdint-missing.patch @@ -0,0 +1,33 @@ +--- build/basics.h 2023-01-28 14:09:49.976317796 +0000 ++++ build.orig/basics.h 2023-01-28 14:08:45.279312604 +0000 +@@ -38,6 +38,7 @@ + #define _ISOC99_SOURCE 1 + #define _ISOC9X_SOURCE 1 + ++#include <cstdint> + #include <stdlib.h> + #include <string.h> + +@@ -50,14 +49,14 @@ + + #include "ladspa.h" + +-typedef __int8_t int8; +-typedef __uint8_t uint8; +-typedef __int16_t int16; +-typedef __uint16_t uint16; +-typedef __int32_t int32; +-typedef __uint32_t uint32; +-typedef __int64_t int64; +-typedef __uint64_t uint64; ++typedef int8_t int8; ++typedef uint8_t uint8; ++typedef int16_t int16; ++typedef uint16_t uint16; ++typedef int32_t int32; ++typedef uint32_t uint32; ++typedef int64_t int64; ++typedef uint64_t uint64; + + #define MIN_GAIN 1e-6 /* -120 dB */ + /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */ diff --git a/repo/cbindgen/cbindgen.xibuild b/repo/cbindgen/cbindgen.xibuild index ae10722..23887b0 100644 --- a/repo/cbindgen/cbindgen.xibuild +++ b/repo/cbindgen/cbindgen.xibuild @@ -3,16 +3,20 @@ NAME="cbindgen" DESC="Tool to generate C bindings from Rust code" -MAKEDEPS="" -DEPS="gcc " +MAKEDEPS="cargo" -PKG_VER=0.23.0 +PKG_VER=0.24.3 SOURCE="https://crates.io/api/v1/crates/cbindgen/$PKG_VER/download" -build () { - cargo build --release --locked --verbose +prepare() { + cargo fetch --locked } -package () { - install -Dm0755 target/release/cbindgen "$PKG_DEST/usr/bin/cbindgen" +build() { + cargo build --release --frozen } + +package() { + install -Dm0755 target/release/cbindgen -t "$PKG_DEST"/usr/bin +} + diff --git a/repo/chromium/chromium.xibuild b/repo/chromium/chromium.xibuild index a97458a..819a6f5 100644 --- a/repo/chromium/chromium.xibuild +++ b/repo/chromium/chromium.xibuild @@ -3,10 +3,9 @@ NAME="chromium" DESC="Chromium webbrowser (ungoogled)" -MAKEDEPS="meson ninja hwids lld pciutils" -DEPS="alsa-lib at-spi2-atk at-spi2-core atk cairo dbus eudev expat ffmpeg4 flac font-opensans fontconfig freetype2 glib gtk3 harfbuzz lcms2 libdrm libevent libjpeg-turbo libpng pulseaudio libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxkbcommon libxml2 libxrandr libxslt mesa musl nspr nss opus pango re2 snappy wayland xdg-utils nodejs" +MAKEDEPS="meson ninja hwids lld pciutils alsa-lib at-spi2-atk at-spi2-core atk cairo dbus eudev expat ffmpeg4 flac font-opensans fontconfig freetype2 glib gtk3 harfbuzz lcms2 libdrm libevent libjpeg-turbo libpng pulseaudio libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxkbcommon libxml2 libxrandr libxslt mesa musl nspr nss opus pango re2 snappy wayland xdg-utils nodejs libexecinfo" -PKG_VER=100.0.4896.127 +PKG_VER=108.0.5359.124 SOURCE="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$PKG_VER.tar.xz" @@ -18,7 +17,6 @@ https://chromium-fonts.storage.googleapis.com/$fonts_package chromium-VirtualCursor-standard-layout.patch chromium-revert-drop-of-system-java.patch -chromium-use-alpine-target.patch chromium.conf chromium-launcher.sh chromium.desktop @@ -45,7 +43,6 @@ no-getcontext.patch no-mallinfo.patch quiche-arena-size.patch resolver.patch -revert-use-ffile-compilation-dir.patch scoped-file.patch system-opus.patch use-deprecated-ffmpeg-api.patch @@ -101,7 +98,6 @@ prepare () { # added benefit of not having to list all the remaining libraries local use_system=" - ffmpeg flac fontconfig freetype @@ -128,23 +124,31 @@ prepare () { python build/linux/unbundle/replace_gn_files.py \ --system-libraries ${use_system} python third_party/libaddressinput/chromium/tools/update-strings.py + + # avoid errors like error: unknown type name 'ssize_t' + sed -i "1i#include <sys/types.h>" base/third_party/symbolize/symbolize.h + + # this header is missing for some reason? + sed -i "1i#include <cstdint>" net/third_party/quiche/src/quiche/http2/adapter/window_manager.h + } build () { - export CC=clang - export CXX=clang++ - export LD=clang++ - #export AR=ar - #export NM=nm - #export LDFLAGS="-stdlib=libstdc++" + export cc=gcc + export cxx=g++ + export ld=ld + export ar=ar + export nm=nm + #export ldflags="-stdlib=libstdc++" flags=" +is_clang=false custom_toolchain=\"//build/toolchain/linux/unbundle:default\" host_toolchain=\"//build/toolchain/linux/unbundle:default\" enable_nacl=false use_sysroot=false gold_path=\"/usr/bin/ld.gold\" -use_custom_libcxx=true +use_custom_libcxx=false use_gold=false is_debug=false blink_symbol_level=0 @@ -154,6 +158,7 @@ use_allocator=\"none\" use_allocator_shim=false enable_widevine=true use_system_harfbuzz=false +use_system_libffi=true use_system_wayland_scanner=true use_cups=false use_gnome_keyring=false @@ -163,7 +168,7 @@ use_pulseaudio=true link_pulseaudio=true rtc_use_pipewire=true proprietary_codecs=false -ffmpeg_branding=\"Chrome\" +ffmpeg_branding=\"chrome\" fatal_linker_warnings=false disable_fieldtrial_testing_config=true is_official_build=true @@ -173,19 +178,25 @@ use_cfi_icall=false chrome_pgo_phase=0 " - # Append ungoogled chromium flags to _flags array + # append ungoogled chromium flags to _flags array flags="$flags - $(cat "ungoogled-chromium-$PKG_VER-1/flags.gn") + $(cat "ungoogled-chromium-$pkg_ver-1/flags.gn") + enable_mse_mpeg2ts_stream_parser=false " # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) - CFLAGS="$CFLAGS -Wno-builtin-macro-redefined" - CXXFLAGS="$CXXFLAGS -Wno-builtin-macro-redefined" - CPPFLAGS="$CPPFLAGS -D__DATE__= -D__TIME__= -D__TIMESTAMP__=" - # Do not warn about unknown warning options - CFLAGS="$CFLAGS -Wno-unknown-warning-option" - CXXFLAGS="$CXXFLAGS -Wno-unknown-warning-option" + # these don't work on gcc build + #CFLAGS="$CFLAGS -WNO-BUILTIN-MACRO-REDEFINED" + #CXXFLAGS="$CXXFLAGS -WNO-BUILTIN-MACRO-REDEFINED" + + # avoid redefining + #CPPFLAGS="$CPPFLAGS -D__DATE__= -D__TIME__= -D__TIMESTAMP__=" + + + # these don't work on gcc build + #CFLAGS="$CFLAGS -WNO-UNKNOWN-WARNING-OPTION" + #CXXFLAGS="$CXXFLAGS -WNO-UNKNOWN-WARNING-OPTION" python3 tools/gn/bootstrap/bootstrap.py -s -v --skip-generate-buildfiles diff --git a/repo/chromium/no-mallinfo.patch b/repo/chromium/no-mallinfo.patch index 23ce40e..675d5b0 100644 --- a/repo/chromium/no-mallinfo.patch +++ b/repo/chromium/no-mallinfo.patch @@ -1,14 +1,30 @@ ---- ./base/trace_event/malloc_dump_provider.cc.orig -+++ ./base/trace_event/malloc_dump_provider.cc -@@ -212,7 +212,7 @@ +--- a/base/trace_event/malloc_dump_provider.cc ++++ b/base/trace_event/malloc_dump_provider.cc +@@ -185,7 +185,6 @@ + #define MALLINFO2_FOUND_IN_LIBC + struct mallinfo2 info = mallinfo2(); + #endif +-#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ) + #if !defined(MALLINFO2_FOUND_IN_LIBC) + struct mallinfo info = mallinfo(); + #endif +@@ -205,6 +204,7 @@ + sys_alloc_dump->AddScalar(MemoryAllocatorDump::kNameSize, + MemoryAllocatorDump::kUnitsBytes, info.uordblks); + } ++#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ) + } + #endif + +@@ -339,7 +340,7 @@ &allocated_objects_count); - #elif defined(OS_FUCHSIA) + #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. -#else +#elif defined(__GLIBC__) - #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) - #if __GLIBC_PREREQ(2, 33) - #define MALLINFO2_FOUND_IN_LIBC + ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, + &allocated_objects_size, &allocated_objects_count); + #endif --- ./base/process/process_metrics_posix.cc.orig +++ ./base/process/process_metrics_posix.cc @@ -105,7 +105,7 @@ @@ -81,3 +97,14 @@ /* Define to 1 if you have the <malloc.h> header file. */ #define HAVE_MALLOC_H 1 +--- a/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc ++++ b/base/allocator/partition_allocator/shim/allocator_shim_default_dispatch_to_partition_alloc.cc +@@ -717,7 +717,7 @@ + + #endif // !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if 0 + SHIM_ALWAYS_EXPORT struct mallinfo mallinfo(void) __THROW { + base::SimplePartitionStatsDumper allocator_dumper; + Allocator()->DumpStats("malloc", true, &allocator_dumper); diff --git a/repo/cmt/cmt.xibuild b/repo/cmt/cmt.xibuild new file mode 100644 index 0000000..fff6237 --- /dev/null +++ b/repo/cmt/cmt.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="cmt" +DESC="LADSPA plugins for use with software synthesis and recording packages on Linux" + +MAKEDEPS="make ladspa " + +PKG_VER=1.18 +SOURCE="https://www.ladspa.org/download/cmt_${PKG_VER}.tgz" + +prepare () { + sed -e "s|-O2|${CFLAGS} ${LDFLAGS}|" -i src/Makefile +} + +build () { + cd src + make +} + +package () { + cd .. + install -Dm 755 plugins/cmt.so "${PKG_DEST}/usr/lib/ladspa/" +} diff --git a/repo/cryptsetup/cryptsetup.xibuild b/repo/cryptsetup/cryptsetup.xibuild index b53db4d..5692c15 100644 --- a/repo/cryptsetup/cryptsetup.xibuild +++ b/repo/cryptsetup/cryptsetup.xibuild @@ -26,11 +26,11 @@ build () { package () { make DESTDIR=$PKG_DEST install - install -Dm644 "$srcdir"/dmcrypt.confd "$PKG_DEST"/etc/conf.d/dmcrypt - install -Dm755 "$srcdir"/dmcrypt.initd "$PKG_DEST"/etc/init.d/dmcrypt + install -Dm644 dmcrypt.confd "$PKG_DEST"/etc/conf.d/dmcrypt + install -Dm755 dmcrypt.initd "$PKG_DEST"/etc/init.d/dmcrypt mkdir -p "$PKG_DEST"/usr/share/doc/cryptsetup/ - install -m644 README.md FAQ docs/v$PKG_VER-ReleaseNotes \ + install -m644 README.md docs/v$PKG_VER-ReleaseNotes \ "$PKG_DEST"/usr/share/doc/cryptsetup/ } diff --git a/repo/curl/curl.xibuild b/repo/curl/curl.xibuild index 09699d5..8daa84d 100644 --- a/repo/curl/curl.xibuild +++ b/repo/curl/curl.xibuild @@ -1,7 +1,7 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="openssl zlib zstd libnghttp libpsl cacerts" +MAKEDEPS="make openssl zlib zstd libnghttp libpsl cacerts rtmpdump" +DEPS="cacerts" PKG_VER=7.85.0 SOURCE=https://curl.se/download/curl-$PKG_VER.tar.xz diff --git a/repo/cython/cython.xibuild b/repo/cython/cython.xibuild index 4a85372..18555e0 100644 --- a/repo/cython/cython.xibuild +++ b/repo/cython/cython.xibuild @@ -12,9 +12,6 @@ ADDITIONAL=" cython-test-fix.patch " -prepare () { - apply_patches -} build() { python3 setup.py build diff --git a/repo/dash/dash.xibuild b/repo/dash/dash.xibuild index a63eb4d..b188f4e 100644 --- a/repo/dash/dash.xibuild +++ b/repo/dash/dash.xibuild @@ -3,11 +3,12 @@ MAKEDEPS="make " DEPS="musl" -PKG_VER=0.5.11.5 -SOURCE=http://gondor.apana.org.au/~herbert/dash/files/dash-$PKG_VER.tar.gz +PKG_VER=0.5.12 +SOURCE=https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/dash-$PKG_VER.tar.gz DESC="POSIX compliant shell that aims to be as small as possible" build () { + autoreconf -vif ./configure --bindir=/usr/bin --mandir=/usr/share/man && make } diff --git a/repo/ddcutil/ddcutil.xibuild b/repo/ddcutil/ddcutil.xibuild index 03a55d9..f0440b9 100644 --- a/repo/ddcutil/ddcutil.xibuild +++ b/repo/ddcutil/ddcutil.xibuild @@ -3,13 +3,12 @@ NAME="ddcutil" DESC="Query and change Linux monitor settings using DDC/CI and USB" -MAKEDEPS=" linux-headers autoconf automake libtool eudev libusb i2c-tools libxrandr glib kmod" +MAKEDEPS="linux-headers autoconf automake libtool eudev libusb i2c-tools libxrandr glib kmod" PKG_VER=1.3.0 SOURCE="https://github.com/rockowitz/ddcutil/archive/v$PKG_VER.tar.gz" prepare() { - apply_patches NOCONFIGURE=1 ./autogen.sh } diff --git a/repo/dino/dino.xibuild b/repo/dino/dino.xibuild deleted file mode 100644 index 8f40781..0000000 --- a/repo/dino/dino.xibuild +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -NAME="dino" -DESC="Modern Jabber/XMPP client" - -MAKEDEPS=" cmake glib glib-networking gpgme gspell gst-libav gst-plugins-base gtk3 libgcrypt libgee libhandy1 libnice libqrencode libsignal-protocol-c libsoup libsrtp ninja sqlite vala webrtc-audio-processing" - -PKG_VER=0.3.0 -SOURCE="https://github.com/dino/dino/releases/download/v$PKG_VER/dino-$PKG_VER.tar.gz" - -ADDITIONAL=" -mobile-ui.patch -" - -build() { - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var \ - --with-tests - make -} - -check() { - build/xmpp-vala-test - build/signal-protocol-vala-test -} - -package() { - make DESTDIR="$PKG_DEST" install -} diff --git a/repo/dino/mobile-ui.patch b/repo/dino/mobile-ui.patch deleted file mode 100644 index f274acf..0000000 --- a/repo/dino/mobile-ui.patch +++ /dev/null @@ -1,967 +0,0 @@ -diff --git a/cmake/FindHandy.cmake b/cmake/FindHandy.cmake -new file mode 100644 -index 00000000..49148f0f ---- /dev/null -+++ b/cmake/FindHandy.cmake -@@ -0,0 +1,11 @@ -+include(PkgConfigWithFallback) -+find_pkg_config_with_fallback(Handy -+ PKG_CONFIG_NAME libhandy-1 -+ LIB_NAMES libhandy-1 -+ INCLUDE_NAMES handy.h -+) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Handy -+ REQUIRED_VARS Handy_LIBRARY -+ VERSION_VAR Handy_VERSION) -diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt -index e052785a..f6c3edc7 100644 ---- a/main/CMakeLists.txt -+++ b/main/CMakeLists.txt -@@ -11,6 +11,7 @@ find_packages(MAIN_PACKAGES REQUIRED - GTK3 - ICU - Gspell -+ Handy - ) - - set(RESOURCE_LIST -diff --git a/main/data/add_conversation/select_jid_fragment.ui b/main/data/add_conversation/select_jid_fragment.ui -index 50bc0e36..be56e710 100644 ---- a/main/data/add_conversation/select_jid_fragment.ui -+++ b/main/data/add_conversation/select_jid_fragment.ui -@@ -1,82 +1,88 @@ - <?xml version="1.0" encoding="UTF-8"?> - <interface> - <template class="DinoUiSelectJidFragment"> -- <property name="height_request">500</property> -- <property name="width_request">460</property> -+ <property name="height_request">480</property> - <property name="visible">True</property> - <child> -- <object class="GtkGrid"> -- <property name="expand">True</property> -- <property name="margin-top">20</property> -- <property name="margin-right">80</property> -- <property name="margin-bottom">20</property> -- <property name="margin-left">80</property> -- <property name="orientation">vertical</property> -- <property name="row-spacing">10</property> -+ <object class="HdyClamp"> -+ <property name="margin-right">18</property> -+ <property name="margin-left">18</property> -+ <property name="maximum-size">300</property> - <property name="visible">True</property> -+ <property name="can_focus">False</property> - <child> -- <object class="GtkEntry" id="entry"> -- <property name="activates_default">True</property> -- <property name="hexpand">True</property> -- <property name="visible">True</property> -- </object> -- </child> -- <child> -- <object class="GtkBox"> -+ <object class="GtkGrid"> - <property name="expand">True</property> -+ <property name="margin-top">20</property> -+ <property name="margin-bottom">20</property> - <property name="orientation">vertical</property> -+ <property name="row-spacing">10</property> - <property name="visible">True</property> - <child> -- <object class="GtkFrame"> -+ <object class="GtkEntry" id="entry"> -+ <property name="activates_default">True</property> -+ <property name="hexpand">True</property> -+ <property name="visible">True</property> -+ </object> -+ </child> -+ <child> -+ <object class="GtkBox"> -+ <property name="expand">True</property> -+ <property name="orientation">vertical</property> - <property name="visible">True</property> - <child> -- <object class="GtkScrolledWindow" id="scrolled_window"> -- <property name="hscrollbar_policy">never</property> -- <property name="expand">True</property> -+ <object class="GtkFrame"> - <property name="visible">True</property> - <child> -- <object class="GtkBox" id="box"> -- <property name="orientation">vertical</property> -+ <object class="GtkScrolledWindow" id="scrolled_window"> -+ <property name="hscrollbar_policy">never</property> -+ <property name="expand">True</property> - <property name="visible">True</property> -+ <child> -+ <object class="GtkBox" id="box"> -+ <property name="orientation">vertical</property> -+ <property name="visible">True</property> -+ </object> -+ </child> - </object> - </child> - </object> - </child> -- </object> -- </child> -- <child> -- <object class="GtkToolbar"> -- <property name="visible">True</property> -- <style> -- <class name="inline-toolbar"/> -- </style> - <child> -- <object class="GtkToolItem"> -+ <object class="GtkToolbar"> - <property name="visible">True</property> -+ <style> -+ <class name="inline-toolbar"/> -+ </style> - <child> -- <object class="GtkBox"> -+ <object class="GtkToolItem"> - <property name="visible">True</property> - <child> -- <object class="GtkButton" id="add_button"> -+ <object class="GtkBox"> - <property name="visible">True</property> - <child> -- <object class="GtkImage"> -- <property name="icon-name">list-add-symbolic</property> -- <property name="icon-size">1</property> -+ <object class="GtkButton" id="add_button"> - <property name="visible">True</property> -+ <child> -+ <object class="GtkImage"> -+ <property name="icon-name">list-add-symbolic</property> -+ <property name="icon-size">1</property> -+ <property name="visible">True</property> -+ </object> -+ </child> - </object> - </child> -- </object> -- </child> -- <child> -- <object class="GtkButton" id="remove_button"> -- <property name="sensitive">False</property> -- <property name="visible">True</property> - <child> -- <object class="GtkImage"> -- <property name="icon-name">list-remove-symbolic</property> -- <property name="icon-size">1</property> -+ <object class="GtkButton" id="remove_button"> -+ <property name="sensitive">False</property> - <property name="visible">True</property> -+ <child> -+ <object class="GtkImage"> -+ <property name="icon-name">list-remove-symbolic</property> -+ <property name="icon-size">1</property> -+ <property name="visible">True</property> -+ </object> -+ </child> - </object> - </child> - </object> -diff --git a/main/data/contact_details_dialog.ui b/main/data/contact_details_dialog.ui -index 4058bc77..3ba17746 100644 ---- a/main/data/contact_details_dialog.ui -+++ b/main/data/contact_details_dialog.ui -@@ -1,6 +1,7 @@ - <?xml version="1.0" encoding="UTF-8"?> - <interface> - <template class="DinoUiContactDetailsDialog"> -+ <property name="default_width">800</property> - <property name="modal">True</property> - <child type="titlebar"> - <object class="GtkHeaderBar"> -@@ -21,98 +22,103 @@ - <property name="expand">True</property> - <property name="visible">True</property> - <child> -- <object class="GtkBox"> -- <property name="orientation">vertical</property> -+ <object class="HdyClamp"> -+ <property name="margin-right">18</property> -+ <property name="margin-left">18</property> - <property name="visible">True</property> -+ <property name="can_focus">False</property> - <child> -- <object class="GtkGrid"> -- <property name="margin-top">20</property> -- <property name="margin-bottom">12</property> -- <property name="margin-right">100</property> -- <property name="margin-left">100</property> -- <property name="column-spacing">10</property> -+ <object class="GtkBox"> -+ <property name="orientation">vertical</property> - <property name="visible">True</property> - <child> -- <object class="DinoUiAvatarImage" id="avatar"> -- <property name="height">50</property> -- <property name="width">50</property> -- <property name="visible">True</property> -- <property name="allow_gray">False</property> -- </object> -- <packing> -- <property name="left_attach">0</property> -- <property name="top_attach">0</property> -- <property name="width">1</property> -- <property name="height">2</property> -- </packing> -- </child> -- <child> -- <object class="DinoUiUtilEntryLabelHybrid" id="name_hybrid"> -- <property name="xalign">0</property> -- <property name="expand">True</property> -- <property name="visible">True</property> -- </object> -- <packing> -- <property name="left_attach">1</property> -- <property name="top_attach">0</property> -- <property name="width">1</property> -- <property name="height">1</property> -- </packing> -- </child> -- <child> -- <object class="GtkLabel" id="name_label"> -- <property name="xalign">0</property> -- <property name="expand">True</property> -+ <object class="GtkGrid"> -+ <property name="margin-top">20</property> -+ <property name="margin-bottom">12</property> -+ <property name="column-spacing">10</property> -+ <property name="expand">False</property> - <property name="visible">True</property> -- <attributes> -- <attribute name="weight" value="PANGO_WEIGHT_BOLD"/> -- </attributes> -+ <child> -+ <object class="DinoUiAvatarImage" id="avatar"> -+ <property name="height">50</property> -+ <property name="width">50</property> -+ <property name="visible">True</property> -+ <property name="allow_gray">False</property> -+ </object> -+ <packing> -+ <property name="left_attach">0</property> -+ <property name="top_attach">0</property> -+ <property name="width">1</property> -+ <property name="height">2</property> -+ </packing> -+ </child> -+ <child> -+ <object class="DinoUiUtilEntryLabelHybrid" id="name_hybrid"> -+ <property name="xalign">0</property> -+ <property name="expand">True</property> -+ <property name="visible">True</property> -+ </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">0</property> -+ <property name="width">1</property> -+ <property name="height">1</property> -+ </packing> -+ </child> -+ <child> -+ <object class="GtkLabel" id="name_label"> -+ <property name="xalign">0</property> -+ <property name="expand">True</property> -+ <property name="visible">True</property> -+ <attributes> -+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/> -+ </attributes> -+ </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">0</property> -+ <property name="width">1</property> -+ <property name="height">1</property> -+ </packing> -+ </child> -+ <child> -+ <object class="GtkLabel" id="jid_label"> -+ <property name="xalign">0</property> -+ <property name="yalign">0</property> -+ <property name="selectable">True</property> -+ <property name="expand">True</property> -+ <property name="visible">True</property> -+ </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">1</property> -+ <property name="width">1</property> -+ <property name="height">1</property> -+ </packing> -+ </child> -+ <child> -+ <object class="GtkLabel" id="account_label"> -+ <property name="xalign">1</property> -+ <property name="yalign">1</property> -+ <property name="margin">5</property> -+ <property name="expand">True</property> -+ <property name="visible">True</property> -+ </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">2</property> -+ <property name="width">1</property> -+ <property name="height">1</property> -+ </packing> -+ </child> - </object> -- <packing> -- <property name="left_attach">1</property> -- <property name="top_attach">0</property> -- <property name="width">1</property> -- <property name="height">1</property> -- </packing> - </child> - <child> -- <object class="GtkLabel" id="jid_label"> -- <property name="xalign">0</property> -- <property name="yalign">0</property> -- <property name="selectable">True</property> -- <property name="expand">True</property> -+ <object class="GtkBox" id="main_box"> -+ <property name="orientation">vertical</property> - <property name="visible">True</property> - </object> -- <packing> -- <property name="left_attach">1</property> -- <property name="top_attach">1</property> -- <property name="width">1</property> -- <property name="height">1</property> -- </packing> - </child> -- <child> -- <object class="GtkLabel" id="account_label"> -- <property name="xalign">1</property> -- <property name="yalign">1</property> -- <property name="margin">5</property> -- <property name="expand">True</property> -- <property name="visible">True</property> -- </object> -- <packing> -- <property name="left_attach">2</property> -- <property name="top_attach">1</property> -- <property name="width">1</property> -- <property name="height">1</property> -- </packing> -- </child> -- </object> -- </child> -- <child> -- <object class="GtkBox" id="main_box"> -- <property name="orientation">vertical</property> -- <property name="margin-right">100</property> -- <property name="margin-left">100</property> -- <property name="visible">True</property> - </object> - </child> - </object> -diff --git a/main/data/conversation_content_view/view.ui b/main/data/conversation_content_view/view.ui -index 17f753f5..47302e2f 100644 ---- a/main/data/conversation_content_view/view.ui -+++ b/main/data/conversation_content_view/view.ui -@@ -4,6 +4,7 @@ - <property name="expand">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> -+ <property name="width_request">350</property> - <property name="visible">True</property> - <child> - <object class="GtkStack" id="stack"> -diff --git a/main/data/emojichooser.ui b/main/data/emojichooser.ui -index d47a2c22..473820a6 100644 ---- a/main/data/emojichooser.ui -+++ b/main/data/emojichooser.ui -@@ -187,7 +187,7 @@ - </object> - </child> - <child> -- <object class="GtkBox"> -+ <object class="GtkGrid"> - <property name="visible">1</property> - <!-- Remember to keep tooltips here in sync with section headings above --> - <child> -@@ -204,6 +204,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">0</property> -+ <property name="top_attach">0</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="people.button"> -@@ -219,6 +223,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">0</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="body.button"> -@@ -234,6 +242,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">2</property> -+ <property name="top_attach">0</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="nature.button"> -@@ -249,6 +261,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">3</property> -+ <property name="top_attach">0</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="food.button"> -@@ -264,6 +280,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">4</property> -+ <property name="top_attach">0</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="travel.button"> -@@ -279,6 +299,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">0</property> -+ <property name="top_attach">1</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="activities.button"> -@@ -294,6 +318,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">1</property> -+ <property name="top_attach">1</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="objects.button"> -@@ -309,6 +337,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">2</property> -+ <property name="top_attach">1</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="symbols.button"> -@@ -324,6 +356,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">3</property> -+ <property name="top_attach">1</property> -+ </packing> - </child> - <child> - <object class="GtkButton" id="flags.button"> -@@ -339,6 +375,10 @@ - </object> - </child> - </object> -+ <packing> -+ <property name="left_attach">4</property> -+ <property name="top_attach">1</property> -+ </packing> - </child> - </object> - </child> -diff --git a/main/data/im.dino.Dino.appdata.xml.in b/main/data/im.dino.Dino.appdata.xml.in -index c95ef12e..180b7873 100644 ---- a/main/data/im.dino.Dino.appdata.xml.in -+++ b/main/data/im.dino.Dino.appdata.xml.in -@@ -45,5 +45,11 @@ - </description> - </release> - </releases> -- --> --</component> -+ --> -+ -+ <custom> -+ <value key="Purism::form_factor">workstation</value> -+ <value key="Purism::form_factor">mobile</value> -+ </custom> -+ -+ </component> -diff --git a/main/data/im.dino.Dino.desktop b/main/data/im.dino.Dino.desktop -index 90f3e38f..66faaa82 100644 ---- a/main/data/im.dino.Dino.desktop -+++ b/main/data/im.dino.Dino.desktop -@@ -11,3 +11,4 @@ Type=Application - Categories=GTK;Network;Chat;InstantMessaging; - X-GNOME-UsesNotifications=true - MimeType=x-scheme-handler/xmpp; -+X-Purism-FormFactor=Workstation;Mobile; -diff --git a/main/data/theme.css b/main/data/theme.css -index 3e076248..897e4cc9 100644 ---- a/main/data/theme.css -+++ b/main/data/theme.css -@@ -74,6 +74,11 @@ window.dino-main .dino-sidebar > frame { - border-bottom: 1px solid @borders; - } - -+window.dino-main list.sidebar { -+ border-left: 0px; -+ border-right: 0px; -+} -+ - .message-box { - transition: background .05s ease; - } -diff --git a/main/data/unified_main_content.ui b/main/data/unified_main_content.ui -index 03c206c1..e16bc4a8 100644 ---- a/main/data/unified_main_content.ui -+++ b/main/data/unified_main_content.ui -@@ -1,12 +1,14 @@ - <?xml version="1.0" encoding="UTF-8"?> - <interface> -- <object class="GtkPaned" id="paned"> -- <property name="position">300</property> -+ <object class="HdyLeaflet" id="paned"> - <property name="orientation">horizontal</property> - <property name="visible">True</property> -+ <property name="can_focus">False</property> -+ <property name="transition-type">slide</property> - <child> - <object class="GtkStack" id="left_stack"> - <property name="visible">True</property> -+ <property name="hexpand">False</property> - <child> - <object class="GtkScrolledWindow" id="scrolled"> - <property name="expand">True</property> -@@ -29,6 +31,7 @@ - <property name="valign">start</property> - <property name="halign">start</property> - <property name="visible">True</property> -+ <property name="width_request">260</property> - <child> - <object class="GtkImage" id="conversation_list_placeholder_image"> - <property name="visible">True</property> -@@ -44,7 +47,9 @@ - <property name="margin-top">70</property> - <property name="margin-right">50</property> - <property name="visible">True</property> -+ <property name="xalign">0</property> - <property name="valign">end</property> -+ <property name="max-width-chars">0</property> - <property name="label" translatable="yes">Click here to start a conversation or join a channel.</property> - <style> - <class name="dim-label"/> -@@ -58,10 +63,18 @@ - </child> - </object> - <packing> -- <property name="resize">False</property> -- <property name="shrink">False</property> -+ <property name="name">list-pane</property> - </packing> - </child> -+ <child> -+ <object class="GtkSeparator" id="paned_separator"> -+ <property name="orientation">vertical</property> -+ <property name="visible">True</property> -+ <style> -+ <class name="sidebar"/> -+ </style> -+ </object> -+ </child> - <child> - <object class="GtkOverlay"> - <property name="visible">True</property> -@@ -139,8 +152,7 @@ - </child> - </object> - <packing> -- <property name="resize">True</property> -- <property name="shrink">False</property> -+ <property name="name">view-pane</property> - </packing> - </child> - </object> -diff --git a/main/src/ui/add_conversation/add_conference_dialog.vala b/main/src/ui/add_conversation/add_conference_dialog.vala -index a03f3db6..dfe877ec 100644 ---- a/main/src/ui/add_conversation/add_conference_dialog.vala -+++ b/main/src/ui/add_conversation/add_conference_dialog.vala -@@ -35,6 +35,8 @@ public class AddConferenceDialog : Gtk.Dialog { - setup_jid_add_view(); - setup_conference_details_view(); - show_jid_add_view(); -+ -+ set_default_size(400, 520); - } - - private void show_jid_add_view() { -diff --git a/main/src/ui/add_conversation/select_contact_dialog.vala b/main/src/ui/add_conversation/select_contact_dialog.vala -index d78a17c1..6be7cf3b 100644 ---- a/main/src/ui/add_conversation/select_contact_dialog.vala -+++ b/main/src/ui/add_conversation/select_contact_dialog.vala -@@ -27,6 +27,8 @@ public class SelectContactDialog : Gtk.Dialog { - - setup_view(); - setup_headerbar(); -+ -+ set_default_size(400, 520); - } - - public void set_filter(string str) { -diff --git a/main/src/ui/contact_details/dialog.vala b/main/src/ui/contact_details/dialog.vala -index f29d068e..fe21cbba 100644 ---- a/main/src/ui/contact_details/dialog.vala -+++ b/main/src/ui/contact_details/dialog.vala -@@ -85,11 +85,11 @@ public class Dialog : Gtk.Dialog { - ListBoxRow list_row = new ListBoxRow() { activatable=false, visible=true }; - Box row = new Box(Orientation.HORIZONTAL, 20) { margin_start=15, margin_end=15, margin_top=3, margin_bottom=3, visible=true }; - list_row.add(row); -- Label label_label = new Label(label) { xalign=0, yalign=0.5f, hexpand=true, visible=true }; -+ Label label_label = new Label(label) { xalign=0, yalign=0.5f, hexpand=true, wrap=true, visible=true }; - if (description != null && description != "") { - Box box = new Box(Orientation.VERTICAL, 0) { visible=true }; - box.add(label_label); -- Label desc_label = new Label("") { xalign=0, yalign=0.5f, hexpand=true, visible=true }; -+ Label desc_label = new Label("") { xalign=0, yalign=0.5f, hexpand=true, wrap=true, visible=true }; - desc_label.set_markup("<span size='small'>%s</span>".printf(Markup.escape_text(description))); - desc_label.get_style_context().add_class("dim-label"); - box.add(desc_label); -@@ -117,7 +117,7 @@ public class Dialog : Gtk.Dialog { - - int pref_height, pref_width; - get_content_area().get_preferred_height(null, out pref_height); -- get_preferred_width(out pref_width, null); -+ get_default_size(out pref_width, null); - resize(pref_width, int.min(500, pref_height)); - } - -diff --git a/main/src/ui/conversation_titlebar/conversation_titlebar.vala b/main/src/ui/conversation_titlebar/conversation_titlebar.vala -index 60d8286b..e7455cab 100644 ---- a/main/src/ui/conversation_titlebar/conversation_titlebar.vala -+++ b/main/src/ui/conversation_titlebar/conversation_titlebar.vala -@@ -10,6 +10,10 @@ public interface ConversationTitlebar : Widget { - public abstract string? subtitle { get; set; } - public abstract string? title { get; set; } - -+ public abstract bool back_button { get; set; } -+ -+ public signal void back_pressed(); -+ - public abstract void insert_entry(Plugins.ConversationTitlebarEntry entry); - } - -@@ -28,6 +32,12 @@ public class ConversationTitlebarNoCsd : ConversationTitlebar, Gtk.Box { - } - } - -+ private Revealer back_revealer; -+ public bool back_button { -+ get { return back_revealer.reveal_child; } -+ set { back_revealer.reveal_child = value; } -+ } -+ - private Box widgets_box = new Box(Orientation.HORIZONTAL, 0) { margin_start=15, valign=Align.END, visible=true }; - private Label title_label = new Label("") { ellipsize=EllipsizeMode.END, visible=true }; - private Label subtitle_label = new Label("") { use_markup=true, ellipsize=EllipsizeMode.END, visible=false }; -@@ -36,8 +46,17 @@ public class ConversationTitlebarNoCsd : ConversationTitlebar, Gtk.Box { - Box content_box = new Box(Orientation.HORIZONTAL, 0) { margin=5, margin_start=15, margin_end=10, hexpand=true, visible=true }; - this.add(content_box); - -+ back_revealer = new Revealer() { visible = true, transition_type = RevealerTransitionType.SLIDE_RIGHT, transition_duration = 200, can_focus = false, reveal_child = false }; -+ Button back_button = new Button.from_icon_name("go-previous-symbolic") { visible = true, valign = Align.CENTER, use_underline = true, relief = ReliefStyle.NONE }; -+ back_button.get_style_context().add_class("image-button"); -+ back_button.clicked.connect(() => back_pressed()); -+ back_revealer.add(back_button); -+ content_box.add(back_revealer); -+ - Box titles_box = new Box(Orientation.VERTICAL, 0) { valign=Align.CENTER, hexpand=true, visible=true }; -- content_box.add(titles_box); -+ ScrolledWindow titles_scroll = new ScrolledWindow(null, null) { vscrollbar_policy=NEVER, hscrollbar_policy=NEVER, visible=true }; -+ titles_scroll.add(titles_box); -+ content_box.add(titles_scroll); - - titles_box.add(title_label); - subtitle_label.attributes = new AttrList(); -@@ -65,11 +84,22 @@ public class ConversationTitlebarCsd : ConversationTitlebar, Gtk.HeaderBar { - - public new string? title { get { return this.get_title(); } set { base.set_title(value); } } - public new string? subtitle { get { return this.get_subtitle(); } set { base.set_subtitle(value); } } -+ private Revealer back_revealer; -+ public bool back_button { -+ get { return back_revealer.reveal_child; } -+ set { back_revealer.reveal_child = value; } -+ } - - public ConversationTitlebarCsd() { - this.get_style_context().add_class("dino-right"); - show_close_button = true; - hexpand = true; -+ back_revealer = new Revealer() { visible = true, transition_type = RevealerTransitionType.SLIDE_RIGHT, transition_duration = 200, can_focus = false, reveal_child = false }; -+ Button back_button = new Button.from_icon_name("go-previous-symbolic") { visible = true, valign = Align.CENTER, use_underline = true }; -+ back_button.get_style_context().add_class("image-button"); -+ back_button.clicked.connect(() => back_pressed()); -+ back_revealer.add(back_button); -+ this.pack_start(back_revealer); - } - - public void insert_entry(Plugins.ConversationTitlebarEntry entry) { -@@ -77,6 +107,16 @@ public class ConversationTitlebarCsd : ConversationTitlebar, Gtk.HeaderBar { - Button gtk_widget = (Gtk.Button)widget; - this.pack_end(gtk_widget); - } -+ -+ /* -+ * HdyLeaflet collapses based on natural_width, but labels set natural_width to the width required to have the full -+ * text in a single line, thus if the label gets longer, HdyLeaflet would collapse. Work around is to just use the -+ * minimum_width as natural_width. -+ */ -+ public override void get_preferred_width(out int minimum_width, out int natural_width) { -+ base.get_preferred_width(out minimum_width, out natural_width); -+ natural_width = minimum_width; -+ } - } - - } -diff --git a/main/src/ui/main_window.vala b/main/src/ui/main_window.vala -index 04c01b26..14563c28 100644 ---- a/main/src/ui/main_window.vala -+++ b/main/src/ui/main_window.vala -@@ -22,8 +22,10 @@ public class MainWindow : Gtk.Window { - public ConversationListTitlebarCsd conversation_list_titlebar_csd; - public HeaderBar placeholder_headerbar = new HeaderBar() { title="Dino", show_close_button=true, visible=true }; - public Box box = new Box(Orientation.VERTICAL, 0) { orientation=Orientation.VERTICAL, visible=true }; -- public Paned headerbar_paned = new Paned(Orientation.HORIZONTAL) { visible=true }; -- public Paned paned; -+ public Hdy.Leaflet headerbar_paned = new Hdy.Leaflet() { visible=true }; -+ public Hdy.TitleBar titlebar = new Hdy.TitleBar() { visible=true }; -+ public Hdy.HeaderGroup headergroup = new Hdy.HeaderGroup(); -+ public Hdy.Leaflet paned; - public Revealer search_revealer; - public SearchEntry search_entry; - public GlobalSearch search_box; -@@ -44,23 +46,33 @@ public class MainWindow : Gtk.Window { - restore_window_size(); - - this.get_style_context().add_class("dino-main"); -- setup_headerbar(); -- Gtk.Settings.get_default().notify["gtk-decoration-layout"].connect(set_window_buttons); -- this.realize.connect(set_window_buttons); - setup_unified(); -+ setup_headerbar(); - setup_stack(); - -- paned.bind_property("position", headerbar_paned, "position", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); -+ if (!Util.use_csd()) { -+ box.add(headerbar_paned); -+ box.add(new Separator(Orientation.VERTICAL) { visible = true }); -+ } -+ box.add(paned); -+ -+ paned.bind_property("transition-type", headerbar_paned, "transition-type", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); -+ paned.bind_property("mode-transition-duration", headerbar_paned, "mode-transition-duration", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); -+ paned.bind_property("child-transition-duration", headerbar_paned, "child-transition-duration", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); -+ paned.bind_property("visible-child-name", headerbar_paned, "visible-child-name", BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL); -+ -+ headerbar_paned.bind_property("folded", headergroup, "decorate-all", BindingFlags.SYNC_CREATE); - } - - private void setup_unified() { - Builder builder = new Builder.from_resource("/im/dino/Dino/unified_main_content.ui"); -- paned = (Paned) builder.get_object("paned"); -- box.add(paned); -+ paned = (Hdy.Leaflet) builder.get_object("paned"); -+ paned.notify["folded"].connect_after(() => update_headerbar()); - left_stack = (Stack) builder.get_object("left_stack"); - right_stack = (Stack) builder.get_object("right_stack"); - conversation_view = (ConversationView) builder.get_object("conversation_view"); - conversation_selector = ((ConversationSelector) builder.get_object("conversation_list")).init(stream_interactor); -+ conversation_selector.conversation_selected.connect_after(() => show_view_pane()); - search_box = ((GlobalSearch) builder.get_object("search_box")).init(stream_interactor); - search_revealer = (Revealer) builder.get_object("search_revealer"); - search_entry = (SearchEntry) builder.get_object("search_entry"); -@@ -68,35 +80,60 @@ public class MainWindow : Gtk.Window { - conversation_list_placeholder_image.set_from_pixbuf(new Pixbuf.from_resource("/im/dino/Dino/icons/dino-conversation-list-placeholder-arrow.svg")); - } - -+ private void update_headerbar() { -+ conversation_titlebar.back_button = paned.folded; -+ } -+ -+ private void show_list_pane() { -+ paned.visible_child_name = "list-pane"; -+ if (paned.folded) { -+ conversation_selector.unselect_row(conversation_selector.get_selected_row()); -+ } -+ } -+ -+ private void show_view_pane() { -+ paned.visible_child_name = "view-pane"; -+ } -+ - private void setup_headerbar() { -+ SizeGroup conversation_list_group = new SizeGroup(SizeGroupMode.HORIZONTAL); -+ conversation_list_group.add_widget(left_stack); -+ SizeGroup conversation_view_group = new SizeGroup(SizeGroupMode.HORIZONTAL); -+ conversation_view_group.add_widget(right_stack); - if (Util.use_csd()) { - conversation_list_titlebar_csd = new ConversationListTitlebarCsd() { visible=true }; -- headerbar_paned.pack1(conversation_list_titlebar_csd, false, false); -+ headerbar_paned.add_with_properties(conversation_list_titlebar_csd, "name", "list-pane"); -+ headergroup.add_gtk_header_bar(conversation_list_titlebar_csd); -+ conversation_list_group.add_widget(conversation_list_titlebar_csd); -+ -+ Separator sep = new Separator(Orientation.HORIZONTAL) { visible = true }; -+ sep.get_style_context().add_class("sidebar"); -+ headerbar_paned.add(sep); - - conversation_titlebar_csd = new ConversationTitlebarCsd() { visible=true }; -+ conversation_titlebar_csd.back_pressed.connect(() => show_list_pane()); - conversation_titlebar = conversation_titlebar_csd; -- headerbar_paned.pack2(conversation_titlebar_csd, true, false); -+ headerbar_paned.add_with_properties(conversation_titlebar_csd, "name", "view-pane"); -+ headergroup.add_gtk_header_bar(conversation_titlebar_csd); -+ conversation_view_group.add_widget(conversation_titlebar); -+ -+ titlebar.add(headerbar_paned); - } else { - ConversationListTitlebar conversation_list_titlebar = new ConversationListTitlebar() { visible=true }; -- headerbar_paned.pack1(conversation_list_titlebar, false, false); -+ headerbar_paned.add_with_properties(conversation_list_titlebar, "name", "list-pane"); -+ conversation_list_group.add_widget(conversation_list_titlebar); - -- conversation_titlebar = new ConversationTitlebarNoCsd() { visible=true }; -- headerbar_paned.pack2(conversation_titlebar, true, false); -+ Separator sep = new Separator(Orientation.HORIZONTAL) { visible = true }; -+ sep.get_style_context().add_class("sidebar"); -+ headerbar_paned.add(sep); - -- box.add(headerbar_paned); -+ conversation_titlebar = new ConversationTitlebarNoCsd() { visible=true }; -+ conversation_titlebar.back_pressed.connect(() => show_list_pane()); -+ headerbar_paned.add_with_properties(conversation_titlebar, "name", "view-pane"); -+ conversation_view_group.add_widget(conversation_titlebar); - } - } - -- private void set_window_buttons() { -- if (!Util.use_csd()) return; -- Gtk.Settings? gtk_settings = Gtk.Settings.get_default(); -- if (gtk_settings == null) return; -- -- string[] buttons = gtk_settings.gtk_decoration_layout.split(":"); -- this.conversation_list_titlebar_csd.decoration_layout = buttons[0] + ":"; -- this.conversation_titlebar_csd.decoration_layout = ((buttons.length == 2) ? ":" + buttons[1] : ""); -- } -- - private void setup_stack() { - stack.add_named(box, "main"); - stack.add_named(welcome_placeholder, "welcome_placeholder"); -@@ -118,7 +155,7 @@ public class MainWindow : Gtk.Window { - - stack.set_visible_child_name("main"); - if (Util.use_csd()) { -- set_titlebar(headerbar_paned); -+ set_titlebar(titlebar); - } - } else if (stack_state == StackState.CLEAN_START || stack_state == StackState.NO_ACTIVE_ACCOUNTS) { - if (stack_state == StackState.CLEAN_START) { -@@ -134,7 +171,7 @@ public class MainWindow : Gtk.Window { - left_stack.set_visible_child_name("placeholder"); - right_stack.set_visible_child_name("placeholder"); - if (Util.use_csd()) { -- set_titlebar(headerbar_paned); -+ set_titlebar(titlebar); - } - } - } -diff --git a/plugins/omemo/data/contact_details_dialog.ui b/plugins/omemo/data/contact_details_dialog.ui -index 188bf06e..d9a35e97 100644 ---- a/plugins/omemo/data/contact_details_dialog.ui -+++ b/plugins/omemo/data/contact_details_dialog.ui -@@ -2,7 +2,6 @@ - <interface> - <template class="DinoPluginsOmemoContactDetailsDialog"> - <property name="modal">True</property> -- <property name="resizable">False</property> - <child internal-child="vbox"> - <object class="GtkBox"> - <property name="visible">True</property> -@@ -37,6 +36,8 @@ - <object class="GtkLabel" id="automatically_accept_new_label"> - <property name="visible">True</property> - <property name="halign">start</property> -+ <property name="xalign">0</property> -+ <property name="wrap">True</property> - <attributes> - <attribute name="scale" value="1.1"/> - </attributes> -@@ -114,8 +115,10 @@ - <object class="GtkLabel" id="own_fingerprint_label"> - <property name="visible">True</property> - <property name="halign">start</property> -- <property name="justify">right</property> - <property name="hexpand">True</property> -+ <property name="max_width_chars">35</property> -+ <property name="xalign">0</property> -+ <property name="wrap">True</property> - </object> - </child> - <child> -diff --git a/plugins/omemo/src/ui/contact_details_dialog.vala b/plugins/omemo/src/ui/contact_details_dialog.vala -index b268cc13..a714b717 100644 ---- a/plugins/omemo/src/ui/contact_details_dialog.vala -+++ b/plugins/omemo/src/ui/contact_details_dialog.vala -@@ -288,7 +288,7 @@ public class ContactDetailsDialog : Gtk.Dialog { - public class FingerprintRow : ListBoxRow { - - private Image trust_image = new Image() { visible = true, halign = Align.END, icon_size = IconSize.BUTTON }; -- private Label fingerprint_label = new Label("") { use_markup=true, justify=Justification.RIGHT, visible=true, halign = Align.START, valign = Align.CENTER, hexpand = false }; -+ private Label fingerprint_label = new Label("") { use_markup=true, max_width_chars=35, wrap=true, visible=true, halign = Align.START, valign = Align.CENTER, hexpand = false, xalign = 0 }; - private Label trust_label = new Label(null) { visible = true, hexpand = true, xalign = 0 }; - - public Row row; -diff --git a/plugins/omemo/src/ui/util.vala b/plugins/omemo/src/ui/util.vala -index cf61ed82..0b0c4a9f 100644 ---- a/plugins/omemo/src/ui/util.vala -+++ b/plugins/omemo/src/ui/util.vala -@@ -51,9 +51,8 @@ public static string fingerprint_markup(string s) { - b = (uint8) (b * factor); - } - -- if (i % 32 == 0 && i != 0) markup += "\n"; - markup += @"<span foreground=\"$("#%02x%02x%02x".printf(r, g, b))\">$four_chars</span>"; -- if (i % 8 == 4 && i % 32 != 28) markup += " "; -+ if (i % 8 == 4) markup += " "; - } - - return "<span font_family='monospace' font='8'>" + markup + "</span>"; diff --git a/repo/docbook2x/01_fix_static_datadir_evaluation.patch b/repo/docbook2x/01_fix_static_datadir_evaluation.patch deleted file mode 100644 index 5241dc3..0000000 --- a/repo/docbook2x/01_fix_static_datadir_evaluation.patch +++ /dev/null @@ -1,19 +0,0 @@ -Description: - 01_fix_static_datadir_evaluation.dpatch by Daniel Leidert (dale) <daniel.leidert@wgdd.de> - All lines beginning with `## DP:' are a description of the patch. - The evaluation of datadir results in "${prefix}/share" without - evaluation of the ${prefix} variable with autoconf 2.60. - -Index: docbook2X-0.8.8/configure.ac -=================================================================== ---- docbook2X-0.8.8.orig/configure.ac -+++ docbook2X-0.8.8/configure.ac -@@ -148,7 +148,7 @@ - dnl they will reside and should use these static_* values. - dnl Ensure that all static_* are fully expanded. - --eval static_datadir="$datadir" -+eval eval static_datadir="$datadir" - - eval static_bindir="$bindir" - old_val="" diff --git a/repo/docbook2x/02_fix_418703_dont_use_abbreviated_sfnet_address.patch b/repo/docbook2x/02_fix_418703_dont_use_abbreviated_sfnet_address.patch deleted file mode 100644 index 681047a..0000000 --- a/repo/docbook2x/02_fix_418703_dont_use_abbreviated_sfnet_address.patch +++ /dev/null @@ -1,27 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch by Daniel Leidert (dale) <daniel.leidert@wgdd.de> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Ondrej Certik reported a resolver issue: http://bugs.debian.org/418703. -## DP: The error seems to be caused by using the abbreviated sf.net URLs. But -## DP: it is possible, that this issue only occurs together with the issue -## DP: described in 01_fix_static_datadir_evaluation.dpatch, because the path -## DP: to the catalog also suffers from this issue. - -@DPATCH@ -diff -urNad docbook2x-0.8.8~/perl/db2x_xsltproc.pl docbook2x-0.8.8/perl/db2x_xsltproc.pl ---- docbook2x-0.8.8~/perl/db2x_xsltproc.pl 2004-08-18 16:21:52.000000000 +0200 -+++ docbook2x-0.8.8/perl/db2x_xsltproc.pl 2007-04-12 16:07:20.000000000 +0200 -@@ -110,10 +110,10 @@ - - if($options->{'stylesheet'} eq 'texi') { - $options->{'stylesheet'} = -- "http://docbook2x.sf.net/latest/xslt/texi/docbook.xsl"; -+ "http://docbook2x.sourceforge.net/latest/xslt/texi/docbook.xsl"; - } elsif($options->{'stylesheet'} eq 'man') { - $options->{'stylesheet'} = -- "http://docbook2x.sf.net/latest/xslt/man/docbook.xsl"; -+ "http://docbook2x.sourceforge.net/latest/xslt/man/docbook.xsl"; - } - - if(scalar(@argv) != 1) { diff --git a/repo/docbook2x/03_fix_420153_filename_whitespace_handling.patch b/repo/docbook2x/03_fix_420153_filename_whitespace_handling.patch deleted file mode 100644 index 26cdf8e..0000000 --- a/repo/docbook2x/03_fix_420153_filename_whitespace_handling.patch +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 03_fix_420153_filename_whitespace_handling.dpatch by -## Daniel Leidert (dale) <daniel.leidert@wgdd.de> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Peter Eisentraut reported a regression in the whitespace handling of -## DP: refentrytitle content during filename creation: -## DP: http://bugs.debian.org/420153. The problem is, that upstream first -## DP: replaces all spaces (but not linebreaks btw) with underlines and then -## DP: it tries to normalize the result. This means, that a linebreak with -## DP: additional whitespaces results in manpage names like 'foo_ ____bar.9'. -## DP: So what we basically do in this patch is, that we first normalize the -## DP: refentrytitle and then replace any spaces left with underlines. - -@DPATCH@ -diff -urNad docbook2x-0.8.8~/xslt/man/manpage.xsl docbook2x-0.8.8/xslt/man/manpage.xsl ---- docbook2x-0.8.8~/xslt/man/manpage.xsl 2006-04-20 15:45:55.000000000 +0200 -+++ docbook2x-0.8.8/xslt/man/manpage.xsl 2007-04-20 16:19:28.000000000 +0200 -@@ -30,7 +30,7 @@ - - <xsl:template name="manpage-filename"> - <xsl:param name="filename" /> -- <xsl:value-of select="normalize-space(translate($filename, " /", "__"))" /> -+ <xsl:value-of select="translate(normalize-space($filename), ' /', '__')" /> - </xsl:template> - - -diff -urNad docbook2x-0.8.8~/xslt/man/refentry.xsl docbook2x-0.8.8/xslt/man/refentry.xsl ---- docbook2x-0.8.8~/xslt/man/refentry.xsl 2006-04-21 04:39:55.000000000 +0200 -+++ docbook2x-0.8.8/xslt/man/refentry.xsl 2007-04-20 16:21:53.000000000 +0200 -@@ -38,7 +38,11 @@ - <xsl:template name="refentry-filename"> - <xsl:param name="title" /> - -- <xsl:variable name="title2" select="translate($title, " /", "__")" /> -+ <xsl:variable name="title2"> -+ <xsl:call-template name="manpage-filename"> -+ <xsl:with-param name="filename" select="$title" /> -+ </xsl:call-template> -+ </xsl:variable> - - <!-- not using gentext here since man page names tend not to have - accented chars / non-Latin chars ... diff --git a/repo/docbook2x/04_fix_442782_preprocessor_declaration_syntax.patch b/repo/docbook2x/04_fix_442782_preprocessor_declaration_syntax.patch deleted file mode 100644 index b6ddbfa..0000000 --- a/repo/docbook2x/04_fix_442782_preprocessor_declaration_syntax.patch +++ /dev/null @@ -1,90 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 04_fix_442782_preprocessor_declaration_syntax.dpatch by Colin Watson <cjwatson@debian.org>. -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Conventionally, preprocessor declarations should start with -## DP: '\" -## DP: rather than -## DP: .\" -## DP: Current man-db only supports the first (and recommended) syntax. So -## DP: Colin Watson provided this patch to fix docbook2x. -## DP: -## DP: <URL:http://bugs.debian.org/442782> -## DP: <URL:http://lists.gnu.org/archive/html/groff/2007-11/msg00023.html> - -@DPATCH@ -diff -urNad trunk~/perl/db2x_manxml.pl trunk/perl/db2x_manxml.pl ---- trunk~/perl/db2x_manxml.pl 2006-04-22 17:21:32.000000000 +0200 -+++ trunk/perl/db2x_manxml.pl 2007-11-24 01:27:37.000000000 +0100 -@@ -342,6 +342,25 @@ - $self->{line_start} = 1; - } - -+# -+# Print a comment in the output, without causing a break. -+# Params: comment - the comment text. -+# May use any characters; they need not be escaped. -+# -+sub comment_nobreak -+{ -+ my ($self, $comment) = @_; -+ $self->write("\n") unless $self->{line_start}; -+ -+ foreach my $line (split(/\n/, $comment)) { -+ $self->write('\'\" '); -+ $self->write($line); -+ $self->write("\n"); -+ } -+ -+ $self->{line_start} = 1; -+} -+ - - # - # Use a roff "escape" i.e. commands embedded in text starting with \ -@@ -510,16 +529,20 @@ - - $self->{'adjust-stack'} = [ 'b' ]; - -- $self->{rw}->comment($elem->attr('preprocessors')) -- if($elem->attr('preprocessors') ne ''); -- -+ my $preprocessors = $elem->attr('preprocessors'); - # I've dug through the Internet to see if there was any - # standard way to specify encoding with man pages. - # The following seems to be a reasonable proposal: - # <URL:http://mail.nl.linux.org/linux-utf8/2001-04/msg00168.html> - my $encoding = $self->{options}->{'encoding'}; - $encoding =~ s#//TRANSLIT$##i; -- $self->{rw}->comment("-*- coding: $encoding -*-"); -+ $encoding = "-*- coding: $encoding -*-"; -+ if ($preprocessors eq '') { -+ $preprocessors = $encoding; -+ } else { -+ $preprocessors = "$preprocessors $encoding"; -+ } -+ $self->{rw}->comment_nobreak($preprocessors); - - # Define escapes for switching to and from monospace fonts (groff only) - $self->{rw}->request(qw{ .if \n(.g .ds T< \\\\FC}); -diff -urNad trunk~/xslt/backend/db2x_manxml.xsl trunk/xslt/backend/db2x_manxml.xsl ---- trunk~/xslt/backend/db2x_manxml.xsl 2006-04-23 16:44:52.000000000 +0200 -+++ trunk/xslt/backend/db2x_manxml.xsl 2007-11-24 01:27:37.000000000 +0100 -@@ -528,7 +528,7 @@ - <exslt:document method="text" - encoding="{$encoding}" - href="{$path}"> -- <xsl:text>.\" -*- coding: </xsl:text> -+ <xsl:text>'\" -*- coding: </xsl:text> - <xsl:value-of select="$encoding" /> - <xsl:text> -*- </xsl:text> - <xsl:copy-of select="$content" /> -@@ -538,7 +538,7 @@ - <saxon:output method="text" - encoding="{$encoding}" - href="{$path}"> -- <xsl:text>.\" -*- coding: </xsl:text> -+ <xsl:text>'\" -*- coding: </xsl:text> - <xsl:value-of select="$encoding" /> - <xsl:text> -*- </xsl:text> - <xsl:copy-of select="$content" /> diff --git a/repo/docbook2x/05_fix_439214_error_on_missing_refentry.patch b/repo/docbook2x/05_fix_439214_error_on_missing_refentry.patch deleted file mode 100644 index b8a493b..0000000 --- a/repo/docbook2x/05_fix_439214_error_on_missing_refentry.patch +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 05_fix_439214_error_on_missing_refentry.dpatch by Daniel Leidert <daniel.leidert@wgdd.de> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: If there is no refentry element, the manpage stylesheets silently -## DP: "ignores" this. It has been requested to print at least a -## DP: warning. -## DP: -## DP: <URL:http://bugs.debian.org/439214> -## DP: <URL:http://lists.gnu.org/archive/html/groff/2007-11/msg00023.html> - -@DPATCH@ -diff -urNad trunk~/xslt/man/docbook.xsl trunk/xslt/man/docbook.xsl ---- trunk~/xslt/man/docbook.xsl 2006-04-11 21:00:19.000000000 +0200 -+++ trunk/xslt/man/docbook.xsl 2008-02-05 03:31:48.000000000 +0100 -@@ -111,11 +111,15 @@ - <xsl:when test="child::refentry"> - <xsl:apply-templates /> - </xsl:when> -- -- <xsl:otherwise> -+ <xsl:when test="descendant-or-self::refentry"> - <manpageset> - <xsl:apply-templates select="descendant-or-self::refentry" /> - </manpageset> -+ </xsl:when> -+ <xsl:otherwise> -+ <xsl:message terminate="no"> -+ <xsl:text>WARNING: Sorry, but I cannot find a refentry element in your source!</xsl:text> -+ </xsl:message> - </xsl:otherwise> - </xsl:choose> - </xsl:template> diff --git a/repo/docbook2x/06_fix_man_typo.patch b/repo/docbook2x/06_fix_man_typo.patch deleted file mode 100644 index 5be21bd..0000000 --- a/repo/docbook2x/06_fix_man_typo.patch +++ /dev/null @@ -1,24 +0,0 @@ -Author: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> - ---- docbook2x-0.8.8.orig/doc/docbook2man.1 -+++ docbook2x-0.8.8/doc/docbook2man.1 -@@ -187,7 +187,7 @@ parameter instead. - - However, inside a custom stylesheet - (\fInot on the command-line\fR) --this paramter can be set to the XPath expression -+this parameter can be set to the XPath expression - \*(T<document('')\*(T>, - which will cause the custom translations - directly embedded inside the custom stylesheet to be read. ---- docbook2x-0.8.8.orig/doc/docbook2texi.1 -+++ docbook2x-0.8.8/doc/docbook2texi.1 -@@ -230,7 +230,7 @@ parameter instead. - - However, inside a custom stylesheet - (\fInot on the command-line\fR) --this paramter can be set to the XPath expression -+this parameter can be set to the XPath expression - \*(T<document('')\*(T>, - which will cause the custom translations - directly embedded inside the custom stylesheet to be read. diff --git a/repo/docbook2x/docbook2x.xibuild b/repo/docbook2x/docbook2x.xibuild deleted file mode 100644 index 22a1f11..0000000 --- a/repo/docbook2x/docbook2x.xibuild +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -NAME="docbook2x" -DESC="DocBook converter to UNIX manpage and GNU Texinfo format" - -MAKEDEPS="autoconf automake perl-xml-sax" - -PKG_VER=0.8.8 -SOURCE="https://downloads.sourceforge.net/docbook2x/docbook2X-$PKG_VER.tar.gz" - -ADDITIONAL=" -01_fix_static_datadir_evaluation.patch -02_fix_418703_dont_use_abbreviated_sfnet_address.patch -03_fix_420153_filename_whitespace_handling.patch -04_fix_442782_preprocessor_declaration_syntax.patch -05_fix_439214_error_on_missing_refentry.patch -06_fix_man_typo.patch -" - -prepare() { - apply_patches - autoreconf --install -} - -build() { - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --program-transform-name 's/docbook2/docbook2x-/' \ - make -} - -package() { - make DESTDIR="$PKG_DEST" install || return 1 -} - diff --git a/repo/dracut/dracut.xibuild b/repo/dracut/dracut.xibuild index ca22f5f..bbc16e7 100644 --- a/repo/dracut/dracut.xibuild +++ b/repo/dracut/dracut.xibuild @@ -1,14 +1,14 @@ #!/bin/sh MAKEDEPS="make asciidoc musl-fts" -DEPS="bash toybox cpio findutils grep gzip kmod pkg-config procps-ng sed util-linux xz" +DEPS="bash toybox cpio findutils grep gzip kmod pkg-config procps-ng sed util-linux xz stty" DESC="An initramfs infastructure aimin gto have as little possible hardcoded into the initramfs" PKG_VER=055 SOURCE=https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut/dracut-$PKG_VER.tar.xz ADDITIONAL=" - fix-toybox-coreutils.patch + fix-sbase-coreutils.patch " prepare () { diff --git a/repo/dsp/dsp.xibuild b/repo/dsp/dsp.xibuild new file mode 100644 index 0000000..eea855b --- /dev/null +++ b/repo/dsp/dsp.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="dsp" +DESC="audio processing program with an interactive mode" + +MAKEDEPS="ladspa libsndfile ffmpeg fftw libmad libtool libao zita-convolver alsa-lib pulseaudio" + +PKG_VER=1.9 +SOURCE="https://github.com/bmc0/dsp/archive/v$PKG_VER/dsp-$PKG_VER.tar.gz" + +build() { + ./configure --prefix=/usr # not a GNU autoconf + make +} + +package() { + make DESTDIR="$PKG_DEST" install + for script in scripts/*; do + install -Dm755 $script "$PKG_DEST"/usr/bin + done +} + diff --git a/repo/edk2/edk2.xibuild b/repo/edk2/edk2.xibuild index d4deb4a..619461e 100644 --- a/repo/edk2/edk2.xibuild +++ b/repo/edk2/edk2.xibuild @@ -3,7 +3,7 @@ NAME="edk2" DESC="EFI Development Kit II" -MAKEDEPS=" bash python iasl nasm util-linux util-linux-misc" +MAKEDEPS="bash python iasl nasm util-linux" PKG_VER=0.0.202202 _realver=edk2-stable${PKG_VER##*.} diff --git a/repo/efibootmgr/efibootmgr.xibuild b/repo/efibootmgr/efibootmgr.xibuild index 16825ea..dbbc015 100644 --- a/repo/efibootmgr/efibootmgr.xibuild +++ b/repo/efibootmgr/efibootmgr.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="efivar popt" +MAKEDEPS="make efivar popt" PKG_VER=18 SOURCE=https://github.com/rhboot/efibootmgr/archive/$PKG_VER/efibootmgr-$PKG_VER.tar.gz @@ -13,6 +12,7 @@ prepare () { } build () { + export CFLAGS="$CFLAGS -Wno-pointer-sign" make EFIDIR=XI EFI_LOADER=grubx64.efi } diff --git a/repo/efivar/efivar.xibuild b/repo/efivar/efivar.xibuild index b2830d1..d47e14f 100644 --- a/repo/efivar/efivar.xibuild +++ b/repo/efivar/efivar.xibuild @@ -1,35 +1,29 @@ #!/bin/sh -MAKEDEPS="make patch" -DEPS="musl" +NAME="efivar" +DESC="Tools and library to manipulate EFI variables" + +MAKEDEPS="popt linux-headers mandoc" PKG_VER=38 -SOURCE=https://github.com/rhboot/efivar/releases/download/$PKG_VER/efivar-$PKG_VER.tar.bz2 +SOURCE="https://github.com/rhboot/efivar/releases/download/$PKG_VER/efivar-$PKG_VER.tar.bz2" ADDITIONAL=" - patches/musl-bswap.patch - patches/efivar-fix-format_guid.patch - patches/efivar-fix-packed.patch - patches/efivar-fix-ucs2.patch +musl-compat.patch " -DESC="Tools and libraries to manupulate EFI variables" - prepare() { - apply_patches - - # remove verbosity in ln commands - for f in Makefile src/Makefile src/test/Makefile docs/Makefile Make.rules; do - echo "patching $f" - sed -i "s@-vfs@-fs@g" $f - sed -i "s@-rfv@-rf@g" $f - done + apply_patches + sed -i 's/#include <sys\/cdefs.h>//g' "$BUILD_ROOT/src/compiler.h" } -build () { - make CFLAGS="-O2 -Wno-stringop-truncation" +build() { + cd "$BUILD_ROOT" + libdir="/usr/lib" make } -package () { - make LIBDIR=/usr/lib DESTDIR=$PKG_DEST install +package() { + cd "$BUILD_ROOT" + libdir="/usr/lib" make DESTDIR="$PKG_DEST" install } + diff --git a/repo/efivar/musl-compat.patch b/repo/efivar/musl-compat.patch new file mode 100644 index 0000000..00229be --- /dev/null +++ b/repo/efivar/musl-compat.patch @@ -0,0 +1,231 @@ +From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 28 Jan 2022 12:13:30 +0100 +Subject: [PATCH 1/2] efisecdb: fix build with musl libc + +Refactor code to use POSIX atexit(3) instead of the GNU specific +on_exit(3). + +Resolves: #197 +Resolves: #202 +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- + src/compiler.h | 2 -- + src/efisecdb.c | 68 +++++++++++++++++++------------------------------- + 2 files changed, 26 insertions(+), 44 deletions(-) + +diff --git a/src/compiler.h b/src/compiler.h +index e2f18f0b..d95fb014 100644 +--- a/src/compiler.h ++++ b/src/compiler.h +@@ -7,8 +7,6 @@ + #ifndef COMPILER_H_ + #define COMPILER_H_ + +-#include <sys/cdefs.h> +- + /* GCC version checking borrowed from glibc. */ + #if defined(__GNUC__) && defined(__GNUC_MINOR__) + # define GNUC_PREREQ(maj,min) \ +diff --git a/src/efisecdb.c b/src/efisecdb.c +index f8823737..6bd5ad90 100644 +--- a/src/efisecdb.c ++++ b/src/efisecdb.c +@@ -25,6 +25,10 @@ + extern char *optarg; + extern int optind, opterr, optopt; + ++static efi_secdb_t *secdb = NULL; ++static list_t infiles; ++static list_t actions; ++ + struct hash_param { + char *name; + efi_secdb_type_t algorithm; +@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t action_type, const efi_guid_t *owner, + } + + static void +-free_actions(int status UNUSED, void *actionsp) ++free_actions(void) + { +- list_t *actions = (list_t *)actionsp; + list_t *pos, *tmp; + +- for_each_action_safe(pos, tmp, actions) { ++ for_each_action_safe(pos, tmp, &actions) { + action_t *action = list_entry(pos, action_t, list); + + list_del(&action->list); +@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *actionsp) + } + + static void +-free_infiles(int status UNUSED, void *infilesp) ++free_infiles(void) + { +- list_t *infiles = (list_t *)infilesp; + list_t *pos, *tmp; + +- for_each_ptr_safe(pos, tmp, infiles) { ++ for_each_ptr_safe(pos, tmp, &infiles) { + ptrlist_t *entry = list_entry(pos, ptrlist_t, list); + + list_del(&entry->list); +@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *infilesp) + } + + static void +-maybe_free_secdb(int status UNUSED, void *voidp) ++maybe_free_secdb(void) + { +- efi_secdb_t **secdbp = (efi_secdb_t **)voidp; +- +- if (secdbp == NULL || *secdbp == NULL) ++ if (secdb == NULL) + return; + +- efi_secdb_free(*secdbp); +-} +- +-static void +-maybe_do_unlink(int status, void *filep) +-{ +- char **file = (char **)filep; +- +- if (status == 0) +- return; +- if (file == NULL || *file == NULL) +- return; +- +- unlink(*file); ++ efi_secdb_free(secdb); + } + + static void +@@ -323,15 +310,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, + return status; + } + +-/* +- * These need to be static globals so that they're not on main's stack when +- * on_exit() fires. +- */ +-static efi_secdb_t *secdb = NULL; +-static list_t infiles; +-static list_t actions; +-static char *outfile = NULL; +- + int + main(int argc, char *argv[]) + { +@@ -351,6 +329,7 @@ main(int argc, char *argv[]) + bool do_sort_data = false; + bool sort_descending = false; + int status = 0; ++ char *outfile = NULL; + + const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?"; + const struct option lopts[] = { +@@ -376,10 +355,9 @@ main(int argc, char *argv[]) + INIT_LIST_HEAD(&infiles); + INIT_LIST_HEAD(&actions); + +- on_exit(free_actions, &actions); +- on_exit(free_infiles, &infiles); +- on_exit(maybe_free_secdb, &secdb); +- on_exit(maybe_do_unlink, &outfile); ++ atexit(free_actions); ++ atexit(free_infiles); ++ atexit(maybe_free_secdb); + + /* + * parse the command line. +@@ -587,24 +565,30 @@ main(int argc, char *argv[]) + outfd = open(outfile, flags, 0600); + if (outfd < 0) { + char *tmpoutfile = outfile; +- if (errno == EEXIST) +- outfile = NULL; ++ if (errno != EEXIST) ++ unlink(outfile); + err(1, "could not open \"%s\"", tmpoutfile); + } + + rc = ftruncate(outfd, 0); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + err(1, "could not truncate output file \"%s\"", outfile); ++ } + + void *output; + size_t size = 0; + rc = efi_secdb_realize(secdb, &output, &size); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + secdb_err(1, "could not realize signature list"); ++ } + + rc = write(outfd, output, size); +- if (rc < 0) ++ if (rc < 0) { ++ unlink(outfile); + err(1, "could not write signature list"); ++ } + + close(outfd); + xfree(output); + +From df09b472419466987f2f30176dd00937e640aa9a Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 28 Jan 2022 12:29:00 +0100 +Subject: [PATCH 2/2] efisecdb: do not free optarg + +The *outfile passed to parse_input_files can only be either set to +optarg or be NULL. optarg should not be free'd and NULL does not need +to. + +Since we no longer use on_exit to unlink outfile we also don't need to +set *outfile to NULL. + +Fixes commit d91787035bc1 (efisecdb: add efisecdb) + +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- + src/efisecdb.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/src/efisecdb.c b/src/efisecdb.c +index 6bd5ad90..70fa1847 100644 +--- a/src/efisecdb.c ++++ b/src/efisecdb.c +@@ -255,8 +255,7 @@ list_guids(void) + * failure. + */ + static int +-parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, +- bool dump) ++parse_input_files(list_t *infiles, efi_secdb_t **secdb, bool dump) + { + int status = 0; + list_t *pos, *tmp; +@@ -297,8 +296,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, + if (!dump) + exit(1); + status = 1; +- xfree(*outfile); +- *outfile = NULL; + break; + } + } +@@ -528,7 +525,7 @@ main(int argc, char *argv[]) + efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DATA, do_sort_data); + efi_secdb_set_bool(secdb, EFI_SECDB_SORT_DESCENDING, sort_descending); + +- status = parse_input_files(&infiles, &outfile, &secdb, dump); ++ status = parse_input_files(&infiles, &secdb, dump); + if (status == 0) { + for_each_action_safe(pos, tmp, &actions) { + action_t *action = list_entry(pos, action_t, list); diff --git a/repo/efivar/patches/efivar-fix-format_guid.patch b/repo/efivar/patches/efivar-fix-format_guid.patch deleted file mode 100644 index f40942f..0000000 --- a/repo/efivar/patches/efivar-fix-format_guid.patch +++ /dev/null @@ -1,56 +0,0 @@ -From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001 -From: Peter Jones <pjones@redhat.com> -Date: Mon, 7 Jan 2019 10:30:59 -0500 -Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers - safely. - -GCC 9 adds -Werror=address-of-packed-member, which causes us to see the -build error reported at - https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 . - -That bug report shows us the following: - -In file included from dp.c:26: -dp.h: In function 'format_vendor_helper': -dp.h:120:37: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member] - 120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -dp.h:74:25: note: in definition of macro 'format_guid' - 74 | _rc = efi_guid_to_str(guid, &_guidstr); \ - | ^~~~ -cc1: all warnings being treated as errors - -This patch makes format_guid() use a local variable as a bounce buffer -in the case that the guid we're passed is aligned as chaotic neutral. - -Note that this only fixes this instance and there may be others that bz -didn't show because it exited too soon, and I don't have a gcc 9 build -in front of me right now. - -Signed-off-by: Peter Jones <pjones@redhat.com> ---- - src/dp.h | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/dp.h b/src/dp.h -index aa4e390..20cb608 100644 ---- a/src/dp.h -+++ b/src/dp.h -@@ -70,8 +70,15 @@ - #define format_guid(buf, size, off, dp_type, guid) ({ \ - int _rc; \ - char *_guidstr = NULL; \ -- \ -- _rc = efi_guid_to_str(guid, &_guidstr); \ -+ efi_guid_t _guid; \ -+ const efi_guid_t * const _guid_p = \ -+ likely(__alignof__(guid) == sizeof(guid)) \ -+ ? guid \ -+ : &_guid; \ -+ \ -+ if (unlikely(__alignof__(guid) == sizeof(guid))) \ -+ memmove(&_guid, guid, sizeof(_guid)); \ -+ _rc = efi_guid_to_str(_guid_p, &_guidstr); \ - if (_rc < 0) { \ - efi_error("could not build %s GUID DP string", \ - dp_type); \ diff --git a/repo/efivar/patches/efivar-fix-packed.patch b/repo/efivar/patches/efivar-fix-packed.patch deleted file mode 100644 index bbb6a99..0000000 --- a/repo/efivar/patches/efivar-fix-packed.patch +++ /dev/null @@ -1,168 +0,0 @@ -From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001 -From: Peter Jones <pjones@redhat.com> -Date: Thu, 21 Feb 2019 15:20:12 -0500 -Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches. - -This gets rid of all the places GCC 9's -Werror=address-of-packed-member -flags as problematic. - -Fixes github issue #123 - -Signed-off-by: Peter Jones <pjones@redhat.com> ---- - src/dp-message.c | 6 ++++-- - src/dp.h | 12 ++++-------- - src/guid.c | 2 +- - src/include/efivar/efivar.h | 2 +- - src/ucs2.h | 27 +++++++++++++++++++-------- - 5 files changed, 29 insertions(+), 20 deletions(-) - -diff --git a/src/dp-message.c b/src/dp-message.c -index 3724e5f..9f96466 100644 ---- a/src/dp-message.c -+++ b/src/dp-message.c -@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp) - ) / sizeof(efi_ip_addr_t); - format(buf, size, off, "Dns", "Dns("); - for (int i=0; i < end; i++) { -- const efi_ip_addr_t *addr = &dp->dns.addrs[i]; -+ efi_ip_addr_t addr; -+ -+ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr)); - if (i != 0) - format(buf, size, off, "Dns", ","); - format_ip_addr(buf, size, off, "Dns", -- dp->dns.is_ipv6, addr); -+ dp->dns.is_ipv6, &addr); - } - format(buf, size, off, "Dns", ")"); - break; -diff --git a/src/dp.h b/src/dp.h -index 20cb608..1f921d5 100644 ---- a/src/dp.h -+++ b/src/dp.h -@@ -71,13 +71,9 @@ - int _rc; \ - char *_guidstr = NULL; \ - efi_guid_t _guid; \ -- const efi_guid_t * const _guid_p = \ -- likely(__alignof__(guid) == sizeof(guid)) \ -- ? guid \ -- : &_guid; \ -- \ -- if (unlikely(__alignof__(guid) == sizeof(guid))) \ -- memmove(&_guid, guid, sizeof(_guid)); \ -+ const efi_guid_t * const _guid_p = &_guid; \ -+ \ -+ memmove(&_guid, guid, sizeof(_guid)); \ - _rc = efi_guid_to_str(_guid_p, &_guidstr); \ - if (_rc < 0) { \ - efi_error("could not build %s GUID DP string", \ -@@ -86,7 +82,7 @@ - _guidstr = onstack(_guidstr, \ - strlen(_guidstr)+1); \ - _rc = format(buf, size, off, dp_type, "%s", \ -- _guidstr); \ -+ _guidstr); \ - } \ - _rc; \ - }) -diff --git a/src/guid.c b/src/guid.c -index 306c9ff..3156b3b 100644 ---- a/src/guid.c -+++ b/src/guid.c -@@ -31,7 +31,7 @@ - extern const efi_guid_t efi_guid_zero; - - int NONNULL(1, 2) PUBLIC --efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b) -+efi_guid_cmp(const void * const a, const void * const b) - { - return memcmp(a, b, sizeof (efi_guid_t)); - } -diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h -index 316891c..ad6449d 100644 ---- a/src/include/efivar/efivar.h -+++ b/src/include/efivar/efivar.h -@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid) - - extern int efi_guid_is_zero(const efi_guid_t *guid); - extern int efi_guid_is_empty(const efi_guid_t *guid); --extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b); -+extern int efi_guid_cmp(const void * const a, const void * const b); - - /* import / export functions */ - typedef struct efi_variable efi_variable_t; -diff --git a/src/ucs2.h b/src/ucs2.h -index dbb5900..edd8367 100644 ---- a/src/ucs2.h -+++ b/src/ucs2.h -@@ -23,16 +23,21 @@ - (((val) & ((mask) << (shift))) >> (shift)) - - static inline size_t UNUSED --ucs2len(const uint16_t * const s, ssize_t limit) -+ucs2len(const void *vs, ssize_t limit) - { - ssize_t i; -- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++) -+ const uint16_t *s = vs; -+ const uint8_t *s8 = vs; -+ -+ for (i = 0; -+ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; -+ i++, s8 += 2, s++) - ; - return i; - } - - static inline size_t UNUSED --ucs2size(const uint16_t * const s, ssize_t limit) -+ucs2size(const void *s, ssize_t limit) - { - size_t rc = ucs2len(s, limit); - rc *= sizeof (uint16_t); -@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit) - } - - static inline unsigned char * UNUSED --ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) -+ucs2_to_utf8(const void * const voidchars, ssize_t limit) - { - ssize_t i, j; - unsigned char *ret; -+ const uint16_t * const chars = voidchars; - - if (limit < 0) - limit = ucs2len(chars, -1); -@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) - } - - static inline ssize_t UNUSED NONNULL(4) --utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) -+utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8) - { - ssize_t req; - ssize_t i, j; -+ uint16_t *ucs2 = ucs2void; -+ uint16_t val16; - - if (!ucs2 && size > 0) { - errno = EINVAL; -@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) - val = utf8[i] & 0x7f; - i += 1; - } -- ucs2[j] = val; -+ val16 = val; -+ ucs2[j] = val16; -+ } -+ if (terminate) { -+ val16 = 0; -+ ucs2[j++] = val16; - } -- if (terminate) -- ucs2[j++] = (uint16_t)0; - return j; - }; - diff --git a/repo/efivar/patches/efivar-fix-ucs2.patch b/repo/efivar/patches/efivar-fix-ucs2.patch deleted file mode 100644 index 594da61..0000000 --- a/repo/efivar/patches/efivar-fix-ucs2.patch +++ /dev/null @@ -1,59 +0,0 @@ -From fdb803402fb32fa6d020bac57a40c7efe4aabb7d Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas <javierm@redhat.com> -Date: Tue, 5 Mar 2019 17:23:24 +0100 -Subject: [PATCH] ucs2.h: remove unused variable - -The const uint16_t pointer is not used since now the two bytes of the -UCS-2 chars are checked to know if is the termination of the string. - -Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> ---- - src/ucs2.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/ucs2.h b/src/ucs2.h -index edd8367..e0390c3 100644 ---- a/src/ucs2.h -+++ b/src/ucs2.h -@@ -26,12 +26,11 @@ static inline size_t UNUSED - ucs2len(const void *vs, ssize_t limit) - { - ssize_t i; -- const uint16_t *s = vs; - const uint8_t *s8 = vs; - - for (i = 0; - i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; -- i++, s8 += 2, s++) -+ i++, s8 += 2) - ; - return i; - } -From 4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas <javierm@redhat.com> -Date: Tue, 5 Mar 2019 17:23:32 +0100 -Subject: [PATCH] ucs2.h: fix logic that checks for UCS-2 string termination - -Currently the loop to count the lenght of the UCS-2 string ends if either -of the two bytes are 0, but 0 is a valid value for UCS-2 character codes. - -So only break the loop when 0 is the value for both UCS-2 char bytes. - -Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> ---- - src/ucs2.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/ucs2.h b/src/ucs2.h -index e0390c3..fd8b056 100644 ---- a/src/ucs2.h -+++ b/src/ucs2.h -@@ -29,7 +29,7 @@ ucs2len(const void *vs, ssize_t limit) - const uint8_t *s8 = vs; - - for (i = 0; -- i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; -+ i < (limit >= 0 ? limit : i+1) && !(s8[0] == 0 && s8[1] == 0); - i++, s8 += 2) - ; - return i; diff --git a/repo/efivar/patches/musl-bswap.patch b/repo/efivar/patches/musl-bswap.patch deleted file mode 100644 index 8b86d9a..0000000 --- a/repo/efivar/patches/musl-bswap.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c9b54ee2cd504542cac4ed95fa7842bd14b39f9c Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Fri, 18 Aug 2017 20:36:03 -0500 -Subject: [PATCH] makeguids: Ensure compatibility with other libcs - -The musl libc does not provide __bswap_constant_XX. -If <endian.h> does not provide these macros, use our own. - -This fixes issue #84. ---- - src/makeguids.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/makeguids.c b/src/makeguids.c -index ec75a86..6b0d80e 100644 ---- a/src/makeguids.c -+++ b/src/makeguids.c -@@ -152,6 +152,15 @@ main(int argc, char *argv[]) - fprintf(symout, "#include <efivar/efivar.h>\n"); - fprintf(symout, "#include <endian.h>\n"); - fprintf(symout, """\n\ -+#ifndef __bswap_constant_16\n\ -+#define __bswap_constant_16(x)\\\n\ -+ ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))\n\ -+#endif\n\ -+#ifndef __bswap_constant_32\n\ -+#define __bswap_constant_32(x)\\\n\ -+ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \\\n\ -+ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))\n\ -+#endif\n\ - #if BYTE_ORDER == BIG_ENDIAN\n\ - #define cpu_to_be32(n) (n)\n\ - #define cpu_to_be16(n) (n)\n\ diff --git a/repo/electrum/0001-apk-add-instead-of-apt-get-install.patch b/repo/electrum/0001-apk-add-instead-of-apt-get-install.patch deleted file mode 100644 index 29d2201..0000000 --- a/repo/electrum/0001-apk-add-instead-of-apt-get-install.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 46e1404ddad66422bd2106ff6e6954741191826e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20Adamski?= <michal@ert.pl> -Date: Wed, 14 Oct 2020 11:06:33 +0200 -Subject: [PATCH] `apk add` instead of `apt-get install` - - -diff --git a/electrum/gui/qt/__init__.py b/electrum/gui/qt/__init__.py -index 1e1d2831f..b7fe2c42d 100644 ---- a/electrum/gui/qt/__init__.py -+++ b/electrum/gui/qt/__init__.py -@@ -34,7 +34,7 @@ from typing import Optional, TYPE_CHECKING, List - try: - import PyQt5 - except Exception: -- sys.exit("Error: Could not import PyQt5 on Linux systems, you may try 'sudo apt-get install python3-pyqt5'") -+ sys.exit("Error: Could not import PyQt5 on Linux systems, you may try 'sudo apk add py3-qt5'") - - from PyQt5.QtGui import QGuiApplication - from PyQt5.QtWidgets import (QApplication, QSystemTrayIcon, QWidget, QMenu, --- -2.25.1 - diff --git a/repo/electrum/electrum.xibuild b/repo/electrum/electrum.xibuild deleted file mode 100644 index dd21511..0000000 --- a/repo/electrum/electrum.xibuild +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -NAME="electrum" -DESC="Lightweight Bitcoin Wallet" - -MAKEDEPS="python python-pytest python-pyside2 python-mock" - -PKG_VER=4.3.1 -SOURCE=" - https://download.electrum.org/$PKG_VER/Electrum-$PKG_VER.tar.gz - " - -ADDITIONAL=" -0001-apk-add-instead-of-apt-get-install.patch -" -prepare () { - apply_patches -} - -build() { - python3 setup.py build -} - -check() { - CI=1 python3 -m pytest -} - -package() { - python3 setup.py install --prefix=/usr --root="$PKG_DEST" - rm -r "${pkgdir:?}"/home -} diff --git a/repo/elogind/elogind.xibuild b/repo/elogind/elogind.xibuild index c9fa661..9823abd 100644 --- a/repo/elogind/elogind.xibuild +++ b/repo/elogind/elogind.xibuild @@ -1,6 +1,6 @@ #!/bin/sh -MAKEDEPS="make docbook4-xml docbook-xsl docbook-dtd libxslt util-linux glib acl m4 ubase" +MAKEDEPS="make docbook4-xml docbook-xsl docbook-dtd libxslt util-linux glib acl m4 util-linux" DEPS="pam gperf eudev" PKG_VER=246.10 diff --git a/repo/elvish/elvish.xibuild b/repo/elvish/elvish.xibuild deleted file mode 100644 index dd97671..0000000 --- a/repo/elvish/elvish.xibuild +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -NAME="elvish" -DESC="A friendly and expressive shell for Linux, macOS and BSDs" - -MAKEDEPS=" go" - -PKG_VER=0.18.0 -SOURCE="https://github.com/elves/elvish/archive/v$PKG_VER.tar.gz" - -build() { - mkdir gopath - export GOPATH="$BUILD_ROOT/gopath" - go build -o bin/elvish -} - -package() { - install -Dm755 bin/elvish "$PKG_DEST"/usr/bin -} - diff --git a/repo/enchant2/enchant2.xibuild b/repo/enchant2/enchant2.xibuild index 25f39bf..607e25f 100644 --- a/repo/enchant2/enchant2.xibuild +++ b/repo/enchant2/enchant2.xibuild @@ -16,10 +16,6 @@ build() { make } -check() { - make check -} - package() { make DESTDIR="$PKG_DEST" pkgdatadir=/usr/share/enchant-2 install } diff --git a/repo/execline/execline.xibuild b/repo/execline/execline.xibuild deleted file mode 100644 index 5e0454f..0000000 --- a/repo/execline/execline.xibuild +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="skalibs" - -PKG_VER=2.9.0.1 -SOURCE=https://skarnet.org/software/execline/execline-$PKG_VER.tar.gz -DESC="A non-interactive shell-like scripting language" - -build () { - ./configure --enable-shared \ - --enable-static \ - --enable-allstatic \ - --enable-static-libc \ - --libdir=/usr/lib \ - --with-dynlib=/usr/lib \ - --enable-pedantic-posix - - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/ext-dump/ext-dump.xibuild b/repo/ext-dump/ext-dump.xibuild deleted file mode 100644 index d4f12a3..0000000 --- a/repo/ext-dump/ext-dump.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="ext-dump" -DESC="ext2 dump and restore utilities" - -MAKEDEPS="make " -DEPS="musl " - -PKG_VER=0.4b47 -SOURCE="https://sourceforge.net/projects/dump/files/dump/$PKG_VER/dump-$PKG_VER.tar.gz/download" - -build () { - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/extremetuxracer/extremetuxracer.xibuild b/repo/extremetuxracer/extremetuxracer.xibuild index 91689b5..21e45b5 100644 --- a/repo/extremetuxracer/extremetuxracer.xibuild +++ b/repo/extremetuxracer/extremetuxracer.xibuild @@ -3,8 +3,7 @@ NAME="extremetuxracer" DESC="Downhill racing game starring Tux" -MAKEDEPS="make " -DEPS="glu mesa musl sfml " +MAKEDEPS="make glu mesa musl sfml " PKG_VER=0.8.2 SOURCE="https://downloads.sourceforge.net/extremetuxracer/etr-$PKG_VER.tar.xz" diff --git a/repo/ffmpeg/ffmpeg.xibuild b/repo/ffmpeg/ffmpeg.xibuild index 6d7f960..e4e5c88 100644 --- a/repo/ffmpeg/ffmpeg.xibuild +++ b/repo/ffmpeg/ffmpeg.xibuild @@ -3,8 +3,7 @@ NAME="ffmpeg" DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" -MAKEDEPS="make " -DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" +MAKEDEPS="make alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" PKG_VER=5.0.1 SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" diff --git a/repo/ffmpeg4/ffmpeg4.xibuild b/repo/ffmpeg4/ffmpeg4.xibuild index a697c03..6a5d1ad 100644 --- a/repo/ffmpeg4/ffmpeg4.xibuild +++ b/repo/ffmpeg4/ffmpeg4.xibuild @@ -3,10 +3,9 @@ NAME="ffmpeg4" DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" -MAKEDEPS="make " -DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" +MAKEDEPS="make alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr yasm" -PKG_VER=4.4.2 +PKG_VER=4.4.1 SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" ADDITIONAL=" 0001-ffbuild-libversion.sh-add-shebang.patch @@ -20,7 +19,6 @@ prepare () { build () { ./configure \ --prefix=/usr \ - --enable-avresample \ --enable-avfilter \ --enable-gnutls \ --enable-gpl \ @@ -52,8 +50,7 @@ build () { --enable-libwebp \ --enable-vaapi \ --enable-vdpau \ - --enable-libdrm - + --enable-libdrm && make } diff --git a/repo/fftw/fftw.xibuild b/repo/fftw/fftw.xibuild index 41dd124..94e7814 100644 --- a/repo/fftw/fftw.xibuild +++ b/repo/fftw/fftw.xibuild @@ -46,6 +46,13 @@ build () { done } +check () { + for i in $precisions; do + cd $BUILD_ROOT/$i/fftw-$PKG_VER + make check + done +} + package () { for i in $precisions; do cd $BUILD_ROOT/$i/fftw-$PKG_VER diff --git a/repo/fil-plugins/fil-plugins.xibuild b/repo/fil-plugins/fil-plugins.xibuild new file mode 100644 index 0000000..15611b7 --- /dev/null +++ b/repo/fil-plugins/fil-plugins.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +NAME="fil-plugins" +DESC="LADSPA four-band parametric equaliser plugins" + +MAKEDEPS="make ladspa " + +PKG_VER=0.3.0 +SOURCE="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/FIL-plugins-$PKG_VER.tar.bz2" + +build () { + make +} + +package () { + install -Dm 755 filters.so "${PKG_DEST}/usr/lib/ladspa/filters.so" +} diff --git a/repo/firefox/allow-custom-rust-vendor.patch b/repo/firefox/allow-custom-rust-vendor.patch deleted file mode 100644 index 218650f..0000000 --- a/repo/firefox/allow-custom-rust-vendor.patch +++ /dev/null @@ -1,564 +0,0 @@ -From a5a3db2d32ff1d359aef5ec586b91164570c1685 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 09:56:15 -0800 -Subject: [PATCH 1/7] Support custom vendor strings. - -Add support for custom vendors, as in "x86_64-gentoo-linux-musl". - -Fixes #33. ---- - src/targets.rs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++- - src/triple.rs | 4 -- - 2 files changed, 106 insertions(+), 6 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 6ae570e..90b2736 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1,6 +1,8 @@ - // This file defines all the identifier enums and target-aware logic. - - use crate::triple::{Endianness, PointerWidth, Triple}; -+use alloc::boxed::Box; -+use alloc::string::String; - use core::fmt; - use core::str::FromStr; - -@@ -292,7 +294,7 @@ impl Aarch64Architecture { - - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] -+#[derive(Clone, Debug, PartialEq, Eq, Hash)] - #[allow(missing_docs)] - pub enum Vendor { - Unknown, -@@ -306,6 +308,15 @@ pub enum Vendor { - Sun, - Uwp, - Wrs, -+ -+ /// A custom vendor. "Custom" in this context means that the vendor is -+ /// not specifically recognized by upstream Autotools, LLVM, Rust, or other -+ /// relevant authorities on triple naming. It's useful for people building -+ /// and using locally patched toolchains. -+ /// -+ /// Outside of such patched environments, users of `target-lexicon` should -+ /// treat `Custom` the same as `Unknown` and ignore the string. -+ Custom(Box<String>), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -717,6 +728,7 @@ impl fmt::Display for Vendor { - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -+ Vendor::Custom(ref name) => name, - }; - f.write_str(s) - } -@@ -738,7 +750,46 @@ impl FromStr for Vendor { - "sun" => Vendor::Sun, - "uwp" => Vendor::Uwp, - "wrs" => Vendor::Wrs, -- _ => return Err(()), -+ custom => { -+ use alloc::borrow::ToOwned; -+ -+ // A custom vendor. Since triple syntax is so loosely defined, -+ // be as conservative as we can to avoid potential ambiguities. -+ // We err on the side of being too strict here, as we can -+ // always relax it if needed. -+ -+ // Don't allow empty string names. -+ if custom.is_empty() { -+ return Err(()); -+ } -+ -+ // Don't allow any other recognized name as a custom vendor, -+ // since vendors can be omitted in some contexts. -+ if Architecture::from_str(custom).is_ok() -+ || OperatingSystem::from_str(custom).is_ok() -+ || Environment::from_str(custom).is_ok() -+ || BinaryFormat::from_str(custom).is_ok() -+ { -+ return Err(()); -+ } -+ -+ // Require the first character to be an ascii lowercase. -+ if !custom.chars().nth(0).unwrap().is_ascii_lowercase() { -+ return Err(()); -+ } -+ -+ // Restrict the set of characters permitted in a custom vendor. -+ if custom -+ .find(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) -+ .is_some() -+ { -+ return Err(()); -+ } -+ -+ Vendor::Custom(Box::new(custom.to_owned())) -+ } - }) - } - } -@@ -1120,4 +1171,57 @@ mod tests { - assert_eq!(t.environment, Environment::Eabihf); - assert_eq!(t.binary_format, BinaryFormat::Elf); - } -+ -+ #[test] -+ fn custom_vendors() { -+ assert!(Triple::from_str("x86_64--linux").is_err()); -+ assert!(Triple::from_str("x86_64-42-linux").is_err()); -+ assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -+ assert!(Triple::from_str("x86_64-^-linux").is_err()); -+ assert!(Triple::from_str("x86_64- -linux").is_err()); -+ assert!(Triple::from_str("x86_64-CustomVendor-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-linux").is_err()); -+ assert!(Triple::from_str("x86_64-x86_64-linux").is_err()); -+ assert!(Triple::from_str("x86_64-elf-linux").is_err()); -+ assert!(Triple::from_str("x86_64-gnu-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-customvendor").is_err()); -+ assert!(Triple::from_str("customvendor").is_err()); -+ assert!(Triple::from_str("customvendor-x86_64").is_err()); -+ assert!(Triple::from_str("x86_64-").is_err()); -+ assert!(Triple::from_str("x86_64--").is_err()); -+ -+ let t = Triple::from_str("x86_64-customvendor-linux") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Linux); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Elf); -+ assert_eq!(t.to_string(), "x86_64-customvendor-linux"); -+ -+ let t = Triple::from_str("x86_64-customvendor") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Unknown); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Unknown); -+ -+ assert_eq!( -+ Triple::from_str("unknown-foo"), -+ Ok(Triple { -+ architecture: Architecture::Unknown, -+ vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())), -+ operating_system: OperatingSystem::Unknown, -+ environment: Environment::Unknown, -+ binary_format: BinaryFormat::Unknown, -+ }) -+ ); -+ } - } -diff --git a/src/triple.rs b/src/triple.rs -index 36dcd9a..1abda26 100644 ---- a/third_party/rust/target-lexicon.0.9.0/src/triple.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/triple.rs -@@ -322,10 +322,6 @@ mod tests { - Triple::from_str("foo"), - Err(ParseError::UnrecognizedArchitecture("foo".to_owned())) - ); -- assert_eq!( -- Triple::from_str("unknown-foo"), -- Err(ParseError::UnrecognizedVendor("foo".to_owned())) -- ); - assert_eq!( - Triple::from_str("unknown-unknown-foo"), - Err(ParseError::UnrecognizedOperatingSystem("foo".to_owned())) - -From 6f90d7274dce4e7f9bb120f6b36cf26881bde9a7 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 10:33:56 -0800 -Subject: [PATCH 2/7] Add more tests. - ---- - src/targets.rs | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 90b2736..7d1f069 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1174,6 +1174,7 @@ mod tests { - - #[test] - fn custom_vendors() { -+ // Test various invalid cases. - assert!(Triple::from_str("x86_64--linux").is_err()); - assert!(Triple::from_str("x86_64-42-linux").is_err()); - assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -@@ -1190,6 +1191,31 @@ mod tests { - assert!(Triple::from_str("x86_64-").is_err()); - assert!(Triple::from_str("x86_64--").is_err()); - -+ // Test various Unicode things. -+ assert!( -+ Triple::from_str("x86_64-𝓬𝓾𝓼𝓽𝓸𝓶𝓿𝓮𝓷𝓭𝓸𝓻-linux").is_err(), -+ "unicode font hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-ćúśtőḿvéńdőŕ-linux").is_err(), -+ "diacritical mark stripping hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendοr-linux").is_err(), -+ "homoglyph hazard" -+ ); -+ assert!(Triple::from_str("x86_64-customvendor-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-ffi-linux").is_err(), -+ "normalization hazard" -+ ); -+ assert!(Triple::from_str("x86_64-ffi-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "zero-width character hazard" -+ ); -+ -+ // Test some valid cases. - let t = Triple::from_str("x86_64-customvendor-linux") - .expect("can't parse target with custom vendor"); - assert_eq!(t.architecture, Architecture::X86_64); -@@ -1202,8 +1228,8 @@ mod tests { - assert_eq!(t.binary_format, BinaryFormat::Elf); - assert_eq!(t.to_string(), "x86_64-customvendor-linux"); - -- let t = Triple::from_str("x86_64-customvendor") -- .expect("can't parse target with custom vendor"); -+ let t = -+ Triple::from_str("x86_64-customvendor").expect("can't parse target with custom vendor"); - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, - -From c0e318b3c1be2d1965579f07dd563fb9cc0c4eb1 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 12:56:31 -0800 -Subject: [PATCH 3/7] Use `.chars().any(...)` instead of - `.find(...).is_some()`. - ---- - src/targets.rs | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 7d1f069..1078dd3 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon/src-0.9.0/targets.rs -@@ -779,12 +779,9 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- if custom -- .find(|c: char| { -- !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- }) -- .is_some() -- { -+ if custom.chars().any(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) { - return Err(()); - } - - -From f319950528654c772193d9eb3bf40bc8df35fcae Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Thu, 7 Nov 2019 15:15:48 -0800 -Subject: [PATCH 4/7] Fix build.rs to generate the correct code to build - Vendors. - ---- - build.rs | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/build.rs b/build.rs -index a0ba3b7..446f9e7 100644 ---- a/third_party/rust/target-lexicon-0.9.0/build.rs -+++ b/third_party/rust/target-lexicon-0.9.0/build.rs -@@ -32,6 +32,7 @@ mod parse_error { - } - } - -+use self::targets::Vendor; - use self::triple::Triple; - - fn main() { -@@ -60,7 +61,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!(out, " vendor: {},", vendor_display(&triple.vendor))?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -90,7 +91,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - writeln!(out, "impl Vendor {{")?; - writeln!(out, " /// Return the vendor for the current host.")?; - writeln!(out, " pub const fn host() -> Self {{")?; -- writeln!(out, " Vendor::{:?}", triple.vendor)?; -+ writeln!(out, " {}", vendor_display(&triple.vendor))?; - writeln!(out, " }}")?; - writeln!(out, "}}")?; - writeln!(out)?; -@@ -160,3 +161,12 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - - Ok(()) - } -+ -+fn vendor_display(vendor: &Vendor) -> String { -+ match vendor { -+ Vendor::Custom(custom) => { -+ format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom) -+ } -+ known => format!("Vendor::{:?}", known), -+ } -+} - -From e558f6934535be3b8ccc9a99a33e861cb7431dfe Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Fri, 8 Nov 2019 12:10:34 -0800 -Subject: [PATCH 5/7] Fix custom vendors in `const fn` contexts. - ---- - build.rs | 15 +++++++++++---- - src/lib.rs | 4 ++-- - src/targets.rs | 51 ++++++++++++++++++++++++++++++++++++++++++-------- - 3 files changed, 56 insertions(+), 14 deletions(-) - -diff --git a/build.rs b/build.rs -index 446f9e7..e88206e 100644 ---- a/third_party/rust/target-lexicon-0.9.0/build.rs -+++ b/third_party/rust/target-lexicon-0.9.0/build.rs -@@ -53,6 +53,8 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - writeln!(out, "use crate::Aarch64Architecture::*;")?; - writeln!(out, "#[allow(unused_imports)]")?; - writeln!(out, "use crate::ArmArchitecture::*;")?; -+ writeln!(out, "#[allow(unused_imports)]")?; -+ writeln!(out, "use crate::CustomVendor;")?; - writeln!(out)?; - writeln!(out, "/// The `Triple` of the current host.")?; - writeln!(out, "pub const HOST: Triple = Triple {{")?; -@@ -139,7 +141,11 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!( -+ out, -+ " vendor: {},", -+ vendor_display(&triple.vendor) -+ )?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -164,9 +170,10 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - - fn vendor_display(vendor: &Vendor) -> String { - match vendor { -- Vendor::Custom(custom) => { -- format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom) -- } -+ Vendor::Custom(custom) => format!( -+ "Vendor::Custom(CustomVendor::Static({:?}))", -+ custom.as_str() -+ ), - known => format!("Vendor::{:?}", known), - } - } -diff --git a/src/lib.rs b/src/lib.rs -index 8d6da8d..70f6488 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/lib.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/lib.rs -@@ -28,7 +28,7 @@ mod triple; - pub use self::host::HOST; - pub use self::parse_error::ParseError; - pub use self::targets::{ -- Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, Environment, OperatingSystem, -- Vendor, -+ Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, CustomVendor, Environment, -+ OperatingSystem, Vendor, - }; - pub use self::triple::{CallingConvention, Endianness, PointerWidth, Triple}; -diff --git a/src/targets.rs b/src/targets.rs -index 1078dd3..7152020 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -4,6 +4,7 @@ use crate::triple::{Endianness, PointerWidth, Triple}; - use alloc::boxed::Box; - use alloc::string::String; - use core::fmt; -+use core::hash::{Hash, Hasher}; - use core::str::FromStr; - - /// The "architecture" field, which in some cases also specifies a specific -@@ -292,6 +293,39 @@ impl Aarch64Architecture { - } - } - -+/// A string for a `Vendor::Custom` that can either be used in `const` -+/// contexts or hold dynamic strings. -+#[derive(Clone, Debug, Eq)] -+pub enum CustomVendor { -+ /// An owned `String`. This supports the general case. -+ Owned(Box<String>), -+ /// A static `str`, so that `CustomVendor` can be constructed in `const` -+ /// contexts. -+ Static(&'static str), -+} -+ -+impl CustomVendor { -+ /// Extracts a string slice. -+ pub fn as_str(&self) -> &str { -+ match self { -+ CustomVendor::Owned(s) => s, -+ CustomVendor::Static(s) => s, -+ } -+ } -+} -+ -+impl PartialEq for CustomVendor { -+ fn eq(&self, other: &Self) -> bool { -+ self.as_str() == other.as_str() -+ } -+} -+ -+impl Hash for CustomVendor { -+ fn hash<H: Hasher>(&self, state: &mut H) { -+ self.as_str().hash(state) -+ } -+} -+ - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. - #[derive(Clone, Debug, PartialEq, Eq, Hash)] -@@ -316,7 +350,7 @@ pub enum Vendor { - /// - /// Outside of such patched environments, users of `target-lexicon` should - /// treat `Custom` the same as `Unknown` and ignore the string. -- Custom(Box<String>), -+ Custom(CustomVendor), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -728,7 +762,7 @@ impl fmt::Display for Vendor { - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -- Vendor::Custom(ref name) => name, -+ Vendor::Custom(ref name) => name.as_str(), - }; - f.write_str(s) - } -@@ -779,13 +813,14 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- if custom.chars().any(|c: char| { -+ fn is_prohibited_char(c: char) -> bool { - !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- }) { -+ } -+ if custom.chars().any(is_prohibited_char) { - return Err(()); - } - -- Vendor::Custom(Box::new(custom.to_owned())) -+ Vendor::Custom(CustomVendor::Owned(Box::new(custom.to_owned()))) - } - }) - } -@@ -1218,7 +1253,7 @@ mod tests { - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, -- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ Vendor::Custom(CustomVendor::Static("customvendor")) - ); - assert_eq!(t.operating_system, OperatingSystem::Linux); - assert_eq!(t.environment, Environment::Unknown); -@@ -1230,7 +1265,7 @@ mod tests { - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, -- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ Vendor::Custom(CustomVendor::Static("customvendor")) - ); - assert_eq!(t.operating_system, OperatingSystem::Unknown); - assert_eq!(t.environment, Environment::Unknown); -@@ -1240,7 +1275,7 @@ mod tests { - Triple::from_str("unknown-foo"), - Ok(Triple { - architecture: Architecture::Unknown, -- vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())), -+ vendor: Vendor::Custom(CustomVendor::Static("foo")), - operating_system: OperatingSystem::Unknown, - environment: Environment::Unknown, - binary_format: BinaryFormat::Unknown, - -From bc4b444133b8a5e56602f7c77c10ef3f1e7a7c78 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Mon, 18 Nov 2019 13:45:58 -0800 -Subject: [PATCH 6/7] Add a testcase with a BOM too, just in case. - ---- - src/targets.rs | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/targets.rs b/src/targets.rs -index 7152020..9a4d990 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1246,6 +1246,10 @@ mod tests { - Triple::from_str("x86_64-customvendor-linux").is_err(), - "zero-width character hazard" - ); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "BOM hazard" -+ ); - - // Test some valid cases. - let t = Triple::from_str("x86_64-customvendor-linux") - -From 721fbbe1c9cfd3adc9aaf011c62d6a36078f4133 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Mon, 18 Nov 2019 20:56:40 -0800 -Subject: [PATCH 7/7] Use an anonymous function instead of just a local - function. - ---- - src/targets.rs | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 9a4d990..eb5a088 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -813,10 +813,9 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- fn is_prohibited_char(c: char) -> bool { -+ if custom.chars().any(|c: char| { - !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- } -- if custom.chars().any(is_prohibited_char) { -+ }) { - return Err(()); - } - diff --git a/repo/firefox/avoid-redefinition.patch b/repo/firefox/avoid-redefinition.patch deleted file mode 100644 index af11c50..0000000 --- a/repo/firefox/avoid-redefinition.patch +++ /dev/null @@ -1,15 +0,0 @@ -Author: Rasmus Thomsen <oss@cogitri.dev> -Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones -(linux/if.h), leading to redefinitions. We need to include net/if.h before -linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt -Upstream: No ---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c.orig 2020-07-28 19:24:32.359751046 +0200 -+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200 -@@ -31,6 +31,7 @@ - */ - - #if defined(LINUX) -+#include <net/if.h> - #include "addrs-netlink.h" - #include <csi_platform.h> - #include <assert.h> diff --git a/repo/firefox/disable-moz-stackwalk.patch b/repo/firefox/disable-moz-stackwalk.patch deleted file mode 100644 index b6bc756..0000000 --- a/repo/firefox/disable-moz-stackwalk.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp -index 7d62921..adcfa44 100644 ---- a/mozglue/misc/StackWalk.cpp -+++ b/mozglue/misc/StackWalk.cpp -@@ -33,13 +33,7 @@ using namespace mozilla; - # define MOZ_STACKWALK_SUPPORTS_MACOSX 0 - #endif - --#if (defined(linux) && \ -- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ -- defined(HAVE__UNWIND_BACKTRACE))) --# define MOZ_STACKWALK_SUPPORTS_LINUX 1 --#else - # define MOZ_STACKWALK_SUPPORTS_LINUX 0 --#endif - - #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) - # define HAVE___LIBC_STACK_END 1 diff --git a/repo/firefox/disable-neon-in-aom.patch b/repo/firefox/disable-neon-in-aom.patch deleted file mode 100644 index 6df05a1..0000000 --- a/repo/firefox/disable-neon-in-aom.patch +++ /dev/null @@ -1,39 +0,0 @@ -Firefox (75) and AOM itself fail to build with NEON enabled. As such -we should disable it for now. - -In file included from /home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: -/home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/av1/common/arm/mem_neon.h: In function 'load_u8_8x8': -/usr/lib/gcc/armv7-alpine-linux-musleabihf/9.3.0/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch -10303 | vld1_u8 (const uint8_t * __a) - | ^~~~~~~ ---- a/media/libaom/moz.build 2020-04-09 08:20:14.608439591 +0200 -+++ b/media/libaom/moz.build 2020-04-09 08:20:21.801745246 +0200 -@@ -42,26 +42,6 @@ - ASFLAGS += [ '-I%s/media/libaom/config/linux/ia32/' % TOPSRCDIR ] - LOCAL_INCLUDES += [ '/media/libaom/config/linux/ia32/' ] - EXPORTS.aom += [ 'config/linux/ia32/config/aom_config.h' ] --elif CONFIG['CPU_ARCH'] == 'arm': -- EXPORTS.aom += files['ARM_EXPORTS'] -- ASFLAGS += [ -- '-I%s/media/libaom/config/linux/arm/' % TOPSRCDIR, -- '-I%s/libaom' % OBJDIR, -- ] -- LOCAL_INCLUDES += [ '/media/libaom/config/linux/arm/' ] -- EXPORTS.aom += [ 'config/linux/arm/config/aom_config.h' ] -- -- SOURCES += files['ARM_SOURCES'] -- -- for f in SOURCES: -- if f.endswith('neon.c'): -- SOURCES[f].flags += CONFIG['VPX_ASFLAGS'] -- -- if CONFIG['OS_TARGET'] == 'Android': -- # For cpu-features.h -- LOCAL_INCLUDES += [ -- '%%%s/sources/android/cpufeatures' % CONFIG['ANDROID_NDK'], -- ] - else: - # Generic C-only configuration - EXPORTS.aom += files['GENERIC_EXPORTS'] - - diff --git a/repo/firefox/firefox-safe.desktop b/repo/firefox/firefox-safe.desktop deleted file mode 100644 index 1538fc6..0000000 --- a/repo/firefox/firefox-safe.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Exec=firefox -safe-mode %u -Icon=firefox -Type=Application -Terminal=false -MultipleArgs=false -Name=Firefox - Safe Mode -GenericName=Web Browser - Safe Mode -StartupNotify=false -Categories=Network;WebBrowser; diff --git a/repo/firefox/firefox.desktop b/repo/firefox/firefox.desktop deleted file mode 100644 index d048ce4..0000000 --- a/repo/firefox/firefox.desktop +++ /dev/null @@ -1,81 +0,0 @@ -[Desktop Entry] -Exec=firefox %u -Icon=firefox -Type=Application -Terminal=false -Name=Firefox -Name[bn]=ফায়ারফক্স3 -Name[eo]=Fajrovulpo3 -Name[fi]=Firefox3 -Name[pa]=ਫਾਇਰਫੋਕਸ3 -Name[tg]=Рӯбоҳи оташин3 -GenericName=Web Browser -GenericName[af]=Web Blaaier -GenericName[ar]=متصفح ويب -GenericName[az]=Veb Səyyahı -GenericName[bg]=Браузър -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[br]=Furcher ar Gwiad -GenericName[bs]=WWW Preglednik -GenericName[ca]=Fullejador web -GenericName[cs]=WWW prohlížeč -GenericName[cy]=Porydd Gwe -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=Περιηγητής Ιστού -GenericName[eo]=TTT-legilo -GenericName[es]=Navegador web -GenericName[et]=Veebilehitseja -GenericName[eu]=Web arakatzailea -GenericName[fa]=مرورگر وب -GenericName[fi]=WWW-selain -GenericName[fo]=Alnótsfar -GenericName[fr]=Navigateur web -GenericName[gl]=Navegador Web -GenericName[he]=דפדפן אינטרנט -GenericName[hi]=वेब ब्राउज़र -GenericName[hr]=Web preglednik -GenericName[hu]=Webböngésző -GenericName[is]=Vafri -GenericName[it]=Browser Web -GenericName[ja]=ウェブブラウザ -GenericName[ko]=웹 브라우저 -GenericName[lo]=ເວັບບຣາວເຊີ -GenericName[lt]=Žiniatinklio naršyklė -GenericName[lv]=Web Pārlūks -GenericName[mk]=Прелистувач на Интернет -GenericName[mn]=Веб-Хөтөч -GenericName[nb]=Nettleser -GenericName[nds]=Nettkieker -GenericName[nl]=Webbrowser -GenericName[nn]=Nettlesar -GenericName[nso]=Seinyakisi sa Web -GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ -GenericName[pl]=Przeglądarka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador Web -GenericName[ro]=Navigator de web -GenericName[ru]=Веб-браузер -GenericName[se]=Fierpmádatlogan -GenericName[sk]=Webový prehliadač -GenericName[sl]=Spletni brskalnik -GenericName[sr]=Веб претраживач -GenericName[sr@Latn]=Veb pretraživač -GenericName[ss]=Ibrawuza yeWeb -GenericName[sv]=Webbläsare -GenericName[ta]=வலை உலாவி -GenericName[tg]=Тафсиргари вэб -GenericName[th]=เว็บบราวเซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[uk]=Навігатор Тенет -GenericName[uz]=Веб-браузер -GenericName[ven]=Buronza ya Webu -GenericName[vi]=Trình duyệt Web -GenericName[wa]=Betchteu waibe -GenericName[xh]=Umkhangeli zincwadi we Web -GenericName[zh_CN]=网页浏览器 -GenericName[zh_TW]=網頁瀏覽器 -GenericName[zu]=Umcingi we-Web -MimeType=text/html; -StartupNotify=true -Categories=Network;WebBrowser; diff --git a/repo/firefox/firefox.xibuild b/repo/firefox/firefox.xibuild deleted file mode 100644 index 7d345f0..0000000 --- a/repo/firefox/firefox.xibuild +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/sh - -NAME="firefox" -DESC="Firefox web browser" - -MAKEDEPS="make rust cbindgen" -DEPS="libseccomp nodejs alsa-lib atk cairo dbus ffmpeg fontconfig freetype2 gdk-pixbuf glib gtk3 icu libevent libffi libpng libvpx libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxrandr musl nspr nss pango pixman zlib dbus-glib" - -PKG_VER=100.0.2 - -SOURCE="https://ftp.mozilla.org/pub/firefox/releases/$PKG_VER/source/firefox-$PKG_VER.source.tar.xz" -ADDITIONAL=" -allow-custom-rust-vendor.patch -avoid-redefinition.patch -disable-moz-stackwalk.patch -disable-neon-in-aom.patch -firefox-safe.desktop -firefox.desktop -fix-fortify-system-wrappers.patch -fix-rust-target.patch -fix-webrtc-glibcisms.patch -mallinfo.patch -sandbox-fork.patch -sandbox-largefile.patch -sandbox-sched_setscheduler.patch -stab.h -" - -prepare () { - apply_patches - - cp stab.h toolkit/crashreporter/google-breakpad/src/ - - sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/audio_thread_priority/.cargo-checksum.json - sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json -} - -build () { - mkdir -p objdir - cd objdir - export SHELL=/bin/sh - export BUILD_OFFICIAL=1 - export MOZILLA_OFFICIAL=1 - export USE_SHORT_LIBNAME=1 - export MACH_USE_SYSTEM_PYTHON=1 - export MOZBUILD_STATE_PATH=$BUILD_ROOT/mozbuild - # disable desktop notifications - export MOZ_NOSPAM=1 - # Find our triplet JSON - export RUST_TARGET="x86_64-unknown-linux-musl" - # Build with Clang, takes less RAM - export CC="clang" - export CXX="clang++" - - export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/firefox" - ../mach configure \ - --without-wasm-sandboxed-libraries \ - --prefix=/usr \ - --disable-elf-hack \ - --enable-rust-simd \ - --enable-sandbox \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-install-strip \ - --disable-jemalloc \ - --disable-minify \ - --disable-profiling \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --enable-alsa \ - --enable-dbus \ - --enable-default-toolkit=cairo-gtk3-wayland \ - --enable-dom-streams \ - --enable-ffmpeg \ - --enable-hardening \ - --enable-necko-wifi \ - --enable-official-branding \ - --enable-optimize="$CFLAGS -O2" \ - --enable-pulseaudio \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --with-distribution-id=xilinux \ - --with-libclang-path=/usr/lib \ - --with-system-ffi \ - --with-system-icu \ - --with-system-jpeg \ - --with-system-libevent \ - --with-system-libvpx \ - --with-system-nspr \ - --with-system-nss \ - --with-system-pixman \ - --with-system-png \ - --with-system-webp \ - --with-system-zlib \ - --with-unsigned-addon-scopes=app,system && - ../mach build -} - -package () { - - DESTDIR="$PKG_DEST" MOZ_MAKE_FLAGS="$MAKEOPTS" ../mach install - - install -m755 -d "$PKG_DEST"/usr/share/applications - install -m755 -d "$PKG_DEST"/usr/share/pixmaps - - local _png - for _png in ../browser/branding/official/default*.png; do - local i=${_png%.png} - i=${i##*/default} - install -D -m644 "$_png" "$PKG_DEST"/usr/share/icons/hicolor/"$i"x"$i"/apps/firefox.png - done - - install -m644 ../browser/branding/official/default48.png \ - "$PKG_DEST"/usr/share/pixmaps/firefox.png - install -m644 ../firefox.desktop "$PKG_DEST"/usr/share/applications/org.mozilla.firefox.desktop - install -m644 ../firefox-safe.desktop "$PKG_DEST"/usr/share/applications/org.mozilla.firefox-safe.desktop - - # Add StartupWMClass=firefox on the .desktop files so Desktop Environments - # correctly associate the window with their icon, the correct fix is to have - # firefox sets its own AppID but this will work for the meantime - # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399 - echo "StartupWMClass=firefox" >> $PKG_DEST/usr/share/applications/org.mozilla.firefox.desktop - echo "StartupWMClass=firefox" >> $PKG_DEST/usr/share/applications/org.mozilla.firefox-safe.desktop - - # install our vendor prefs - install -d $PKG_DEST/usr/lib/firefox/browser/defaults/preferences - - cat >> $PKG_DEST/usr/lib/firefox/browser/defaults/preferences/firefox-branding.js <<- EOF - // Use LANG environment variable to choose locale - pref("intl.locale.requested", ""); - - // Disable default browser checking. - pref("browser.shell.checkDefaultBrowser", false); - - // Don't disable our bundled extensions in the application directory - pref("extensions.autoDisableScopes", 11); - pref("extensions.shownSelectionUI", true); - EOF -} diff --git a/repo/firefox/fix-fortify-system-wrappers.patch b/repo/firefox/fix-fortify-system-wrappers.patch deleted file mode 100644 index 17cf7e3..0000000 --- a/repo/firefox/fix-fortify-system-wrappers.patch +++ /dev/null @@ -1,13 +0,0 @@ -The wrapper features.h gets pulled in by system headers causing thigns to -break. We work around it by simply not wrap features.h - ---- ./config/system-headers.mozbuild.orig -+++ ./config/system-headers.mozbuild -@@ -229,7 +229,6 @@ - 'execinfo.h', - 'extras.h', - 'fcntl.h', -- 'features.h', - 'fenv.h', - 'ffi.h', - 'fibdef.h', diff --git a/repo/firefox/fix-rust-target.patch b/repo/firefox/fix-rust-target.patch deleted file mode 100644 index 9342063..0000000 --- a/repo/firefox/fix-rust-target.patch +++ /dev/null @@ -1,31 +0,0 @@ -Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's -weird custom build system... - ---- a/build/moz.configure/rust.configure -+++ b/build/moz.configure/rust.configure -@@ -225,7 +225,9 @@ - data.setdefault(key, []).append(namespace(rust_target=t, target=info)) - return data - -- -+@imports('os') -+@imports(_from='mozbuild.util', _import='ensure_unicode') -+@imports(_from='mozbuild.util', _import='system_encoding') - def detect_rustc_target( - host_or_target, compiler_info, arm_target, rust_supported_targets - ): -@@ -340,13 +342,13 @@ - - return None - -- rustc_target = find_candidate(candidates) -+ rustc_target = os.environ['RUST_TARGET'] - - if rustc_target is None: - die("Don't know how to translate {} for rustc".format(host_or_target.alias)) - -- return rustc_target -+ return ensure_unicode(rustc_target, system_encoding) - - - @imports('os') diff --git a/repo/firefox/fix-webrtc-glibcisms.patch b/repo/firefox/fix-webrtc-glibcisms.patch deleted file mode 100644 index 4f9043b..0000000 --- a/repo/firefox/fix-webrtc-glibcisms.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc -+++ b/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc -@@ -18,7 +18,7 @@ - #define WEBRTC_GLIBC_PREREQ(a, b) 0 - #endif - --#if WEBRTC_GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16) - #include <sys/auxv.h> - #else - #include <errno.h> -@@ -40,7 +40,7 @@ - int architecture = 0; - uint64_t hwcap = 0; - const char* platform = NULL; --#if WEBRTC_GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16) - hwcap = getauxval(AT_HWCAP); - platform = (const char*)getauxval(AT_PLATFORM); - #else diff --git a/repo/firefox/mallinfo.patch b/repo/firefox/mallinfo.patch deleted file mode 100644 index 7916a20..0000000 --- a/repo/firefox/mallinfo.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp -index 865e1b5430..9a00dafecb 100644 ---- a/xpcom/base/nsMemoryReporterManager.cpp -+++ b/xpcom/base/nsMemoryReporterManager.cpp -@@ -124,6 +124,7 @@ static MOZ_MUST_USE nsresult ResidentUniqueDistinguishedAmount(int64_t* aN) { - return GetProcSelfSmapsPrivate(aN); - } - -+#ifdef __GLIBC__ - # ifdef HAVE_MALLINFO - # define HAVE_SYSTEM_HEAP_REPORTER 1 - static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { -@@ -143,6 +144,7 @@ static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { - return NS_OK; - } - # endif -+#endif - - #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ - defined(__OpenBSD__) || defined(__FreeBSD_kernel__) diff --git a/repo/firefox/sandbox-fork.patch b/repo/firefox/sandbox-fork.patch deleted file mode 100644 index c7222ab..0000000 --- a/repo/firefox/sandbox-fork.patch +++ /dev/null @@ -1,15 +0,0 @@ -make SYS_fork non-fatal, musl uses it for fork(2) - ---- a/security/sandbox/linux/SandboxFilter.cpp -+++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -1253,6 +1253,10 @@ - // usually do something reasonable on error. - case __NR_clone: - return ClonePolicy(Error(EPERM)); -+#ifdef __NR_fork -+ case __NR_fork: -+ return Error(ENOSYS); -+#endif - - # ifdef __NR_fadvise64 - case __NR_fadvise64: diff --git a/repo/firefox/sandbox-largefile.patch b/repo/firefox/sandbox-largefile.patch deleted file mode 100644 index f1cf28b..0000000 --- a/repo/firefox/sandbox-largefile.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:41:14.556378950 +0100 -+++ b/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:40:23.595806444 +0100 -@@ -68,7 +68,13 @@ - - // The headers define O_LARGEFILE as 0 on x86_64, but we need the - // actual value because it shows up in file flags. --#define O_LARGEFILE_REAL 00100000 -+#if defined(__x86_64__) || defined(__i386__) || defined(__mips__) -+#define O_LARGEFILE_REAL 0100000 -+#elif defined(__powerpc__) -+#define O_LARGEFILE_REAL 0200000 -+#else -+#define O_LARGEFILE_REAL O_LARGEFILE -+#endif - - // Not part of UAPI, but userspace sees it in F_GETFL; see bug 1650751. - #define FMODE_NONOTIFY 0x4000000 diff --git a/repo/firefox/sandbox-sched_setscheduler.patch b/repo/firefox/sandbox-sched_setscheduler.patch deleted file mode 100644 index 3163c9e..0000000 --- a/repo/firefox/sandbox-sched_setscheduler.patch +++ /dev/null @@ -1,16 +0,0 @@ -upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849 ---- a/security/sandbox/linux/SandboxFilter.cpp -+++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -1694,10 +1694,10 @@ - return Allow(); - case __NR_sched_get_priority_min: - case __NR_sched_get_priority_max: -+ case __NR_sched_setscheduler: - return Allow(); - case __NR_sched_getparam: -- case __NR_sched_getscheduler: -- case __NR_sched_setscheduler: { -+ case __NR_sched_getscheduler: { - Arg<pid_t> pid(0); - return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr)); - } diff --git a/repo/firefox/stab.h b/repo/firefox/stab.h deleted file mode 100644 index 6f70af3..0000000 --- a/repo/firefox/stab.h +++ /dev/null @@ -1,71 +0,0 @@ -/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */ - -/*- - * Copyright (c) 1991 The Regents of the University of California. - * 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. Neither the name of the University 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 REGENTS 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. - * - * @(#)stab.h 5.2 (Berkeley) 4/4/91 - */ - -#ifndef _STAB_H_ -#define _STAB_H_ - -/* - * The following are symbols used by various debuggers and by the Pascal - * compiler. Each of them must have one (or more) of the bits defined by - * the N_STAB mask set. - */ - -#define N_GSYM 0x20 /* global symbol */ -#define N_FNAME 0x22 /* F77 function name */ -#define N_FUN 0x24 /* procedure name */ -#define N_STSYM 0x26 /* data segment variable */ -#define N_LCSYM 0x28 /* bss segment variable */ -#define N_MAIN 0x2a /* main function name */ -#define N_PC 0x30 /* global Pascal symbol */ -#define N_RSYM 0x40 /* register variable */ -#define N_SLINE 0x44 /* text segment line number */ -#define N_DSLINE 0x46 /* data segment line number */ -#define N_BSLINE 0x48 /* bss segment line number */ -#define N_SSYM 0x60 /* structure/union element */ -#define N_SO 0x64 /* main source file name */ -#define N_LSYM 0x80 /* stack variable */ -#define N_BINCL 0x82 /* include file beginning */ -#define N_SOL 0x84 /* included source file name */ -#define N_PSYM 0xa0 /* parameter variable */ -#define N_EINCL 0xa2 /* include file end */ -#define N_ENTRY 0xa4 /* alternate entry point */ -#define N_LBRAC 0xc0 /* left bracket */ -#define N_EXCL 0xc2 /* deleted include file */ -#define N_RBRAC 0xe0 /* right bracket */ -#define N_BCOMM 0xe2 /* begin common */ -#define N_ECOMM 0xe4 /* end common */ -#define N_ECOML 0xe8 /* end common (local name) */ -#define N_LENG 0xfe /* length of preceding entry */ - -#endif /* !_STAB_H_ */ diff --git a/repo/freetds/fix-includes.patch b/repo/freetds/fix-includes.patch new file mode 100644 index 0000000..ecef5e9 --- /dev/null +++ b/repo/freetds/fix-includes.patch @@ -0,0 +1,13 @@ +Upstream: No +Reason: Missing include + +--- a/src/apps/fisql/fisql.c ++++ b/src/apps/fisql/fisql.c +@@ -25,6 +25,7 @@ + #include <unistd.h> + #include <setjmp.h> + #include <signal.h> ++#include <sys/stat.h> + #ifdef HAVE_READLINE + #include <readline/readline.h> + #include <readline/history.h> diff --git a/repo/freetds/freetds.xibuild b/repo/freetds/freetds.xibuild new file mode 100644 index 0000000..e5b445e --- /dev/null +++ b/repo/freetds/freetds.xibuild @@ -0,0 +1,35 @@ +#!/bin/sh + +NAME="freetds" +DESC="Tabular Datastream Library" + +MAKEDEPS="openssl linux-headers readline unixodbc" + +PKG_VER=1.3.13 +SOURCE="https://www.freetds.org/files/stable/freetds-$PKG_VER.tar.bz2" + +ADDITIONAL=" +fix-includes.patch +" + +prepare () { + apply_patches +} + +build() { + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-msdblib \ + --with-openssl=/usr \ + --enable-odbc \ + --with-unixodbc=/usr + make +} + +package() { + make -j1 DESTDIR="$PKG_DEST" install +} + diff --git a/repo/fuse/fuse.xibuild b/repo/fuse/fuse.xibuild index 4b4a351..7d89da0 100644 --- a/repo/fuse/fuse.xibuild +++ b/repo/fuse/fuse.xibuild @@ -12,9 +12,9 @@ ADDITIONAL=" fix-realpath.patch " -prepare () { - apply_patches -} +#prepare () { +# apply_patches +#} build() { UDEV_RULES_PATH='/lib/udev/rules.d' ./configure \ @@ -30,6 +30,6 @@ build() { package() { make DESTDIR="$PKG_DEST" install - rm -r "$PKG_DEST"/dev "$PKG_DEST"/etc/init.d + #rm -r "$PKG_DEST"/dev "$PKG_DEST"/etc/init.d } diff --git a/repo/g2reverb/g2reverb.xibuild b/repo/g2reverb/g2reverb.xibuild new file mode 100644 index 0000000..a74299d --- /dev/null +++ b/repo/g2reverb/g2reverb.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +NAME="g2reverb" +DESC="LADSPA stereo reverb plugin based on greverb" + +MAKEDEPS="make ladspa " + +PKG_VER=0.7.1 +SOURCE="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/g2reverb-${PKG_VER}.tar.bz2" + +build () { + make +} + +package () { + install -Dm 755 "g2reverb.so" "$PKG_DEST/usr/lib/ladspa/g2reverb.so" +} diff --git a/repo/gawk/gawk.xibuild b/repo/gawk/gawk.xibuild index a8ff339..1b60f3b 100644 --- a/repo/gawk/gawk.xibuild +++ b/repo/gawk/gawk.xibuild @@ -1,9 +1,8 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="sh musl mpfr" +MAKEDEPS="make sh musl mpfr" -PKG_VER=5.2.0 +PKG_VER=5.2.1 SOURCE=https://ftp.gnu.org/gnu/gawk/gawk-$PKG_VER.tar.xz DESC="GNU's awk" diff --git a/repo/gegl/gegl.xibuild b/repo/gegl/gegl.xibuild index 46f9482..ad28101 100644 --- a/repo/gegl/gegl.xibuild +++ b/repo/gegl/gegl.xibuild @@ -5,8 +5,7 @@ DESC="Graph based image processing framework" # TODO onlly install the fonts actually needed -MAKEDEPS="encodings font-adobe-utopia-type1 font-alias font-bh-ttf font-bh-type1 fontconfig font-ibm-type1 font-misc-ethiopic font-util font-xfree86-type1 meson ninja graphviz libexecinfo" -DEPS="babl cairo ffmpeg4 gdk-pixbuf glib json-glib lcms2 intltool libjpeg-turbo libpng libraw librsvg libwebp musl pango tiff libexecinfo" +MAKEDEPS="encodings font-adobe-utopia-type1 font-alias font-bh-ttf font-bh-type1 fontconfig font-ibm-type1 font-misc-ethiopic font-util font-xfree86-type1 meson ninja graphviz libexecinfo babl cairo ffmpeg4 gdk-pixbuf glib json-glib lcms2 intltool libjpeg-turbo libpng libraw librsvg libwebp musl pango tiff libexecinfo" PKG_VER=0.4.36 SOURCE="https://download.gimp.org/pub/gegl/${PKG_VER%.*}/gegl-${PKG_VER}.tar.xz" diff --git a/repo/gexiv2/gexiv2.xibuild b/repo/gexiv2/gexiv2.xibuild index d18f579..6d4fc72 100644 --- a/repo/gexiv2/gexiv2.xibuild +++ b/repo/gexiv2/gexiv2.xibuild @@ -3,8 +3,7 @@ NAME="gexiv2" DESC="GObject-based wrapper around the Exiv2 library" -MAKEDEPS="meson ninja python-gobject" -DEPS="exiv2 glib " +MAKEDEPS="meson ninja python-gobject exiv2 glib " PKG_VER=0.14.0 SOURCE="https://download.gnome.org/sources/gexiv2/${PKG_VER%.*}/gexiv2-$PKG_VER.tar.xz" diff --git a/repo/gimp/gimp.xibuild b/repo/gimp/gimp.xibuild index b11e920..435bff9 100644 --- a/repo/gimp/gimp.xibuild +++ b/repo/gimp/gimp.xibuild @@ -3,8 +3,7 @@ NAME="gimp" DESC="GNU Image Manipulation Program" -MAKEDEPS="make gettext" -DEPS="babl cairo fontconfig freetype2 gdk-pixbuf gexiv2 glib gtk2 harfbuzz json-glib lcms2 bzip2 libexecinfo intltool libjpeg-turbo libmypaint mypaint-brushes libpng librsvg libwebp libx11 libxext libxfixes libxmu libxpm musl pango poppler-glib gegl tiff xz zlib python glib-networking poppler-data" +MAKEDEPS="make gettext babl cairo fontconfig freetype2 gdk-pixbuf gexiv2 glib gtk2 harfbuzz json-glib lcms2 bzip2 libexecinfo intltool libjpeg-turbo libmypaint mypaint-brushes libpng librsvg libwebp libx11 libxext libxfixes libxmu libxpm musl pango poppler-glib gegl tiff xz zlib python glib-networking poppler-data" PKG_VER=2.10.28 SOURCE="https://download.gimp.org/pub/gimp/v${PKG_VER%.*}/gimp-$PKG_VER.tar.bz2" diff --git a/repo/glib/glib.xibuild b/repo/glib/glib.xibuild index f92f62c..7dc30a6 100644 --- a/repo/glib/glib.xibuild +++ b/repo/glib/glib.xibuild @@ -5,7 +5,7 @@ DESC="Common C routines used by Gtk+ and other libs" MAKEDEPS=" bzip2 docbook-xml docbook-xsl gettext libxml2 libxslt python pcre2 meson zlib libffi util-linux" -PKG_VER=2.74.0 +PKG_VER=2.75.1 SOURCE="https://download.gnome.org/sources/glib/${PKG_VER%.*}/glib-$PKG_VER.tar.xz" ADDITIONAL=" @@ -16,7 +16,7 @@ gparamspec.patch " prepare () { - apply_patches + apply_patches || true } build() { diff --git a/repo/glibmm/glibmm.xibuild b/repo/glibmm/glibmm.xibuild index 4638567..68ec03b 100644 --- a/repo/glibmm/glibmm.xibuild +++ b/repo/glibmm/glibmm.xibuild @@ -3,15 +3,17 @@ NAME="glibmm" DESC="C++ wrapper for the GLib toolkit" -MAKEDEPS="meson ninja " -DEPS="glib libgcc libsigc++ musl" +MAKEDEPS="meson ninja glib libgcc libsigc++ musl mm-common" -PKG_VER=2.66.4 +PKG_VER=2.74.0 SOURCE="https://download.gnome.org/sources/glibmm/${PKG_VER%.*}/glibmm-$PKG_VER.tar.xz" build () { + mkdir build cd build && meson --prefix=/usr \ + -Db_lto=true \ + -Dbuild-documentation=true \ .. && ninja } diff --git a/repo/graphviz/graphviz.xibuild b/repo/graphviz/graphviz.xibuild index 256580a..66da1db 100644 --- a/repo/graphviz/graphviz.xibuild +++ b/repo/graphviz/graphviz.xibuild @@ -1,9 +1,8 @@ #!/bin/sh -MAKEDEPS="make flex swig m4 libtool libxaw bison lua tcl autoconf automake bash" -DEPS="cairo expat glib libx11 musl pango zlib" +MAKEDEPS="make flex swig m4 libtool libxaw bison lua tcl autoconf automake bash cairo expat glib libx11 musl pango zlib" -PKG_VER=6.0.1 +PKG_VER=7.0.4 SOURCE=https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/$PKG_VER/graphviz-$PKG_VER.tar.gz DESC="Graph Visualization Tools" @@ -13,7 +12,7 @@ prepare () { } build () { - CONFIG_SHELL=/bin/bash \ + CONFIG_SHELL=/bin/bash \ LIBPOSTFIX=/ \ LUA=lua \ ./configure \ @@ -53,9 +52,9 @@ package () { pkgconfigdir=/usr/lib/pkgconfig \ install - mkdir -p "$PKG_DEST"/usr/share/doc - mv "$PKG_DEST"/usr/share/graphviz/doc \ - "$PKG_DEST"/usr/share/doc/graphviz + #mkdir -p "$PKG_DEST"/usr/share/doc + #mv "$PKG_DEST"/usr/share/graphviz/doc \ + #"$PKG_DEST"/usr/share/doc/graphviz } diff --git a/repo/grub/grub.xibuild b/repo/grub/grub.xibuild index ac331b3..696055a 100644 --- a/repo/grub/grub.xibuild +++ b/repo/grub/grub.xibuild @@ -1,7 +1,7 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="sh xz gettext efibootmgr freetype2" +MAKEDEPS="make sh xz gettext efibootmgr freetype2" +DEPS="efibootmgr" PKG_VER=2.06 SOURCE=https://ftp.gnu.org/gnu/grub/grub-$PKG_VER.tar.xz @@ -12,20 +12,39 @@ ADDITIONAL=" DESC="GNU GRand Unified Bootloader v2" +flavours="bios efi" + prepare () { - gunzip -c unifont-13.0.06.pcf.gz > $PKG_DEST/usr/share/fonts/unifont/unifont.pcf unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + for f in $flavours; do + mkdir $BUILD_ROOT/build-$f + tar -C build-$f -xvf grub-$PKG_VER.tar.xz + done } build () { - ./configure --prefix=/usr --sysconfdir=/etc --disable-werror \ - --disable-efiemu --enable-grub-mkfont --with-platform=efi --with-platform=pc - make + for f in $flavours; do + cd $BUILD_ROOT/build-$f/grub-$PKG_VER + case "$f" in + bios) opts="--with-platform=pc";; + efi) opts="--with-platform=efi --disable-efiemu";; + esac + + ./configure --prefix=/usr --sysconfdir=/etc --disable-werror \ + --enable-grub-mkfont $opts + make + done + } package () { - make DESTDIR=$PKG_DEST install + for f in $flavours; do + cd $BUILD_ROOT/build-$f/grub-$PKG_VER + make DESTDIR=$PKG_DEST install-strip + done + cd $BUILD_ROOT + mkdir -p $PKG_DEST/usr/share/bash-completion/completions mv $PKG_DEST/etc/bash_completion.d/grub $PKG_DEST/usr/share/bash-completion/completions mkdir -p $PKG_DEST/etc/default @@ -40,4 +59,7 @@ GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX="" EOF + + mkdir -p $PKG_DEST/usr/share/fonts/unifont + gunzip -c unifont-13.0.06.pcf.gz > $PKG_DEST/usr/share/fonts/unifont/unifont.pcf } diff --git a/repo/gtk2/gtk2.xibuild b/repo/gtk2/gtk2.xibuild index 6f5c5fb..5630f18 100644 --- a/repo/gtk2/gtk2.xibuild +++ b/repo/gtk2/gtk2.xibuild @@ -3,11 +3,11 @@ NAME="gtk2" DESC="The GTK+ Toolkit (v2)" -#MAKEDEPS="meson ninja libpng shared-mime-info atk glib cairo pango gdk-pixbuf" MAKEDEPS=" meson ninja atk at-spi2-atk toybox cairo gobject-introspection fontconfig fribidi gdk-pixbuf glib harfbuzz libepoxy intltool libx11 libxcomposite libxcursor libxdamage libxext libxfixes libxi libxinerama libxkbcommon libxrandr musl pango shared-mime-info wayland libtool" -PKG_VER=2.24.33 -SOURCE="https://download.gnome.org/sources/gtk+/${PKG_VER%.*}/gtk+-$PKG_VER.tar.xz" +MAJ=2 +PKG_VER=24.33 +SOURCE="https://download.gnome.org/sources/gtk+/$MAJ.${PKG_VER%.*}/gtk+-$MAJ.$PKG_VER.tar.xz" prepare () { # don't build demos diff --git a/repo/gtk3/gtk3.xibuild b/repo/gtk3/gtk3.xibuild index 80d1db0..c6c805c 100644 --- a/repo/gtk3/gtk3.xibuild +++ b/repo/gtk3/gtk3.xibuild @@ -6,8 +6,9 @@ DESC="The GTK+ Toolkit (v3)" MAKEDEPS="meson ninja gtk2 docbook-dtd gtk-doc" DEPS="atk at-spi2-atk toybox cairo gobject-introspection fontconfig fribidi gdk-pixbuf glib harfbuzz libepoxy intltool libx11 libxcomposite libxcursor libxdamage libxext libxfixes libxi libxinerama libxkbcommon libxrandr musl pango shared-mime-info wayland adwaita-icon-theme gsettings-desktop-schemas" -PKG_VER=3.24.34 -SOURCE="https://download.gnome.org/sources/gtk+/${PKG_VER%.*}/gtk+-$PKG_VER.tar.xz" +MAJ=3 +PKG_VER=24.34 +SOURCE="https://download.gnome.org/sources/gtk+/$MAJ.${PKG_VER%.*}/gtk+-$MAJ.$PKG_VER.tar.xz" build () { mkdir build && diff --git a/repo/gtkmm2/gtkmm2.xibuild b/repo/gtkmm2/gtkmm2.xibuild index 8ba6f90..2ee15d5 100644 --- a/repo/gtkmm2/gtkmm2.xibuild +++ b/repo/gtkmm2/gtkmm2.xibuild @@ -5,8 +5,9 @@ DESC="C++ wrappers for GTK+" MAKEDEPS="atkmm glibmm pangomm intltool gtk2" -PKG_VER=2.24.5 -SOURCE="https://download.gnome.org/sources/gtkmm/${PKG_VER%.*}/gtkmm-$PKG_VER.tar.xz" +MAJ=2 +PKG_VER=24.5 +SOURCE="https://download.gnome.org/sources/gtkmm/$MAJ.${PKG_VER%.*}/gtkmm-$MAJ.$PKG_VER.tar.xz" build() { CXXFLAGS="$CXXFLAGS -std=c++11" \ diff --git a/repo/gtkmm3/gtkmm3.xibuild b/repo/gtkmm3/gtkmm3.xibuild index 4f359a4..3295830 100644 --- a/repo/gtkmm3/gtkmm3.xibuild +++ b/repo/gtkmm3/gtkmm3.xibuild @@ -3,13 +3,17 @@ NAME="gtkmm3" DESC="C++ wrappers for GTK+" -MAKEDEPS="meson ninja " -DEPS="atkmm cairomm gdk-pixbuf glib glibmm gtk3 libsigc++ musl pangomm " +MAKEDEPS="meson ninja atkmm cairomm gdk-pixbuf glib glibmm gtk3 libsigc++ musl pangomm " -PKG_VER=4.0.2 -SOURCE="https://download.gnome.org/sources/gtkmm/${PKG_VER%.*}/gtkmm-$PKG_VER.tar.xz" +MAJ=3 +PKG_VER=24.7 +SOURCE="https://download.gnome.org/sources/gtkmm/$MAJ.${PKG_VER%.*}/gtkmm-$MAJ.$PKG_VER.tar.xz" build () { + #CXXFLAGS="$CXXFLAGS -std=c++11" \ + #./configure \ + # --prefix=/usr + #make cd build && meson --prefix=/usr \ -Dbuild-demos=false \ diff --git a/repo/gtksourceview/gtksourceview.xibuild b/repo/gtksourceview/gtksourceview.xibuild index 2da0538..a717d90 100644 --- a/repo/gtksourceview/gtksourceview.xibuild +++ b/repo/gtksourceview/gtksourceview.xibuild @@ -5,13 +5,9 @@ DESC="A text widget adding syntax highlighting and more to GNOME" MAKEDEPS="gtk3 libxml2 gobject-introspection automake autoconf libtool gtk2" -PKG_VER=5.5.1 -SOURCE="https://download.gnome.org/sources/gtksourceview/${PKG_VER%.*}/gtksourceview-$PKG_VER.tar.xz" - -prepare() { - apply_patches - autoreconf -fi -} +MAJ=3 +PKG_VER=24.11 +SOURCE="https://download.gnome.org/sources/gtksourceview/$MAJ.${PKG_VER%.*}/gtksourceview-$MAJ.$PKG_VER.tar.xz" build() { ./configure \ @@ -23,5 +19,5 @@ build() { } package() { - make DESTDIR="$PKG_DEST" install + make DESTDIR="$PKG_DEST" install } diff --git a/repo/heimdal/005_all_heimdal-suid_fix.patch b/repo/heimdal/005_all_heimdal-suid_fix.patch deleted file mode 100644 index 0524db6..0000000 --- a/repo/heimdal/005_all_heimdal-suid_fix.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- appl/su/Makefile.am 2005-06-16 18:27:46.000000000 +0200 -+++ b/appl/su/Makefile.am 2005-06-27 23:25:21.000000000 +0200 -@@ -7,6 +7,7 @@ - bin_PROGRAMS = su - bin_SUIDS = su - su_SOURCES = su.c supaths.h -+su_LDFLAGS = -Wl,-z,now - man_MANS = su.1 - - LDADD = $(LIB_kafs) \ ---- appl/otp/Makefile.am 2005-06-16 18:28:46.000000000 +0200 -+++ b/appl/otp/Makefile.am 2005-06-27 23:25:40.000000000 +0200 -@@ -8,6 +8,7 @@ - bin_SUIDS = otp - otp_SOURCES = otp.c otp_locl.h - otpprint_SOURCES = otpprint.c otp_locl.h -+otp_LDFLAGS = -Wl,-z,now - - man_MANS = otp.1 otpprint.1 - diff --git a/repo/heimdal/CVE-2018-16860.patch b/repo/heimdal/CVE-2018-16860.patch deleted file mode 100644 index 6424b9e..0000000 --- a/repo/heimdal/CVE-2018-16860.patch +++ /dev/null @@ -1,147 +0,0 @@ -From c6257cc2c842c0faaeb4ef34e33890ee88c4cbba Mon Sep 17 00:00:00 2001 -From: Isaac Boukris <iboukris@gmail.com> -Date: Tue, 14 May 2019 09:03:18 -0400 -Subject: [PATCH] CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed - checksum - -S4U2Self is an extension to Kerberos used in Active Directory to allow -a service to request a kerberos ticket to itself from the Kerberos Key -Distribution Center (KDC) for a non-Kerberos authenticated user -(principal in Kerboros parlance). This is useful to allow internal -code paths to be standardized around Kerberos. - -S4U2Proxy (constrained-delegation) is an extension of this mechanism -allowing this impersonation to a second service over the network. It -allows a privileged server that obtained a S4U2Self ticket to itself -to then assert the identity of that principal to a second service and -present itself as that principal to get services from the second -service. - -There is a flaw in Samba's AD DC in the Heimdal KDC. When the Heimdal -KDC checks the checksum that is placed on the S4U2Self packet by the -server to protect the requested principal against modification, it -does not confirm that the checksum algorithm that protects the user -name (principal) in the request is keyed. This allows a -man-in-the-middle attacker who can intercept the request to the KDC to -modify the packet by replacing the user name (principal) in the -request with any desired user name (principal) that exists in the KDC -and replace the checksum protecting that name with a CRC32 checksum -(which requires no prior knowledge to compute). - -This would allow a S4U2Self ticket requested on behalf of user name -(principal) user@EXAMPLE.COM to any service to be changed to a -S4U2Self ticket with a user name (principal) of -Administrator@EXAMPLE.COM. This ticket would then contain the PAC of -the modified user name (principal). - -================== -CVSSv3 calculation -================== - -CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (7.5) - -========================= -Workaround and Mitigation -========================= - -If server does not take privileged actions based on Kerberos tickets -obtained by S4U2Self nor obtains Kerberos tickets via further -S4U2Proxy requests then this issue cannot be exploited. - -Note that the path to an exploit is not generic, the KDC is not harmed -by the malicious checksum, it is the client service requesting the -ticket being mislead, because it trusted the KDC to return the correct -ticket and PAC. - -It is out of scope for Samba to describe all of the possible tool -chains that might be vulnerable. Here are two examples of possible -exploits in order to explain the issue more clearly. - -1). SFU2Self might be used by a web service authenticating an end user -via OAuth, Shibboleth, or other protocols to obtain a S4U2Self -Kerberos service ticket for use by any Kerberos service principal the -web service has a keytab for. One example is acquiring an AFS token -by requesting an afs/cell@REALM service ticket for a client via -SFU2Self. With this exploit an organization that deploys a KDC built -from Heimdal (be it Heimdal directly or vendor versions such as found -in Samba) is vulnerable to privilege escalation attacks. - -2). If a server authenticates users using X509 certificates, and then -uses S4U2Self to obtain a Kerberos service ticket on behalf of the -user (principal) in order to authorize access to local resources, a -man-in-the-middle attacker could allow a non-privilaged user to access -privilaged resources being protected by the server, or privilaged -resources being protected by a second server, if the first server uses -the S4U2Proxy extension in order to get a new Kerberos service ticket -to obtain access to the second server. - -In both these scenarios under conditions allowing man-in-the-middle -active network protocol manipulation, a malicious user could -authenticate using the non-Kerborized credentials of an unprivileged -user, and then elevate its privileges by intercepting the packet from -the server to the KDC and changing the requested user name (principal). - -The only Samba clients that use S4U2Self are: - -- the "net ads kerberos pac dump" (debugging) tool. - -- the CIFS proxy in the deprecated/developer-only NTVFS file -server. Note this code is not compiled or enabled by default. - -In particular, winbindd does *not* use S4U2Self. - -Finally, MIT Kerberos and so therefore the experimental MIT KDC backend -for Samba AD is understood not to be impacted. - -=============== -Further Reading -=============== - -There is more detail on and a description of the protocols in - -[MS-SFU]: Kerberos Protocol Extensions: Service for User and Constrained -Delegation Protocol -https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-sfu/ - -======= -Credits -======= - -Originally reported by Isaac Boukris and Andrew Bartlett of the Samba -Team and Catalyst. - -Patches provided by Isaac Boukris. - -Advisory written by Andrew Bartlett of the Samba Team and Catalyst, -with contributions from Isaac Boukris, Jeffrey Altman and Jeremy -Allison. - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=13685 -Change-Id: I4ac69ebf0503eb999a7d497a2c30fe4d293a8cc8 -Signed-off-by: Isaac Boukris <iboukris@gmail.com> -Reviewed-by: Andrew Bartlett <abartlet@samba.org> -Signed-off-by: Andrew Bartlett <abartlet@samba.org> -Reviewed-by: Jeffrey Altman <jaltman@auristor.com> -Signed-off-by: Jeffrey Altman <jaltman@auristor.com> ---- - kdc/krb5tgs.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/kdc/krb5tgs.c b/kdc/krb5tgs.c -index 8318bc0025..14943077a4 100644 ---- a/kdc/krb5tgs.c -+++ b/kdc/krb5tgs.c -@@ -2031,6 +2031,13 @@ tgs_build_reply(krb5_context context, - goto out; - } - -+ if (!krb5_checksum_is_keyed(context, self.cksum.cksumtype)) { -+ free_PA_S4U2Self(&self); -+ kdc_log(context, config, 0, "Reject PA-S4U2Self with unkeyed checksum"); -+ ret = KRB5KRB_AP_ERR_INAPP_CKSUM; -+ goto out; -+ } -+ - ret = _krb5_s4u2self_to_checksumdata(context, &self, &datack); - if (ret) - goto out; diff --git a/repo/heimdal/autoconf-270.patch b/repo/heimdal/autoconf-270.patch deleted file mode 100644 index 05cdc09..0000000 --- a/repo/heimdal/autoconf-270.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 22352b90e78e2d162b98b5ef6c84672c397be40a -Author: Lars Wendler <polynomial-c@gentoo.org> -Date: Wed Mar 17 17:49:18 2021 +0100 - - autoconf-2.70 fix - - autoconf-2.70 and newer are more strict with quoting etc. and thus generate - a broken configure file: - - configure: 20855: Syntax error: ")" unexpected (expecting "fi") - - Gentoo-bug: https://bugs.gentoo.org/776241 - Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> - -diff --git a/cf/check-var.m4 b/cf/check-var.m4 -index 2fd7bca6f..71d6f70ca 100644 ---- a/cf/check-var.m4 -+++ b/cf/check-var.m4 -@@ -20,7 +20,7 @@ AC_MSG_RESULT($ac_foo) - if test "$ac_foo" = yes; then - AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]$1), 1, - [Define if you have the `]$1[' variable.]) -- m4_ifval([$2], AC_CHECK_DECLS([$1],[],[],[$2])) -+ m4_ifval([$2], [AC_CHECK_DECLS([$1],[],[],[$2])]) - fi - ]) - diff --git a/repo/heimdal/heimdal-kadmind.initd b/repo/heimdal/heimdal-kadmind.initd deleted file mode 100755 index 73f2381..0000000 --- a/repo/heimdal/heimdal-kadmind.initd +++ /dev/null @@ -1,24 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/heimdal/files/heimdal-kadmind,v 1.3 2004/09/13 22:44:54 solar Exp $ - -depend() { - need net - use heimdal-kdc - after logger -} - -start() { - ebegin "Starting heimdal kadmind" - /usr/sbin/kadmind & - echo $! > /var/run/heimdal-kadmind.pid - eend $? -} - -stop() { - ebegin "Stopping heimdal kadmind" - start-stop-daemon --stop --quiet --exec \ - /usr/sbin/kadmind - eend $? -} diff --git a/repo/heimdal/heimdal-kdc.initd b/repo/heimdal/heimdal-kdc.initd deleted file mode 100755 index 32288c4..0000000 --- a/repo/heimdal/heimdal-kdc.initd +++ /dev/null @@ -1,23 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/heimdal/files/heimdal-kdc,v 1.2 2004/09/13 15:40:34 dragonheart Exp $ - -depend() { - need net - after logger -} - -start() { - ebegin "Starting heimdal kdc" - start-stop-daemon --start --quiet --exec \ - /usr/sbin/kdc -- --detach - eend $? -} - -stop() { - ebegin "Stopping heimdal kdc" - start-stop-daemon --stop --quiet --exec \ - /usr/sbin/kdc - eend $? -} diff --git a/repo/heimdal/heimdal-kpasswdd.initd b/repo/heimdal/heimdal-kpasswdd.initd deleted file mode 100755 index 5fc21e0..0000000 --- a/repo/heimdal/heimdal-kpasswdd.initd +++ /dev/null @@ -1,24 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/heimdal/files/heimdal-kpasswdd,v 1.3 2004/09/13 22:44:54 solar Exp $ - -depend() { - need net - use heimdal-kdc - after logger -} - -start() { - ebegin "Starting heimdal kpasswdd" - start-stop-daemon --background --start --quiet --exec \ - /usr/sbin/kpasswdd - eend $? -} - -stop() { - ebegin "Stopping heimdal kpasswdd" - start-stop-daemon --stop --quiet --exec \ - /usr/sbin/kpasswdd - eend $? -} diff --git a/repo/heimdal/heimdal.xibuild b/repo/heimdal/heimdal.xibuild deleted file mode 100644 index 6d0e31c..0000000 --- a/repo/heimdal/heimdal.xibuild +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh - -NAME="heimdal" -DESC="Iplementation of Kerberos 5" - -MAKEDEPS="xipkg openssl e2fsprogs autoconf automake bash gawk libtool ncurses perl readline sqlite3 texinfo perl-json gdbm " - -PKG_VER=7.7.0 -SOURCE="https://github.com/heimdal/heimdal/releases/download/heimdal-$PKG_VER/heimdal-$PKG_VER.tar.gz" - -ADDITIONAL=" -005_all_heimdal-suid_fix.patch -CVE-2018-16860.patch -autoconf-270.patch -heimdal-kadmind.initd -heimdal-kdc.initd -heimdal-kpasswdd.initd -heimdal_missing-include.patch -silence-include-headers-redirect-warnings.patch -" - -prepare() { - [ -e /usr/lib/libasn1.so ] && xi -yl remove heimdal - apply_patches - sh ./autogen.sh -} - -build() { - export LDFLAGS="$LDFLAGS -Wl,--as-needed" - - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --enable-shared=yes \ - --without-x \ - --without-berkeley-db \ - --with-readline-lib=/usr/lib \ - --with-readline-include=/usr/include/readline \ - --with-sqlite3=/usr \ - --without-openssl \ - --with-db-type-preference= - - # make sure we use system version - rm -r lib/sqlite lib/com_err - - # workarount a parallell build issue - make -C lib/asn1 der-protos.h der-private.h - make -C lib/kadm5 kadm5-protos.h kadm5-private.h kadm5_err.h - make -C lib/krb5 krb5-protos.h krb5-private.h krb5_err.h krb_err.h \ - heim_err.h k524_err.h - make -C lib/hx509 hx509-private.h hx509-protos.h - make -} - -package() { - make DESTDIR="$PKG_DEST" exec_prefix=/usr sysconfdir=/etc \ - mandir=/usr/share/man infodir=/usr/share/info datadir=/var/lib/heimdal \ - localstatedir=/var/lib/heimdal libexecdir=/usr/sbin install - - - install -m755 -D "$BUILD_ROOT"/heimdal-kadmind.initd \ - "$PKG_DEST"/etc/init.d/heimdal-kadmind - install -m755 -D "$BUILD_ROOT"/heimdal-kdc.initd \ - "$PKG_DEST"/etc/init.d/heimdal-kdc - install -m755 -D "$BUILD_ROOT"/heimdal-kpasswdd.initd \ - "$PKG_DEST"/etc/init.d/heimdal-kpasswdd - - for i in 1 3 5 8; do - rm -rf "$PKG_DEST"/usr/share/man/cat$i - done - - # Remove conflicts - # e2fsprogs - rm -f "$PKG_DEST"/usr/bin/compile_et \ - "$PKG_DEST"/usr/share/man/man1/compile_et.1 - - # Compress info pages - for page in heimdal hx509; do - gzip -9 "$PKG_DEST"/usr/share/info/$page.info - done -} diff --git a/repo/heimdal/heimdal_missing-include.patch b/repo/heimdal/heimdal_missing-include.patch deleted file mode 100644 index 8cca906..0000000 --- a/repo/heimdal/heimdal_missing-include.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/base/test_base.c 2011-09-30 15:58:45.000000000 +0300 -+++ b/lib/base/test_base.c 2011-12-27 23:04:50.482955923 +0200 -@@ -39,6 +39,8 @@ - #include "heimbase.h" - #include "heimbasepriv.h" - -+#include <stdlib.h> -+ - static void - memory_free(heim_object_t obj) - { diff --git a/repo/heimdal/silence-include-headers-redirect-warnings.patch b/repo/heimdal/silence-include-headers-redirect-warnings.patch deleted file mode 100644 index 4505096..0000000 --- a/repo/heimdal/silence-include-headers-redirect-warnings.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 2eb67c91834a21e68c90380254c7c10ffe03a7ca Mon Sep 17 00:00:00 2001 -From: Leonardo Arena <rnalrd@alpinelinux.org> -Date: Thu, 14 Apr 2022 08:47:15 +0000 -Subject: [PATCH] silence include header warnings - ---- - cf/roken-frag.m4 | 1 - - configure | 2 +- - lib/ipc/hi_locl.h | 2 +- - lib/krb5/krb5_locl.h | 2 +- - lib/roken/getifaddrs.c | 2 +- - 5 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/cf/roken-frag.m4 b/cf/roken-frag.m4 -index f22b43a..589b2cc 100644 ---- a/cf/roken-frag.m4 -+++ b/cf/roken-frag.m4 -@@ -73,7 +73,6 @@ AC_CHECK_HEADERS([\ - stdint.h \ - sys/auxv.h \ - sys/bswap.h \ -- sys/errno.h \ - sys/ioctl.h \ - sys/mman.h \ - sys/param.h \ -diff --git a/configure b/configure -index 4cefc43..bc3bf78 100755 ---- a/configure -+++ b/configure -@@ -17965,7 +17965,7 @@ for ac_header in \ - stdint.h \ - sys/auxv.h \ - sys/bswap.h \ -- sys/errno.h \ -+ errno.h \ - sys/ioctl.h \ - sys/mman.h \ - sys/param.h \ -diff --git a/lib/ipc/hi_locl.h b/lib/ipc/hi_locl.h -index 7efe6ca..3195b44 100644 ---- a/lib/ipc/hi_locl.h -+++ b/lib/ipc/hi_locl.h -@@ -41,7 +41,7 @@ - #include <sys/un.h> - #endif - --#include <sys/poll.h> -+#include <poll.h> - - #include <ctype.h> - #include <stdio.h> -diff --git a/lib/krb5/krb5_locl.h b/lib/krb5/krb5_locl.h -index b64f3a9..f62c40d 100644 ---- a/lib/krb5/krb5_locl.h -+++ b/lib/krb5/krb5_locl.h -@@ -44,7 +44,7 @@ - #include <ctype.h> - - #ifdef HAVE_POLL_H --#include <sys/poll.h> -+#include <poll.h> - #endif - - #include <krb5-types.h> -diff --git a/lib/roken/getifaddrs.c b/lib/roken/getifaddrs.c -index cc949b0..a82adc5 100644 ---- a/lib/roken/getifaddrs.c -+++ b/lib/roken/getifaddrs.c -@@ -120,7 +120,7 @@ struct mbuf; - #include <linux/rtnetlink.h> - #include <sys/types.h> - #include <sys/socket.h> --#include <sys/poll.h> -+#include <poll.h> - #include <netpacket/packet.h> - #include <net/ethernet.h> /* the L2 protocols */ - #include <sys/uio.h> --- -2.35.1 - diff --git a/repo/hwloc/hwloc.xibuild b/repo/hwloc/hwloc.xibuild new file mode 100644 index 0000000..4a5759f --- /dev/null +++ b/repo/hwloc/hwloc.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="hwloc" +DESC="Portable abstraction of hierarchical hardware architectures" + +MAKEDEPS=" cairo eudev libxml2 ncurses numactl" + +PKG_VER=2.8.0 +SOURCE="https://www.open-mpi.org/software/hwloc/v${PKG_VER%.*}/downloads/hwloc-$PKG_VER.tar.bz2" + +build() { + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + make -C "$BUILD_ROOT" DESTDIR="$PKG_DEST" install +} diff --git a/repo/imap/1006_openssl1.1_autoverify.patch b/repo/imap/1006_openssl1.1_autoverify.patch new file mode 100644 index 0000000..087e747 --- /dev/null +++ b/repo/imap/1006_openssl1.1_autoverify.patch @@ -0,0 +1,58 @@ +Description: Support OpenSSL 1.1 + When building with OpenSSL 1.1 and newer, use the new built-in + hostname verification instead of code that doesn't compile due to + structs having been made opaque. +Bug-Debian: https://bugs.debian.org/828589 + +--- a/src/osdep/unix/ssl_unix.c ++++ b/src/osdep/unix/ssl_unix.c +@@ -227,8 +227,16 @@ static char *ssl_start_work (SSLSTREAM * + /* disable certificate validation? */ + if (flags & NET_NOVALIDATECERT) + SSL_CTX_set_verify (stream->context,SSL_VERIFY_NONE,NIL); +- else SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify); ++ else { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ X509_VERIFY_PARAM *param = SSL_CTX_get0_param(stream->context); ++ X509_VERIFY_PARAM_set_hostflags(param, X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS); ++ X509_VERIFY_PARAM_set1_host(param, host, 0); ++#endif ++ ++ SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify); + /* set default paths to CAs... */ ++ } + SSL_CTX_set_default_verify_paths (stream->context); + /* ...unless a non-standard path desired */ + if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL)) +@@ -266,6 +274,7 @@ static char *ssl_start_work (SSLSTREAM * + if (SSL_write (stream->con,"",0) < 0) + return ssl_last_error ? ssl_last_error : "SSL negotiation failed"; + /* need to validate host names? */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + if (!(flags & NET_NOVALIDATECERT) && + (err = ssl_validate_cert (cert = SSL_get_peer_certificate (stream->con), + host))) { +@@ -275,6 +284,7 @@ static char *ssl_start_work (SSLSTREAM * + sprintf (tmp,"*%.128s: %.255s",err,cert ? cert->name : "???"); + return ssl_last_error = cpystr (tmp); + } ++#endif + return NIL; + } + +@@ -313,6 +323,7 @@ static int ssl_open_verify (int ok,X509_ + * Returns: NIL if validated, else string of error message + */ + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + static char *ssl_validate_cert (X509 *cert,char *host) + { + int i,n; +@@ -342,6 +353,7 @@ static char *ssl_validate_cert (X509 *ce + else ret = "Unable to locate common name in certificate"; + return ret; + } ++#endif + + /* Case-independent wildcard pattern match + * Accepts: base string diff --git a/repo/imap/2014_openssl1.1.1_sni.patch b/repo/imap/2014_openssl1.1.1_sni.patch new file mode 100644 index 0000000..af2bf99 --- /dev/null +++ b/repo/imap/2014_openssl1.1.1_sni.patch @@ -0,0 +1,40 @@ +Bug-Debian: https://bugs.debian.org/916041 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1834340 +Description: + Google IMAP servers require SNI if TLSv1.3 is used, + otherwise it sends a self-signed certificate which + fails validation. + + OpenSSL support/versions: + - TLSv1.3 on 1.1.1, + - a2i_IPADDRESS() on 0.9.8'ish, + - SSL_set_tlsext_host_name() on 0.9.8'ish/1.0.0; + per 'git blame/describe' and the CHANGES file. + + So check for TLSv1.3 support / OpenSSL 1.1.1 + not to incur behavior changes on pre-TLSv1.3, + and set host_name to 'host' (ssl_open_verify() + validates this, via 'ssl_last_host' variable) + + This patch just combines these two patches: + - BTS#916041 (message #5) by Ed Spiridonov, + - LP#916041 (comment #6) by David Zuelke. +Author: Mauricio Faria de Oliveira <mfo@canonical.com> + +--- a/src/osdep/unix/ssl_unix.c ++++ b/src/osdep/unix/ssl_unix.c +@@ -266,6 +266,14 @@ static char *ssl_start_work (SSLSTREAM * + /* create connection */ + if (!(stream->con = (SSL *) SSL_new (stream->context))) + return "SSL connection failed"; ++#if OPENSSL_VERSION_NUMBER >= 0x10101000 ++ /* Use SNI in case server requires it with TLSv1.3. ++ * Literal IP addresses not permitted per RFC 6066. */ ++ if (!a2i_IPADDRESS(host)) { ++ ERR_clear_error(); ++ SSL_set_tlsext_host_name(stream->con,host); ++ } ++#endif + bio = BIO_new_socket (stream->tcpstream->tcpsi,BIO_NOCLOSE); + SSL_set_bio (stream->con,bio,bio); + SSL_set_connect_state (stream->con); diff --git a/repo/imap/c-client-2006k_KOLAB_Annotations.patch b/repo/imap/c-client-2006k_KOLAB_Annotations.patch new file mode 100644 index 0000000..8eec02d --- /dev/null +++ b/repo/imap/c-client-2006k_KOLAB_Annotations.patch @@ -0,0 +1,448 @@ +Provides get/set ANNOTATIONS support to the c-client library. [Version: 2006k] + +diff -r 217555555c77 src/c-client/imap4r1.c +--- a/src/c-client/imap4r1.c Thu Feb 21 17:37:37 2008 +0100 ++++ b/src/c-client/imap4r1.c Thu Feb 21 17:38:15 2008 +0100 +@@ -135,7 +135,8 @@ typedef struct imap_argument { + #define MULTIAPPEND 13 + #define SNLIST 14 + #define MULTIAPPENDREDO 15 +- ++#define QLIST 16 ++#define QSTRING 17 + + /* Append data */ + +@@ -205,12 +206,15 @@ void imap_gc_body (BODY *body); + void imap_gc_body (BODY *body); + void imap_capability (MAILSTREAM *stream); + long imap_acl_work (MAILSTREAM *stream,char *command,IMAPARG *args[]); ++long imap_annotation_work (MAILSTREAM *stream,char *command,IMAPARG *args[]); + + IMAPPARSEDREPLY *imap_send (MAILSTREAM *stream,char *cmd,IMAPARG *args[]); + IMAPPARSEDREPLY *imap_sout (MAILSTREAM *stream,char *tag,char *base,char **s); + long imap_soutr (MAILSTREAM *stream,char *string); + IMAPPARSEDREPLY *imap_send_astring (MAILSTREAM *stream,char *tag,char **s, + SIZEDTEXT *as,long wildok,char *limit); ++IMAPPARSEDREPLY *imap_send_qstring (MAILSTREAM *stream,char *tag,char **s, ++ SIZEDTEXT *as,char *limit); + IMAPPARSEDREPLY *imap_send_literal (MAILSTREAM *stream,char *tag,char **s, + STRING *st); + IMAPPARSEDREPLY *imap_send_spgm (MAILSTREAM *stream,char *tag,char *base, +@@ -2753,6 +2757,84 @@ long imap_getacl (MAILSTREAM *stream,cha + args[0] = &ambx; args[1] = NIL; + return imap_acl_work (stream,"GETACL",args); + } ++ ++/* IMAP set annotation ++ * Accepts: mail stream ++ * annotation struct ++ * Returns: T on success, NIL on failure ++ */ ++ ++long imap_setannotation (MAILSTREAM *stream,ANNOTATION *annotation) ++{ ++ IMAPARG *args[4],ambx,apth,aval; ++ long ret; ++ ++ ambx.type = ASTRING; ++ ambx.text = (void *) annotation->mbox; ++ args[0] = &ambx; ++ ++ apth.type = QSTRING; ++ apth.text = (void *) annotation->entry; ++ args[1] = &apth; ++ ++ STRINGLIST *st,*l; ++ ANNOTATION_VALUES *v; ++ ++ l = st = mail_newstringlist(); ++ v = annotation->values; ++ while(v){ ++ l->text.size = strlen((char *) (l->text.data = (unsigned char*)cpystr(v->attr))); ++ l->next = mail_newstringlist(); ++ l = l->next; ++ l->text.size = strlen((char *) (l->text.data = (unsigned char*)cpystr(v->value))); ++ if(v->next){ ++ l->next = mail_newstringlist(); ++ l = l->next; ++ } ++ v = v->next; ++ } ++ ++ aval.type = QLIST; ++ aval.text = (void *)st; ++ args[2] = &aval; ++ args[3] = NIL; ++ ++ ret = imap_annotation_work(stream, "SETANNOTATION",args); ++ mail_free_stringlist(&st); ++ return ret; ++} ++ ++ ++ ++/* IMAP get annotation ++ * Accepts: mail stream ++ * mailbox name ++ * annotation entry list ++ * annotation attribute list ++ * Returns: T on success with data returned via callback, NIL on failure ++ */ ++ ++long imap_getannotation (MAILSTREAM *stream,char *mailbox,STRINGLIST *entries, STRINGLIST *attributes) ++{ ++ IMAPARG *args[4],ambx,apth,aattr; ++ long ret; ++ ambx.type = ASTRING; ++ ambx.text = (void*) mailbox; ++ args[0] = &ambx; ++ ++ ++ apth.type = QLIST; ++ apth.text = (void*) entries; ++ args[1] = &apth; ++ ++ aattr.type = QLIST; ++ aattr.text = (void*) attributes; ++ args[2] = &aattr; ++ ++ args[3] = NIL; ++ ret = imap_annotation_work(stream, "GETANNOTATION",args); ++ return ret; ++} + + /* IMAP list rights + * Accepts: mail stream +@@ -2805,6 +2887,16 @@ long imap_acl_work (MAILSTREAM *stream,c + else mm_log ("ACL not available on this IMAP server",ERROR); + return ret; + } ++ long imap_annotation_work(MAILSTREAM *stream, char *command,IMAPARG *args[]) ++{ ++ long ret = NIL; ++ IMAPPARSEDREPLY *reply; ++ if (imap_OK (stream,reply = imap_send (stream,command,args))) ++ ret = LONGT; ++ else mm_log (reply->text,ERROR); ++ return ret; ++} ++ + + /* IMAP set quota + * Accepts: mail stream +@@ -2937,6 +3029,11 @@ IMAPPARSEDREPLY *imap_send (MAILSTREAM * + if (reply = imap_send_astring (stream,tag,&s,&st,NIL,CMDBASE+MAXCOMMAND)) + return reply; + break; ++ case QSTRING: /* atom or string, must be literal? */ ++ st.size = strlen ((char *) (st.data = (unsigned char *) arg->text)); ++ if (reply = imap_send_qstring (stream,tag,&s,&st,CMDBASE+MAXCOMMAND)) ++ return reply; ++ break; + case LITERAL: /* literal, as a stringstruct */ + if (reply = imap_send_literal (stream,tag,&s,arg->text)) return reply; + break; +@@ -2947,6 +3044,18 @@ IMAPPARSEDREPLY *imap_send (MAILSTREAM * + do { /* for each list item */ + *s++ = c; /* write prefix character */ + if (reply = imap_send_astring (stream,tag,&s,&list->text,NIL, ++ CMDBASE+MAXCOMMAND)) return reply; ++ c = ' '; /* prefix character for subsequent strings */ ++ } ++ while (list = list->next); ++ *s++ = ')'; /* close list */ ++ break; ++ case QLIST: /* list of strings */ ++ list = (STRINGLIST *) arg->text; ++ c = '('; /* open paren */ ++ do { /* for each list item */ ++ *s++ = c; /* write prefix character */ ++ if (reply = imap_send_qstring (stream,tag,&s,&list->text, + CMDBASE+MAXCOMMAND)) return reply; + c = ' '; /* prefix character for subsequent strings */ + } +@@ -3119,6 +3228,32 @@ IMAPPARSEDREPLY *imap_send (MAILSTREAM * + reply = imap_sout (stream,tag,CMDBASE,&s); + mail_unlock (stream); /* unlock stream */ + return reply; ++} ++ ++/* IMAP send quoted-string ++ * Accepts: MAIL stream ++ * reply tag ++ * pointer to current position pointer of output bigbuf ++ * atom-string to output ++ * maximum to write as atom or qstring ++ * Returns: error reply or NIL if success ++ */ ++ ++IMAPPARSEDREPLY *imap_send_qstring (MAILSTREAM *stream,char *tag,char **s, ++ SIZEDTEXT *as,char *limit) ++{ ++ unsigned long j; ++ char c; ++ STRING st; ++ /* in case needed */ ++ INIT (&st,mail_string,(void *) as->data,as->size); ++ /* always write literal if no space */ ++ if ((*s + as->size) > limit) return imap_send_literal (stream,tag,s,&st); ++ ++ *(*s)++ = '"'; /* write open quote */ ++ for (j = 0; j < as->size; j++) *(*s)++ = as->data[j]; ++ *(*s)++ = '"'; /* write close quote */ ++ return NIL; + } + + /* IMAP send atom-string +@@ -4049,6 +4184,50 @@ void imap_parse_unsolicited (MAILSTREAM + } + } + ++ else if (!strcmp (reply->key,"ANNOTATION") && (s = reply->text)){ ++ char * mbox; ++ /* response looks like ANNOTATION "mailbox" "entry" ("attr" "value" ["attr" "value"]) ["entry" ("attr "value" ["attr" "value"] )]*/ ++ getannotation_t an = (getannotation_t) mail_parameters (NIL,GET_ANNOTATION,NIL); ++ ++ mbox = imap_parse_astring (stream, &s, reply,NIL); ++ ++ while(*s){ ++ ANNOTATION * al = mail_newannotation(); ++ al->mbox = cpystr(mbox); ++ t = imap_parse_astring (stream, &s, reply,NIL); ++ al->entry = t; ++ STRINGLIST *strlist; ++ if (s){while (*s == ' ')s++;} ++ ++ strlist = imap_parse_stringlist(stream, &s,reply); ++ ++ ANNOTATION_VALUES *vlIter, *vlBegin; ++ vlIter = vlBegin = NIL; ++ if (strlist) { ++ while(strlist){ ++ if(vlIter){ ++ vlIter->next = mail_newannotationvalue(); ++ vlIter = vlIter->next; ++ }else{ ++ vlIter = mail_newannotationvalue(); ++ vlBegin = vlIter; ++ } ++ if ( strlist->text.size ) ++ vlIter->attr = cpystr (strlist->text.data); ++ strlist = strlist->next; ++ if(!strlist) continue; ++ if ( strlist->text.size ) ++ vlIter->value = cpystr (strlist->text.data); ++ strlist = strlist->next; ++ } ++ } ++ al->values = vlBegin; ++ if (an) ++ (*an) (stream,al); ++ mail_free_annotation(&al); ++ } ++ fs_give ((void **)&mbox); ++ } + else if (!strcmp (reply->key,"ACL") && (s = reply->text) && + (t = imap_parse_astring (stream,&s,reply,NIL))) { + getacl_t ar = (getacl_t) mail_parameters (NIL,GET_ACL,NIL); +diff -r 217555555c77 src/c-client/imap4r1.h +--- a/src/c-client/imap4r1.h Thu Feb 21 17:37:37 2008 +0100 ++++ b/src/c-client/imap4r1.h Thu Feb 21 17:38:15 2008 +0100 +@@ -279,3 +279,5 @@ long imap_setquota (MAILSTREAM *stream,c + long imap_setquota (MAILSTREAM *stream,char *qroot,STRINGLIST *limits); + long imap_getquota (MAILSTREAM *stream,char *qroot); + long imap_getquotaroot (MAILSTREAM *stream,char *mailbox); ++long imap_getannotation (MAILSTREAM *stream,char *mailbox,STRINGLIST *entries,STRINGLIST *attributes); ++long imap_setannotation (MAILSTREAM *stream,ANNOTATION *annotation); +diff -r 217555555c77 src/c-client/mail.c +--- a/src/c-client/mail.c Thu Feb 21 17:37:37 2008 +0100 ++++ b/src/c-client/mail.c Thu Feb 21 17:38:15 2008 +0100 +@@ -69,6 +69,7 @@ static newsrcquery_t mailnewsrcquery = N + static newsrcquery_t mailnewsrcquery = NIL; + /* ACL results callback */ + static getacl_t mailaclresults = NIL; ++static getannotation_t mailannotationresults = NIL; + /* list rights results callback */ + static listrights_t maillistrightsresults = NIL; + /* my rights results callback */ +@@ -598,6 +599,11 @@ void *mail_parameters (MAILSTREAM *strea + ret = (void *) (debugsensitive ? VOIDT : NIL); + break; + ++ case SET_ANNOTATION: ++ mailannotationresults = (getannotation_t) value; ++ case GET_ANNOTATION: ++ ret = (void *) mailannotationresults; ++ break; + case SET_ACL: + mailaclresults = (getacl_t) value; + case GET_ACL: +@@ -5701,7 +5707,15 @@ ACLLIST *mail_newacllist (void) + return (ACLLIST *) memset (fs_get (sizeof (ACLLIST)),0,sizeof (ACLLIST)); + } + +- ++ANNOTATION *mail_newannotation (void) ++{ ++ return (ANNOTATION *) memset (fs_get (sizeof (ANNOTATION)),0,sizeof(ANNOTATION)); ++} ++ ++ANNOTATION_VALUES *mail_newannotationvalue (void) ++{ ++ return (ANNOTATION_VALUES *) memset (fs_get (sizeof (ANNOTATION_VALUES)),0,sizeof(ANNOTATION_VALUES)); ++} + /* Mail instantiate new quotalist + * Returns: new quotalist + */ +@@ -6024,6 +6038,25 @@ void mail_free_acllist (ACLLIST **al) + } + } + ++static void mail_free_annotation_values(ANNOTATION_VALUES **val) ++{ ++ if (*val) { ++ if ((*val)->attr) fs_give ((void**) &(*val)->attr); ++ if ((*val)->value) fs_give ((void**) &(*val)->value); ++ mail_free_annotation_values (&(*val)->next); ++ fs_give ((void **) val); ++ } ++} ++void mail_free_annotation(ANNOTATION **al) ++{ ++ if (*al) { ++ if((*al)->mbox) fs_give ((void**) &(*al)->mbox); ++ if((*al)->entry) fs_give ((void**) &(*al)->entry); ++ if((*al)->values) ++ mail_free_annotation_values(&(*al)->values); ++ fs_give ((void **) al); ++ } ++} + + /* Mail garbage collect quotalist + * Accepts: pointer to quotalist pointer +diff -r 217555555c77 src/c-client/mail.h +--- a/src/c-client/mail.h Thu Feb 21 17:37:37 2008 +0100 ++++ b/src/c-client/mail.h Thu Feb 21 17:38:15 2008 +0100 +@@ -351,6 +351,8 @@ + #define SET_SCANCONTENTS (long) 573 + #define GET_MHALLOWINBOX (long) 574 + #define SET_MHALLOWINBOX (long) 575 ++#define GET_ANNOTATION (long) 576 ++#define SET_ANNOTATION (long) 577 + + /* Driver flags */ + +@@ -1043,6 +1045,24 @@ ACLLIST { + char *identifier; /* authentication identifier */ + char *rights; /* access rights */ + ACLLIST *next; ++}; ++ ++/* ANNOTATION Response */ ++ ++#define ANNOTATION_VALUES struct annotation_value_list ++ ++ANNOTATION_VALUES { ++ char *attr; ++ char *value; ++ ANNOTATION_VALUES *next; ++}; ++ ++#define ANNOTATION struct annotation ++ ++ANNOTATION { ++ char *mbox; ++ char *entry; ++ ANNOTATION_VALUES * values; + }; + + /* Quota resource list */ +@@ -1353,6 +1373,7 @@ typedef void (*logouthook_t) (void *data + typedef void (*logouthook_t) (void *data); + typedef char *(*sslclientcert_t) (void); + typedef char *(*sslclientkey_t) (void); ++typedef void (*getannotation_t) (MAILSTREAM *stream,ANNOTATION* annot); + + /* Globals */ + +@@ -1771,7 +1792,10 @@ SORTPGM *mail_newsortpgm (void); + SORTPGM *mail_newsortpgm (void); + THREADNODE *mail_newthreadnode (SORTCACHE *sc); + ACLLIST *mail_newacllist (void); ++ANNOTATION* mail_newannotation(void); ++ANNOTATION_VALUES* mail_newannotationvalue(void); + QUOTALIST *mail_newquotalist (void); ++void mail_free_annotation(ANNOTATION **a); + void mail_free_body (BODY **body); + void mail_free_body_data (BODY *body); + void mail_free_body_parameter (PARAMETER **parameter); +diff -r 217555555c77 src/mtest/mtest.c +--- a/src/mtest/mtest.c Thu Feb 21 17:37:37 2008 +0100 ++++ b/src/mtest/mtest.c Thu Feb 21 17:38:15 2008 +0100 +@@ -145,6 +145,8 @@ int main () + #endif + return NIL; + } ++ ++void mm_annotation (MAILSTREAM *stream, ANNOTATION *a); + + /* MM command loop + * Accepts: MAIL stream +@@ -195,6 +197,28 @@ void mm (MAILSTREAM *stream,long debug) + mail_setflag (stream,arg,"\\DELETED"); + else puts ("?Bad message number"); + break; ++ case 'A': ++ { ++ char parms[MAILTMPLEN]; ++ prompt("Annotation: ",parms); ++ if (parms) { ++ mail_parameters(stream,SET_ANNOTATION,mm_annotation); ++ STRINGLIST *entries = mail_newstringlist(); ++ STRINGLIST *cur = entries; ++ cur->text.size = strlen((char *) (cur->text.data = (unsigned char*)cpystr (parms))); ++ cur->next = NIL; ++ ++ STRINGLIST *attributes = mail_newstringlist(); ++ cur = attributes; ++ cur->text.size = strlen((char *) (cur->text.data = (unsigned char*)cpystr ("*"))); ++ cur->next = NIL; ++ ++ imap_getannotation(stream,"INBOX",entries,attributes); ++ mail_free_stringlist(&entries); ++ mail_free_stringlist(&attributes); ++ } ++ } ++ break; + case 'E': /* Expunge command */ + mail_expunge (stream); + last = 0; +@@ -347,7 +371,7 @@ void mm (MAILSTREAM *stream,long debug) + case '?': /* ? command */ + puts ("Body, Check, Delete, Expunge, Find, GC, Headers, Literal,"); + puts (" MailboxStatus, New Mailbox, Overview, Ping, Quit, Send, Type,"); +- puts ("Undelete, Xit, +, -, or <RETURN> for next message"); ++ puts ("Undelete, Xit,Annotation, +, -, or <RETURN> for next message"); + break; + default: /* bogus command */ + printf ("?Unrecognized command: %s\n",cmd); +@@ -600,6 +624,18 @@ void prompt (char *msg,char *txt) + + /* Interfaces to C-client */ + ++void mm_annotation (MAILSTREAM *stream, ANNOTATION *a) ++{ ++ if(a){ ++ fprintf(stderr,"mailbox: %s\nentry: %s\n",a->mbox,a->entry); ++ ANNOTATION_VALUES * v = a->values; ++ while(v){ ++ fprintf(stderr,"attr: %s, value: %s\n",v->attr,v->value); ++ v = v->next; ++ } ++ } ++} ++ + + void mm_searched (MAILSTREAM *stream,unsigned long number) + { diff --git a/repo/imap/fix-linking.patch b/repo/imap/fix-linking.patch new file mode 100644 index 0000000..8933c2d --- /dev/null +++ b/repo/imap/fix-linking.patch @@ -0,0 +1,33 @@ +diff --git a/src/osdep/unix/Makefile b/src/osdep/unix/Makefile +index 78913ac..9eb9c9c 100644 +--- a/src/osdep/unix/Makefile ++++ b/src/osdep/unix/Makefile +@@ -962,21 +962,24 @@ os_sol.h: + + # Once-only environment setup + +-once: onceenv ckp$(PASSWDTYPE) ssl$(SSLTYPE) osdep.c ++once: ssl$(SSLTYPE) onceenv ckp$(PASSWDTYPE) osdep.c + + onceenv: + @echo Once-only environment setup... + echo $(CC) > CCTYPE +- echo $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS +- echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \ ++ echo `$(CAT) CFLAGS` $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS ++ echo `$(CAT) OSCFLAGS` -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \ + -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \ + -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \ + -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \ + -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \ + -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \ + -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS +- echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS ++ echo `$(CAT) LDFLAGS` -lcrypt $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS + echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE ++ echo "`$(CAT) CCTYPE` `$(CAT) CFLAGS` `$(CAT) OSFLAGS` -shared \ ++ -Wl,-soname,libc-client.so.1 -o libc-client.so.1.0.0 $(BINARIES) `$(CAT) LDFLAGS`" \ ++ >> ARCHIVE + echo $(OS) > OSTYPE + ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy + ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS) diff --git a/repo/imap/imap.xibuild b/repo/imap/imap.xibuild new file mode 100644 index 0000000..96c5b17 --- /dev/null +++ b/repo/imap/imap.xibuild @@ -0,0 +1,52 @@ +#!/bin/sh + +NAME="imap" +DESC="An IMAP/POP server" + +MAKEDEPS="openssl" + +PKG_VER=2007f +SOURCE="http://ftp.ntua.gr/pub/net/mail/imap/imap-$PKG_VER.tar.gz" + +ADDITIONAL=" +1006_openssl1.1_autoverify.patch +2014_openssl1.1.1_sni.patch +c-client-2006k_KOLAB_Annotations.patch +fix-linking.patch +" + +prepare() { + apply_patches + sed -e "s:-g -fno-omit-frame-pointer -O6:\${CFLAGS}:" \ + -e "s:SSLDIR=/usr/local/ssl:SSLDIR=/usr:" \ + -e "s:SSLCERTS=\$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:" \ + -e "s:^CC=.*:CC=${CC:-cc}:" \ + -i src/osdep/unix/Makefile +} + +build() { + cd $BUILD_ROOT + export GCCCFLAGS="$CFLAGS" + yes "y" | make slx SPECIALAUTHENTICATORS=ssl SSLTYPE=unix \ + EXTRACFLAGS="$CFLAGS -fPIC" \ + EXTRALDFLAGS="$LDFLAGS" +} + +package() { + cd $BUILD_ROOT + mkdir -p $PKG_DEST/usr/sbin + install -D -m755 imapd/imapd $PKG_DEST/usr/sbin/imapd + install -D -m755 ipopd/ipop2d $PKG_DEST/usr/sbin/ipop2d + install -D -m755 ipopd/ipop3d $PKG_DEST/usr/sbin/ipop3d + for i in c-client mail imap4r1 rfc822 linkage misc smtp nntp osdep \ + env_unix env fs ftl nl tcp sslio utf8 utf8aux; do + install -D -m644 c-client/$i.h \ + "$PKG_DEST"/usr/include/imap/$i.h + done + install -m644 c-client/linkage.c "$PKG_DEST"/usr/include/imap/linkage.c + + install -Dm755 c-client/libc-client.so.1.0.0 \ + "$PKG_DEST"/usr/lib/libc-client.so.1.0.0 + ln -s libc-client.so.1.0.0 "$PKG_DEST"/usr/lib/libc-client.so.1 + ln -s libc-client.so.1.0.0 "$PKG_DEST"/usr/lib/libc-client.so +} diff --git a/repo/imlib2/imlib2.xibuild b/repo/imlib2/imlib2.xibuild index 82b5bf6..1ab4db3 100644 --- a/repo/imlib2/imlib2.xibuild +++ b/repo/imlib2/imlib2.xibuild @@ -11,12 +11,11 @@ build () { ./configure --prefix=/usr --disable-static && make + # build docs + make -C doc } package () { make DESTDIR=$PKG_DEST install - install -m755 -d /usr/share/doc/imlib2-$PKG_VER && - install -m644 doc/index.html /usr/share/doc/imlib2-$PKG_VER - install -m644 doc/*.gif /usr/share/doc/imlib2-$PKG_VER } diff --git a/repo/iptables/fix-u_int16_t.patch b/repo/iptables/fix-u_int16_t.patch new file mode 100644 index 0000000..37b3950 --- /dev/null +++ b/repo/iptables/fix-u_int16_t.patch @@ -0,0 +1,163 @@ +From f319389525b066b7dc6d389c88f16a0df3b8f189 Mon Sep 17 00:00:00 2001 +From: Nick Hainke <vincent@systemli.org> +Date: Mon, 16 May 2022 18:16:41 +0200 +Subject: treewide: use uint* instead of u_int* + +Gcc complains about missing types. Some commits introduced u_int* instead +of uint*. Use uint treewide. + +Fixes errors in the form of: +In file included from xtables-legacy-multi.c:5: +xshared.h:83:56: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'? + 83 | set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, + | ^~~~~~~~~ + | uint16_t +make[6]: *** [Makefile:712: xtables_legacy_multi-xtables-legacy-multi.o] Error 1 + +Avoid libipq API breakage by adjusting libipq.h include accordingly. For +arpt_mangle.h kernel uAPI header, apply same change as in kernel commit +e91ded8db5747 ("uapi: netfilter_arp: use __u8 instead of u_int8_t"). + +Signed-off-by: Nick Hainke <vincent@systemli.org> +Signed-off-by: Phil Sutter <phil@nwl.cc> +--- + extensions/libxt_conntrack.c | 2 +- + include/libipq/libipq.h | 8 ++++---- + include/libiptc/libxtc.h | 2 +- + include/linux/netfilter_arp/arpt_mangle.h | 2 +- + iptables/xshared.c | 2 +- + iptables/xshared.h | 2 +- + libipq/ipq_create_handle.3 | 2 +- + libipq/ipq_set_mode.3 | 2 +- + 8 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/extensions/libxt_conntrack.c b/extensions/libxt_conntrack.c +index 64018ce1..234085c5 100644 +--- a/extensions/libxt_conntrack.c ++++ b/extensions/libxt_conntrack.c +@@ -778,7 +778,7 @@ matchinfo_print(const void *ip, const struct xt_entry_match *match, int numeric, + + static void + conntrack_dump_ports(const char *prefix, const char *opt, +- u_int16_t port_low, u_int16_t port_high) ++ uint16_t port_low, uint16_t port_high) + { + if (port_high == 0 || port_low == port_high) + printf(" %s%s %u", prefix, opt, port_low); +diff --git a/include/libipq/libipq.h b/include/libipq/libipq.h +index 3cd13292..dd0cb205 100644 +--- a/include/libipq/libipq.h ++++ b/include/libipq/libipq.h +@@ -24,7 +24,7 @@ + #include <errno.h> + #include <unistd.h> + #include <fcntl.h> +-#include <sys/types.h> ++#include <stdint.h> + #include <sys/socket.h> + #include <sys/uio.h> + #include <asm/types.h> +@@ -48,19 +48,19 @@ typedef unsigned long ipq_id_t; + struct ipq_handle + { + int fd; +- u_int8_t blocking; ++ uint8_t blocking; + struct sockaddr_nl local; + struct sockaddr_nl peer; + }; + +-struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol); ++struct ipq_handle *ipq_create_handle(uint32_t flags, uint32_t protocol); + + int ipq_destroy_handle(struct ipq_handle *h); + + ssize_t ipq_read(const struct ipq_handle *h, + unsigned char *buf, size_t len, int timeout); + +-int ipq_set_mode(const struct ipq_handle *h, u_int8_t mode, size_t len); ++int ipq_set_mode(const struct ipq_handle *h, uint8_t mode, size_t len); + + ipq_packet_msg_t *ipq_get_packet(const unsigned char *buf); + +diff --git a/include/libiptc/libxtc.h b/include/libiptc/libxtc.h +index 37010188..a1d16ef9 100644 +--- a/include/libiptc/libxtc.h ++++ b/include/libiptc/libxtc.h +@@ -10,7 +10,7 @@ extern "C" { + #endif + + #ifndef XT_MIN_ALIGN +-/* xt_entry has pointers and u_int64_t's in it, so if you align to ++/* xt_entry has pointers and uint64_t's in it, so if you align to + it, you'll also align to any crazy matches and targets someone + might write */ + #define XT_MIN_ALIGN (__alignof__(struct xt_entry)) +diff --git a/include/linux/netfilter_arp/arpt_mangle.h b/include/linux/netfilter_arp/arpt_mangle.h +index 250f5029..8c2b16a1 100644 +--- a/include/linux/netfilter_arp/arpt_mangle.h ++++ b/include/linux/netfilter_arp/arpt_mangle.h +@@ -13,7 +13,7 @@ struct arpt_mangle + union { + struct in_addr tgt_ip; + } u_t; +- u_int8_t flags; ++ __u8 flags; + int target; + }; + +diff --git a/iptables/xshared.c b/iptables/xshared.c +index a8512d38..9b5e5b5b 100644 +--- a/iptables/xshared.c ++++ b/iptables/xshared.c +@@ -1025,7 +1025,7 @@ static const int inverse_for_options[NUMBER_OF_OPT] = + }; + + void +-set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, ++set_option(unsigned int *options, unsigned int option, uint16_t *invflg, + bool invert) + { + if (*options & option) +diff --git a/iptables/xshared.h b/iptables/xshared.h +index 14568bb0..f8212988 100644 +--- a/iptables/xshared.h ++++ b/iptables/xshared.h +@@ -80,7 +80,7 @@ struct xtables_target; + #define IPT_INV_ARPHRD 0x0800 + + void +-set_option(unsigned int *options, unsigned int option, u_int16_t *invflg, ++set_option(unsigned int *options, unsigned int option, uint16_t *invflg, + bool invert); + + /** +diff --git a/libipq/ipq_create_handle.3 b/libipq/ipq_create_handle.3 +index 11ef95c4..ebe46daa 100644 +--- a/libipq/ipq_create_handle.3 ++++ b/libipq/ipq_create_handle.3 +@@ -24,7 +24,7 @@ ipq_create_handle, ipq_destroy_handle \(em create and destroy libipq handles. + .br + .B #include <libipq.h> + .sp +-.BI "struct ipq_handle *ipq_create_handle(u_int32_t " flags ", u_int32_t " protocol ");" ++.BI "struct ipq_handle *ipq_create_handle(uint32_t " flags ", uint32_t " protocol ");" + .br + .BI "int ipq_destroy_handle(struct ipq_handle *" h ); + .SH DESCRIPTION +diff --git a/libipq/ipq_set_mode.3 b/libipq/ipq_set_mode.3 +index 0edd3c00..e206886c 100644 +--- a/libipq/ipq_set_mode.3 ++++ b/libipq/ipq_set_mode.3 +@@ -24,7 +24,7 @@ ipq_set_mode \(em set the ip_queue queuing mode + .br + .B #include <libipq.h> + .sp +-.BI "int ipq_set_mode(const struct ipq_handle *" h ", u_int8_t " mode ", size_t " range ); ++.BI "int ipq_set_mode(const struct ipq_handle *" h ", uint8_t " mode ", size_t " range ); + .SH DESCRIPTION + The + .B ipq_set_mode +-- +cgit v1.2.3 + diff --git a/repo/iptables/fix-xtables.patch b/repo/iptables/fix-xtables.patch new file mode 100644 index 0000000..657c821 --- /dev/null +++ b/repo/iptables/fix-xtables.patch @@ -0,0 +1,10 @@ +--- a/libxtables/xtables.c 2022-05-13 13:26:26.000000000 +0000 ++++ b/libxtables/xtables.c 2022-05-17 08:56:52.670556393 +0000 +@@ -45,7 +45,6 @@ + + #include <xtables.h> + #include <limits.h> /* INT_MAX in ip_tables.h/ip6_tables.h */ +-#include <linux/if_ether.h> /* ETH_ALEN */ + #include <linux/netfilter_ipv4/ip_tables.h> + #include <linux/netfilter_ipv6/ip6_tables.h> + #include <libiptc/libxtc.h> diff --git a/repo/iptables/iptables.xibuild b/repo/iptables/iptables.xibuild index 0758c95..324a446 100644 --- a/repo/iptables/iptables.xibuild +++ b/repo/iptables/iptables.xibuild @@ -11,6 +11,8 @@ SOURCE="https://www.netfilter.org/projects/iptables/files/iptables-$PKG_VER.tar. ADDITIONAL=" ebtables.confd ebtables.initd +fix-u_int16_t.patch +fix-xtables.patch ip6tables.confd iptables.confd iptables.initd @@ -57,3 +59,4 @@ package() { install -D -m755 "$BUILD_ROOT"/ebtables.initd "$PKG_DEST"/etc/init.d/ebtables install -D -m644 "$BUILD_ROOT"/ebtables.confd "$PKG_DEST"/etc/conf.d/ebtables } + diff --git a/repo/krb5/krb5-server.xibuild b/repo/krb5/krb5-server.xibuild new file mode 100644 index 0000000..e8edb99 --- /dev/null +++ b/repo/krb5/krb5-server.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +DESC="The KDC and related programs for Kerberos 5" + +package() { + mkdir -p "$PKG_DEST"/usr/share \ + "$PKG_DEST"/usr/bin + install -d "$PKG_DEST"/var/lib/krb5kdc + mv "$PKG_DEST"/../krb5/usr/sbin "$subpkgdir"/usr/ + + add_from_main usr/bin/sclient + + for i in $BUILD_ROOT/*.initd; do + install -Dm755 $i \ + "$PKG_DEST"/etc/init.d/${i%.initd} + done +} diff --git a/repo/krb5/krb5.xibuild b/repo/krb5/krb5.xibuild index c38416a..92185b9 100644 --- a/repo/krb5/krb5.xibuild +++ b/repo/krb5/krb5.xibuild @@ -1,59 +1,52 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="musl e2fsprogs libldap gdbm" +NAME="krb5" +DESC="The Kerberos network authentication system" + +MAKEDEPS="e2fsprogs libverto libldap openssl keyutils bison flex perl" PKG_VER=1.19.3 -SOURCE=http://kerberos.org/dist/krb5/${PKG_VER%.*}/krb5-${PKG_VER}.tar.gz +maj_min=$PKG_VER +case $PKG_VER in + *.*.*) maj_min=${PKG_VER%.*} ;; +esac + +SOURCE="https://web.mit.edu/kerberos/dist/krb5/$maj_min/krb5-$PKG_VER.tar.gz" ADDITIONAL=" - https://www.linuxfromscratch.org/patches/blfs/svn/mitkrb-${PKG_VER}-openssl3_fixes-1.patch +krb5kadmind.initd +krb5kdc.initd +krb5kpropd.initd +mit-krb5_krb5-config_LDFLAGS.patch " -DESC="The Kerberos network authentication system" - prepare () { - - # fix denial of service vulnerability - sed -i '210a if (sprinc == NULL) {\ - status = "NULL_SERVER";\ - errcode = KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN;\ - goto cleanup;\ - }' src/kdc/do_tgs_req.c - - - cd src && - #these were needed for libressl - #patch -Np0 -i ../patch-plugins_preauth_pkinit_pkinit__crypto__openssl.c - #patch -Np0 -i ../patch-plugins_preauth_pkinit_pkinit__crypto__openssl.h - patch -Np2 -i ../mitkrb-$PKG_VER-openssl3_fixes-1.patch - - - sed -e "/LDFLAGS=/d" -i build-tools/krb5-config.in - sed -i -e 's@\^u}@^u cols 300}@' tests/dejagnu/config/default.exp || true - sed -i -e '/eq 0/{N;s/12 //}' plugins/kdb/db2/libdb2/test/run.test || true - sed -i '/t_iprop.py/d' tests/Makefile.in || true + cd src + mv ../*.patch . + apply_patches } -build () { - # would be ideal to use openssl rather than builtin library - autoreconf - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var/lib \ - --runstatedir=/run \ - --with-system-et \ - --with-system-ss \ - --with-system-verto=no \ - --with-crypto-impl=builtin \ - --enable-dns-for-realm && - - make +build() { + ./configure \ + CPPFLAGS="$CPPFLAGS -fPIC -I/usr/include/et" \ + WARN_CFLAGS= \ + --prefix=/usr \ + --localstatedir=/var/lib \ + --enable-shared \ + --disable-nls \ + --disable-static \ + --disable-rpath \ + --with-system-et \ + --with-system-ss \ + --with-system-verto \ + --without-tcl \ + --with-ldap + make } -package () { - make DESTDIR=$PKG_DEST install - - install -dm755 $PKG_DEST/usr/share/doc/krb5-$PKG_VER && - cp -fr ../doc/* $PKG_DEST/usr/share/doc/krb5-$PKG_VER +package() { + make install DESTDIR="$PKG_DEST" + mkdir -p "$PKG_DEST"/usr/share/doc/krb5 + mv "$PKG_DEST"/usr/share/examples "$PKG_DEST"/usr/share/doc/krb5/ } + diff --git a/repo/krb5/krb5kadmind.initd b/repo/krb5/krb5kadmind.initd new file mode 100644 index 0000000..64622d5 --- /dev/null +++ b/repo/krb5/krb5kadmind.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run + +#--------------------------------------------------------------------------- +# This script starts/stops the MIT Kerberos 5 Admin daemon +#--------------------------------------------------------------------------- + +daemon="MIT Kerberos 5 Admin daemon" +exec="/usr/sbin/kadmind" + +depend() { + need krb5kdc + use net +} + +start() { + ebegin "Starting $daemon" + start-stop-daemon --start --quiet --exec ${exec} 1>&2 + eend $? "Error starting $daemon" +} + +stop() { + ebegin "Stopping $daemon" + start-stop-daemon --stop --quiet --exec ${exec} 1>&2 + eend $? "Error stopping $daemon" +} diff --git a/repo/krb5/krb5kdc.initd b/repo/krb5/krb5kdc.initd new file mode 100644 index 0000000..35cac6f --- /dev/null +++ b/repo/krb5/krb5kdc.initd @@ -0,0 +1,24 @@ +#!/sbin/openrc-run + +#--------------------------------------------------------------------------- +# This script starts/stops the MIT Kerberos 5 KDC +#--------------------------------------------------------------------------- + +daemon="MIT Kerberos 5 KDC" +exec="/usr/sbin/krb5kdc" + +depend() { + use net +} + +start() { + ebegin "Starting $daemon" + start-stop-daemon --start --quiet --exec ${exec} 1>&2 + eend $? "Error starting $daemon" +} + +stop() { + ebegin "Stopping $daemon" + start-stop-daemon --stop --quiet --exec ${exec} 1>&2 + eend $? "Error stopping $daemon" +} diff --git a/repo/krb5/krb5kpropd.initd b/repo/krb5/krb5kpropd.initd new file mode 100644 index 0000000..75d2f0d --- /dev/null +++ b/repo/krb5/krb5kpropd.initd @@ -0,0 +1,24 @@ +#!/sbin/openrc-run + +#--------------------------------------------------------------------------- +# This script starts/stops the MIT Kerberos 5 kpropd +#--------------------------------------------------------------------------- + +daemon="MIT Kerberos 5 kpropd" +exec="/usr/sbin/kpropd" + +depend() { + use net krb5kdc krb5kadmind +} + +start() { + ebegin "Starting $daemon" + start-stop-daemon --start --quiet --exec ${exec} -- -S 1>&2 + eend $? "Error starting $daemon" +} + +stop() { + ebegin "Stopping $daemon" + start-stop-daemon --stop --quiet --exec ${exec} 1>&2 + eend $? "Error stopping $daemon" +} diff --git a/repo/krb5/mit-krb5_krb5-config_LDFLAGS.patch b/repo/krb5/mit-krb5_krb5-config_LDFLAGS.patch new file mode 100644 index 0000000..9ae5226 --- /dev/null +++ b/repo/krb5/mit-krb5_krb5-config_LDFLAGS.patch @@ -0,0 +1,12 @@ +Bug #448778 +--- a/build-tools/krb5-config.in ++++ b/build-tools/krb5-config.in +@@ -221,7 +221,7 @@ + -e 's#\$(PROG_RPATH)#'$libdir'#' \ + -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \ + -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ +- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \ ++ -e 's#\$(LDFLAGS)##' \ + -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ + -e 's#\$(CFLAGS)##'` + diff --git a/repo/leveldb/leveldb.xibuild b/repo/leveldb/leveldb.xibuild deleted file mode 100644 index 0f9519b..0000000 --- a/repo/leveldb/leveldb.xibuild +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -NAME="leveldb" -DESC="A fast and lightweight key/value database library by Google" - -MAKEDEPS=" cmake snappy" - -PKG_VER=1.23 -SOURCE="https://github.com/google/leveldb/archive/$PKG_VER.tar.gz" - -build() { - mkdir build && cd build - cmake .. \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DLEVELDB_BUILD_TESTS=ON \ - -DLEVELDB_INSTALL=ON \ - -DBUILD_SHARED_LIBS=ON - make -} - -check() { - make test -} - -package() { - make DESTDIR="$PKG_DEST" install - mkdir -p "$PKG_DEST"/usr/share/doc - cp -a ../doc "$PKG_DEST"/usr/share/doc/leveldb -} - diff --git a/repo/libbluray/libbluray.xibuild b/repo/libbluray/libbluray.xibuild new file mode 100644 index 0000000..39aa361 --- /dev/null +++ b/repo/libbluray/libbluray.xibuild @@ -0,0 +1,28 @@ +#!/bin/sh + +NAME="libbluray" +DESC="Library for Blu-Ray disc playback" + +MAKEDEPS="" + +PKG_VER=1.3.3 +SOURCE="https://download.videolan.org/pub/videolan/libbluray/$PKG_VER/libbluray-$PKG_VER.tar.bz2" + +build() { + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-bdjava-jar \ + --without-libxml2 \ + --without-freetype \ + --disable-static + make +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/libbpf/libbpf.xibuild b/repo/libbpf/libbpf.xibuild index 0e4993d..93ddac9 100644 --- a/repo/libbpf/libbpf.xibuild +++ b/repo/libbpf/libbpf.xibuild @@ -5,7 +5,7 @@ DESC="A library for interacting with the Linux kernel's Berkeley Packet Filter ( MAKEDEPS="linux-headers elfutils zlib" -PKG_VER=1.0.1 +PKG_VER=1.1.0 SOURCE="https://github.com/libbpf/libbpf/archive/refs/tags/v$PKG_VER.tar.gz" ADDITIONAL=" @@ -14,7 +14,7 @@ ADDITIONAL=" build() { cd src - make NO_PKG_CONFIG=1 + make } check() { diff --git a/repo/libburn/libburn.xibuild b/repo/libburn/libburn.xibuild new file mode 100644 index 0000000..721a39b --- /dev/null +++ b/repo/libburn/libburn.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="libburn" +DESC="Library for reading, mastering and writing optical discs" + +MAKEDEPS=" linux-headers" + +PKG_VER=1.5.4 +_ver=${PKG_VER%_p*} +if [ "$_ver" != "$PKG_VER" ]; then + _pver=".pl${PKG_VER##*_p}" +fi +SOURCE="https://files.libburnia-project.org/releases/libburn-${_ver}$_pver.tar.gz" + +build() { + ./configure \ + + + --prefix=/usr \ + --disable-static + make +} + +check() { + make check +} +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/libcddb/libcddb.xibuild b/repo/libcddb/libcddb.xibuild index 482567e..80dc461 100644 --- a/repo/libcddb/libcddb.xibuild +++ b/repo/libcddb/libcddb.xibuild @@ -3,15 +3,11 @@ NAME="libcddb" DESC="Library that implements the different protocols (CDDBP, HTTP, SMTP) to access data on a CDDB server (e.g. http://freedb.org)." -MAKEDEPS="" +MAKEDEPS="make" PKG_VER=1.3.2 SOURCE="https://downloads.sourceforge.net/libcddb/libcddb-$PKG_VER.tar.bz2" -prepare() { - apply_patches -} - build() { ./configure \ --prefix=/usr \ diff --git a/repo/libdaemon/fix-includes.patch b/repo/libdaemon/fix-includes.patch new file mode 100644 index 0000000..51c5133 --- /dev/null +++ b/repo/libdaemon/fix-includes.patch @@ -0,0 +1,13 @@ +--- libdaemon-0.14.orig/examples/testd.c ++++ libdaemon-0.14/examples/testd.c +@@ -21,9 +21,9 @@ + #include <signal.h> + #include <errno.h> + #include <string.h> ++#include <unistd.h> + #include <sys/types.h> + #include <sys/time.h> +-#include <sys/unistd.h> + #include <sys/select.h> + + #include <libdaemon/dfork.h> diff --git a/repo/libdaemon/libdaemon.xibuild b/repo/libdaemon/libdaemon.xibuild new file mode 100644 index 0000000..1a2b731 --- /dev/null +++ b/repo/libdaemon/libdaemon.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="libdaemon" +DESC="A lightweight C library which eases the writing of UNIX daemons" + +MAKEDEPS="" + +PKG_VER=0.14 +SOURCE="https://dev.alpinelinux.org/archive/libdaemon/libdaemon-$PKG_VER.tar.gz" + +ADDITIONAL=" +fix-includes.patch +" + +prepare() { + apply_patches +} + +build() { + ./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --disable-lynx + make +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/libebml/libebml.xibuild b/repo/libebml/libebml.xibuild new file mode 100644 index 0000000..b2df189 --- /dev/null +++ b/repo/libebml/libebml.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="libebml" +DESC="C++ library to parse Extensible Binary Meta-Language files" + +MAKEDEPS="cmake ninja" + +PKG_VER=1.4.3 +SOURCE="http://dl.matroska.org/downloads/libebml/libebml-$PKG_VER.tar.xz" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + + CXXFLAGS="$CXXFLAGS -flto=auto" \ + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=None \ + $CMAKE_CROSSOPTS + cmake --build build +} + +package() { + DESTDIR="$PKG_DEST" cmake --install build +} + diff --git a/repo/libetonyek/libetonyek.xibuild b/repo/libetonyek/libetonyek.xibuild deleted file mode 100644 index 5df35af..0000000 --- a/repo/libetonyek/libetonyek.xibuild +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -NAME="libetonyek" -DESC="Import filter and tools for Apple Keynote presentations" - -MAKEDEPS=" glm boost librevenge libxml2 zlib liblangtag gperf doxygen mdds" - -PKG_VER=0.1.10 -SOURCE="https://dev-www.libreoffice.org/src/libetonyek/libetonyek-$PKG_VER.tar.xz" - -build() { - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --disable-werror \ - --with-mdds=1.5 \ - --disable-static - make -} - -check() { - make check -} - -package() { - make DESTDIR="$PKG_DEST" install -} diff --git a/repo/libfm/libfm.xibuild b/repo/libfm/libfm.xibuild index 21661e5..c808057 100644 --- a/repo/libfm/libfm.xibuild +++ b/repo/libfm/libfm.xibuild @@ -3,8 +3,7 @@ NAME="libfm" DESC="Library for file management" -MAKEDEPS="make libtool intltool autoconf automake gtk3" -DEPS="libexif menu-cache" +MAKEDEPS="make libtool intltool autoconf automake gtk3 libexif menu-cache" PKG_VER=1.3.2 SOURCE="https://github.com/lxde/libfm/archive/$PKG_VER.tar.gz" diff --git a/repo/libgcab/libgcab.xibuild b/repo/libgcab/libgcab.xibuild index 7025626..0cc3152 100644 --- a/repo/libgcab/libgcab.xibuild +++ b/repo/libgcab/libgcab.xibuild @@ -8,6 +8,11 @@ MAKEDEPS="meson gobject-introspection glib vala gtk2" PKG_VER=1.5 SOURCE="https://download.gnome.org/sources/gcab/$PKG_VER/gcab-$PKG_VER.tar.xz" +prepare () { + # trick it into thinking its a git repo + git init . +} + build() { meson --prefix=/usr \ output diff --git a/repo/libgit/libgit.xibuild b/repo/libgit/libgit.xibuild index 87fd6f8..8802b20 100644 --- a/repo/libgit/libgit.xibuild +++ b/repo/libgit/libgit.xibuild @@ -28,12 +28,12 @@ build() { make } -check() { - cd "$BUILD_ROOT"/build - ctest -E 'offline|online' -} +#check() { +# cd "$BUILD_ROOT"/build +# ctest -E 'offline|online' +# cd "$BUILD_ROOT" +#} package() { - cd "$BUILD_ROOT" - make -C build DESTDIR="$PKG_DEST" install + make DESTDIR="$PKG_DEST" install } diff --git a/repo/libgphoto2/libgphoto2.pre-install b/repo/libgphoto2/libgphoto2.pre-install new file mode 100644 index 0000000..c696fcd --- /dev/null +++ b/repo/libgphoto2/libgphoto2.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +addgroup -S camera 2>/dev/null + +exit 0 diff --git a/repo/libgphoto2/libgphoto2.pre-upgrade b/repo/libgphoto2/libgphoto2.pre-upgrade new file mode 100644 index 0000000..c696fcd --- /dev/null +++ b/repo/libgphoto2/libgphoto2.pre-upgrade @@ -0,0 +1,5 @@ +#!/bin/sh + +addgroup -S camera 2>/dev/null + +exit 0 diff --git a/repo/libgphoto2/libgphoto2.xibuild b/repo/libgphoto2/libgphoto2.xibuild new file mode 100644 index 0000000..b7ba6e6 --- /dev/null +++ b/repo/libgphoto2/libgphoto2.xibuild @@ -0,0 +1,34 @@ +#!/bin/sh + +NAME="libgphoto2" +DESC="The core library of gphoto2, designed to allow access to digital camera by external programs" + +MAKEDEPS=" libexif libusb libjpeg-turbo libtool" + +PKG_VER=2.5.30 +SOURCE="https://downloads.sourceforge.net/gphoto/libgphoto2-$PKG_VER.tar.bz2" + +build() { + udevscriptdir=/lib/udev ./configure \ + --prefix=/usr \ + --with-drivers=all \ + --disable-static \ + --disable-rpath + make +} + +check() { + make check +} + +package() { + make DESTDIR="$PKG_DEST" install + rm -f "$PKG_DEST"/usr/lib/libgphoto2/*/*.a \ + "$PKG_DEST"/usr/lib/*.a + + install -m755 -d "$PKG_DEST/lib/udev/rules.d" + LD_LIBRARY_PATH="$PKG_DEST/usr/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \ + CAMLIBS="$PKG_DEST/usr/lib/libgphoto2/$PKG_VER" \ + "$PKG_DEST/usr/lib/libgphoto2/print-camera-list" udev-rules version 136 group camera mode 0660 > "$PKG_DEST/lib/udev/rules.d/54-gphoto.rules" +} + diff --git a/repo/libisoburn/libisoburn.xibuild b/repo/libisoburn/libisoburn.xibuild new file mode 100644 index 0000000..c893911 --- /dev/null +++ b/repo/libisoburn/libisoburn.xibuild @@ -0,0 +1,26 @@ +#!/bin/sh + +NAME="libisoburn" +DESC="Library to enable creation and expansion of ISO-9660 filesystems" + +MAKEDEPS="libburn libisofs acl zlib libedit" + +PKG_VER=1.5.4 +SOURCE="https://download.nus.edu.sg/mirror/ubuntu/ubuntu/pool/main/libi/libisoburn/libisoburn_$PKG_VER.orig.tar.gz" + + +build() { + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-static + make +} + +package() { + make DESTDIR="$PKG_DEST" install + rm "$PKG_DEST"/usr/bin/xorriso-tcltk + ln -s xorriso "$PKG_DEST"/usr/bin/mkisofs +} diff --git a/repo/libisofs/libisofs.xibuild b/repo/libisofs/libisofs.xibuild new file mode 100644 index 0000000..fbc914b --- /dev/null +++ b/repo/libisofs/libisofs.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="libisofs" +DESC="Library to pack up hard disk files and directories into a ISO 9660 disk image" + +MAKEDEPS=" acl zlib" + +PKG_VER=1.5.4 +SOURCE="https://files.libburnia-project.org/releases/libisofs-$PKG_VER.tar.gz" + +build() { + ./configure \ + --prefix=/usr \ + --enable-libacl \ + --enable-xattr \ + --disable-static + make +} + +check() { + make check +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/libixion/libixion.xibuild b/repo/libixion/libixion.xibuild index 1061d5b..e966782 100644 --- a/repo/libixion/libixion.xibuild +++ b/repo/libixion/libixion.xibuild @@ -3,20 +3,22 @@ NAME="libixion" DESC="A general purpose formula parser & interpreter" -MAKEDEPS=" boost mdds" +MAKEDEPS="boost mdds" PKG_VER=0.17.0 -SOURCE="https://kohei.us/files/ixion/src/libixion-$PKG_VER.tar.xz" +BRANCH=$PKG_VER +SOURCE="https://gitlab.com/ixion/ixion.git" ADDITIONAL=" fix.patch " -prepare() { - apply_patches -} +#prepare() { + #apply_patches +#} build() { + ./autogen.sh ./configure \ --prefix=/usr \ --sysconfdir=/etc \ diff --git a/repo/libjxl/libjxl.xibuild b/repo/libjxl/libjxl.xibuild index a096e83..0ae32b4 100644 --- a/repo/libjxl/libjxl.xibuild +++ b/repo/libjxl/libjxl.xibuild @@ -5,7 +5,7 @@ DESC="JPEG XL image format reference implementation" MAKEDEPS="asciidoc brotli cmake gdk-pixbuf giflib lcms2 libjpeg-turbo libpng openexr zlib gimp highway gflags" -SOURCE="http://github.com/libjxl/libjxl" +SOURCE="http://github.com/libjxl/libjxl.git" prepare () { ./deps.sh diff --git a/repo/liblangtag/liblangtag.xibuild b/repo/liblangtag/liblangtag.xibuild deleted file mode 100644 index 5151d91..0000000 --- a/repo/liblangtag/liblangtag.xibuild +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -NAME="liblangtag" -DESC="Interface library to access/deal with tags for identifying languages" - -MAKEDEPS="glib gobject-introspection libtool libxml2 gtk-doc" - -SOURCE="git://bitbucket.org/tagoh/liblangtag.git" - -build() { - ./configure --prefix=/usr - make -} - -check() { - make -k check -} - -package() { - make DESTDIR="$PKG_DEST" install -} - diff --git a/repo/liblinear/liblinear.xibuild b/repo/liblinear/liblinear.xibuild index 5222f8e..85a2631 100644 --- a/repo/liblinear/liblinear.xibuild +++ b/repo/liblinear/liblinear.xibuild @@ -15,6 +15,6 @@ package () { mkdir -p ${PKG_DEST}/usr/include mkdir -p ${PKG_DEST}/usr/lib install -m644 linear.h $PKG_DEST/usr/include && - install -m755 liblinear.so.4 $PKG_DEST/usr/lib && + install -m755 liblinear.so.5 $PKG_DEST/usr/lib && ln -sf liblinear.so.4 $PKG_DEST/usr/lib/liblinear.so } diff --git a/repo/libmodplug/libmodplug.xibuild b/repo/libmodplug/libmodplug.xibuild index 9647bc1..3a8c060 100644 --- a/repo/libmodplug/libmodplug.xibuild +++ b/repo/libmodplug/libmodplug.xibuild @@ -3,7 +3,7 @@ NAME="libmodplug" DESC="A MOD playing library" -MAKEDEPS="" +MAKEDEPS="musl" PKG_VER=0.8.9.0 SOURCE="https://downloads.sourceforge.net/modplug-xmms/libmodplug-$PKG_VER.tar.gz" diff --git a/repo/libmrss/libmrss.xibuild b/repo/libmrss/libmrss.xibuild index c157881..066eeff 100644 --- a/repo/libmrss/libmrss.xibuild +++ b/repo/libmrss/libmrss.xibuild @@ -3,11 +3,17 @@ NAME="libmrss" DESC="mRSS is a C library for parsing, writing and creating RSS files or streams" -MAKEDEPS=" automake autoconf libtool m4 curl libnxml doxygen" +MAKEDEPS="automake autoconf libtool m4 curl libnxml doxygen" PKG_VER=0.19.2 SOURCE="https://github.com/bakulf/libmrss/archive/refs/tags/$PKG_VER.tar.gz" +prepare () { + # this file is required + touch NEWS + autoreconf -vif +} + build() { ./configure --prefix=/usr make diff --git a/repo/libnxml/libnxml.xibuild b/repo/libnxml/libnxml.xibuild index 478711c..71e2970 100644 --- a/repo/libnxml/libnxml.xibuild +++ b/repo/libnxml/libnxml.xibuild @@ -8,6 +8,12 @@ MAKEDEPS="curl" PKG_VER=0.18.3 SOURCE="https://github.com/bakulf/libnxml/archive/refs/tags/$PKG_VER.tar.gz" +prepare () { + # this file is necessary + touch NEWS + autoreconf -vif +} + build() { ./configure --prefix=/usr make diff --git a/repo/liborcus/liborcus.xibuild b/repo/liborcus/liborcus.xibuild index 481b0ac..aefd7b9 100644 --- a/repo/liborcus/liborcus.xibuild +++ b/repo/liborcus/liborcus.xibuild @@ -6,13 +6,15 @@ DESC="Library for processing spreadsheet documents" MAKEDEPS="boost mdds libixion zlib" PKG_VER=0.17.2 -SOURCE="https://kohei.us/files/orcus/src/liborcus-$PKG_VER.tar.xz" +BRANCH=$PKG_VER +SOURCE="https://gitlab.com/orcus/orcus.git" ADDITIONAL=" fix-include.patch " prepare () { + ./autogen.sh apply_patches } @@ -26,9 +28,6 @@ build() { make } -check() { - make check -} package() { make DESTDIR="$PKG_DEST" install diff --git a/repo/libqmi/libqmi.xibuild b/repo/libqmi/libqmi.xibuild index 7439f1f..0cf4f50 100644 --- a/repo/libqmi/libqmi.xibuild +++ b/repo/libqmi/libqmi.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make gtk-doc glib libgudev " -DEPS="musl libqrtr libmbim " +MAKEDEPS="make gtk-doc glib libgudev musl libqrtr libmbim " PKG_VER=1.30.4 SOURCE=https://www.freedesktop.org/software/libqmi/libqmi-$PKG_VER.tar.xz diff --git a/repo/libreoffice/autoconf-boost-macros.patch b/repo/libreoffice/autoconf-boost-macros.patch deleted file mode 100644 index 41dda98..0000000 --- a/repo/libreoffice/autoconf-boost-macros.patch +++ /dev/null @@ -1,152 +0,0 @@ -Fix language context when testing linking against boost, by moving -the AC_LANG_PUSH and AC_LANG_POP macros into a macro-wide scope for the -AX_BOOST_FOO macros. - -Upstream: Pending ---- libreoffice-7.2.2.2.orig/m4/ax_boost_date_time.m4 -+++ libreoffice-7.2.2.2/m4/ax_boost_date_time.m4 -@@ -62,15 +62,15 @@ - LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" - export LDFLAGS - -+ AC_LANG_PUSH([C++]) -+ - AC_CACHE_CHECK(whether the Boost::Date_Time library is available, - ax_cv_boost_date_time, -- [AC_LANG_PUSH([C++]) -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/date_time/gregorian/gregorian_types.hpp>]], -+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/date_time/gregorian/gregorian_types.hpp>]], - [[using namespace boost::gregorian; date d(2002,Jan,10); - return 0; - ]])], - ax_cv_boost_date_time=yes, ax_cv_boost_date_time=no) -- AC_LANG_POP([C++]) - ]) - if test "x$ax_cv_boost_date_time" = "xyes"; then - AC_DEFINE(HAVE_BOOST_DATE_TIME,,[define if the Boost::Date_Time library is available]) -@@ -110,4 +110,6 @@ - CPPFLAGS="$CPPFLAGS_SAVED" - LDFLAGS="$LDFLAGS_SAVED" - fi -+ -+ AC_LANG_POP([C++]) - ]) ---- libreoffice-7.2.2.2.orig/m4/ax_boost_filesystem.m4 -+++ libreoffice-7.2.2.2/m4/ax_boost_filesystem.m4 -@@ -67,15 +67,15 @@ - LIBS="$LIBS $BOOST_SYSTEM_LIB" - export LIBS - -+ AC_LANG_PUSH([C++]) -+ - AC_CACHE_CHECK(whether the Boost::Filesystem library is available, - ax_cv_boost_filesystem, -- [AC_LANG_PUSH([C++]) -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/filesystem/path.hpp>]], -+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/filesystem/path.hpp>]], - [[using namespace boost::filesystem; - path my_path( "foo/bar/data.txt" ); - return 0;]])], - ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no) -- AC_LANG_POP([C++]) - ]) - if test "x$ax_cv_boost_filesystem" = "xyes"; then - AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available]) -@@ -115,4 +115,6 @@ - LDFLAGS="$LDFLAGS_SAVED" - LIBS="$LIBS_SAVED" - fi -+ -+ AC_LANG_POP([C++]) - ]) ---- libreoffice-7.2.2.2.orig/m4/ax_boost_iostreams.m4 -+++ libreoffice-7.2.2.2/m4/ax_boost_iostreams.m4 -@@ -61,10 +61,11 @@ - LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" - export LDFLAGS - -+ AC_LANG_PUSH([C++]) -+ - AC_CACHE_CHECK(whether the Boost::IOStreams library is available, - ax_cv_boost_iostreams, -- [AC_LANG_PUSH([C++]) -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/iostreams/filtering_stream.hpp> -+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/iostreams/filtering_stream.hpp> - @%:@include <boost/range/iterator_range.hpp> - ]], - [[std::string input = "Hello World!"; -@@ -73,7 +74,6 @@ - return 0; - ]])], - ax_cv_boost_iostreams=yes, ax_cv_boost_iostreams=no) -- AC_LANG_POP([C++]) - ]) - if test "x$ax_cv_boost_iostreams" = "xyes"; then - AC_DEFINE(HAVE_BOOST_IOSTREAMS,,[define if the Boost::IOStreams library is available]) -@@ -113,4 +113,6 @@ - CPPFLAGS="$CPPFLAGS_SAVED" - LDFLAGS="$LDFLAGS_SAVED" - fi -+ -+ AC_LANG_POP([C++]) - ]) ---- libreoffice-7.2.2.2.orig/m4/ax_boost_locale.m4 -+++ libreoffice-7.2.2.2/m4/ax_boost_locale.m4 -@@ -62,9 +62,11 @@ - LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" - export LDFLAGS - -+ AC_LANG_PUSH([C++]) -+ - AC_CACHE_CHECK(whether the Boost::Locale library is available, - ax_cv_boost_locale, -- [AC_LANG_PUSH([C++]) -+ [ - CXXFLAGS_SAVE=$CXXFLAGS - - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/locale.hpp>]], -@@ -72,7 +74,6 @@ - std::locale::global(gen(""));]])], - ax_cv_boost_locale=yes, ax_cv_boost_locale=no) - CXXFLAGS=$CXXFLAGS_SAVE -- AC_LANG_POP([C++]) - ]) - if test "x$ax_cv_boost_locale" = "xyes"; then - AC_SUBST(BOOST_CPPFLAGS) -@@ -116,4 +117,6 @@ - CPPFLAGS="$CPPFLAGS_SAVED" - LDFLAGS="$LDFLAGS_SAVED" - fi -+ -+ AC_LANG_POP([C++]) - ]) ---- libreoffice-7.2.2.2.orig/m4/ax_boost_system.m4 -+++ libreoffice-7.2.2.2/m4/ax_boost_system.m4 -@@ -64,9 +64,11 @@ - LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" - export LDFLAGS - -+ AC_LANG_PUSH([C++]) -+ - AC_CACHE_CHECK(whether the Boost::System library is available, - ax_cv_boost_system, -- [AC_LANG_PUSH([C++]) -+ [ - CXXFLAGS_SAVE=$CXXFLAGS - CXXFLAGS= - -@@ -74,7 +76,6 @@ - [[boost::system::error_category *a = 0;]])], - ax_cv_boost_system=yes, ax_cv_boost_system=no) - CXXFLAGS=$CXXFLAGS_SAVE -- AC_LANG_POP([C++]) - ]) - if test "x$ax_cv_boost_system" = "xyes"; then - AC_SUBST(BOOST_CPPFLAGS) -@@ -118,4 +119,6 @@ - CPPFLAGS="$CPPFLAGS_SAVED" - LDFLAGS="$LDFLAGS_SAVED" - fi -+ -+ AC_LANG_POP([C++]) - ]) diff --git a/repo/libreoffice/disable-liborcus-unittest.patch b/repo/libreoffice/disable-liborcus-unittest.patch deleted file mode 100644 index 318d508..0000000 --- a/repo/libreoffice/disable-liborcus-unittest.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/sc/qa/unit/subsequent_filters-test.cxx -+++ b/sc/qa/unit/subsequent_filters-test.cxx -@@ -2546,7 +2546,9 @@ - CPPUNIT_ASSERT_MESSAGE("Style Name1 : Doesn't have Attribute background, but it should have.", - pStyleSheet->GetItemSet().HasItem(ATTR_BACKGROUND, &pItem)); - const SvxBrushItem* pBackground = static_cast<const SvxBrushItem*>(pItem); -- CPPUNIT_ASSERT_EQUAL(Color(254, 255, 204), pBackground->GetColor()); -+ /* This test fails with liborcus >= 0.13.3 -+ * CPPUNIT_ASSERT_EQUAL(Color(254, 255, 204), pBackground->GetColor()); -+ */ - - CPPUNIT_ASSERT_MESSAGE("Style Name1 : Doesn't have Attribute border, but it should have.", - pStyleSheet->GetItemSet().HasItem(ATTR_BORDER, &pItem)); diff --git a/repo/libreoffice/fix-execinfo.patch b/repo/libreoffice/fix-execinfo.patch deleted file mode 100644 index 84f3687..0000000 --- a/repo/libreoffice/fix-execinfo.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/sal/osl/unx/backtrace.h -+++ b/sal/osl/unx/backtrace.h -@@ -20,7 +20,7 @@ - #ifndef INCLUDED_SAL_OSL_UNX_BACKTRACE_H - #define INCLUDED_SAL_OSL_UNX_BACKTRACE_H - --#if defined (LINUX) -+#if defined (LINUX) && defined (__GLIBC__) - - #include <execinfo.h> - ---- a/sal/osl/unx/signal.cxx -+++ b/sal/osl/unx/signal.cxx -@@ -36,7 +36,7 @@ - - #endif /* MACOSX */ - --#ifdef LINUX -+#if defined(LINUX) && defined(__GLIBC__) - #include <execinfo.h> - #include <link.h> - #define INCLUDE_BACKTRACE - ---- a/sal/osl/unx/backtrace.c -+++ b/sal/osl/unx/backtrace.c -@@ -279,7 +279,7 @@ void backtrace_symbols_fd( void **buffer, int size, int fd ) - } - } - --#elif !defined LINUX && !defined MACOSX && !defined IOS -+#elif !defined LINUX && !defined MACOSX && !defined IOS && !defined(__GLIBC__) - - int backtrace( void **buffer, int max_frames ) - { diff --git a/repo/libreoffice/libreoffice-base.xibuild b/repo/libreoffice/libreoffice-base.xibuild deleted file mode 100644 index b38a445..0000000 --- a/repo/libreoffice/libreoffice-base.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Database frontend" - -splitname="base" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice-calc.xibuild b/repo/libreoffice/libreoffice-calc.xibuild deleted file mode 100644 index c7bc5b2..0000000 --- a/repo/libreoffice/libreoffice-calc.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Spreadsheet" - -splitname="calc" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice-common.xibuild b/repo/libreoffice/libreoffice-common.xibuild deleted file mode 100644 index b726db5..0000000 --- a/repo/libreoffice/libreoffice-common.xibuild +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Common Files" - -splitname="common" - -package () { - libreoffice_split $splitname -} diff --git a/repo/libreoffice/libreoffice-draw.xibuild b/repo/libreoffice/libreoffice-draw.xibuild deleted file mode 100644 index cc73569..0000000 --- a/repo/libreoffice/libreoffice-draw.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Drawing application" - -splitname="draw" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice-impress.xibuild b/repo/libreoffice/libreoffice-impress.xibuild deleted file mode 100644 index 482203c..0000000 --- a/repo/libreoffice/libreoffice-impress.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Presentation application" - -splitname="impress" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice-math.xibuild b/repo/libreoffice/libreoffice-math.xibuild deleted file mode 100644 index 8b4d0a4..0000000 --- a/repo/libreoffice/libreoffice-math.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Equation Editor" - -splitname="math" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice-postgres.xibuild b/repo/libreoffice/libreoffice-postgres.xibuild deleted file mode 100644 index 2cac487..0000000 --- a/repo/libreoffice/libreoffice-postgres.xibuild +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Connector for postgresql database" - -splitname="postgresql" - -package () { - libreoffice_split $splitname -} diff --git a/repo/libreoffice/libreoffice-sdk.xibuild b/repo/libreoffice/libreoffice-sdk.xibuild deleted file mode 100644 index 2106fb0..0000000 --- a/repo/libreoffice/libreoffice-sdk.xibuild +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - SDK" - -splitname="sdk" - -package () { - libreoffice_split $splitname -} diff --git a/repo/libreoffice/libreoffice-writer.xibuild b/repo/libreoffice/libreoffice-writer.xibuild deleted file mode 100644 index e2c1b74..0000000 --- a/repo/libreoffice/libreoffice-writer.xibuild +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DEPS="libreoffice-common" -DESC="LibreOffice - Word Processor" - -splitname="writer" - -package () { - libreoffice_split $splitname - add_from_main usr/lib/libreoffice/share/xdg/$splitname.desktop -} diff --git a/repo/libreoffice/libreoffice.xibuild b/repo/libreoffice/libreoffice.xibuild deleted file mode 100644 index 2cdf242..0000000 --- a/repo/libreoffice/libreoffice.xibuild +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh - -NAME="libreoffice" -DESC="LibreOffice - Meta package for the full office suite" - -MAKEDEPS="apache-ant apr autoconf automake bison bluez boost box2d clucene cppunit cups doxygen findutils flex freetype2 glew glm glu gperf gpgme gst-plugins-base gstreamer gtk3 harfbuzz hunspell hyphen icu junit kconfig lcms2 libabw libcdr libepubgen libetonyek libexecinfo libexttextcat libfreehand libjpeg-turbo libmspub libmwaw libnumbertext libodfgen liborcus libpagemaker libqxp libstaroffice libvisio libwpd libwpg libwps libxml2 libxrandr libxrender libxslt libzmf mdds mythes neon nss libldap openssl perl perl-archive-zip poppler python qt5-qtbase redland sed tar ucpp unixodbc vigra xmlsec xz zip zxing-cpp adoptopenjdk11" - -PKG_VER=7.2.6.2 - -addsrcurl="https://dev-www.libreoffice.org/src" -case $PKG_VER in -*.*.*.*) v=${PKG_VER%.*};; -*.*.*) v=$PKG_VER;; -esac - -SOURCE="https://download.documentfoundation.org/libreoffice/src/$v/libreoffice-$PKG_VER.tar.xz" -ADDITIONAL=" - https://download.documentfoundation.org/libreoffice/src/$v/libreoffice-dictionaries-$PKG_VER.tar.xz - https://download.documentfoundation.org/libreoffice/src/$v/libreoffice-translations-$PKG_VER.tar.xz - $addsrcurl/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip - $addsrcurl/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip - $addsrcurl/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip - $addsrcurl/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip - $addsrcurl/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip - $addsrcurl/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip - $addsrcurl/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip - $addsrcurl/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip - $addsrcurl/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip - $addsrcurl/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip - $addsrcurl/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip - $addsrcurl/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip - $addsrcurl/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip - $addsrcurl/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip - $addsrcurl/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip - $addsrcurl/commons-logging-1.2-src.tar.gz - $addsrcurl/dtoa-20180411.tgz - $addsrcurl/lxml-4.1.1.tgz - $addsrcurl/pdfium-4500.tar.bz2 - $addsrcurl/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz - $addsrcurl/QR-Code-generator-1.4.0.tar.gz - $addsrcurl/libcmis-0.5.2.tar.xz - https://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll - https://dev-www.libreoffice.org/extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf - -autoconf-boost-macros.patch -disable-liborcus-unittest.patch -fix-execinfo.patch -linux-musl.patch -musl-libintl.patch -musl-stacksize.patch -pld-skia-patches.patch -poppler-22.03.patch -remove-backtrace.patch -skia-freetype2.11.diff -" - -unpack() { - mkdir -p "$BUILD_ROOT" - for u in libreoffice-*.tar.xz; do - unxz -c "$s" | tar -C "$BUILD_ROOT" -x - done -} - -prepare() { - unpack - mv "$BUILD_ROOT/skia-freetype2.11.diff" external/skia/"skia-freetype2.11.patch" - - apply_patches - NOCONFIGURE=1 ./autogen.sh -} - -build() { - export CFLAGS="$CFLAGS -O2" - export CPPFLAGS="$CPPFLAGS -O2" - export CXXFLAGS="$CXXFLAGS -O2" - - # boost-1.59 - export CPPFLAGS="$CPPFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" - - export JAVA_HOME=/usr/lib/jvm/adoptopenjdk11 - java_conf=" - " - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --disable-online-update \ - --disable-fetch-external \ - --disable-dependency-tracking \ - --enable-release-build \ - --enable-split-app-modules \ - --enable-python=system \ - --with-tls=nss \ - --with-system-libs \ - --with-system-dicts \ - --with-system-ucpp \ - --with-external-dict-dir=/usr/share/hunspell \ - --with-external-hyph-dir=/usr/share/hyphen \ - --with-external-tar="$BUILD_ROOT" \ - --without-system-jars \ - --without-system-libcmis \ - --without-junit \ - --without-fonts \ - --without-system-sane \ - --without-myspell-dicts \ - --disable-firebird-sdbc \ - --disable-coinmp \ - --disable-lpsolve \ - --enable-gtk3 \ - --enable-odk \ - --enable-skia \ - --enable-gtk3-kde5 \ - --enable-kf5 \ - --enable-qt5 \ - --with-jdk-home=$JAVA_HOME \ - --with-ant-home=/usr/share/java/apache-ant \ - --with-java - - make build-nocheck -} - -package() { - make DESTDIR="$PKG_DEST"/../all distro-pack-install -} - -libreoffice_split() { - local i - grep "^[^% ]" $BUILD_ROOT/file-lists/${1}_list.txt | sort -u | while IFS= read -r i; do - [ "$i" ] || continue - dirname="$(dirname $i)" - [ -d "$PKG_DEST/$dirname" ] || install -dm755 "$PKG_DEST/$dirname" - add_from_main $i - done -} diff --git a/repo/libreoffice/linux-musl.patch b/repo/libreoffice/linux-musl.patch deleted file mode 100644 index 9e192bc..0000000 --- a/repo/libreoffice/linux-musl.patch +++ /dev/null @@ -1,60 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -612,7 +612,7 @@ - fi - ;; - --linux-gnu*|k*bsd*-gnu*) -+linux-gnu*|linux-musl*|k*bsd*-gnu*) - using_freetype_fontconfig=yes - using_x11=yes - build_skia=yes -@@ -4353,7 +4353,7 @@ - esac - ;; - --linux-gnu*) -+linux-gnu*|linux-musl*) - COM=GCC - USING_X11=TRUE - OS=LINUX -@@ -7672,7 +7672,7 @@ - test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" - ;; - -- linux-gnu*) -+ linux-gnu*|linux-musl*) - JAVAINC="-I$JAVA_HOME/include" - JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux" - test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" -@@ -10260,21 +10260,6 @@ - AC_SUBST(ENABLE_LIBNUMBERTEXT) - AC_SUBST(LIBNUMBERTEXT_CFLAGS) - --dnl *************************************** --dnl testing libc version for Linux... --dnl *************************************** --if test "$_os" = "Linux"; then -- AC_MSG_CHECKING([whether libc is >= 2.1.1]) -- exec 6>/dev/null # no output -- AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC) -- exec 6>&1 # output on again -- if test "$HAVE_LIBC"; then -- AC_MSG_RESULT([yes]) -- else -- AC_MSG_ERROR([no, upgrade libc]) -- fi --fi -- - dnl ========================================= - dnl Check for uuidgen - dnl ========================================= -@@ -12812,7 +12812,7 @@ - - case "$host_os" in - -- aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) -+ aix*|dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*) - if test "$ENABLE_JAVA" != ""; then - pathmunge "$JAVA_HOME/bin" "after" - fi diff --git a/repo/libreoffice/musl-libintl.patch b/repo/libreoffice/musl-libintl.patch deleted file mode 100644 index ceaaaff..0000000 --- a/repo/libreoffice/musl-libintl.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/unotools/Library_utl.mk b/unotools/Library_utl.mk -index 0bfcbad..99acee1 100644 ---- a/unotools/Library_utl.mk -+++ b/unotools/Library_utl.mk -@@ -16,6 +16,10 @@ $(eval $(call gb_Library_use_externals,utl,\ - boost_locale \ - )) - -+$(eval $(call gb_Library_add_libs,utl,\ -+ -lintl \ -+)) -+ - $(eval $(call gb_Library_use_custom_headers,utl,\ - officecfg/registry \ - )) diff --git a/repo/libreoffice/musl-stacksize.patch b/repo/libreoffice/musl-stacksize.patch deleted file mode 100644 index 5e72205..0000000 --- a/repo/libreoffice/musl-stacksize.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/sal/osl/unx/thread.cxx -+++ b/sal/osl/unx/thread.cxx -@@ -250,7 +250,7 @@ - short nFlags) - { - Thread_Impl* pImpl; --#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) -+#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) || (defined LINUX && !defined __GLIBC__) - pthread_attr_t attr; - size_t stacksize; - #endif - -@@ -266,7 +266,7 @@ - - pthread_mutex_lock (&(pImpl->m_Lock)); - --#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) -+#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) || (defined LINUX && !defined __GLIBC__) - if (pthread_attr_init(&attr) != 0) - return nullptr; - -@@ -283,7 +283,7 @@ - - if ((nRet = pthread_create ( - &(pImpl->m_hThread), --#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) -+#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) || (defined LINUX && !defined __GLIBC__) - &attr, - #else - PTHREAD_ATTR_DEFAULT, - -@@ -301,7 +301,7 @@ - return nullptr; - } - --#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) -+#if defined OPENBSD || ((defined MACOSX || defined LINUX) && !ENABLE_RUNTIME_OPTIMIZATIONS) || (defined LINUX && !defined __GLIBC__) - pthread_attr_destroy(&attr); - #endif - diff --git a/repo/libreoffice/pld-skia-patches.patch b/repo/libreoffice/pld-skia-patches.patch deleted file mode 100644 index b54dfe4..0000000 --- a/repo/libreoffice/pld-skia-patches.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libreoffice-7.2.2.2/external/skia/UnpackedTarball_skia.mk.orig 2021-08-10 19:27:48.000000000 +0200 -+++ libreoffice-7.2.2.2/external/skia/UnpackedTarball_skia.mk 2021-08-12 18:09:22.813517161 +0200 -@@ -41,6 +41,7 @@ - fix-warnings.patch.1 \ - disable-freetype-colrv1.1 \ - windows-libraries-system32.patch.1 \ -+ skia-freetype2.11.patch \ - - $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) - diff --git a/repo/libreoffice/poppler-22.03.patch b/repo/libreoffice/poppler-22.03.patch deleted file mode 100644 index daa16a2..0000000 --- a/repo/libreoffice/poppler-22.03.patch +++ /dev/null @@ -1,39 +0,0 @@ -Patch-Source: https://github.com/archlinux/svntogit-packages/blob/2c89c1f968a5f8a6f260a4b91f19f43fae433520/trunk/poppler-22.03.0.patch -edited to add <memory> import -diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -index ad6320139..e5f6d9c68 100644 ---- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx -@@ -28,6 +28,8 @@ - #include <config_folders.h> //LIBO_SHARE_FOLDER - #endif - -+#include <memory> -+ - FILE* g_binary_out=stderr; - - static const char *ownerPassword = "\001"; -@@ -138,6 +138,15 @@ int main(int argc, char **argv) - _setmode( _fileno( g_binary_out ), _O_BINARY ); - #endif - -+#if POPPLER_CHECK_VERSION(22, 3, 0) -+ PDFDoc aDoc( std::make_unique<GooString>(pFileName), -+ GooString(pOwnerPasswordStr), -+ GooString(pUserPasswordStr) ); -+ -+ PDFDoc aErrDoc( std::make_unique<GooString>(pErrFileName), -+ GooString(pOwnerPasswordStr), -+ GooString(pUserPasswordStr) ); -+#else - PDFDoc aDoc( pFileName, - pOwnerPasswordStr, - pUserPasswordStr ); -@@ -145,6 +154,7 @@ int main(int argc, char **argv) - PDFDoc aErrDoc( pErrFileName, - pOwnerPasswordStr, - pUserPasswordStr ); -+#endif - - // Check various permissions for aDoc. - PDFDoc &rDoc = aDoc.isOk()? aDoc: aErrDoc; diff --git a/repo/libreoffice/remove-backtrace.patch b/repo/libreoffice/remove-backtrace.patch deleted file mode 100644 index f4eda53..0000000 --- a/repo/libreoffice/remove-backtrace.patch +++ /dev/null @@ -1,163 +0,0 @@ -diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk -index d783c84e3..555efd664 100644 ---- a/sal/Library_sal.mk -+++ b/sal/Library_sal.mk -@@ -156,7 +156,6 @@ endif - - ifneq ($(OS),WNT) - $(eval $(call gb_Library_add_exception_objects,sal,\ -- sal/osl/unx/backtraceapi \ - sal/osl/unx/conditn \ - sal/osl/unx/file \ - sal/osl/unx/file_error_transl \ -diff --git a/sal/osl/all/log.cxx b/sal/osl/all/log.cxx -index c493f4ddf..f8f4fab62 100644 ---- a/sal/osl/all/log.cxx -+++ b/sal/osl/all/log.cxx -@@ -283,9 +283,6 @@ void sal_detail_log( - ? nStrLen : 0)); - } - s << message; -- if (backtraceDepth != 0) { -- s << " at:\n" << osl::detail::backtraceAsString(backtraceDepth); -- } - - #if defined ANDROID - int android_log_level; -diff --git a/sal/osl/unx/backtraceapi.cxx b/sal/osl/unx/backtraceapi.cxx -deleted file mode 100644 -index d11128353..000000000 ---- a/sal/osl/unx/backtraceapi.cxx -+++ /dev/null -@@ -1,72 +0,0 @@ --/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ --/* -- * This file is part of the LibreOffice project. -- * -- * This Source Code Form is subject to the terms of the Mozilla Public -- * License, v. 2.0. If a copy of the MPL was not distributed with this -- * file, You can obtain one at http://mozilla.org/MPL/2.0/. -- */ -- --#include <sal/config.h> -- --#include <cassert> --#include <cstdlib> --#include <limits> --#include <memory> -- --#include <o3tl/runtimetooustring.hxx> --#include <rtl/ustrbuf.hxx> --#include <rtl/ustring.hxx> --#include <sal/types.h> --#include <sal/backtrace.hxx> -- --#include "backtrace.h" --#include <backtraceasstring.hxx> -- --namespace { -- --struct FreeGuard { -- FreeGuard(char ** theBuffer): buffer(theBuffer) {} -- -- ~FreeGuard() { std::free(buffer); } -- -- char ** buffer; --}; -- --} -- --OUString osl::detail::backtraceAsString(sal_uInt32 maxDepth) { -- std::unique_ptr<sal::BacktraceState> backtrace = sal::backtrace_get( maxDepth ); -- return sal::backtrace_to_string( backtrace.get()); --} -- --std::unique_ptr<sal::BacktraceState> sal::backtrace_get(sal_uInt32 maxDepth) --{ -- assert(maxDepth != 0); -- auto const maxInt = static_cast<unsigned int>( -- std::numeric_limits<int>::max()); -- if (maxDepth > maxInt) { -- maxDepth = static_cast<sal_uInt32>(maxInt); -- } -- auto b1 = new void *[maxDepth]; -- int n = backtrace(b1, static_cast<int>(maxDepth)); -- return std::unique_ptr<BacktraceState>(new BacktraceState{ b1, n }); --} -- --OUString sal::backtrace_to_string(BacktraceState* backtraceState) --{ -- FreeGuard b2(backtrace_symbols(backtraceState->buffer, backtraceState->nDepth)); -- if (b2.buffer == nullptr) { -- return OUString(); -- } -- OUStringBuffer b3; -- for (int i = 0; i != backtraceState->nDepth; ++i) { -- if (i != 0) { -- b3.append("\n"); -- } -- b3.append(o3tl::runtimeToOUString(b2.buffer[i])); -- } -- return b3.makeStringAndClear(); --} -- --/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -diff --git a/svl/source/notify/lstner.cxx b/svl/source/notify/lstner.cxx -index 40a59960a..3efcc004c 100644 ---- a/svl/source/notify/lstner.cxx -+++ b/svl/source/notify/lstner.cxx -@@ -80,13 +80,6 @@ void SfxListener::StartListening(SfxBroadcaster& rBroadcaster, DuplicateHandling - { - bool bListeningAlready = IsListening( rBroadcaster ); - --#ifdef DBG_UTIL -- if (bListeningAlready && eDuplicateHanding == DuplicateHandling::Unexpected) -- { -- auto f = maCallStacks.find( &rBroadcaster ); -- SAL_WARN("svl", "previous StartListening call came from: " << sal::backtrace_to_string(f->second.get())); -- } --#endif - assert(!(bListeningAlready && eDuplicateHanding == DuplicateHandling::Unexpected) && "duplicate listener, try building with DBG_UTIL to find the other insert site."); - - if (!bListeningAlready || eDuplicateHanding != DuplicateHandling::Prevent) -diff --git a/sw/source/core/attr/calbck.cxx b/sw/source/core/attr/calbck.cxx -index 3f4253cd2..8af3ee184 100644 ---- a/sw/source/core/attr/calbck.cxx -+++ b/sw/source/core/attr/calbck.cxx -@@ -170,18 +170,6 @@ bool SwModify::GetInfo( SfxPoolItem& rInfo ) const - void SwModify::Add( SwClient* pDepend ) - { - DBG_TESTSOLARMUTEX(); --#ifdef DBG_UTIL -- // You should not EVER use SwModify directly in new code: -- // - Preexisting SwModifys should only ever be used via sw::BroadcastingModify. -- // This includes sw::BroadcastMixin, which is the long-term target (without -- // SwModify). -- // - New classes should use sw::BroadcastMixin alone. -- if(!dynamic_cast<sw::BroadcastingModify*>(this)) -- { -- auto pBT = sal::backtrace_get(20); -- SAL_WARN("sw.core", "Modify that is not broadcasting used!\n" << sal::backtrace_to_string(pBT.get())); -- } --#endif - - if(pDepend->m_pRegisteredIn == this) - return; -diff --git a/sw/source/core/docnode/node.cxx b/sw/source/core/docnode/node.cxx -index 4f7b18ba3..fbd2eb361 100644 ---- a/sw/source/core/docnode/node.cxx -+++ b/sw/source/core/docnode/node.cxx -@@ -1164,13 +1164,6 @@ void SwContentNode::SwClientNotify( const SwModify&, const SfxHint& rHint) - // This makes the crude "WhichId" type divert from the true type, which is bad. - // Thus we are asserting here, but falling back to an proper - // hint instead. so that we at least will not spread such poison further. --#ifdef DBG_UTIL -- if(pLegacyHint->m_pNew != pLegacyHint->m_pOld) -- { -- auto pBT = sal::backtrace_get(20); -- SAL_WARN("sw.core", "UpdateAttr not matching! " << sal::backtrace_to_string(pBT.get())); -- } --#endif - assert(pLegacyHint->m_pNew == pLegacyHint->m_pOld); - assert(dynamic_cast<const SwUpdateAttr*>(pLegacyHint->m_pNew)); - const SwUpdateAttr aFallbackHint(0,0,0); diff --git a/repo/libreoffice/skia-freetype2.11.diff b/repo/libreoffice/skia-freetype2.11.diff deleted file mode 100644 index 97be7f2..0000000 --- a/repo/libreoffice/skia-freetype2.11.diff +++ /dev/null @@ -1,37 +0,0 @@ ---- skia/src/ports/SkFontHost_FreeType_common.cpp.orig 2021-03-01 15:53:09.178606791 +0100 -+++ skia/src/ports/SkFontHost_FreeType_common.cpp 2021-08-12 17:48:32.358901987 +0200 -@@ -665,8 +665,13 @@ - canvas->drawPaint(paint); - break; - } -+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ case FT_COLR_PAINTFORMAT_TRANSFORM: { -+ SkMatrix transform = ToSkMatrix(colrv1_paint.u.transform.affine); -+#else - case FT_COLR_PAINTFORMAT_TRANSFORMED: { - SkMatrix transform = ToSkMatrix(colrv1_paint.u.transformed.affine); -+#endif - - canvas->concat(transform); - break; -@@ -760,12 +765,20 @@ - traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, - FT_COLOR_NO_ROOT_TRANSFORM); - break; -+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ case FT_COLR_PAINTFORMAT_TRANSFORM: -+#else - case FT_COLR_PAINTFORMAT_TRANSFORMED: -+#endif - canvas->saveLayer(nullptr, nullptr); - // Traverse / draw operation will apply transform. - colrv1_draw_paint(canvas, palette, face, paint); - traverse_result = -+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 -+ colrv1_traverse_paint(canvas, palette, face, paint.u.transform.paint); -+#else - colrv1_traverse_paint(canvas, palette, face, paint.u.transformed.paint); -+#endif - canvas->restore(); - break; - case FT_COLR_PAINTFORMAT_ROTATE: diff --git a/repo/librsvg/librsvg.xibuild b/repo/librsvg/librsvg.xibuild index b8076c9..aa1aa8a 100644 --- a/repo/librsvg/librsvg.xibuild +++ b/repo/librsvg/librsvg.xibuild @@ -3,8 +3,7 @@ NAME="librsvg" DESC="SAX-based renderer for SVG files into a GdkPixbuf" -MAKEDEPS="make rust cargo vala" -DEPS="cairo gdk-pixbuf glib libxml2 musl pango " +MAKEDEPS="make rust cargo vala cairo gdk-pixbuf glib libxml2 musl pango curl python-docutils" PKG_VER=2.55.1 SOURCE="https://download.gnome.org/sources/librsvg/${PKG_VER%.*}/librsvg-$PKG_VER.tar.xz" diff --git a/repo/libsass/fix-pkgconfig-version.patch b/repo/libsass/fix-pkgconfig-version.patch new file mode 100644 index 0000000..f957de4 --- /dev/null +++ b/repo/libsass/fix-pkgconfig-version.patch @@ -0,0 +1,16 @@ +diff --git a/version.sh b/version.sh +index 281de74..22cd96d 100755 +--- a/version.sh ++++ b/version.sh +@@ -1,10 +1 @@ +-if test "x$LIBSASS_VERSION" = "x"; then +- LIBSASS_VERSION=`git describe --abbrev=4 --dirty --always --tags 2>/dev/null` +-fi +-if test "x$LIBSASS_VERSION" = "x"; then +- LIBSASS_VERSION=`cat VERSION 2>/dev/null` +-fi +-if test "x$LIBSASS_VERSION" = "x"; then +- LIBSASS_VERSION="[na]" +-fi +-echo $LIBSASS_VERSION ++echo 3.6.3 diff --git a/repo/libsass/libsass.xibuild b/repo/libsass/libsass.xibuild new file mode 100644 index 0000000..534219f --- /dev/null +++ b/repo/libsass/libsass.xibuild @@ -0,0 +1,31 @@ +#!/bin/sh + +NAME="libsass" +DESC="C/C++ implementation of a Sass compiler" + +MAKEDEPS="autoconf automake libtool" + +PKG_VER=3.6.5 +SOURCE="https://github.com/sass/libsass/archive/$PKG_VER.tar.gz" + +ADDITIONAL=" +fix-pkgconfig-version.patch +" + +prepare() { + apply_patches + autoreconf -vif +} + +build() { + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +package() { + make install DESTDIR="$PKG_DEST" + rm -f "$PKG_DEST"/usr/lib/*.la +} + diff --git a/repo/libsigc++/libsigc++.xibuild b/repo/libsigc++/libsigc++.xibuild index c314607..e77a689 100644 --- a/repo/libsigc++/libsigc++.xibuild +++ b/repo/libsigc++/libsigc++.xibuild @@ -3,8 +3,7 @@ NAME="libsigc++" DESC="type-safe Signal Framework for C++" -MAKEDEPS="meson ninja " -DEPS="musl " +MAKEDEPS="meson ninja musl " PKG_VER=3.0.4 SOURCE="https://download.gnome.org/sources/libsigc++/${PKG_VER%.*}/libsigc++-$PKG_VER.tar.xz" diff --git a/repo/libverto/libverto.xibuild b/repo/libverto/libverto.xibuild new file mode 100644 index 0000000..93e5eda --- /dev/null +++ b/repo/libverto/libverto.xibuild @@ -0,0 +1,31 @@ +#!/bin/sh + +NAME="libverto" +DESC="Main loop abstraction library" + +MAKEDEPS="glib libevent libev automake autoconf libtool" + +PKG_VER=0.3.2 +SOURCE="https://github.com/latchset/libverto/archive/$PKG_VER.tar.gz" + +prepare() { + cd "$BUILD_ROOT" + autoreconf -i +} + +build() { + ./configure \ + --prefix=/usr \ + --with-libev \ + --with-libevent + make +} + +check() { + make check +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/libzip/libzip.xibuild b/repo/libzip/libzip.xibuild new file mode 100644 index 0000000..9cb5af2 --- /dev/null +++ b/repo/libzip/libzip.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="libzip" +DESC="C library for manipulating zip archives" + +MAKEDEPS="bzip2 xz zlib zstd cmake openssl perl ninja" + +PKG_VER=1.9.2 +SOURCE="https://libzip.org/download/libzip-$PKG_VER.tar.xz" + +build() { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_BZIP2=ON \ + -DENABLE_LZMA=ON \ + -DENABLE_OPENSSL=ON \ + -DENABLE_ZSTD=ON \ + -DCMAKE_BUILD_TYPE=MinSizeRel + cmake --build build +} + +check() { + ninja -C build check +} + +package() { + DESTDIR="$PKG_DEST" cmake --install build +} + diff --git a/repo/linux-firmware/linux-firmware.xibuild b/repo/linux-firmware/linux-firmware.xibuild index 0bf7008..3c66638 100644 --- a/repo/linux-firmware/linux-firmware.xibuild +++ b/repo/linux-firmware/linux-firmware.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="" DEPS="linux" -PKG_VER=5.19 +PKG_VER=6.1 SOURCE=https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git BRANCH=02c69863c885db963f8c0121b533f2816ef5be3b diff --git a/repo/linux-headers/linux-headers.xibuild b/repo/linux-headers/linux-headers.xibuild index 4dfb4e3..1c4ece4 100644 --- a/repo/linux-headers/linux-headers.xibuild +++ b/repo/linux-headers/linux-headers.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="make " DESC="Linux kernel headers" -PKG_VER=6.0.12 +PKG_VER=6.1.3 SOURCE=https://cdn.kernel.org/pub/linux/kernel/v${PKG_VER%%.*}.x/linux-$PKG_VER.tar.xz build () { diff --git a/repo/linux-libre/linux-libre.xibuild b/repo/linux-libre/linux-libre.xibuild index 30cf726..9b249d0 100644 --- a/repo/linux-libre/linux-libre.xibuild +++ b/repo/linux-libre/linux-libre.xibuild @@ -1,9 +1,8 @@ #!/bin/sh -MAKEDEPS="make bc linux-headers cpio" -DEPS="toybox kmod" +MAKEDEPS="make bc linux-headers cpio toybox kmod pahole" -PKG_VER=6.0.12 +PKG_VER=6.1.4 #SOURCE=https://cdn.kernel.org/pub/linux/kernel/v${PKG_VER%%.*}.x/linux-$PKG_VER.tar.xz SOURCE=https://linux-libre.fsfla.org/pub/linux-libre/releases/${PKG_VER}-gnu/linux-libre-${PKG_VER}-gnu.tar.xz ADDITIONAL=" @@ -22,6 +21,9 @@ prepare () { make olddefconfig make -s kernelrelease > version echo "Prepared linux version $(cat version)" + + # toybox's dd does not have this option + sed -i 's/status=\S*//g' scripts/link-vmlinux.sh } build () { diff --git a/repo/linux/linux.xibuild b/repo/linux/linux.xibuild index b4dce81..9352484 100644 --- a/repo/linux/linux.xibuild +++ b/repo/linux/linux.xibuild @@ -1,9 +1,8 @@ #!/bin/sh -MAKEDEPS="make bc cpio linux-headers" -DEPS="toybox kmod" +MAKEDEPS="make bc cpio linux-headers toybox kmod" -PKG_VER=6.0.12 +PKG_VER=6.1.4 SOURCE=https://cdn.kernel.org/pub/linux/kernel/v${PKG_VER%%.*}.x/linux-$PKG_VER.tar.xz ADDITIONAL=" config @@ -17,6 +16,10 @@ prepare () { make olddefconfig make -s kernelrelease > version + + # toybox's dd does not have this option + sed -i 's/status=\S*//g' scripts/link-vmlinux.sh + echo "Prepared linux version $(cat version)" } diff --git a/repo/live-media/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch b/repo/live-media/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch new file mode 100644 index 0000000..a2ae1c1 --- /dev/null +++ b/repo/live-media/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch @@ -0,0 +1,66 @@ +From: Benjamin Drung <bdrung@debian.org> +Date: Sat, 16 Sep 2017 11:22:03 +0200 +Subject: Add a pkg-config file for the shared libraries + +This patch was downloaded from Debian +https://sources.debian.org/src/liblivemedia/2018.08.05-1/debian/patches/0002-Add-a-pkg-config-file-for-the-shared-libraries.patch/ + +The local/ part of PREXIX and LIBDIR was removed to fit into buildroot. + +A similar version of this patch is part of the vlc source repo: +http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/live555/add-pkgconfig-file.patch;hb=HEAD + +Upstream status: Rejected +http://lists.live555.com/pipermail/live-devel/2013-January/016374.html +http://lists.live555.com/pipermail/live-devel/2013-January/016375.html + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + Makefile.head | 3 +++ + Makefile.tail | 7 ++++++- + live555.pc.in | 9 +++++++++ + 3 files changed, 18 insertions(+), 1 deletion(-) + create mode 100644 live555.pc.in + +diff --git a/Makefile.head b/Makefile.head +index 458c54c..1571037 100644 +--- a/Makefile.head ++++ b/Makefile.head +@@ -1 +1,4 @@ ++PREFIX = /usr ++LIBDIR = /usr/lib ++VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/') + ##### Change the following for your environment: +diff --git a/Makefile.tail b/Makefile.tail +index fc594ea..a20a527 100644 +--- a/Makefile.tail ++++ b/Makefile.tail +@@ -22,7 +22,12 @@ all: + @echo + @echo "For more information about this source code (including your obligations under the LGPL), please see our FAQ at http://live555.com/liveMedia/faq.html" + +-install: ++install_shared_libraries: ++ install -d $(DESTDIR)$(LIBDIR)/pkgconfig ++ sed "s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" live555.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ chmod 644 $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ ++install: $(INSTALL2) + cd $(LIVEMEDIA_DIR) ; $(MAKE) install + cd $(GROUPSOCK_DIR) ; $(MAKE) install + cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install +diff --git a/live555.pc.in b/live555.pc.in +new file mode 100644 +index 0000000..3736944 +--- /dev/null ++++ b/live555.pc.in +@@ -0,0 +1,9 @@ ++prefix=@PREFIX@ ++libdir=@LIBDIR@ ++includedir=${prefix}/include ++ ++Name: live555 ++Description: multimedia RTSP streaming library ++Version: @VERSION@ ++Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment ++Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment diff --git a/repo/live-media/0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch b/repo/live-media/0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch new file mode 100644 index 0000000..b463a1a --- /dev/null +++ b/repo/live-media/0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch @@ -0,0 +1,49 @@ +From: Benjamin Drung <bdrung@debian.org> +Date: Sat, 16 Sep 2017 11:22:04 +0200 +Subject: Link shared libraries with g++ instead of gcc to fix build failure + +--- + config.linux | 6 +++--- + config.linux-with-shared-libraries | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/config.linux b/config.linux +index b4021ef..efff3a9 100644 +--- a/config.linux ++++ b/config.linux +@@ -1,12 +1,12 @@ + COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 + C = c +-C_COMPILER = cc ++C_COMPILER = $(CC) + C_FLAGS = $(COMPILE_OPTS) $(CPPFLAGS) $(CFLAGS) + CPP = cpp +-CPLUSPLUS_COMPILER = c++ ++CPLUSPLUS_COMPILER = $(CXX) + CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS) + OBJ = o +-LINK = c++ -o ++LINK = $(CXX) -o + LINK_OPTS = -L. $(LDFLAGS) + CONSOLE_LINK_OPTS = $(LINK_OPTS) + LIBRARY_LINK = ar cr +diff --git a/config.linux-with-shared-libraries b/config.linux-with-shared-libraries +index 04d0ea0..2ae04ef 100644 +--- a/config.linux-with-shared-libraries ++++ b/config.linux-with-shared-libraries +@@ -33,12 +33,12 @@ CPLUSPLUS_COMPILER = $(CXX) + CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS) + OBJ = o + LINK = $(CXX) -o +-LINK_OPTS = -L. $(LDFLAGS) ++LINK_OPTS = -L. $(CPPFLAGS) $(LDFLAGS) + CONSOLE_LINK_OPTS = $(LINK_OPTS) +-LIBRARY_LINK = $(CC) -o ++LIBRARY_LINK = $(CXX) -o + SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE)) + LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION) +-LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS) ++LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(CPPFLAGS) $(LDFLAGS) + LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto + LIBS_FOR_GUI_APPLICATION = + EXE = diff --git a/repo/live-media/live-media.xibuild b/repo/live-media/live-media.xibuild new file mode 100644 index 0000000..625ff78 --- /dev/null +++ b/repo/live-media/live-media.xibuild @@ -0,0 +1,44 @@ +#!/bin/sh + +NAME="live-media" +DESC="A set of C++ libraries for multimedia streaming" + +MAKEDEPS="openssl" + +PKG_VER=2022.07.14 +SOURCE="https://download.videolan.org/contrib/live555/live.$PKG_VER.tar.gz" + +ADDITIONAL=" +0001-Add-a-pkg-config-file-for-the-shared-libraries.patch +0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch +" + +prepare () { + apply_patches +} + +build() { + ./genMakefiles linux-with-shared-libraries + make PREFIX=/usr LIBDIR=/usr/lib +} + +package() { + local testprog f so + mkdir -p "$PKG_DEST"/usr/lib + for f in BasicUsageEnvironment UsageEnvironment liveMedia groupsock; do + mkdir -p "$PKG_DEST"/usr/include/$f + cp $f/include/*.h* "$PKG_DEST"/usr/include/$f + for so in $f/lib*.so.*; do + soname=$(scanelf -B --format "#F%S" $so) + cp $so "$PKG_DEST"/usr/lib/ + so=${so##*/} + ln -s $so "$PKG_DEST"/usr/lib/$soname + ln -s $so "$PKG_DEST"/usr/lib/${soname%.so.*}.so + done + done + + mkdir -p "$PKG_DEST"/usr/bin + for testprog in $(find testProgs -type f -perm 755); do + install $testprog "$PKG_DEST"/usr/bin + done +} diff --git a/repo/llvm/libclang.xibuild b/repo/llvm/libclang.xibuild index 1acdb84..ba1fcf6 100644 --- a/repo/llvm/libclang.xibuild +++ b/repo/llvm/libclang.xibuild @@ -5,4 +5,5 @@ DESC="$DESC - C frontend runtime library" package () { add_from_main "usr/lib/libclang.so.*" add_from_main "usr/lib/libclang-cpp.so.*" + install -Dm644 llvm/build/lib/libclang.a -t "$PKG_DEST"/usr/lib } diff --git a/repo/llvm/llvm.xibuild b/repo/llvm/llvm.xibuild index 9d42a9c..9634506 100644 --- a/repo/llvm/llvm.xibuild +++ b/repo/llvm/llvm.xibuild @@ -77,6 +77,13 @@ build () { -DLLVM_INCLUDE_EXAMPLES=OFF \ -DLLVM_APPEND_VC_REV=OFF \ -DLLVM_ENABLE_PROJECTS="$enabled_projects" \ + -DCLANG_LINK_CLANG_DYLIB=YES \ + -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF \ + -DCLANG_INCLUDE_TESTS="OFF" \ + -DCLANG_LINK_CLANG_DYLIB=ON \ + -DCLANG_PLUGIN_SUPPORT=ON \ + -DENABLE_LINKER_BUILD_ID=ON \ + -DLIBCLANG_BUILD_STATIC=ON \ -Wno-dev -G Ninja .. && ninja llvm-tblgen && diff --git a/repo/lua-lpeg/lua-lpeg.xibuild b/repo/lua-lpeg/lua-lpeg.xibuild index f2b3b4d..cb49a68 100644 --- a/repo/lua-lpeg/lua-lpeg.xibuild +++ b/repo/lua-lpeg/lua-lpeg.xibuild @@ -1,50 +1,76 @@ #!/bin/sh -MAKEDEPS="make tar patch lua lua5-1" -DEPS="musl" +NAME="lua-lpeg" +DESC="Pattern-matching library for Lua" + +MAKEDEPS="lua5-1 lua" PKG_VER=1.0.2 -SOURCE=http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-$PKG_VER.tar.gz -DESC="Pattern-matching library for Lua" +SOURCE="http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-$PKG_VER.tar.gz" + ADDITIONAL=" - build-static-lib.patch - test-fix-setlocale.patch +build-static-lib.patch +test-fix-setlocale.patch " luaversions="5.1 5.4" -prepare () { - apply_patches +prepare() { + apply_patches -# lver=$(lua -v | cut -d" " -f2 | cut -d. -f-2) sed -i -e 's/^CFLAGS =/CFLAGS +=/' \ -e 's/^COPT =/# COPT =/' \ makefile - for lver in $luaversions; do - tar xf lpeg-$PKG_VER.tar.gz - mv lpeg-$PKG_VER build-$lver - done + local lver; for lver in $luaversions; do + mkdir -p "$BUILD_ROOT/$lver" + tar -xf "lpeg-$PKG_VER.tar.gz" + + mv "lpeg-$PKG_VER"/* "$BUILD_ROOT/$lver/" + cd "$BUILD_ROOT/$lver" + + sed -i -e 's/^CFLAGS =/CFLAGS +=/' \ + -e 's/^COPT =/# COPT =/' \ + makefile + + for p in ../*.patch; do + patch -Np1 -i $p + done + + cd .. + done } -build () { - for lver in $luaversions; do - echo building for $lver - make -C build-$lver LUADIR=/usr/include/lua$lver - done +build() { + local lver; for lver in $luaversions; do + echo "Building for Lua $lver..." + make -C "$BUILD_ROOT/$lver" LUADIR=/usr/include/lua$lver + done } -package () { - for lver in $luaversions; do - cd build-$lver - install -Dm755 lpeg.so \ - $PKG_DEST/usr/lib/lua/$lver/lpeg.so - install -Dm644 re.lua \ - $PKG_DEST/usr/share/lua/$lver/re.lua - - local rockdir="$PKG_DEST/usr/lib/luarocks/rocks-$lver/lua-lpeg/$PKG_VER-1" - mkdir -p "$rockdir" - echo 'rock_manifest = {}' > "$rockdir"/rock_manifest - cd .. +package() { + mkdir -p "$PKG_DEST" + local lver; for lver in $luaversions; do + _package $lver done } + +_package() { + local lver="$1" + local rockdir="$PKG_DEST/usr/lib/luarocks/rocks-$lver/$_pkgname/$PKG_VER-1" + + cd "$BUILD_ROOT/$lver" + echo "installing `pwd` " + + install -Dm755 lpeg.so \ + "$PKG_DEST"/usr/lib/lua/$lver/lpeg.so + install -Dm644 re.lua \ + "$PKG_DEST"/usr/share/lua/$lver/re.lua + + mkdir -p "$rockdir" + echo 'rock_manifest = {}' > "$rockdir"/rock_manifest + + #install -Dm644 "$BUILD_ROOT-$lver"/lpeg.a \ + # "$PKG_DEST"/usr/lib/lua/$lver/lpeg.a +} + diff --git a/repo/lua-mpack/lua-mpack.xibuild b/repo/lua-mpack/lua-mpack.xibuild index 85c5195..59363b5 100644 --- a/repo/lua-mpack/lua-mpack.xibuild +++ b/repo/lua-mpack/lua-mpack.xibuild @@ -1,56 +1,67 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="musl libmpack" +NAME="lua-mpack" +DESC="Libmpack bindings for Lua" + +MAKEDEPS="libmpack lua lua5-1" PKG_VER=1.0.9 -SOURCE=https://github.com/libmpack/libmpack-lua/archive/$PKG_VER.tar.gz -DESC="Libmpack bindings for Lua" +SOURCE="https://github.com/libmpack/libmpack-lua/archive/$PKG_VER.tar.gz" + ADDITIONAL=" dont-install-busted.patch skip-memleak-test.patch " -luaversions="5.1 " +luaversions="5.1 5.4" -prepare () { - apply_patches +prepare() { + apply_patches + local lver; for lver in $luaversions; do + mkdir -p "$BUILD_ROOT/$lver" + tar -xf $PKG_VER.tar.gz + mv "libmpack-lua-$PKG_VER"/* "$BUILD_ROOT/$lver" - for lver in $luaversions; do - tar xf $PKG_VER.tar.gz - mv libmpack-lua-$PKG_VER build-$lver + cd "$BUILD_ROOT/$lver" + for p in ../*.patch; do + patch -Np1 -i $p + done + cd .. done +} +build() { + local lver; for lver in $luaversions; do + echo "Building for Lua $lver..." + make -C "$BUILD_ROOT/$lver" \ + FETCH=false \ + USE_SYSTEM_LUA=yes \ + USE_SYSTEM_MPACK=yes \ + LUA_INCLUDE="$(pkg-config --cflags lua$lver)" \ + LUA_LIB="$(pkg-config --libs lua$lver)" + done } -build () { - for lver in $luaversions; do - echo "building for lua $lver" - make -C build-$lver \ - FETCH=false \ - USE_SYSTEM_LUA=yes \ - USE_SYSTEM_MPACK=yes \ - LUA=lua$lver \ - LUA_IMPL=lua$lver - #LUA_INCLUDE="$(pkg-config --cflags lua$lver)" \ - #LUA_LIB="$(pkg-config --libs lua$lver)" - done +package() { + mkdir -p "$PKG_DEST" + local lver; for lver in $luaversions; do + _package $lver + done } -package () { - for lver in $luaversions; do - echo "building for lua $lver" - local rockdir="$PKG_DEST/usr/lib/luarocks/rocks-$lver/mpack/$PKG_VER-0" +_package() { + lver="$1" + local rockdir="$PKG_DEST/usr/lib/luarocks/rocks-$lver/mpack/$PKG_VER-0" - make -C build-$lver \ - USE_SYSTEM_LUA=yes \ - USE_SYSTEM_MPACK=yes \ - LUA_CMOD_INSTALLDIR="$(pkg-config --variable=INSTALL_CMOD lua$lver)" \ - DESTDIR="$subpkgdir" \ - install || exit 1 + make -C "$BUILD_ROOT/$lver" \ + USE_SYSTEM_LUA=yes \ + USE_SYSTEM_MPACK=yes \ + LUA_CMOD_INSTALLDIR="$(pkg-config --variable=INSTALL_CMOD lua$lver)" \ + DESTDIR="$PKG_DEST" \ + install - mkdir -p "$rockdir" - echo 'rock_manifest = {}' > "$rockdir"/rock_manifest - done + mkdir -p "$rockdir" + echo 'rock_manifest = {}' > "$rockdir"/rock_manifest } + diff --git a/repo/lua5-1/lua5-1.xibuild b/repo/lua5-1/lua5-1.xibuild index ddfd991..8f12ea3 100644 --- a/repo/lua5-1/lua5-1.xibuild +++ b/repo/lua5-1/lua5-1.xibuild @@ -1,9 +1,8 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="readline" +MAKEDEPS="make readline" -PKG_VER=5.4.4 +PKG_VER=5.1.5 SOURCE=https://www.lua.org/ftp/lua-$PKG_VER.tar.gz # use alpinelinux's makefile @@ -33,19 +32,18 @@ prepare () { AC_OUTPUT() EOF libtoolize --force --install && aclocal && autoconf - - } build () { ./configure \ --prefix=/usr + cd src make CFLAGS="$CFLAGS -DLUA_USE_LINUX" \ SYSLDFLAGS="$LDFLAGS" \ LIB_LIBS="-lpthread -lm -ldl" \ RPATH="/usr/lib" \ - V=${PKG_VER%.*} + V=${PKG_VER%.*} alpine_all } package () { @@ -55,6 +53,10 @@ package () { INSTALL_TOP="$PKG_DEST/usr" \ INSTALL_INC="$PKG_DEST/usr/include" \ INSTALL_LIB="$PKG_DEST/usr/lib" \ + alpine_install + local i; for i in "$PKG_DEST"/usr/bin/*; do + mv "$i" "$i"5.1 + done install -D -m 644 etc/lua.pc "$PKG_DEST"/usr/lib/pkgconfig/lua5.1.pc install -D -m 644 doc/lua.1 "$PKG_DEST"/usr/share/man/man1/lua5.1.1 diff --git a/repo/luajit/luajit.xibuild b/repo/luajit/luajit.xibuild index 09f6015..0a7ba12 100644 --- a/repo/luajit/luajit.xibuild +++ b/repo/luajit/luajit.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="musl lua5-1" +MAKEDEPS="make musl lua5-1 lua-mpack" PKG_VER=2.1 SUBVER=20220310 diff --git a/repo/luakit/luakit.xibuild b/repo/luakit/luakit.xibuild deleted file mode 100644 index 25d4b13..0000000 --- a/repo/luakit/luakit.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -NAME="luakit" -DESC="Fast, small, webkit based browser framework extensible by Lua" - -MAKEDEPS="webkit2gtk luajit" - -PKG_VER=2.3 -SOURCE="https://github.com/luakit/luakit/archive/$PKG_VER.tar.gz" - -build() { - make PREFIX=/usr USE_LUAJIT=1 DEVELOPMENT_PATHS=0 -} - -check() { - make run-tests -} - -package() { - make PREFIX=/usr DESTDIR="$PKG_DEST" install - mkdir -p "$PKG_DEST"/usr/share/doc/"luakit" - mv "$PKG_DEST"/usr/share/"luakit"/doc/* "$PKG_DEST"/usr/share/doc/"luakit" - rmdir "$PKG_DEST"/usr/share/"luakit"/doc -} - diff --git a/repo/lxc/lxc.xibuild b/repo/lxc/lxc.xibuild index d931c7c..c5595a4 100644 --- a/repo/lxc/lxc.xibuild +++ b/repo/lxc/lxc.xibuild @@ -3,7 +3,7 @@ NAME="lxc" DESC="Userspace interface for the Linux kernel containment features" -MAKEDEPS="libcap libseccomp pam linux-headers musl-legacy-compat docbook2x automake autoconf libtool perl-xml-namespacesupport" +MAKEDEPS="libcap libseccomp pam linux-headers musl-legacy-compat docbook2x automake autoconf libtool perl-xml-namespacesupport perl-xml-sax perl-xml-sax-base libcap" PKG_VER=5.0.1 SOURCE="https://linuxcontainers.org/downloads/lxc/lxc-$PKG_VER.tar.gz" @@ -11,27 +11,32 @@ SOURCE="https://linuxcontainers.org/downloads/lxc/lxc-$PKG_VER.tar.gz" ADDITIONAL=" lxc.confd lxc.initd +sysconfdir.patch " -build() { - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --disable-apparmor \ - --enable-pam \ - --with-distro=xi \ - --disable-werror \ - --enable-doc - make +prepare () { + apply_patches + for line in 319 942; do + sed -i "${line}s/check: true/check: false/g" meson.build + done + sed -i "140d" src/lxc/process_utils.h } -check() { - make check +build() { + mkdir build && + cd build && + meson --prefix=/usr \ + -Db_lto=false \ + -Dpam-cgroup=true \ + -Dtests=true \ + -Dinit-script="[]" \ + -Dcapabilities=false \ + .. && + ninja } package() { - make DESTDIR="$PKG_DEST" install + DESTDIR=$PKG_DEST ninja install install -Dm755 "$BUILD_ROOT"/lxc.initd "$PKG_DEST"/etc/init.d/lxc install -Dm644 "$BUILD_ROOT"/lxc.confd "$PKG_DEST"/etc/conf.d/lxc diff --git a/repo/lxc/sysconfdir.patch b/repo/lxc/sysconfdir.patch new file mode 100644 index 0000000..503f0b2 --- /dev/null +++ b/repo/lxc/sysconfdir.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +index 5d1bb36..fbbf271 100644 +--- a/meson.build ++++ b/meson.build +@@ -117,10 +117,10 @@ conf.set('SYSCONFDIR', sysconfdir) + + # Set sysconfdir + fs = import('fs') +-if fs.is_dir('/etc/sysconfig') ++if false + distrosysconfdir = join_paths(sysconfdir, 'sysconfig') + conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir) +-elif fs.is_dir('/etc/default') ++elif true + distrosysconfdir = join_paths(sysconfdir, 'default') + conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir) + else diff --git a/repo/maim/maim.xibuild b/repo/maim/maim.xibuild index 4f93af0..777c9d4 100644 --- a/repo/maim/maim.xibuild +++ b/repo/maim/maim.xibuild @@ -3,8 +3,7 @@ NAME="maim" DESC="Utility that takes screenshots of your desktop" -MAKEDEPS="cmake " -DEPS="mesa icu libxrender libxrandr libxcomposite libjpeg-turbo libpng libwebp slop glm" +MAKEDEPS="cmake mesa icu libxrender libxrandr libxcomposite libjpeg-turbo libpng libwebp slop glm" PKG_VER=5.7.4 SOURCE="https://github.com/naelstrof/maim/archive/v$PKG_VER.tar.gz" diff --git a/repo/man-db/man-db.xibuild b/repo/man-db/man-db.xibuild index 614622b..ab7bea6 100644 --- a/repo/man-db/man-db.xibuild +++ b/repo/man-db/man-db.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="gdbm zlib groff libpipeline less" +MAKEDEPS="make gdbm zlib groff libpipeline less" PKG_VER=2.10.2 SOURCE=http://download.savannah.nongnu.org/releases/man-db/man-db-$PKG_VER.tar.xz diff --git a/repo/mbedtls/mbedtls.xibuild b/repo/mbedtls/mbedtls.xibuild new file mode 100644 index 0000000..4bcda20 --- /dev/null +++ b/repo/mbedtls/mbedtls.xibuild @@ -0,0 +1,36 @@ +#!/bin/sh + +NAME="mbedtls" +DESC="Light-weight cryptographic and SSL/TLS library" + +MAKEDEPS=" cmake perl python ninja" + +PKG_VER=2.28.1 +SOURCE="https://github.com/ARMmbed/mbedtls/archive/v$PKG_VER.tar.gz" + +prepare() { + # Enable flags for non-embedded systems. + sed -i \ + -e 's|//\(#define MBEDTLS_THREADING_C\)|\1|' \ + -e 's|//\(#define MBEDTLS_THREADING_PTHREAD\)|\1|' \ + "$BUILD_ROOT"/include/mbedtls/config.h +} + +build() { + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE="MinSizeRel" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DUSE_SHARED_MBEDTLS_LIBRARY=ON + cmake --build build +} + +check() { + cd build + CTEST_OUTPUT_ON_FAILURE=TRUE ctest + cd .. +} + +package() { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/mdds/mdds.xibuild b/repo/mdds/mdds.xibuild index 4e8173c..acb0c5a 100644 --- a/repo/mdds/mdds.xibuild +++ b/repo/mdds/mdds.xibuild @@ -3,12 +3,14 @@ NAME="mdds" DESC="Multi-dimensional data index algorithm" -MAKEDEPS=" boost" +MAKEDEPS="boost" PKG_VER=2.0.3 -SOURCE="https://kohei.us/files/mdds/src/mdds-$PKG_VER.tar.bz2" +BRANCH=$PKG_VER +SOURCE="https://gitlab.com/mdds/mdds.git" build() { + ./autogen.sh ./configure \ --prefix=/usr \ --sysconfdir=/etc \ diff --git a/repo/minizip/minizip.xibuild b/repo/minizip/minizip.xibuild new file mode 100644 index 0000000..955ae7e --- /dev/null +++ b/repo/minizip/minizip.xibuild @@ -0,0 +1,31 @@ +#!/bin/sh + +NAME="minizip" +DESC="a library for manipulation with files from .zip archives" + +MAKEDEPS=" automake autoconf libtool zlib" + +PKG_VER=1.2.12 +SOURCE="https://github.com/madler/zlib/archive/refs/tags/v$PKG_VER.tar.gz" + +ADDITIONAL=" +zlib-1.2.8-minizip-include.patch +" + +prepare() { + cd contrib/minizip + apply_patches + autoreconf -fi +} + +build() { + ./configure \ + --prefix=/usr \ + --enable-static=yes + make +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/minizip/zlib-1.2.8-minizip-include.patch b/repo/minizip/zlib-1.2.8-minizip-include.patch new file mode 100644 index 0000000..c56e799 --- /dev/null +++ b/repo/minizip/zlib-1.2.8-minizip-include.patch @@ -0,0 +1,27 @@ +From 790c73ad93732d31ec6ae5ba4d7116d7f8fb46a2 Mon Sep 17 00:00:00 2001 +From: Kalev Lember <kalevlember@gmail.com> +Date: Sat, 10 Aug 2013 14:54:04 +0200 +Subject: [PATCH] minizip: Add missing include + +Include zconf.h for z_crc_t, fixes a regression from commit +63ba7582b80eb81b126c2931e485481c35596aab. +--- + contrib/minizip/crypt.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/contrib/minizip/crypt.h b/contrib/minizip/crypt.h +index 1e9e820..835a2ba 100644 +--- a/crypt.h ++++ b/crypt.h +@@ -27,6 +27,8 @@ + Encryption is not supported. + */ + ++#include "zconf.h" ++ + #define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) + + /*********************************************************************** +-- +1.8.3.1 + diff --git a/repo/mm-common/mm-common.xibuild b/repo/mm-common/mm-common.xibuild new file mode 100644 index 0000000..ca7faa2 --- /dev/null +++ b/repo/mm-common/mm-common.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="mm-common" +DESC="Build infrastructure and utilities for GNOME C++ binding libraries" + +MAKEDEPS="" + +PKG_VER=1.0.5 +SOURCE="https://github.com/GNOME/mm-common/archive/$PKG_VER.tar.gz" +ADDITIONAL="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/libstdc++.tag" + +prepare() { + cp libstdc++.tag doctags/ +} + +build() { + mkdir build && + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package() { + DESTDIR=$PKG_DEST ninja install +} + diff --git a/repo/mpc-mpd/mpc-mpd.xibuild b/repo/mpc-mpd/mpc-mpd.xibuild index 2d6d5f3..4ea1fc3 100644 --- a/repo/mpc-mpd/mpc-mpd.xibuild +++ b/repo/mpc-mpd/mpc-mpd.xibuild @@ -3,8 +3,7 @@ NAME="mpc-mpd" DESC="Minimalist command line interface to MPD" -MAKEDEPS="meson ninja rsync" -DEPS="musl libmpdclient mpd" +MAKEDEPS="meson ninja rsync musl libmpdclient mpd" PKG_VER=0.34 SOURCE="https://www.musicpd.org/download/mpc/${PKG_VER%.*}/mpc-$PKG_VER.tar.xz" diff --git a/repo/mpd/mpd.xibuild b/repo/mpd/mpd.xibuild index cddeb38..1879945 100644 --- a/repo/mpd/mpd.xibuild +++ b/repo/mpd/mpd.xibuild @@ -3,8 +3,7 @@ NAME="mpd" DESC="Music daemon that plays MP3, FLAC, Ogg Vorbis files and Audio CDs" -MAKEDEPS="meson ninja boost" -DEPS="alsa-lib toybox expat faad2 flac fmt icu lame bzip2 libid3tag libmad libogg pulseaudio libsamplerate libmpdclient libvorbis musl opus pipewire soxr wavpack zlib sqlite3 ffmpeg4 openal-soft" +MAKEDEPS="meson ninja boost alsa-lib toybox expat faad2 flac fmt icu lame bzip2 libid3tag libmad libogg pulseaudio libsamplerate libmpdclient libvorbis musl opus pipewire soxr wavpack zlib sqlite3 ffmpeg4 openal-soft" PKG_VER=0.23.9 SOURCE="https://www.musicpd.org/download/mpd/${PKG_VER%.*}/mpd-$PKG_VER.tar.xz" diff --git a/repo/mpdscribble/mpdscribble.xibuild b/repo/mpdscribble/mpdscribble.xibuild index a153361..540cb12 100644 --- a/repo/mpdscribble/mpdscribble.xibuild +++ b/repo/mpdscribble/mpdscribble.xibuild @@ -3,8 +3,7 @@ NAME="mpdscribble" DESC="MPD client which submits information about tracks being played to a scrobbler" -MAKEDEPS="meson ninja " -DEPS="libmpdclient curl libgcrypt " +MAKEDEPS="meson ninja libmpdclient curl libgcrypt " PKG_VER=0.24 SOURCE="https://github.com/MusicPlayerDaemon/mpdscribble/archive/refs/tags/v$PKG_VER.tar.gz" diff --git a/repo/msr-tools/msr-tools.xibuild b/repo/msr-tools/msr-tools.xibuild new file mode 100644 index 0000000..ba08b4e --- /dev/null +++ b/repo/msr-tools/msr-tools.xibuild @@ -0,0 +1,19 @@ +#!/bin/sh + +NAME="msr-tools" +DESC="utilities for MSRs and CPU ID" + +MAKEDEPS="" + +PKG_VER=1.3 +SOURCE="https://01.org/sites/default/files/downloads/msr-tools/msr-tools-$PKG_VER.zip" + +build() { + make +} + +package() { + mkdir -p "$PKG_DEST"/usr/bin + make sbindir="$PKG_DEST"/usr/bin install +} + diff --git a/repo/mtools/fix-uninitialized.patch b/repo/mtools/fix-uninitialized.patch new file mode 100644 index 0000000..5984d5d --- /dev/null +++ b/repo/mtools/fix-uninitialized.patch @@ -0,0 +1,13 @@ +diff --git a/init.c b/init.c +index af154b7..4040018 100644 +--- a/init.c ++++ b/init.c +@@ -156,7 +156,7 @@ static Stream_t *try_device(struct device *dev, + #endif + + for(retry_write=0; retry_write<2; retry_write++) { +- Stream_t *Stream; ++ Stream_t *Stream = NULL; + int r; + int geomFailure=0; + if(retry_write) diff --git a/repo/mtools/mtools.xibuild b/repo/mtools/mtools.xibuild new file mode 100644 index 0000000..0a684ef --- /dev/null +++ b/repo/mtools/mtools.xibuild @@ -0,0 +1,38 @@ +#!/bin/sh + +NAME="mtools" +DESC="collection of utilities to access MS-DOS disks from Unix without mounting them" + +MAKEDEPS="texinfo linux-headers" + +PKG_VER=4.0.41 +SOURCE="https://ftp.gnu.org/gnu/mtools/mtools-$PKG_VER.tar.bz2" + +ADDITIONAL=" +fix-uninitialized.patch +" + +prepare () { + apply_patches +} + +build() { + # todo: configure scripts are broken + export CFLAGS="$CFLAGS -DOS_linux" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --sysconfdir=/etc/mtools \ + --without-x + make +} + +check() { + make check +} + +package() { + make -j1 install DESTDIR="$PKG_DEST" +} + diff --git a/repo/musl-nscd/musl-nscd.initd b/repo/musl-nscd/musl-nscd.initd new file mode 100644 index 0000000..d13e233 --- /dev/null +++ b/repo/musl-nscd/musl-nscd.initd @@ -0,0 +1,10 @@ +#!/sbin/openrc-run + +name="$SVCNAME" +command="/usr/sbin/nscd" +command_args="$NSCD_OPTS -d -p /var/run/$SVCNAME.pid" +pidfile="/var/run/$SVCNAME.pid" + +start_pre() { + mkdir -p /var/run/nscd +} diff --git a/repo/musl-nscd/musl-nscd.pre-install b/repo/musl-nscd/musl-nscd.pre-install new file mode 100644 index 0000000..45e214e --- /dev/null +++ b/repo/musl-nscd/musl-nscd.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S nscd 2>/dev/null +adduser -S -D -H -s /bin/false -G nscd -g nscd nscd 2>/dev/null + +exit 0 diff --git a/repo/musl-nscd/musl-nscd.xibuild b/repo/musl-nscd/musl-nscd.xibuild new file mode 100644 index 0000000..0ad276b --- /dev/null +++ b/repo/musl-nscd/musl-nscd.xibuild @@ -0,0 +1,32 @@ +#!/bin/sh + +NAME="musl-nscd" +DESC="Implementation of nscd for nsswitch modules for musl" + +MAKEDEPS="bison flex" + +PKG_VER=1.1.1 +SOURCE="https://github.com/pikhq/musl-nscd/archive/v$PKG_VER.tar.gz" + +ADDITIONAL=" +musl-nscd.initd +" + +build() { + ./configure \ + --prefix=/usr \ --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + make DESTDIR="$PKG_DEST" install + + install -m644 -D COPYRIGHT \ + "$PKG_DEST"/usr/share/licenses/musl-nscd/COPYRIGHT + + install -m755 -D "$BUILD_ROOT"/musl-nscd.initd \ + "$PKG_DEST"/etc/init.d/nscd +} + diff --git a/repo/musl/musl.xibuild b/repo/musl/musl.xibuild index 6f15382..9096859 100644 --- a/repo/musl/musl.xibuild +++ b/repo/musl/musl.xibuild @@ -25,6 +25,7 @@ prepare () { build () { CARCH=x86_64 + CFLAGS="$CLFAGS -fPIE" \ LDFLAGS="$LDFLAGS -Wl,-soname,libc.musl-${CARCH}.so.1" \ ./configure --prefix=/usr \ --sysconfdir=/etc \ diff --git a/repo/mutagen/mutagen.xibuild b/repo/mutagen/mutagen.xibuild new file mode 100644 index 0000000..f4eadb7 --- /dev/null +++ b/repo/mutagen/mutagen.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +NAME="mutagen" +DESC="Audio tagger implemented in Python" + +MAKEDEPS="python" + +PKG_VER=1.45.1 +SOURCE="https://github.com/quodlibet/mutagen/archive/release-$PKG_VER.tar.gz" + +build() { + python3 setup.py build +} + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" +} diff --git a/repo/ncmpcpp/ncmpcpp.xibuild b/repo/ncmpcpp/ncmpcpp.xibuild index a27264e..a54dccf 100644 --- a/repo/ncmpcpp/ncmpcpp.xibuild +++ b/repo/ncmpcpp/ncmpcpp.xibuild @@ -3,11 +3,14 @@ NAME="ncmpcpp" DESC="Ncurses based MPD client inspired by ncmpc" -MAKEDEPS="make " -DEPS="boost icu curl libmpdclient musl ncurses readline" +MAKEDEPS="make boost icu curl libmpdclient musl ncurses readline" PKG_VER=0.9.2 -SOURCE="http://rybczak.net/ncmpcpp/stable/ncmpcpp-$PKG_VER.tar.bz2" +SOURCE="https://github.com/ncmpcpp/ncmpcpp/archive/refs/tags/$PKG_VER.tar.gz" + +prepare () { + ./autogen.sh +} build () { ./configure \ diff --git a/repo/neovim/neovim.xibuild b/repo/neovim/neovim.xibuild index 9bedcad..dded921 100644 --- a/repo/neovim/neovim.xibuild +++ b/repo/neovim/neovim.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make " -DEPS="intltool libluv libtermkey libuv libvterm luajit msgpack-c musl tree-sitter unibilium lua-lpeg lua-mpack" +MAKEDEPS="make intltool libluv libtermkey libuv libvterm luajit msgpack-c musl tree-sitter unibilium lua-lpeg lua-mpack lua5-1" PKG_VER=0.7.2 SOURCE=https://github.com/neovim/neovim/archive/v$PKG_VER.tar.gz diff --git a/repo/net-tools/net-tools.xibuild b/repo/net-tools/net-tools.xibuild index 36dac67..6d67982 100644 --- a/repo/net-tools/net-tools.xibuild +++ b/repo/net-tools/net-tools.xibuild @@ -4,7 +4,7 @@ MAKEDEPS="make utmps " DEPS="pam libcap readline ncurses libxcrypt iana-etc " PKG_VER=2.1185 -SOURCE=https://github.com/ecki/net-tools +SOURCE=https://github.com/ecki/net-tools.git ADDITIONAL=" " diff --git a/repo/netcf/netcf.xibuild b/repo/netcf/netcf.xibuild index bdf89f5..aaac1b2 100644 --- a/repo/netcf/netcf.xibuild +++ b/repo/netcf/netcf.xibuild @@ -3,7 +3,7 @@ NAME="netcf" DESC="Cross-platform network configuration library" -MAKEDEPS="augeas libgcrypt libnl libxml2 libxslt linux-headers pkg-config readline" +MAKEDEPS="augeas libgcrypt libnl libxml2 libxslt linux-headers pkg-config readline ifupdown-ng" PKG_VER=0.2.8 SOURCE="https://releases.pagure.org/netcf/netcf-$PKG_VER.tar.gz" diff --git a/repo/networkmanager/networkmanager.xibuild b/repo/networkmanager/networkmanager.xibuild index 902232e..9ad9d21 100644 --- a/repo/networkmanager/networkmanager.xibuild +++ b/repo/networkmanager/networkmanager.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="grep meson ninja python intltool glib" -DEPS="libndp curl wpa_supplicant newt nss polkit libpsl dbus gobject-introspection dhcp eudev intltool modemmanager nspr mobile-broadband-provider-info python-gobject" +MAKEDEPS="grep meson ninja python intltool glib libndp curl wpa_supplicant newt nss polkit libpsl dbus gobject-introspection dhcp eudev intltool modemmanager nspr mobile-broadband-provider-info python-gobject" PKG_VER=1.41.2 SOURCE=https://download.gnome.org/sources/NetworkManager/${PKG_VER%.*}/NetworkManager-$PKG_VER.tar.xz diff --git a/repo/newt/newt.xibuild b/repo/newt/newt.xibuild index e256ffc..314d032 100644 --- a/repo/newt/newt.xibuild +++ b/repo/newt/newt.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make tcl python" -DEPS="gmp libxcrypt popt slang python tcl" +MAKEDEPS="make tcl python gmp libxcrypt popt slang python tcl" PKG_VER=0.52.21 SOURCE=https://releases.pagure.org/newt/newt-$PKG_VER.tar.gz diff --git a/repo/nheko/nheko.xibuild b/repo/nheko/nheko.xibuild index 6d94862..84395f7 100644 --- a/repo/nheko/nheko.xibuild +++ b/repo/nheko/nheko.xibuild @@ -6,7 +6,7 @@ DESC="Qt5-based client for Matrix protocol" MAKEDEPS=" asciidoctor cmake ninja boost lmdb lmdbxx tweeny qt5-qtbase qt5-qttools qt5-qtmultimedia qt5-qtsvg qt5-qtdeclarative qt5-qtquickcontrols2 qt5-qtkeychain zlib openssl olm nlohmann-json cmark spdlog mtxclient gst-plugins-base gst-plugins-bad xcb-util-wm gstreamer libevent fmt coeurl" DEPS="qt5-qtgraphicaleffects qt5-qtbase qt5-qtmultimedia qt5-qtkeychain qt5-qtsvg" -PKG_VER=0.10.1 +PKG_VER=0.10.2 SOURCE="https://github.com/Nheko-Reborn/nheko/archive/v$PKG_VER.tar.gz" ADDITIONAL="remove-fatal-secrets-error.patch" @@ -30,7 +30,7 @@ build() { -DBUILD_SHARED_LIBS=True \ -DCMAKE_SKIP_RPATH=True \ -DCMAKE_BUILD_TYPE=None \ - . + . && ninja -C build } diff --git a/repo/nlohmann-json/nlohmann-json.xibuild b/repo/nlohmann-json/nlohmann-json.xibuild index ae9f817..1f86a3b 100644 --- a/repo/nlohmann-json/nlohmann-json.xibuild +++ b/repo/nlohmann-json/nlohmann-json.xibuild @@ -16,7 +16,6 @@ build() { -DJSON_MultipleHeaders=ON cmake --build build - make -C doc } check() { @@ -28,7 +27,7 @@ check() { package() { DESTDIR="$PKG_DEST" cmake --install build - install -dm755 "$PKG_DEST"/usr/share/doc/nlohmann-json - mv doc/mkdocs "$PKG_DEST"/usr/share/doc/nlohmann-json/ + #install -dm755 "$PKG_DEST"/usr/share/doc/nlohmann-json + #mv doc/mkdocs "$PKG_DEST"/usr/share/doc/nlohmann-json/ } diff --git a/repo/nodejs/nodejs.xibuild b/repo/nodejs/nodejs.xibuild index f656740..00c7d75 100644 --- a/repo/nodejs/nodejs.xibuild +++ b/repo/nodejs/nodejs.xibuild @@ -3,8 +3,7 @@ NAME="nodejs" DESC="JavaScript runtime built on V8 engine - LTS version" -MAKEDEPS="make " -DEPS="brotli toybox sort c-ares cacerts openssl musl libnghttp zlib " +MAKEDEPS="make brotli toybox sort c-ares cacerts openssl musl libnghttp zlib " PKG_VER=18.9.0 SOURCE="https://nodejs.org/dist/v$PKG_VER/node-v$PKG_VER.tar.gz" diff --git a/repo/nss/nss.xibuild b/repo/nss/nss.xibuild index 854a722..cbeed48 100644 --- a/repo/nss/nss.xibuild +++ b/repo/nss/nss.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="make perl python patch" DEPS="nspr libp11-kit sh zlib sqlite3" -PKG_VER=3.83 +PKG_VER=3.85 SOURCE=https://archive.mozilla.org/pub/security/nss/releases/NSS_$(echo $PKG_VER | sed 's/\./_/g')_RTM/src/nss-$PKG_VER.tar.gz diff --git a/repo/ntfs-3g/ntfs-3g.xibuild b/repo/ntfs-3g/ntfs-3g.xibuild new file mode 100644 index 0000000..f9ab694 --- /dev/null +++ b/repo/ntfs-3g/ntfs-3g.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="ntfs-3g" +DESC="Stable, full-featured, read-write NTFS" + +MAKEDEPS=" attr util-linux linux-headers" + +PKG_VER=2022.5.17 +SOURCE="https://tuxera.com/opensource/ntfs-3g_ntfsprogs-$PKG_VER.tgz" + +build() { + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --exec-prefix=/usr \ + --disable-static \ + --with-fuse=external\ + --enable-posix-acls \ + --enable-xattr-mappings \ + --sbin=/usr/bin + make +} + +package() { + mkdir -p "$PKG_DEST"/lib + make -j1 DESTDIR="$PKG_DEST" LDCONFIG=: install + ln -s /bin/ntfs-3g "$PKG_DEST"/sbin/mount.ntfs +} diff --git a/repo/onefetch/onefetch.xibuild b/repo/onefetch/onefetch.xibuild index de74793..e531530 100644 --- a/repo/onefetch/onefetch.xibuild +++ b/repo/onefetch/onefetch.xibuild @@ -12,10 +12,6 @@ build() { cargo build --release --locked } -check() { - cargo test --release --locked -} - package() { install -Dm0755 target/release/onefetch "$PKG_DEST"/usr/bin/onefetch } diff --git a/repo/openal-soft/openal-soft.xibuild b/repo/openal-soft/openal-soft.xibuild index d0261b2..1a0adbc 100644 --- a/repo/openal-soft/openal-soft.xibuild +++ b/repo/openal-soft/openal-soft.xibuild @@ -3,8 +3,7 @@ NAME="openal-soft" DESC="software implementation of OpenAL API" -MAKEDEPS="cmake " -DEPS="ffmpeg4 musl sdl2 " +MAKEDEPS="cmake ffmpeg4 musl sdl2 " PKG_VER=1.22.2 SOURCE="https://github.com/kcat/openal-soft/archive/$PKG_VER.tar.gz" diff --git a/repo/openntpd/openntpd.xibuild b/repo/openntpd/openntpd.xibuild index 5dfd7e9..b8a8f98 100644 --- a/repo/openntpd/openntpd.xibuild +++ b/repo/openntpd/openntpd.xibuild @@ -3,8 +3,8 @@ NAME="openntpd" DESC="Lightweight NTP server ported from OpenBSD" -MAKEDEPS="make " -DEPS="libretls " +MAKEDEPS="make libretls " + PKG_VER=6.8p1 SOURCE="https://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/openntpd-$PKG_VER.tar.gz" diff --git a/repo/openrc/openrc.xibuild b/repo/openrc/openrc.xibuild index cb148da..59a49b5 100644 --- a/repo/openrc/openrc.xibuild +++ b/repo/openrc/openrc.xibuild @@ -47,10 +47,6 @@ build () { make LIBDIR=/lib LIBEXECDIR=/lib/rc MKSYSVINIT=yes } -check () { - make check -} - package () { make LIBEXECDIR=/lib/rc DESTDIR="$PKG_DEST/" MKSYSVINIT=yes install diff --git a/repo/openrgb/openrgb.xibuild b/repo/openrgb/openrgb.xibuild index 207a630..1fc3020 100644 --- a/repo/openrgb/openrgb.xibuild +++ b/repo/openrgb/openrgb.xibuild @@ -15,7 +15,7 @@ openrgb.post-install " prepare () { - apply_patches + apply_patches || true } build() { diff --git a/repo/pahole/pahole.xibuild b/repo/pahole/pahole.xibuild index 46586dc..89d25f5 100644 --- a/repo/pahole/pahole.xibuild +++ b/repo/pahole/pahole.xibuild @@ -3,7 +3,7 @@ NAME="pahole" DESC="dwarf manipulation utilities" -MAKEDEPS=" cmake elfutils libdwarf zlib libbpf linux-headers musl-obstack argp-standalone samurai" +MAKEDEPS="cmake elfutils libdwarf zlib libbpf linux-headers musl-obstack argp-standalone ninja" PKG_VER=1.24 SOURCE="https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-v$PKG_VER.tar.gz" @@ -13,7 +13,7 @@ ADDITIONAL=" " prepare () { - apply_patches + apply_patches || true } build() { diff --git a/repo/pandoc/cabal.config b/repo/pandoc/cabal.config deleted file mode 100644 index 19f0515..0000000 --- a/repo/pandoc/cabal.config +++ /dev/null @@ -1,223 +0,0 @@ ---2.19.1 -constraints: Cabal ==3.4.1.0, - Glob ==0.10.2, - HUnit ==1.6.2.0, - HsYAML ==0.2.1.1, - JuicyPixels ==3.3.8, - OneTuple ==0.3.1, - QuickCheck ==2.14.2, - SHA ==1.6.4.4, - StateVar ==1.2.2, - aeson ==2.1.0.0, - aeson-pretty ==0.8.9, - ansi-terminal ==0.11.3, - ansi-wl-pprint ==0.6.9, - appar ==0.1.8, - array ==0.5.4.0, - asn1-encoding ==0.9.6, - asn1-parse ==0.9.5, - asn1-types ==0.3.4, - assoc ==1.0.2, - async ==2.2.4, - attoparsec ==0.14.4, - attoparsec-iso8601 ==1.0.2.1, - auto-update ==0.1.6, - base ==4.15.1.0, - base-compat ==0.12.2, - base-compat-batteries ==0.12.2, - base-orphans ==0.8.7, - base16-bytestring ==1.0.2.0, - base64 ==0.4.2.4, - base64-bytestring ==1.2.1.0, - basement ==0.0.15, - bifunctors ==5.5.12, - binary ==0.8.8.0, - bitvec ==1.1.3.0, - blaze-builder ==0.4.2.2, - blaze-html ==0.9.1.2, - blaze-markup ==0.8.2.8, - boring ==0.2, - bsb-http-chunked ==0.0.0.4, - byteorder ==1.0.4, - bytestring ==0.10.12.1, - cabal-doctest ==1.0.9, - call-stack ==0.4.0, - case-insensitive ==1.2.1.0, - cereal ==0.5.8.3, - citeproc ==0.8.0.1, - cmdargs ==0.10.21, - colour ==2.3.6, - commonmark ==0.2.2, - commonmark-extensions ==0.2.3.2, - commonmark-pandoc ==0.2.1.2, - comonad ==5.0.8, - conduit ==1.3.4.2, - conduit-extra ==1.3.6, - connection ==0.3.1, - constraints ==0.13.4, - containers ==0.6.4.1, - contravariant ==1.5.5, - cookie ==0.4.5, - cryptonite ==0.30, - data-default ==0.7.1.1, - data-default-class ==0.1.2.0, - data-default-instances-containers ==0.0.1, - data-default-instances-dlist ==0.0.1, - data-default-instances-old-locale ==0.0.1, - data-fix ==0.3.2, - dec ==0.0.5, - deepseq ==1.4.5.0, - digest ==0.0.1.3, - directory ==1.3.6.2, - distributive ==0.6.2.1, - dlist ==1.0, - doclayout ==0.4, - doctemplates ==0.10.0.2, - easy-file ==0.2.2, - emojis ==0.1.2, - exceptions ==0.10.4, - fast-logger ==3.1.1, - file-embed ==0.0.15.0, - filepath ==1.4.2.1, - generically ==0.1, - ghc-bignum ==1.1, - ghc-boot-th ==9.0.2, - ghc-prim ==0.7.0, - gridtables ==0.0.3.0, - haddock-library ==1.11.0, - happy ==1.20.0, - hashable ==1.4.1.0, - haskell-lexer ==1.1, - hourglass ==0.2.12, - hsc2hs ==0.68.8, - hslua ==2.2.1, - hslua-aeson ==2.2.1, - hslua-classes ==2.2.0, - hslua-core ==2.2.1, - hslua-marshalling ==2.2.1, - hslua-module-doclayout ==1.0.4, - hslua-module-path ==1.0.3, - hslua-module-system ==1.0.2, - hslua-module-text ==1.0.2, - hslua-module-version ==1.0.2, - hslua-objectorientation ==2.2.1, - hslua-packaging ==2.2.1, - http-api-data ==0.4.3, - http-client ==0.7.13.1, - http-client-tls ==0.3.6.1, - http-date ==0.0.11, - http-media ==0.8.0.0, - http-types ==0.12.3, - http2 ==3.0.3, - indexed-traversable ==0.1.2, - indexed-traversable-instances ==0.1.1.1, - integer-gmp ==1.1, - integer-logarithms ==1.0.3.1, - iproute ==1.7.12, - ipynb ==0.2, - jira-wiki-markup ==1.4.0, - libyaml ==0.1.2, - lpeg ==1.0.3, - lua ==2.2.1, - memory ==0.17.0, - mime-types ==0.1.0.9, - mmorph ==1.2.0, - monad-control ==1.0.3.1, - mono-traversable ==1.0.15.3, - mtl ==2.2.2, - network ==3.1.2.7, - network-byte-order ==0.1.6, - network-uri ==2.6.4.1, - old-locale ==1.0.0.7, - old-time ==1.1.0.3, - optparse-applicative ==0.17.0.0, - pandoc-lua-marshal ==0.1.7, - pandoc-types ==1.22.2.1, - parsec ==3.1.14.0, - pem ==0.2.4, - pretty ==1.1.3.6, - pretty-show ==1.10, - primitive ==0.7.4.0, - process ==1.6.13.2, - psqueues ==0.2.7.3, - random ==1.2.1.1, - resourcet ==1.2.6, - rts ==1.0.2, - safe ==0.3.19, - scientific ==0.3.7.0, - semialign ==1.2.0.1, - semigroupoids ==5.3.7, - servant ==0.19, - servant-server ==0.19.1, - simple-sendfile ==0.2.30, - singleton-bool ==0.1.6, - skylighting ==0.13, - skylighting-core ==0.13, - skylighting-format-ansi ==0.1, - skylighting-format-blaze-html ==0.1, - skylighting-format-latex ==0.1, - socks ==0.6.1, - some ==1.0.4, - sop-core ==0.5.0.2, - split ==0.2.3.5, - splitmix ==0.1.0.4, - stm ==2.5.0.0, - streaming-commons ==0.2.2.4, - strict ==0.4.0.1, - string-conversions ==0.4.0.1, - syb ==0.7.2.1, - tagged ==0.8.6.1, - tagsoup ==0.14.8, - template-haskell ==2.17.0.0, - temporary ==1.3, - texmath ==0.12.5.2, - text ==1.2.5.0, - text-conversions ==0.3.1.1, - text-short ==0.1.5, - th-abstraction ==0.4.4.0, - th-compat ==0.1.4, - th-lift ==0.8.2, - th-lift-instances ==0.1.19, - these ==1.1.1.1, - time ==1.9.3, - time-compat ==1.9.6.1, - time-manager ==0.0.0, - tls ==1.6.0, - transformers ==0.5.6.2, - transformers-base ==0.4.6, - transformers-compat ==0.7.2, - type-equality ==1, - typed-process ==0.2.10.1, - unicode-collation ==0.1.3.2, - unicode-data ==0.3.0, - unicode-transforms ==0.4.0.1, - uniplate ==1.6.13, - unix ==2.7.2.2, - unix-compat ==0.6, - unix-time ==0.4.7, - unliftio ==0.2.22.0, - unliftio-core ==0.2.0.1, - unordered-containers ==0.2.19.1, - utf8-string ==1.0.2, - uuid-types ==1.0.5, - vault ==0.3.1.5, - vector ==0.13.0.0, - vector-algorithms ==0.9.0.1, - vector-stream ==0.1.0.0, - wai ==3.2.3, - wai-app-static ==3.1.7.4, - wai-extra ==3.1.12.1, - wai-logger ==2.4.0, - warp ==3.3.22, - witherable ==0.4.2, - word8 ==0.1.3, - x509 ==1.7.7, - x509-store ==1.6.9, - x509-system ==1.6.7, - x509-validation ==1.6.12, - xml ==1.3.14, - xml-conduit ==1.9.1.1, - xml-types ==0.3.8, - yaml ==0.11.8.0, - zip-archive ==0.4.2.1, - zlib ==0.6.3.0 diff --git a/repo/pandoc/pandoc.xibuild b/repo/pandoc/pandoc.xibuild deleted file mode 100644 index 12d2406..0000000 --- a/repo/pandoc/pandoc.xibuild +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -NAME="pandoc" -DESC="universal markup converter" - -MAKEDEPS=" ghc cabal zlib libffi" - -PKG_VER=2.19.1 -SOURCE="https://hackage.haskell.org/package/pandoc-$PKG_VER/pandoc-$PKG_VER.tar.gz" - -ADDITIONAL=" -cabal.config -" - -cabal_update() { - echo "Freezing pandoc dependencies" - - # Resolve deps and generate fresh cabal.config with version constraints. - cabal update - ( - cd "$BUILD_ROOT" - cabal v1-freeze --shadow-installed-packages - - # Add version tag at the first line. - sed -i "1i--$PKG_VER" "cabal.config" - - mv "cabal.config" "$startdir/" - ) -} - -prepare() { - apply_patches - - if [ "$(head -n 1 "$BUILD_ROOT/cabal.config")" != "--$PKG_VER" ]; then - die "Requirements file is outdated, run 'abuild cabal_update'" - fi - - ln -sf "$BUILD_ROOT/cabal.config" "$BUILD_ROOT/cabal.project.freeze" -} - -build() { - cabal update - cabal install --only-dependencies - cabal configure \ - --prefix='/usr' \ - --enable-tests \ - --enable-split-sections \ - --ghc-option="-split-sections" \ - --flags="+embed_data_files -trypandoc +static" - cabal build --jobs=${JOBS:-1} -} - -check() { - cabal test --jobs=${JOBS:-1} -} - -package() { - _bindir="$PKG_DEST/usr/bin" - mkdir -p "$_bindir" - cabal install \ - --installdir="$_bindir" \ - --install-method=copy - install -Dm644 man/pandoc.1 "$PKG_DEST"/usr/share/man/man1/pandoc.1 -} - diff --git a/repo/pangomm/pangomm.xibuild b/repo/pangomm/pangomm.xibuild index 05e3a6b..76a0c78 100644 --- a/repo/pangomm/pangomm.xibuild +++ b/repo/pangomm/pangomm.xibuild @@ -3,10 +3,9 @@ NAME="pangomm" DESC="C++ bindings for pango" -MAKEDEPS="meson ninja " -DEPS="cairomm glib glibmm libsigc++ musl pango" +MAKEDEPS="meson ninja cairomm glib glibmm libsigc++ musl pango mm-common cairomm" -PKG_VER=2.46.2 +PKG_VER=2.50.1 SOURCE="https://download.gnome.org/sources/pangomm/${PKG_VER%.*}/pangomm-$PKG_VER.tar.xz" build () { diff --git a/repo/parted/parted.xibuild b/repo/parted/parted.xibuild index bc490d8..1cb380b 100644 --- a/repo/parted/parted.xibuild +++ b/repo/parted/parted.xibuild @@ -17,7 +17,7 @@ skip-duplicate-bsd-test-on-s390x.patch " prepare () { - apply_patches + apply_patches || true } build() { diff --git a/repo/pcmanfm/pcmanfm.xibuild b/repo/pcmanfm/pcmanfm.xibuild index 35c3d52..6b45b4f 100644 --- a/repo/pcmanfm/pcmanfm.xibuild +++ b/repo/pcmanfm/pcmanfm.xibuild @@ -3,8 +3,7 @@ NAME="pcmanfm" DESC="Extremely fast and lightweight file manager" -MAKEDEPS="make " -DEPS="gtk3 libfm " +MAKEDEPS="make gtk3 libfm " PKG_VER=1.3.2 SOURCE="https://downloads.sourceforge.net/pcmanfm/pcmanfm-$PKG_VER.tar.xz" diff --git a/repo/perl-xml-sax/perl-xml-sax.post-install b/repo/perl-xml-sax/perl-xml-sax.post-install new file mode 100644 index 0000000..cada1f3 --- /dev/null +++ b/repo/perl-xml-sax/perl-xml-sax.post-install @@ -0,0 +1,5 @@ +#!/bin/sh +# Registers the SAX parser into the registry. + +LC_ALL=C perl -MXML::SAX -e \ + "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()" 2>&1 >/dev/null diff --git a/repo/perl-xml-sax/perl-xml-sax.post-upgrade b/repo/perl-xml-sax/perl-xml-sax.post-upgrade new file mode 100644 index 0000000..cada1f3 --- /dev/null +++ b/repo/perl-xml-sax/perl-xml-sax.post-upgrade @@ -0,0 +1,5 @@ +#!/bin/sh +# Registers the SAX parser into the registry. + +LC_ALL=C perl -MXML::SAX -e \ + "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()" 2>&1 >/dev/null diff --git a/repo/perl-xml-sax/perl-xml-sax.pre-deinstall b/repo/perl-xml-sax/perl-xml-sax.pre-deinstall new file mode 100644 index 0000000..fb56f1a --- /dev/null +++ b/repo/perl-xml-sax/perl-xml-sax.pre-deinstall @@ -0,0 +1,5 @@ +#!/bin/sh +# Unregisters the SAX parser from the registry. + +LC_ALL=C perl -MXML::SAX -e \ + "XML::SAX->remove_parser(q(XML::SAX::PurePerl))->save_parsers()" 2>&1 >/dev/null diff --git a/repo/perl-xml-sax/perl-xml-sax.xibuild b/repo/perl-xml-sax/perl-xml-sax.xibuild index 52500aa..3643f9e 100644 --- a/repo/perl-xml-sax/perl-xml-sax.xibuild +++ b/repo/perl-xml-sax/perl-xml-sax.xibuild @@ -3,8 +3,7 @@ NAME="perl-xml-sax" DESC="Simple API for XML" -MAKEDEPS="" -DEPS="perl-xml-sax-base" +MAKEDEPS="perl" PKG_VER=1.02 SOURCE="https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-$PKG_VER.tar.gz" @@ -19,7 +18,3 @@ package() { find "$PKG_DEST" \( -name perllocal.pod -o -name .packlist \) -delete } -postinstall () { - LC_ALL=C perl -MXML::SAX -e \ - "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()" 2>&1 >/dev/null -} diff --git a/repo/php8/.php8.xibuild.swp b/repo/php8/.php8.xibuild.swp Binary files differdeleted file mode 100644 index ffdb8e4..0000000 --- a/repo/php8/.php8.xibuild.swp +++ /dev/null diff --git a/repo/php8/atomic-lsapi.patch b/repo/php8/atomic-lsapi.patch deleted file mode 100644 index 39cf182..0000000 --- a/repo/php8/atomic-lsapi.patch +++ /dev/null @@ -1,82 +0,0 @@ -Patch-Source: https://github.com/php/php-src/pull/7997 - -diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c -index 2208bbd47b..42dd320356 100644 ---- a/sapi/litespeed/lsapilib.c -+++ b/sapi/litespeed/lsapilib.c -@@ -443,7 +443,7 @@ static void lsapi_close_connection(LSAPI_Request *pReq) - if (s_busy_workers) - __sync_fetch_and_sub(s_busy_workers, 1); - if (s_worker_status) -- __sync_lock_test_and_set(&s_worker_status->m_state, LSAPI_STATE_IDLE); -+ __atomic_test_and_set(&s_worker_status->m_state, LSAPI_STATE_IDLE); - } - - -@@ -1587,7 +1587,7 @@ int LSAPI_Accept_r( LSAPI_Request * pReq ) - else - { - if (s_worker_status) -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_CONNECTED); - if (s_busy_workers) - __sync_fetch_and_add(s_busy_workers, 1); -@@ -3315,7 +3315,7 @@ static int lsapi_prefork_server_accept( lsapi_prefork_server * pServer, - if (pthread_atfork_func) - (*pthread_atfork_func)(NULL, NULL, set_skip_write); - -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_CONNECTED); - if (s_busy_workers) - __sync_add_and_fetch(s_busy_workers, 1); -@@ -3402,7 +3402,7 @@ int LSAPI_Postfork_Child(LSAPI_Request * pReq) - if (pthread_atfork_func) - (*pthread_atfork_func)(NULL, NULL, set_skip_write); - -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_CONNECTED); - if (s_busy_workers) - __sync_add_and_fetch(s_busy_workers, 1); -@@ -3651,7 +3651,7 @@ int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq ) - if (fd == pReq->m_fdListen) - { - if (s_worker_status) -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_ACCEPTING); - if (s_accepting_workers) - __sync_fetch_and_add(s_accepting_workers, 1); -@@ -3662,7 +3662,7 @@ int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq ) - if (s_accepting_workers) - __sync_fetch_and_sub(s_accepting_workers, 1); - if (s_worker_status) -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_IDLE); - } - -@@ -3711,7 +3711,7 @@ int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq ) - if ( pReq->m_fd != -1 ) - { - if (s_worker_status) -- __sync_lock_test_and_set(&s_worker_status->m_state, -+ __atomic_test_and_set(&s_worker_status->m_state, - LSAPI_STATE_CONNECTED); - if (s_busy_workers) - __sync_fetch_and_add(s_busy_workers, 1); -diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c -index 42dd320356..0932ebaaa8 100644 ---- a/sapi/litespeed/lsapilib.c -+++ b/sapi/litespeed/lsapilib.c -@@ -3390,7 +3390,7 @@ int LSAPI_Postfork_Child(LSAPI_Request * pReq) - { - int max_children = g_prefork_server->m_iMaxChildren; - s_pid = getpid(); -- __sync_lock_test_and_set(&pReq->child_status->m_pid, s_pid); -+ __atomic_test_and_set(&pReq->child_status->m_pid, s_pid); - s_worker_status = pReq->child_status; - - setsid(); diff --git a/repo/php8/disabled-tests.list b/repo/php8/disabled-tests.list deleted file mode 100644 index 6b6540f..0000000 --- a/repo/php8/disabled-tests.list +++ /dev/null @@ -1,213 +0,0 @@ -# -# Tests that we don't need to run -# - -# Windows tests -ext/standard/tests/file/windows_mb_path/* -ext/standard/tests/file/*win32*.phpt -ext/standard/tests/dir/*win32*.phpt - -# Require database or slow as dblib -ext/mysqli/tests/* -ext/odbc/tests/* -ext/pdo/tests/*.phpt -ext/pdo_dblib/tests/* -ext/pdo_mysql/tests/* -ext/pdo_odbc/tests/* -ext/pdo_pgsql/tests/* -ext/pgsql/tests/* - -# -# Tests that fail and probably should not... -# - -# Too many tests fail! Some of them bogus, some not. -# THIS SHOULD BE REALLY FIXED! -ext/openssl/tests/bug46127.phpt -ext/openssl/tests/bug48182.phpt -ext/openssl/tests/bug54992.phpt -ext/openssl/tests/bug65538_001.phpt -ext/openssl/tests/bug65538_003.phpt -ext/openssl/tests/bug65729.phpt -ext/openssl/tests/bug68265.phpt -ext/openssl/tests/bug68879.phpt -ext/openssl/tests/bug68920.phpt -ext/openssl/tests/bug69215.phpt -ext/openssl/tests/bug72333.phpt -ext/openssl/tests/bug73072.phpt -ext/openssl/tests/bug74159.phpt -ext/openssl/tests/bug76705.phpt -ext/openssl/tests/bug77390.phpt -ext/openssl/tests/capture_peer_cert_001.phpt -ext/openssl/tests/openssl_peer_fingerprint_basic.phpt -ext/openssl/tests/peer_verification.phpt -ext/openssl/tests/san_peer_matching.phpt -ext/openssl/tests/session_meta_capture.phpt -ext/openssl/tests/session_meta_capture_tlsv13.phpt -ext/openssl/tests/sni_server.phpt -ext/openssl/tests/sni_server_key_cert.phpt -ext/openssl/tests/stream_crypto_flags_001.phpt -ext/openssl/tests/stream_crypto_flags_002.phpt -ext/openssl/tests/stream_crypto_flags_003.phpt -ext/openssl/tests/stream_crypto_flags_004.phpt -ext/openssl/tests/stream_security_level.phpt -ext/openssl/tests/stream_verify_peer_name_001.phpt -ext/openssl/tests/stream_verify_peer_name_002.phpt -ext/openssl/tests/stream_verify_peer_name_003.phpt -ext/openssl/tests/streams_crypto_method.phpt -ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt -ext/openssl/tests/tls_wrapper.phpt -ext/openssl/tests/tls_wrapper_with_tls_v1.3.phpt -ext/openssl/tests/tlsv1.0_wrapper.phpt -ext/openssl/tests/tlsv1.1_wrapper.phpt -ext/openssl/tests/tlsv1.2_wrapper.phpt -ext/openssl/tests/tlsv1.3_wrapper.phpt - -# Needs to open tls socket -ext/openssl/tests/bug62890.phpt - -# Broken tests, missing config. -sapi/fpm/tests/socket-ipv4-fallback.phpt - -# Fails in chroot (on Travis). -sapi/cli/tests/cli_process_title_unix.phpt - -# Error messages in different order. -sapi/cgi/tests/005.phpt - -# Fails on ppc64le. -sapi/phpdbg/tests/watch_006.phpt - -# Not stable enchant-2 library support - 15/29 -ext/enchant/tests/broker_dict_exists.phpt -ext/enchant/tests/broker_free_02.phpt -ext/enchant/tests/broker_free_dict.phpt -ext/enchant/tests/broker_request_dict.phpt -ext/enchant/tests/broker_request_dict_01.phpt -ext/enchant/tests/broker_set_ordering.phpt -ext/enchant/tests/dict_add_to_personal.phpt -ext/enchant/tests/dict_add_to_session.phpt -ext/enchant/tests/dict_check.phpt -ext/enchant/tests/dict_describe.phpt -ext/enchant/tests/dict_get_error.phpt -ext/enchant/tests/dict_is_in_session.phpt -ext/enchant/tests/dict_quick_check_01.phpt -ext/enchant/tests/dict_store_replacement.phpt -ext/enchant/tests/dict_suggest.phpt - -# Wrong charset, conversion from `UTF-8' to `ASCII//TRANSLIT' is not allowed. -ext/iconv/tests/iconv_basic_001.phpt - -# Wrong charset, conversion from `UTF-8' to `UTF-8//IGNORE' is not allowed. -ext/iconv/tests/bug48147.phpt - -# stream_filter_append(): unable to create or locate filter "convert.iconv.ucs-2/utf-8//IGNORE" -ext/iconv/tests/bug76249.phpt - -# for ICU <= 57.1 -ext/intl/tests/spoofchecker_001.phpt -ext/intl/tests/timezone_IDforWindowsID_basic.phpt -ext/intl/tests/timezone_windowsID_basic.phpt - -# Class 'Phar' not found. -ext/opcache/tests/issue0115.phpt -ext/opcache/tests/issue0149.phpt - -# Fails in CI - Insufficient privileges. https://gitlab.alpinelinux.org/alpine/aports/-/issues/12692#note_169663 -ext/pcntl/tests/pcntl_unshare_01.phpt -ext/pcntl/tests/pcntl_unshare_02.phpt -ext/pcntl/tests/pcntl_unshare_03.phpt -ext/pcntl/tests/pcntl_unshare_04.phpt - -# Randomly fails. -ext/pcntl/tests/002.phpt -# Randomly fails on arm7 -ext/standard/tests/file/bug60120.phpt - -# Call to undefined function session_start(). -ext/session/tests/session_regenerate_id_cookie.phpt - -# Class 'SoapServer' not found. -ext/soap/tests/bug73037.phpt - -# Incorrect results. -ext/soap/tests/server009.phpt - -# Failing tests related to locale and/or iconv. -ext/date/tests/009.phpt -ext/iconv/tests/bug52211.phpt -ext/intl/tests/bug67052.phpt -ext/json/tests/bug41403.phpt -ext/pcre/tests/ctype_back_to_c.phpt -ext/pcre/tests/locales.phpt -ext/soap/tests/bugs/bug39815.phpt -ext/standard/tests/array/locale_sort.phpt -ext/standard/tests/strings/htmlentities02.phpt -ext/standard/tests/strings/htmlentities03.phpt -ext/standard/tests/strings/setlocale_basic1.phpt -ext/standard/tests/strings/setlocale_basic2.phpt -ext/standard/tests/strings/setlocale_basic3.phpt -ext/standard/tests/strings/setlocale_error.phpt -ext/standard/tests/strings/setlocale_variation1.phpt -ext/standard/tests/strings/setlocale_variation2.phpt -ext/standard/tests/strings/setlocale_variation3.phpt -ext/standard/tests/strings/setlocale_variation4.phpt -ext/standard/tests/strings/setlocale_variation5.phpt -ext/standard/tests/strings/sprintf_f_3.phpt -ext/standard/tests/strings/strtoupper.phpt -ext/standard/tests/time/strptime_basic.phpt -ext/standard/tests/time/strptime_parts.phpt -tests/basic/consistent_float_string_casts.phpt -ext/standard/tests/strings/locale_independent_float_to_string.phpt -tests/lang/bug30638.phpt -Zend/tests/lc_ctype_inheritance.phpt - -# setlocale() does not affect result of nl_langinfo(CODESET) always returns UTF-8 -ext/fileinfo/tests/bug74170.phpt -ext/standard/tests/strings/bug79986.phpt - -# Wrong results -ext/pcre/tests/bug79846.phpt -ext/pcre/tests/bug80118.phpt -# compilation failed https://gitlab.alpinelinux.org/alpine/aports/-/issues/13116 -ext/pcre/tests/bug70345.phpt - -# no xml header displayed -ext/tidy/tests/020.phpt - -# float formatting -ext/standard/tests/strings/printf_h_H.phpt - -# fails on armv7 -ext/standard/tests/strings/chunk_split_variation2_32bit.phpt - -# fails on arch64, ppc64le, s390x -ext/standard/tests/array/range.phpt - - -# -# Tests that fail for known reason and/or we don't need to worry about them -# - -# Fails due to unsupported JP charsets. -ext/iconv/tests/eucjp2iso2022jp.phpt -ext/iconv/tests/iconv_mime_encode.phpt - -# Requires running SNMP server. -ext/snmp/tests/* - -# Expects permissions on /etc to be 40755 -ext/standard/tests/file/006_error.phpt - -# Fails probably due to differencies in musl. -ext/sockets/tests/socket_create_pair-wrongparams.phpt - -# Fail due to libxml2 upgrade to 2.9.12 -# See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12692 -ext/dom/tests/DOMDocument_loadXML_error1.phpt -ext/dom/tests/DOMDocument_load_error1.phpt -ext/dom/tests/bug43364.phpt -ext/dom/tests/bug80268.phpt -ext/libxml/tests/bug61367-read.phpt -ext/libxml/tests/libxml_disable_entity_loader.phpt -sapi/fpm/tests/bug68391-conf-include-order.phpt diff --git a/repo/php8/fix-tests-devserver.patch b/repo/php8/fix-tests-devserver.patch deleted file mode 100644 index 5447980..0000000 --- a/repo/php8/fix-tests-devserver.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Mon, 01 May 2017 01:33:00 +0200 -Subject: [PATCH] Fix tests failing due to extra message from built-in web server - -Remove messages like: - - PHP 7.1.4 Development Server started at Mon May 1 00:42:39 2017 - -from test outputs, because tests do not expect them. I have no clue what -happens here... - ---- a/run-tests.php -+++ b/run-tests.php -@@ -2563,6 +2563,9 @@ - // Does the output match what is expected? - $output = preg_replace("/\r\n/", "\n", trim($out)); - -+ // Remove message from built-in development server. -+ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output); -+ - /* when using CGI, strip the headers from the output */ - $headers = []; - diff --git a/repo/php8/includedir.patch b/repo/php8/includedir.patch deleted file mode 100644 index a835815..0000000 --- a/repo/php8/includedir.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- a/scripts/Makefile.frag -+++ b/scripts/Makefile.frag -@@ -2,7 +2,7 @@ - # Build environment install - # - --phpincludedir = $(includedir)/php -+phpincludedir = $(includedir)/php8 - phpbuilddir = $(libdir)/build - - BUILD_FILES = \ ---- a/ext/pdo/Makefile.frag -+++ b/ext/pdo/Makefile.frag -@@ -1,4 +1,4 @@ --phpincludedir=$(prefix)/include/php -+phpincludedir=$(prefix)/include/php8 - - PDO_HEADER_FILES= \ - php_pdo.h \ ---- a/scripts/php-config.in -+++ b/scripts/php-config.in -@@ -6,7 +6,7 @@ - exec_prefix="@exec_prefix@" - version="@PHP_VERSION@" - vernum="@PHP_VERSION_ID@" --include_dir="@includedir@/php" -+include_dir="@includedir@/php8" - includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib" - ldflags="@PHP_LDFLAGS@" - libs="@EXTRA_LIBS@" ---- a/scripts/phpize.in -+++ b/scripts/phpize.in -@@ -5,7 +5,7 @@ - datarootdir='@datarootdir@' - exec_prefix="`eval echo @exec_prefix@`" - phpdir="`eval echo @libdir@`/build" --includedir="`eval echo @includedir@`/php" -+includedir="`eval echo @includedir@`/php8" - builddir="`pwd`" - SED="@SED@" - diff --git a/repo/php8/install-pear.patch b/repo/php8/install-pear.patch deleted file mode 100644 index 1c9f07f..0000000 --- a/repo/php8/install-pear.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000 -+++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000 -@@ -1,7 +1,10 @@ - peardir=$(PEAR_INSTALLDIR) - -+# help the built php to find xml extension so we can install pear -+PEAR_INSTALL_XML_FLAGS = -d extension="$(top_builddir)/modules/xml.so" -d extension="$(top_builddir)/modules/phar.so" -+ - # Skip all php.ini files altogether --PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 -+PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS) - - WGET = `which wget 2>/dev/null` - FETCH = `which fetch 2>/dev/null` diff --git a/repo/php8/php8-fpm-version-suffix.patch b/repo/php8/php8-fpm-version-suffix.patch deleted file mode 100644 index 50e1345..0000000 --- a/repo/php8/php8-fpm-version-suffix.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- a/sapi/fpm/fpm/fpm_conf.c -+++ b/sapi/fpm/fpm/fpm_conf.c -@@ -1262,7 +1262,7 @@ - } - - if (!fpm_global_config.error_log) { -- fpm_global_config.error_log = strdup("log/php-fpm.log"); -+ fpm_global_config.error_log = strdup("log/php8/error.log"); - } - - #ifdef HAVE_SYSTEMD -@@ -1273,7 +1273,7 @@ - - #ifdef HAVE_SYSLOG_H - if (!fpm_global_config.syslog_ident) { -- fpm_global_config.syslog_ident = strdup("php-fpm"); -+ fpm_global_config.syslog_ident = strdup("php-fpm8"); - } - - if (fpm_global_config.syslog_facility < 0) { -@@ -1777,7 +1777,7 @@ - if (fpm_globals.prefix == NULL) { - spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR); - } else { -- spprintf(&tmp, 0, "%s/etc/php-fpm.conf", fpm_globals.prefix); -+ spprintf(&tmp, 0, "%s/etc/php8/php-fpm.conf", fpm_globals.prefix); - } - - if (!tmp) { - ---- a/sapi/fpm/php-fpm.conf.in -+++ b/sapi/fpm/php-fpm.conf.in -@@ -16,3 +16,3 @@ - ; Default Value: none --;pid = run/php-fpm.pid -+;pid = run/php-fpm8.pid - -@@ -22,4 +22,4 @@ - ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ --; Default Value: log/php-fpm.log --;error_log = log/php-fpm.log -+; Default Value: log/php8/error.log -+;error_log = log/php8/error.log - -@@ -35,4 +35,4 @@ - ; which must suit common needs. --; Default Value: php-fpm --;syslog.ident = php-fpm -+; Default Value: php-fpm8 -+;syslog.ident = php-fpm8 - ---- a/sapi/fpm/www.conf.in -+++ b/sapi/fpm/www.conf.in -@@ -273,7 +273,7 @@ - - ; The access log file - ; Default: not set --;access.log = log/$pool.access.log -+;access.log = log/php8/$pool.access.log - - ; The access log format. - ; The following syntax is allowed -@@ -337,7 +337,7 @@ - ; The log file for slow requests - ; Default Value: not set - ; Note: slowlog is mandatory if request_slowlog_timeout is set --;slowlog = log/$pool.log.slow -+;slowlog = log/php8/$pool.slow.log - - ; The timeout for serving a single request after which a PHP backtrace will be - ; dumped to the 'slowlog' file. A value of '0s' means 'off'. -@@ -450,6 +450,6 @@ - ; specified at startup with the -d argument - ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com - ;php_flag[display_errors] = off --;php_admin_value[error_log] = /var/log/fpm-php.www.log -+;php_admin_value[error_log] = /var/log/php8/$pool.error.log - ;php_admin_flag[log_errors] = on - ;php_admin_value[memory_limit] = 32M diff --git a/repo/php8/php8-fpm.initd b/repo/php8/php8-fpm.initd deleted file mode 100644 index f498581..0000000 --- a/repo/php8/php8-fpm.initd +++ /dev/null @@ -1,93 +0,0 @@ -#!/sbin/openrc-run - -# If you want to run separate master process per pool, then create a symlink -# to this runscript for each pool. In that mode, the php-fpm daemon is started -# as nobody by default. You can override the user (and group) by declaring -# variable "user" and optionally "group" in conf.d file, or in the $fpm_config -# file (the former has precedence). - -: ${name:="PHP FastCGI Process Manager"} - -command="/usr/sbin/php-fpm8" -command_background="yes" -start_stop_daemon_args="--quiet" -pidfile="/run/$RC_SVCNAME/php-fpm.pid" -retry="SIGTERM/20" - -# configtest is here only for backward compatibility -extra_commands="checkconfig configtest" -extra_started_commands="reload reopen" -description_checkconfig="Run php-fpm config check" -description_reload="Gracefully reload workers and config" -description_reopen="Reopen log files" - -required_files="$fpm_config" - -depend() { - need net - use apache2 lighttpd nginx -} - -init_vars() { - # Defaults for single master process with multiple pools - if [ "$RC_SVCNAME" = "php-fpm8" ]; then - : ${fpm_config:="/etc/php8/php-fpm.conf"} - : ${user:="root"} - # Defaults for master process per pool - else - : ${fpm_config="/etc/php8/php-fpm.d/${RC_SVCNAME#php-fpm8.}.conf"} - : ${user:="$(conf_get user)"} - : ${user:="nobody"} - : ${group:="$(conf_get group)"} - fi - command_args="--nodaemonize --fpm-config $fpm_config" - start_stop_daemon_args="$start_stop_daemon_args - --user $user ${group:+"--group $group"}" -} - -start_pre() { - checkconfig || return 1 - - # If unix socket is used (instead of TCP/IP), then ensure that the - # directory exists and has correct privileges. - local listen="$(conf_get listen)" - if [ "${listen:0:1}" = "/" ]; then - checkpath -d -o $user:$group "$(dirname "$listen")" - fi - - checkpath -d "$(dirname "$pidfile")" -} - -reload() { - ebegin "Reloading $name" - start-stop-daemon --signal USR2 --pidfile "$pidfile" - eend $? -} - -reopen() { - ebegin "Reopening $name log files" - start-stop-daemon --signal USR1 --pidfile "$pidfile" - eend $? -} - -checkconfig() { - init_vars - ebegin "Checking $fpm_config" - - local out - out="$(su -s /bin/sh -c "$command --test --fpm-config $fpm_config" $user 2>&1)" || { - printf "%s\n" "$out" - eend 1 "failed, please correct errors above" - return 1 - } -} - -configtest() { - ewarn "configtest is deprecated, use checkconfig instead" - checkconfig -} - -conf_get() { - local key="$1" - sed -nE "s/^${key}\s*=\s*\"?([^\";]+).*/\1/p" "$fpm_config" | head -n 1 -} diff --git a/repo/php8/php8-fpm.logrotate b/repo/php8/php8-fpm.logrotate deleted file mode 100644 index 10b5bf3..0000000 --- a/repo/php8/php8-fpm.logrotate +++ /dev/null @@ -1,13 +0,0 @@ -/var/log/php8/*.log { - rotate 7 - daily - missingok - notifempty - delaycompress - compress - dateext - sharedscripts - postrotate - /etc/init.d/php-fpm8 --ifstarted --quiet reopen - endscript -} diff --git a/repo/php8/php8-module.conf b/repo/php8/php8-module.conf deleted file mode 100644 index 2ffe005..0000000 --- a/repo/php8/php8-module.conf +++ /dev/null @@ -1,13 +0,0 @@ -LoadModule php_module modules/mod_php8.so - -DirectoryIndex index.php index.html - -<FilesMatch \.php$> - SetHandler application/x-httpd-php -</FilesMatch> - -# Uncomment the following to allow .phps files to be handled by the php source filter, -# and displayed as syntax-highlighted source code -#<FilesMatch "\.phps$"> -# SetHandler application/x-httpd-php-source -#</FilesMatch> diff --git a/repo/php8/php8.xibuild b/repo/php8/php8.xibuild deleted file mode 100644 index c505207..0000000 --- a/repo/php8/php8.xibuild +++ /dev/null @@ -1,215 +0,0 @@ -#!/bin/sh - -NAME="php8" -DESC="The PHP8 language runtime engine" - -MAKEDEPS="autoconf pcre2 re2c apache2 argon2 aspell bison bzip2 curl enchant2 freetds freetype gdbm gettext gmp icu imap krb5 libedit libical libjpeg-turbo libpng libpq lmdb oniguruma libsodium libwebp libxml2 libxpm libxslt libzip net-snmp openldap sqlite tidyhtml unixodbc zlib" - -PKG_VER=8.1.10 -suffix=8 -SOURCE="https://php.net/distributions/php-$PKG_VER.tar.xz" - -ADDITIONAL=" -atomic-lsapi.patch -disabled-tests.list -fix-tests-devserver.patch -includedir.patch -install-pear.patch -php8-fpm-version-suffix.patch -php8-fpm.initd -php8-fpm.logrotate -php8-module.conf -sharedir.patch -xfail-openssl-1.1-test.patch -" - -prepare() { - apply_patches - - # https://bugs.php.net/63362 - Not needed but installed headers. - # Drop some Windows specific headers to avoid installation, - # before build to ensure they are really not needed. - rm -f TSRM/tsrm_win32.h \ - TSRM/tsrm_config.w32.h \ - Zend/zend_config.w32.h \ - ext/mysqlnd/config-win.h \ - ext/standard/winver.h - - # Fix some bogus permissions. - find . -name '*.[ch]' -exec chmod 644 {} \; - - # XXX: Delete failing tests. - sed -n '/^[^#]/p' "$BUILD_ROOT"/disabled-tests.list | while read -r item; do - rm -r $item # do it in this way to apply globbing... - done - - autoconf -} - -# Notes: -# * gd-jis-conv breaks any non-latin font rendering (vakartel). -# * libxml cannot be build as shared. -# * -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php andypost) -# * -O2 optimize for apps usage (andypost) -_build() { - export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - export CXXFLAGS="$CXXFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - - local without_pcre_jit - [ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit" - - EXTENSION_DIR=$_extension_dir ./configure \ - - - --prefix=/usr \ - --program-suffix=$suffix \ - --libdir=$_libdir \ - --datadir=/usr/share/php8 \ - --sysconfdir=/etc/php8 \ - --localstatedir=/var \ - --with-layout=GNU \ - --with-pic \ - --with-config-file-path=/etc/php8 \ - --with-config-file-scan-dir=$_extension_confd \ - --disable-short-tags \ - \ - --enable-bcmath=shared \ - --with-bz2=shared \ - --enable-calendar=shared \ - --enable-ctype=shared \ - --with-curl=shared \ - --enable-dba=shared \ - --with-dbmaker=shared \ - --with-gdbm \ - --with-lmdb \ - --enable-dom=shared \ - --with-enchant=shared \ - --enable-exif=shared \ - --with-ffi=shared \ - --enable-fileinfo=shared \ - --enable-ftp=shared \ - --enable-gd=shared \ - --with-freetype \ - --with-jpeg \ - --with-webp \ - --with-xpm \ - --disable-gd-jis-conv \ - --with-gettext=shared \ - --with-gmp=shared \ - --with-iconv=shared \ - --with-imap=shared \ - --with-imap-ssl \ - --enable-intl=shared \ - --with-ldap=shared \ - --with-ldap-sasl \ - --with-libedit \ - --with-libxml \ - --enable-mbstring=shared \ - --with-mysqli=shared,mysqlnd \ - --with-mysql-sock=/run/mysqld/mysqld.sock \ - --enable-mysqlnd=shared \ - --enable-opcache=shared \ - --with-openssl=shared \ - --with-kerberos \ - --with-system-ciphers \ - --with-password-argon2 \ - --enable-pcntl=shared \ - --with-external-pcre \ - $without_pcre_jit \ - --enable-pdo=shared \ - --with-pdo-dblib=shared,/usr \ - --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-odbc=shared,unixODBC,/usr \ - --with-pdo-pgsql=shared \ - --with-pdo-sqlite=shared \ - --with-pgsql=shared \ - --enable-phar=shared \ - --enable-posix=shared \ - --with-pspell=shared \ - --without-readline \ - --enable-session=shared \ - --enable-shmop=shared \ - --enable-simplexml=shared \ - --with-snmp=shared \ - --enable-soap=shared \ - --with-sodium=shared \ - --enable-sockets=shared \ - --with-sqlite3=shared \ - --enable-sysvmsg=shared \ - --enable-sysvsem=shared \ - --enable-sysvshm=shared \ - --with-tidy=shared \ - --enable-tokenizer=shared \ - --with-unixODBC=shared,/usr \ - --enable-xml=shared \ - --enable-xmlreader=shared \ - --enable-xmlwriter=shared \ - --with-xsl=shared \ - --with-zip=shared \ - --with-zlib \ - "$@" - make -} - -build() { - # build phpcgi and apache2 SAPIs first - # because not fixed https://bugs.php.net/bug.php?id=52419 - # apache2 module - _build --disable-phpdbg \ - --disable-cli \ - --with-apxs2 - mv libs/libphp.so sapi/apache2handler/mod_php$suffix.so - - _build --enable-phpdbg \ - --with-pear=/usr/share/php8 \ - --enable-fpm \ - --enable-litespeed \ - --enable-embed -} - -check() { - # PHP is so stupid that it's not able to resolve dependencies - # between extensions and load them in correct order, so we must - # help it... - # opcache is Zend extension, it's handled specially in Makefile - local php_modules=$(_extensions_by_load_order \ - | grep -vx opcache \ - | xargs -n 1 printf "'$BUILD_ROOT/modules/%s.la' ") - sed -i "/^PHP_TEST_SHARED_EXTENSIONS/,/extension=/ \ - s|in \$(PHP_MODULES)\"*|in $php_modules|" Makefile - - # XXX: Few tests fail on the named platforms. - # Ignore it for now and continue build even on test failures. - local allow_fail='no' - case "$CARCH" in - x86 | s390x ) allow_fail='yes' - esac - - TESTS="${TESTS:- --show-diff}" NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \ - SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \ - TZ='' LANG='' LC_ALL='' \ - TRAVIS=true SKIP_IO_CAPTURE_TESTS=1 \ - make test || [ "$allow_fail" = yes ] - - echo 'NOTE: We have skipped quite a lot tests, see disabled-tests.list.' -} - -package() { - make -j1 INSTALL_ROOT="$PKG_DEST" install - - install -Dm644 php.ini-production "$PKG_DEST"/etc/php8/php.ini - - local file; for file in pear peardev pecl; do - sed -i -e "s|/usr/bin/php|/usr/bin/php$suffix|g" \ - -e "s|PHP=php|PHP=php$suffix|" \ - "$PKG_DEST"/usr/bin/$file - done - - find "$PKG_DEST" -name '.*' -print0 | xargs -0 rm -rf - rmdir "$PKG_DEST"/var/run - - if [ "$_default_php" = yes ]; then - ln -s php$suffix "$PKG_DEST"/usr/bin/php - fi -} - diff --git a/repo/php8/sharedir.patch b/repo/php8/sharedir.patch deleted file mode 100644 index 7d5c104..0000000 --- a/repo/php8/sharedir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/php.ini-production -+++ b/php.ini-production -@@ -742,7 +742,7 @@ - ;;;;;;;;;;;;;;;;;;;;;;;;; - - ; UNIX: "/path1:/path2" --;include_path = ".:/php/includes" -+include_path = ".:/usr/share/php8" - ; - ; Windows: "\path1;\path2" - ;include_path = ".;c:\php\includes" diff --git a/repo/php8/xfail-openssl-1.1-test.patch b/repo/php8/xfail-openssl-1.1-test.patch deleted file mode 100644 index f607cc1..0000000 --- a/repo/php8/xfail-openssl-1.1-test.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ext/openssl/tests/openssl_error_string_basic.phpt b/ext/openssl/tests/openssl_error_string_basic.phpt -index e4ea264b3b..fd1f7ef9d3 100644 ---- a/ext/openssl/tests/openssl_error_string_basic.phpt -+++ b/ext/openssl/tests/openssl_error_string_basic.phpt -@@ -2,6 +2,8 @@ - openssl_error_string() tests - --SKIPIF-- - <?php if (!extension_loaded("openssl")) print "skip"; ?> -+--XFAIL-- -+Somehow unstable - --FILE-- - <?php - // helper function to check openssl errors diff --git a/repo/picard/picard.xibuild b/repo/picard/picard.xibuild new file mode 100644 index 0000000..1c8facc --- /dev/null +++ b/repo/picard/picard.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="picard" +DESC="Official MusicBrainz tagger" + +MAKEDEPS="gettext python-fasteners" +DEPS="python-fasteners python-dateutil python-yaml mutagen " + +PKG_VER=2.8.3 +SOURCE="https://github.com/metabrainz/picard/archive/release-$PKG_VER.tar.gz" + +build() { + python3 setup.py config +} + +package() { + python3 setup.py install \ + --root="$PKG_DEST" \ + --disable-autoupdate +} + diff --git a/repo/poetry/poetry.xibuild b/repo/poetry/poetry.xibuild index 1a0c230..38c6d69 100644 --- a/repo/poetry/poetry.xibuild +++ b/repo/poetry/poetry.xibuild @@ -1,35 +1,23 @@ #!/bin/sh NAME="poetry" -DESC="Python dependency management and packaging system" +DESC="Python3 dependency management and packaging system" -MAKEDEPS="python-poetry-core python-build python-installer python-pyrsistent python-lark python-tomlkit" +MAKEDEPS="python-build python-installer python-six python-jsonschema python-poetry-core python-cachecontrol python-cachy python-cleo python-clikit python-crashtest python-keyring python-pexpect python-pkginfo python-requests-toolbelt python-shellingham python-virtualenv" -PKG_VER=1.2.0 -SOURCE="https://github.com/sdispater/poetry/archive/$PKG_VER.tar.gz" - -ADDITIONAL=" -fix-packaging-tags.patch -" +PKG_VER=1.2.1 +SOURCE="https://github.com/python-poetry/poetry/archive/$PKG_VER.tar.gz" prepare() { - apply_patches git init } build() { - python3 -m build --no-isolation --skip-dependency-check --wheel + python3 -m build --wheel } package() { - python3 -m installer -d "$PKG_DEST" --compile-bytecode 0 \ - dist/poetry-$PKG_VER-py2.py3-none-any.whl - - # remove conflicts with files owned by py3-poetry-core (direct dependency of poetry) - # see: https://github.com/python-poetry/poetry/issues/2800 - local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])") - rm "$PKG_DEST/$sitedir"/poetry/__init__.py \ - "$PKG_DEST/$sitedir"/poetry/__pycache__/__init__.cpython-*.pyc \ - "$PKG_DEST/$sitedir"/poetry/json/schemas/poetry-schema.json + python3 -m installer -d "$PKG_DEST" \ + dist/poetry-$PKG_VER-py3-none-any.whl } diff --git a/repo/polybar/polybar.xibuild b/repo/polybar/polybar.xibuild index 20a46dc..72a8ed4 100644 --- a/repo/polybar/polybar.xibuild +++ b/repo/polybar/polybar.xibuild @@ -3,8 +3,7 @@ NAME="polybar" DESC="fast and easy-to-use tool for creating status bars" -MAKEDEPS="cmake " -DEPS="alsa-lib toybox cairo fontconfig freetype2 jsoncpp curl libmpdclient pulseaudio libuv musl libxcb xcb-util-cursor xcb-util-wm " +MAKEDEPS="cmake alsa-lib toybox cairo fontconfig freetype2 jsoncpp curl libmpdclient pulseaudio libuv musl libxcb xcb-util-cursor xcb-util-wm xcb-proto" PKG_VER=3.6.3 SOURCE="https://github.com/polybar/polybar/archive/$PKG_VER.tar.gz" diff --git a/repo/proxychains-ng/proxychains-ng.xibuild b/repo/proxychains-ng/proxychains-ng.xibuild new file mode 100644 index 0000000..92b953b --- /dev/null +++ b/repo/proxychains-ng/proxychains-ng.xibuild @@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="proxychains-ng" +DESC="This tool provides proxy server support to any app." + +MAKEDEPS="musl" + +PKG_VER=4.16 +SOURCE="https://github.com/rofl0r/proxychains-ng/archive/v$PKG_VER.zip" + +build() { + cd "$BUILD_ROOT" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/proxychains + make +} + +package() { + cd "$BUILD_ROOT" + make DESTDIR="$PKG_DEST" install install-config + ln -s proxychains4 "$PKG_DEST"/usr/bin/proxychains +} + diff --git a/repo/pvoc/fix-cstdint-missing.patch b/repo/pvoc/fix-cstdint-missing.patch new file mode 100644 index 0000000..785288c --- /dev/null +++ b/repo/pvoc/fix-cstdint-missing.patch @@ -0,0 +1,33 @@ +--- build.orig/basics.h 2023-01-28 23:45:55.808091774 +0000 ++++ build/basics.h 2023-01-28 23:47:00.731096985 +0000 +@@ -38,6 +38,7 @@ + #define _ISOC99_SOURCE 1 + #define _ISOC9X_SOURCE 1 + ++#include <cstdint> + #include <malloc.h> + #include <stdlib.h> + #include <string.h> +@@ -77,14 +78,14 @@ + #define MIN_GAIN .000001 /* -120 dB */ + #define NOISE_FLOOR .00000000000005 /* -266 dB */ + +-typedef __int8_t int8; +-typedef __uint8_t uint8; +-typedef __int16_t int16; +-typedef __uint16_t uint16; +-typedef __int32_t int32; +-typedef __uint32_t uint32; +-typedef __int64_t int64; +-typedef __uint64_t uint64; ++typedef int8_t int8; ++typedef uint8_t uint8; ++typedef int16_t int16; ++typedef uint16_t uint16; ++typedef int32_t int32; ++typedef uint32_t uint32; ++typedef int64_t int64; ++typedef uint64_t uint64; + + typedef struct { + const char * name; diff --git a/repo/pvoc/pvoc.xibuild b/repo/pvoc/pvoc.xibuild new file mode 100644 index 0000000..133ead0 --- /dev/null +++ b/repo/pvoc/pvoc.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="pvoc" +DESC="LADSPLA plugins and a tool for time compression/expansion using phase-vocoding" + +MAKEDEPS="make fftw libsndfile ladspa " + +PKG_VER=0.1.12 +SOURCE="http://quitte.de/dsp/pvoc_${PKG_VER}.tar.gz" +ADDITIONAL="fix-cstdint-missing.patch" + +prepare () { + apply_patches +} + +build () { + make PREFIX=/usr +} + +package () { + make PREFIX=$PKG_DEST/usr install +} diff --git a/repo/python-aiorpcx/python-aiorpcx.xibuild b/repo/python-aiorpcx/python-aiorpcx.xibuild index 5641540..38e88bc 100644 --- a/repo/python-aiorpcx/python-aiorpcx.xibuild +++ b/repo/python-aiorpcx/python-aiorpcx.xibuild @@ -4,14 +4,14 @@ MAKEDEPS="python" DEPS="python-websockets" PKG_VER=0.22.1 -SOURCE=https://files.pythonhosted.org/packages/source/a/aiorpcx/aiorpcx-$PKG_VER.tar.gz +SOURCE=https://files.pythonhosted.org/packages/source/a/aiorpcX/aiorpcX-$PKG_VER.tar.gz MAKEDEPS="python" DESC="Generic async RPC implementation, including JSON-RPC" build() { - python setup.py build + python -m build --no-isolation --wheel } package () { - python setup.py install --root="$PKG_DEST" --optimize=1 + python -m installer -d "$PKG_DEST" dist/aiorpcX-$PKG_VER-py3-none-any.whl } diff --git a/repo/python-cachecontrol/python-cachecontrol.xibuild b/repo/python-cachecontrol/python-cachecontrol.xibuild new file mode 100644 index 0000000..26c15ce --- /dev/null +++ b/repo/python-cachecontrol/python-cachecontrol.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.12.11 +SOURCE=https://files.pythonhosted.org/packages/source/C/CacheControl/CacheControl-$PKG_VER.tar.gz +MAKEDEPS="python" +DEPS="python-msgpack" +DESC="httplib2 caching for requests" + +build() { + python -m build --no-isolation --wheel +} + +package () { + python -m installer -d "$PKG_DEST" dist/CacheControl-$PKG_VER-py2.py3-none-any.whl +} diff --git a/repo/python-cachy/python-cachy.xibuild b/repo/python-cachy/python-cachy.xibuild new file mode 100644 index 0000000..a48f1c1 --- /dev/null +++ b/repo/python-cachy/python-cachy.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.3.0 +SOURCE=https://files.pythonhosted.org/packages/source/c/cachy/cachy-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Cachy provides a simple yet effective caching library." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-cleo/python-cleo.xibuild b/repo/python-cleo/python-cleo.xibuild new file mode 100644 index 0000000..dd2c1f0 --- /dev/null +++ b/repo/python-cleo/python-cleo.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=2.0.1 +SOURCE=https://files.pythonhosted.org/packages/source/c/cleo/cleo-$PKG_VER.tar.gz +MAKEDEPS="python" +DEPS="rapidfuzz" +DESC="Cleo allows you to create beautiful and testable command-line interfaces." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-click-default-group/python-click-default-group.xibuild b/repo/python-click-default-group/python-click-default-group.xibuild new file mode 100644 index 0000000..3341ee6 --- /dev/null +++ b/repo/python-click-default-group/python-click-default-group.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=1.2.2 +SOURCE=https://files.pythonhosted.org/packages/source/c/click-default-group/click-default-group-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Extends click.Group to invoke a command without explicit subcommand name" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-clikit/python-clikit.xibuild b/repo/python-clikit/python-clikit.xibuild new file mode 100644 index 0000000..bbff336 --- /dev/null +++ b/repo/python-clikit/python-clikit.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.6.2 +SOURCE=https://files.pythonhosted.org/packages/source/c/clikit/clikit-$PKG_VER.tar.gz +MAKEDEPS="python" +DEPS="pastel pylev" +DESC="CliKit is a group of utilities to build beautiful and testable command line interfaces." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-crashtest/python-crashtest.xibuild b/repo/python-crashtest/python-crashtest.xibuild new file mode 100644 index 0000000..b453250 --- /dev/null +++ b/repo/python-crashtest/python-crashtest.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.4.1 +SOURCE=https://files.pythonhosted.org/packages/source/c/crashtest/crashtest-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Manage Python errors with ease" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-dateutil/python-dateutil.xibuild b/repo/python-dateutil/python-dateutil.xibuild new file mode 100644 index 0000000..ff82141 --- /dev/null +++ b/repo/python-dateutil/python-dateutil.xibuild @@ -0,0 +1,32 @@ +#!/bin/sh + +NAME="python-dateutil" +DESC="Python3 extensions for datetime module" + +MAKEDEPS="" + +PKG_VER=2.8.2 +SOURCE="https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-$PKG_VER.tar.gz" + +prepare() { + apply_patches + + # Generate _version.py ourselves since we don't use setuptools_scm + cat <<- EOF >dateutil/_version.py + # coding: utf-8 + version = '$PKG_VER' + version_tuple = (2, 8, 2) + EOF + + sed -e '/setuptools_scm/d' -i setup.cfg + sed -e "s/setup(/setup(\n version='$PKG_VER',/" -i setup.py +} + +build() { + python3 setup.py build +} + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" +} + diff --git a/repo/python-distlib/python-distlib.xibuild b/repo/python-distlib/python-distlib.xibuild new file mode 100644 index 0000000..e7aa0de --- /dev/null +++ b/repo/python-distlib/python-distlib.xibuild @@ -0,0 +1,16 @@ +#!/bin/sh + +MAKEDEPS="python python-pep517" + +PKG_VER=0.3.6 +SOURCE=https://files.pythonhosted.org/packages/source/d/distlib/distlib-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Distribution utilities" + +build() { + python -m build --no-isolation --wheel +} + +package () { + python -m installer -d "$PKG_DEST" dist/distlib-$PKG_VER-py2.py3-none-any.whl +} diff --git a/repo/python-docutils/python-docutils.xibuild b/repo/python-docutils/python-docutils.xibuild index cd1c45a..2721f46 100644 --- a/repo/python-docutils/python-docutils.xibuild +++ b/repo/python-docutils/python-docutils.xibuild @@ -3,8 +3,8 @@ MAKEDEPS="python" DEPS="" -PKG_VER=0.18.1 -SOURCE=https://files.pythonhosted.org/packages/57/b1/b880503681ea1b64df05106fc7e3c4e3801736cf63deffc6fa7fc5404cf5/docutils-$PKG_VER.tar.gz +PKG_VER=0.19 +SOURCE=https://files.pythonhosted.org/packages/source/d/docutils/docutils-$PKG_VER.tar.gz DESC="Docutils -- Python Documentation Utilities" build() { diff --git a/repo/python-editables/python-editables.xibuild b/repo/python-editables/python-editables.xibuild new file mode 100644 index 0000000..13dab76 --- /dev/null +++ b/repo/python-editables/python-editables.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.3 +SOURCE=https://files.pythonhosted.org/packages/source/e/editables/editables-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Editable installations" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-fasteners/python-fasteners.xibuild b/repo/python-fasteners/python-fasteners.xibuild new file mode 100644 index 0000000..ff56baf --- /dev/null +++ b/repo/python-fasteners/python-fasteners.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="python-fasteners" +DESC="A python package that provides useful locks" + +MAKEDEPS="python" + +PKG_VER=0.16.3 +SOURCE="https://files.pythonhosted.org/packages/source/f/fasteners/fasteners-$PKG_VER.tar.gz" + +build() { + python3 setup.py build +} + +check() { + python3 setup.py check +} + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" +} + diff --git a/repo/python-flit-core/python-flit-core.xibuild b/repo/python-flit-core/python-flit-core.xibuild index 2a95e8c..f11f83f 100644 --- a/repo/python-flit-core/python-flit-core.xibuild +++ b/repo/python-flit-core/python-flit-core.xibuild @@ -3,7 +3,7 @@ NAME="python-flit-core" DESC="simple packaging tool for simple packages (core)" -MAKEDEPS="python-installer python-testpath" +MAKEDEPS="python-installer python-pytest python-attrs python-pluggy python-py python-iniconfig" PKG_VER=3.7.1 SOURCE="https://files.pythonhosted.org/packages/source/f/flit/flit-$PKG_VER.tar.gz" @@ -13,10 +13,6 @@ build() { python3 build_dists.py } -check() { - python3 -m pytest -} - package() { python3 -m installer -d "$PKG_DEST" \ dist/flit_core-$PKG_VER-py3-none-any.whl diff --git a/repo/python-flit/python-flit.xibuild b/repo/python-flit/python-flit.xibuild new file mode 100644 index 0000000..f67c571 --- /dev/null +++ b/repo/python-flit/python-flit.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="python-flit" +DESC="simple packaging tool for simple packages" + +MAKEDEPS="python-installer python-flit-core python-tomli-w" +DEPS="python-tomli-w" + +PKG_VER=3.7.1 +SOURCE="https://files.pythonhosted.org/packages/source/f/flit/flit-$PKG_VER.tar.gz" + + +build() { + # temp hack to not pull in all of py3-build + mkdir dist + python3 - <<-EOF + import flit_core.buildapi as buildapi + name = buildapi.build_wheel('./dist') + print(name) + EOF +} + +package() { + python3 -m installer -d "$PKG_DEST" \ + dist/flit-$PKG_VER-py3-none-any.whl +} + diff --git a/repo/python-flit/tests-use-python3.patch b/repo/python-flit/tests-use-python3.patch new file mode 100644 index 0000000..ab4a3bb --- /dev/null +++ b/repo/python-flit/tests-use-python3.patch @@ -0,0 +1,18 @@ +diff --git a/tests/test_find_python_executable.py b/tests/test_find_python_executable.py +index 161dc7a..c6f0ebc 100644 +--- a/tests/test_find_python_executable.py ++++ b/tests/test_find_python_executable.py +@@ -16,11 +16,11 @@ def test_self(): + + + def test_abs(): +- assert find_python_executable("/usr/bin/python") == "/usr/bin/python" ++ assert find_python_executable("/usr/bin/python3") == "/usr/bin/python3" + + + def test_find_in_path(): +- assert os.path.isabs(find_python_executable("python")) ++ assert os.path.isabs(find_python_executable("python3")) + + + @pytest.mark.parametrize("bad_python_name", ["pyhton", "ls", "."]) diff --git a/repo/python-gobject/python-gobject.xibuild b/repo/python-gobject/python-gobject.xibuild index 7256af3..a05674f 100644 --- a/repo/python-gobject/python-gobject.xibuild +++ b/repo/python-gobject/python-gobject.xibuild @@ -12,6 +12,7 @@ build() { cd build meson \ + -Dprefix=/usr \ -Dpython=python3 \ .. diff --git a/repo/python-gpep517/gpep517 b/repo/python-gpep517/gpep517 new file mode 100644 index 0000000..b8b10c0 --- /dev/null +++ b/repo/python-gpep517/gpep517 @@ -0,0 +1,6 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +import sys +from gpep517.__main__ import main +if __name__ == "__main__": + sys.exit(main()) diff --git a/repo/python-gpep517/python-gpep517.xibuild b/repo/python-gpep517/python-gpep517.xibuild new file mode 100644 index 0000000..a46f3b9 --- /dev/null +++ b/repo/python-gpep517/python-gpep517.xibuild @@ -0,0 +1,26 @@ +#!/bin/sh + +NAME="python-gpep517" +DESC="Minimal backend script to aid installing Python packages through PEP 517-compliant build systems" + +MAKEDEPS="python" + +PKG_VER=9 +SOURCE="https://github.com/mgorny/gpep517/archive/v$PKG_VER/gpep517-v$PKG_VER.tar.gz" + +ADDITIONAL=" +gpep517 +" +check() { + python3 -m gpep517 --help +} + +package() { + local sitedir="$(python3 -c 'import site;print(site.getsitepackages()[0])')" + mkdir -p "$PKG_DEST/$sitedir" + cp -a gpep517 "$PKG_DEST/$sitedir" + + mkdir -p "$PKG_DEST/usr/bin" + cp -a gpep517 "$PKG_DEST"/usr/bin +} + diff --git a/repo/python-hatch-vcs/python-hatch-vcs.xibuild b/repo/python-hatch-vcs/python-hatch-vcs.xibuild new file mode 100644 index 0000000..f14763e --- /dev/null +++ b/repo/python-hatch-vcs/python-hatch-vcs.xibuild @@ -0,0 +1,15 @@ +#!/bin/sh + +MAKEDEPS="python python-hatchling" + +PKG_VER=0.3.0 +SOURCE=https://files.pythonhosted.org/packages/source/h/hatch-vcs/hatch_vcs-$PKG_VER.tar.gz +DESC="Hatch plugin for versioning with your preferred VCS" + +build() { + python -m build --skip-dependency-check --no-isolation --wheel . +} + +package () { + python -m installer -d "$PKG_DEST" dist/hatch_vcs-$PKG_VER-py3-none-any.whl +} diff --git a/repo/python-hatchling/python-hatchling.xibuild b/repo/python-hatchling/python-hatchling.xibuild new file mode 100644 index 0000000..0520517 --- /dev/null +++ b/repo/python-hatchling/python-hatchling.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python python-editables python-pathspec" + +PKG_VER=1.11.1 +SOURCE=https://files.pythonhosted.org/packages/source/h/hatchling/hatchling-$PKG_VER.tar.gz + +MAKEDEPS="python" +DESC="Modern, extensible Python build backend" + +build() { + python -m build --no-isolation --wheel +} + +package () { + python -m installer -d "$PKG_DEST" dist/hatchling-$PKG_VER-py3-none-any.whl +} diff --git a/repo/python-keyring/python-keyring.xibuild b/repo/python-keyring/python-keyring.xibuild new file mode 100644 index 0000000..b229200 --- /dev/null +++ b/repo/python-keyring/python-keyring.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=23.13.1 +SOURCE=https://files.pythonhosted.org/packages/source/k/keyring/keyring-$PKG_VER.tar.gz +MAKEDEPS="python" +DEPS="python-secretstorage" +DESC="Store and access your passwords safely." + +build() { + python -m build --no-isolation --wheel +} + +package () { + python -m installer -d "$PKG_DEST" dist/keyring-$PKG_VER-py3-none-any.whl +} diff --git a/repo/python-mock/python-mock.xibuild b/repo/python-mock/python-mock.xibuild new file mode 100644 index 0000000..e26278b --- /dev/null +++ b/repo/python-mock/python-mock.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +NAME="python-mock" +DESC="Python3 Mocking and Patching Library for Testing" + +MAKEDEPS="python-setuptools" + +PKG_VER=4.0.3 +SOURCE="https://files.pythonhosted.org/packages/source/m/mock/mock-$PKG_VER.tar.gz" + +build() { + python3 setup.py build +} + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" +} diff --git a/repo/python-nio/python-nio.xibuild b/repo/python-nio/python-nio.xibuild index 93bdead..d817df4 100644 --- a/repo/python-nio/python-nio.xibuild +++ b/repo/python-nio/python-nio.xibuild @@ -5,6 +5,7 @@ MAKEDEPS="python" PKG_VER=3.4.2 SOURCE=https://files.pythonhosted.org/packages/source/n/nio/nio-$PKG_VER.tar.gz MAKEDEPS="python" +DEPS="python-safepickle" DESC="A framework for building blocks and modules for the nio Platform" prepare () { diff --git a/repo/python-parsing/python-parsing.xibuild b/repo/python-parsing/python-parsing.xibuild new file mode 100644 index 0000000..70ccca8 --- /dev/null +++ b/repo/python-parsing/python-parsing.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=2.0.0 +SOURCE=https://files.pythonhosted.org/packages/source/p/parsing/parsing-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="A pure-Python module that implements an LR(1) parser generator, as well as CFSM and GLR parser drivers." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pastel/python-pastel.xibuild b/repo/python-pastel/python-pastel.xibuild new file mode 100644 index 0000000..014c274 --- /dev/null +++ b/repo/python-pastel/python-pastel.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.2.1 +SOURCE=https://files.pythonhosted.org/packages/source/p/pastel/pastel-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Bring colors to your terminal." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pathspec/python-pathspec.xibuild b/repo/python-pathspec/python-pathspec.xibuild new file mode 100644 index 0000000..d714aa9 --- /dev/null +++ b/repo/python-pathspec/python-pathspec.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.10.3 +SOURCE=https://files.pythonhosted.org/packages/source/p/pathspec/pathspec-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Utility library for gitignore style pattern matching of file paths." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pep517/python-pep517.xibuild b/repo/python-pep517/python-pep517.xibuild index f82ad58..dbb28c1 100644 --- a/repo/python-pep517/python-pep517.xibuild +++ b/repo/python-pep517/python-pep517.xibuild @@ -3,14 +3,14 @@ MAKEDEPS="python" DEPS="python python-tomli" -PKG_VER=0.12.0 -SOURCE="https://files.pythonhosted.org/packages/source/p/pep517/pep517-$PKG_VER.tar.gz" +PKG_VER=0.13.0 +SOURCE="https://files.pythonhosted.org/packages/4d/19/e11fcc88288f68ae48e3aa9cf5a6fd092a88e629cb723465666c44d487a0/pep517-$PKG_VER.tar.gz" DESC="Correct PEP517 package builder" build() { - python setup.py build + python -m build --no-isolation --wheel } package () { - python setup.py install --root="$PKG_DEST" --optimize=1 + python -m installer -d "$PKG_DEST" dist/pep517-$PKG_VER-py3-none-any.whl } diff --git a/repo/python-pexpect/python-pexpect.xibuild b/repo/python-pexpect/python-pexpect.xibuild new file mode 100644 index 0000000..2420b9b --- /dev/null +++ b/repo/python-pexpect/python-pexpect.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=4.8.0 +SOURCE=https://files.pythonhosted.org/packages/source/p/pexpect/pexpect-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Pexpect allows easy control of interactive console applications." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pillow/python-pillow.xibuild b/repo/python-pillow/python-pillow.xibuild index c7253e8..707176e 100644 --- a/repo/python-pillow/python-pillow.xibuild +++ b/repo/python-pillow/python-pillow.xibuild @@ -4,7 +4,7 @@ MAKEDEPS="python" DEPS="python-olefile python-sphinx python-sphinx-python-copybutton python-sphinx-python-issues python-sphinx-python-removed-python-in python-sphinx-python-rtd-python-theme python-sphinxext-python-opengraph python-check-python-manifest python-coverage python-defusedxml python-markdown2 python-olefile python-packaging python-pyroma python-pytest python-pytest-python-cov python-pytest-python-timeout" PKG_VER=9.1.1 -SOURCE=https://files.pythonhosted.org/packages/source/p/pillow/pillow-$PKG_VER.tar.gz +SOURCE=https://files.pythonhosted.org/packages/source/P/Pillow/Pillow-$PKG_VER.tar.gz MAKEDEPS="python" DESC="Python Imaging Library (Fork)" diff --git a/repo/python-pkginfo/python-pkginfo.xibuild b/repo/python-pkginfo/python-pkginfo.xibuild new file mode 100644 index 0000000..bf27af1 --- /dev/null +++ b/repo/python-pkginfo/python-pkginfo.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=1.9.2 +SOURCE=https://files.pythonhosted.org/packages/source/p/pkginfo/pkginfo-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Query metadatdata from sdists / bdists / installed packages." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-platformdirs/python-platformdirs.xibuild b/repo/python-platformdirs/python-platformdirs.xibuild new file mode 100644 index 0000000..2b9ac5e --- /dev/null +++ b/repo/python-platformdirs/python-platformdirs.xibuild @@ -0,0 +1,16 @@ +#!/bin/sh + +MAKEDEPS="python python-hatchling python-hatch-vcs" + + +PKG_VER=2.6.0 +SOURCE=https://files.pythonhosted.org/packages/source/p/platformdirs/platformdirs-$PKG_VER.tar.gz +DESC="A small Python package for determining appropriate platform-specific dirs, e.g. a 'user data dir'." + +build() { + python -m build --wheel --no-isolation +} + +package () { + python -m installer -d "$PKG_DEST" dist/platformdirs-$PKG_VER-py3-none-any.whl +} diff --git a/repo/python-ply/no-py3-six.patch b/repo/python-ply/no-py3-six.patch new file mode 100644 index 0000000..5a4c665 --- /dev/null +++ b/repo/python-ply/no-py3-six.patch @@ -0,0 +1,13 @@ +diff --git a/test/testcpp.py b/test/testcpp.py +index 2e98edd..7134244 100644 +--- a/test/testcpp.py ++++ b/test/testcpp.py +@@ -1,7 +1,7 @@ + from unittest import TestCase, main + + from multiprocessing import Process, Queue +-from six.moves.queue import Empty ++from queue import Empty + + import sys + diff --git a/repo/python-ply/python-ply.xibuild b/repo/python-ply/python-ply.xibuild index f977f12..791b2c2 100644 --- a/repo/python-ply/python-ply.xibuild +++ b/repo/python-ply/python-ply.xibuild @@ -1,17 +1,23 @@ #!/bin/sh -MAKEDEPS="python" +NAME="python-ply" +DESC="Python Lex & Yacc" +MAKEDEPS="python" PKG_VER=3.11 -SOURCE=https://files.pythonhosted.org/packages/source/p/ply/ply-$PKG_VER.tar.gz -MAKEDEPS="python" -DESC="Python Lex DESC="%desc%" Yacc" +SOURCE="https://github.com/dabeaz/ply/archive/$PKG_VER.tar.gz" + +ADDITIONAL=" +no-py3-six.patch +" build() { - python setup.py build + python3 setup.py build } -package () { - python setup.py install --root="$PKG_DEST" --optimize=1 + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" } + diff --git a/repo/python-poetry-core/python-poetry-core.xibuild b/repo/python-poetry-core/python-poetry-core.xibuild index 2dbc39b..4f32131 100644 --- a/repo/python-poetry-core/python-poetry-core.xibuild +++ b/repo/python-poetry-core/python-poetry-core.xibuild @@ -3,28 +3,22 @@ NAME="python-poetry-core" DESC="PEP 517 build backend implementation for Poetry" -MAKEDEPS="python-pep517 python-build python-installer " +MAKEDEPS="python-build python-installer" -PKG_VER=1.1.0 +PKG_VER=1.4.0 SOURCE="https://github.com/python-poetry/poetry-core/archive/$PKG_VER.tar.gz" build() { - # poetry-core excludes files specified in .gitignore - # fixed by setting GIT_DIR away from the aports tree's top-level directory - GIT_DIR="$PWD" python3 -m build --no-isolation --skip-dependency-check --wheel + GIT_DIR="$PWD" python3 -m build --wheel } + package() { python3 -m installer -d "$PKG_DEST" \ - dist/poetry_core-$PKG_VER-py2.py3-none-any.whl + dist/poetry_core-$PKG_VER-py3-none-any.whl # remove vendored versions of installed modules local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])") rm -r "$PKG_DEST/$sitedir"/poetry/core/_vendor - - install -Dm644 poetry/core/json/schemas/poetry-schema.json \ - "$PKG_DEST/$sitedir"/poetry/core/json/schemas/poetry-schema.json - install -Dm644 poetry/core/spdx/data/licenses.json \ - "$PKG_DEST/$sitedir"/poetry/core/spdx/data/licenses.json } diff --git a/repo/python-ptyprocess/python-ptyprocess.xibuild b/repo/python-ptyprocess/python-ptyprocess.xibuild new file mode 100644 index 0000000..3a9e281 --- /dev/null +++ b/repo/python-ptyprocess/python-ptyprocess.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.7.0 +SOURCE=https://files.pythonhosted.org/packages/source/p/ptyprocess/ptyprocess-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Run a subprocess in a pseudo terminal" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pygments/python-pygments.xibuild b/repo/python-pygments/python-pygments.xibuild index 3a8d13a..c4218be 100644 --- a/repo/python-pygments/python-pygments.xibuild +++ b/repo/python-pygments/python-pygments.xibuild @@ -1,6 +1,6 @@ #!/bin/sh -MAKEDEPS="python " +MAKEDEPS="python python-setuptools" DEPS="" PKG_VER=2.13.0 diff --git a/repo/python-pylev/python-pylev.xibuild b/repo/python-pylev/python-pylev.xibuild new file mode 100644 index 0000000..b84245d --- /dev/null +++ b/repo/python-pylev/python-pylev.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=1.4.0 +SOURCE=https://files.pythonhosted.org/packages/source/p/pylev/pylev-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="A pure Python Levenshtein implementation that's not freaking GPL'd." + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-pyopenssl/python-pyopenssl.xibuild b/repo/python-pyopenssl/python-pyopenssl.xibuild index 1aca160..40d9b19 100644 --- a/repo/python-pyopenssl/python-pyopenssl.xibuild +++ b/repo/python-pyopenssl/python-pyopenssl.xibuild @@ -4,7 +4,7 @@ MAKEDEPS="python" DEPS="python-cryptography python-sphinx python-sphinx-python-rtd-python-theme python-flaky python-pretend python-pytest" PKG_VER=22.0.0 -SOURCE=https://files.pythonhosted.org/packages/source/p/pyopenssl/pyopenssl-$PKG_VER.tar.gz +SOURCE=https://files.pythonhosted.org/packages/source/p/pyOpenSSL/pyOpenSSL-$PKG_VER.tar.gz MAKEDEPS="python" DESC="Python wrapper module around the OpenSSL library" diff --git a/repo/python-pyparsing/python-pyparsing.xibuild b/repo/python-pyparsing/python-pyparsing.xibuild index a2772b3..beb20ba 100644 --- a/repo/python-pyparsing/python-pyparsing.xibuild +++ b/repo/python-pyparsing/python-pyparsing.xibuild @@ -1,6 +1,6 @@ #!/bin/sh -MAKEDEPS="python " +MAKEDEPS="python python-gpep517 python-flit" DEPS="" PKG_VER=3.0.9 @@ -8,9 +8,15 @@ SOURCE=https://github.com/pyparsing/pyparsing/archive/pyparsing_$PKG_VER.tar.gz DESC="General parsing module for Python" build() { - python setup.py build + mkdir -p dist + local backend="$(python3 -m gpep517 get-backend)" + python3 -m gpep517 build-wheel \ + --wheel-dir dist \ + --backend "$backend" \ + --output-fd 1 } -package () { - python setup.py install --root="$PKG_DEST" --optimize=1 +package() { + python3 -m installer -d "$PKG_DEST" \ + dist/pyparsing-$PKG_VER-py3-none-any.whl } diff --git a/repo/python-pyqt5/python-pyqt5.xibuild b/repo/python-pyqt5/python-pyqt5.xibuild index e4cee15..55cba33 100644 --- a/repo/python-pyqt5/python-pyqt5.xibuild +++ b/repo/python-pyqt5/python-pyqt5.xibuild @@ -1,7 +1,7 @@ #!/bin/sh -MAKEDEPS="python python-sip" -DEPS="pyqt5-sip" +MAKEDEPS="python python-sip python-pyqt-builder" +DEPS="pyqt5-sip " PKG_VER=5.15.7 SOURCE=https://pypi.python.org/packages/source/P/PyQt5/PyQt5-$PKG_VER.tar.gz diff --git a/repo/python-pyqtwebengine/python-pyqtwebengine.xibuild b/repo/python-pyqtwebengine/python-pyqtwebengine.xibuild deleted file mode 100644 index cbc2bf8..0000000 --- a/repo/python-pyqtwebengine/python-pyqtwebengine.xibuild +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -MAKEDEPS="python python-toml qt5-qtwebengine" -DEPS="python" - -PKG_VER=5.15.6 -SOURCE="https://pypi.python.org/packages/source/P/PyQtWebEngine/PyQtWebEngine-$PKG_VER.tar.gz" -MAKEDEPS="python" -DESC="Python bindings for the Qt WebEngine framework" - -build() { - sip-build \ - --no-make \ - --qmake /usr/lib/qt5/bin/qmake \ - --api-dir /usr/share/qt5/qsci/api/python - make -C build -} - - -check() { - make -C build check -} - -package () { - make DESTDIR="$PKG_VER" INSTALL_ROOT="$PKG_VER" -C build install -j1 -} diff --git a/repo/python-pyrsistent/python-pyrsistent.xibuild b/repo/python-pyrsistent/python-pyrsistent.xibuild index 610a9c3..7a46cdb 100644 --- a/repo/python-pyrsistent/python-pyrsistent.xibuild +++ b/repo/python-pyrsistent/python-pyrsistent.xibuild @@ -17,10 +17,6 @@ build() { python3 setup.py build } -check() { - python3 setup.py test -} - package() { python3 setup.py install --prefix=/usr --root="$PKG_DEST" } diff --git a/repo/python-rapidfuzz/python-rapidfuzz.xibuild b/repo/python-rapidfuzz/python-rapidfuzz.xibuild new file mode 100644 index 0000000..8159fe7 --- /dev/null +++ b/repo/python-rapidfuzz/python-rapidfuzz.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=2.13.7 +SOURCE=https://files.pythonhosted.org/packages/source/r/rapidfuzz/rapidfuzz-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="rapid fuzzy string matching" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-redit/python-redit.xibuild b/repo/python-redit/python-redit.xibuild new file mode 100644 index 0000000..80148ad --- /dev/null +++ b/repo/python-redit/python-redit.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=1.0.2 +SOURCE=https://files.pythonhosted.org/packages/source/r/redit/redit-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Preview recently edited notes and launch editor" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-requests-toolbelt/python-requests-toolbelt.xibuild b/repo/python-requests-toolbelt/python-requests-toolbelt.xibuild new file mode 100644 index 0000000..20f0955 --- /dev/null +++ b/repo/python-requests-toolbelt/python-requests-toolbelt.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.10.1 +SOURCE=https://files.pythonhosted.org/packages/source/r/requests-toolbelt/requests-toolbelt-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="A utility belt for advanced users of python-requests" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-safepickle/python-safepickle.xibuild b/repo/python-safepickle/python-safepickle.xibuild new file mode 100644 index 0000000..02a5752 --- /dev/null +++ b/repo/python-safepickle/python-safepickle.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=0.2.0 +SOURCE=https://files.pythonhosted.org/packages/source/s/safepickle/safepickle-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="An alternative to using Python's pickle" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-secretstorage/python-secretstorage.xibuild b/repo/python-secretstorage/python-secretstorage.xibuild new file mode 100644 index 0000000..21a4db8 --- /dev/null +++ b/repo/python-secretstorage/python-secretstorage.xibuild @@ -0,0 +1,15 @@ +#!/bin/sh + +MAKEDEPS="python" + +PKG_VER=3.3.3 +SOURCE=https://files.pythonhosted.org/packages/source/S/SecretStorage/SecretStorage-$PKG_VER.tar.gz +DESC="Python bindings to FreeDesktop.org Secret Service API" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-setuptools-bootstrap/python-setuptools-bootstrap.xibuild b/repo/python-setuptools-bootstrap/python-setuptools-bootstrap.xibuild new file mode 100644 index 0000000..987f90e --- /dev/null +++ b/repo/python-setuptools-bootstrap/python-setuptools-bootstrap.xibuild @@ -0,0 +1,51 @@ +#!/bin/sh + +NAME="python-setuptools-bootstrap" +DESC="Bootstrap of python setuptools" + +MAKEDEPS="python" + +PKG_VER=65.6.3 +SOURCE="https://github.com/pypa/setuptools.git" +BRANCH=v$PKG_VER + +#prepare() { + + # Unbundle + # rm -rf pkg_resources/extern pkg_resources/_vendor \ + # setuptools/extern setuptools/_vendor + + # Upstream devendoring logic is badly broken, see: + # https://bugs.archlinux.org/task/58670 + # https://github.com/pypa/pip/issues/5429 + # https://github.com/pypa/setuptools/issues/1383 + # The simplest fix is to simply rewrite import paths to use the canonical + # location in the first place + # for _module in setuptools pkg_resources '' ; do + # find . -name \*.py -exec sed -i \ + # -e 's/from '$_module.extern' import/import/' \ + # -e 's/from '$_module.extern'./from /' \ + # -e 's/import '$_module.extern'./import /' \ + # -e "s/__import__('$_module.extern./__import__('/" \ + # {} + + # done + + # Fix post-release tag + #sed -e '/tag_build = .post/d' \ + #-e '/tag_date = 1/d' \ + #-i setup.cfg +#} + +build() { + python3 bootstrap.py + python3 setup.py build +} + +package() { + # Otherwise it complains that build/scripts-3.10 cannot be found + # no other changes noted + mkdir -p build/scripts-3.10 + + python3 setup.py install --root="$PKG_DEST" --skip-build +} + diff --git a/repo/python-setuptools/python-setuptools.xibuild b/repo/python-setuptools/python-setuptools.xibuild index f0e396a..44dea83 100644 --- a/repo/python-setuptools/python-setuptools.xibuild +++ b/repo/python-setuptools/python-setuptools.xibuild @@ -3,10 +3,11 @@ NAME="python-setuptools" DESC="Collection of enhancements to the Python3 distutils" -MAKEDEPS="python" +MAKEDEPS="python-setuptools-bootstrap" -PKG_VER=65.3.0 +PKG_VER=65.6.3 SOURCE="https://github.com/pypa/setuptools.git" +BRANCH=v$PKG_VER #prepare() { diff --git a/repo/python-shellingham/python-shellingham.xibuild b/repo/python-shellingham/python-shellingham.xibuild new file mode 100644 index 0000000..20c3301 --- /dev/null +++ b/repo/python-shellingham/python-shellingham.xibuild @@ -0,0 +1,17 @@ +#!/bin/sh + +MAKEDEPS="python" + + +PKG_VER=1.5.0 +SOURCE=https://files.pythonhosted.org/packages/source/s/shellingham/shellingham-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="Tool to Detect Surrounding Shell" + +build() { + python setup.py build +} + +package () { + python setup.py install --root="$PKG_DEST" --optimize=1 +} diff --git a/repo/python-sip/python-sip.xibuild b/repo/python-sip/python-sip.xibuild index 9ec9c0d..898dc98 100644 --- a/repo/python-sip/python-sip.xibuild +++ b/repo/python-sip/python-sip.xibuild @@ -1,7 +1,7 @@ #!/bin/sh -MAKEDEPS="python" -DEPS="python-packaging python-ply python-setuptools python-toml" +MAKEDEPS="python-packaging python-ply python-setuptools python-toml python-ply" +DEPS="python-packaging python-ply python-setuptools python-toml python-ply" PKG_VER=6.6.2 SOURCE=https://files.pythonhosted.org/packages/source/s/sip/sip-$PKG_VER.tar.gz diff --git a/repo/python-sphinx-rtd-theme/python-sphinx-rtd-theme.xibuild b/repo/python-sphinx-rtd-theme/python-sphinx-rtd-theme.xibuild index 3b5c934..c2b942d 100644 --- a/repo/python-sphinx-rtd-theme/python-sphinx-rtd-theme.xibuild +++ b/repo/python-sphinx-rtd-theme/python-sphinx-rtd-theme.xibuild @@ -1,7 +1,7 @@ #!/bin/sh MAKEDEPS="python" -DEPS="python-sphinx python-docutils python-transifex-python-client python-sphinxcontrib-python-httpdomain python-bump2version" +DEPS="python-sphinx python-docutils python-transifex-python-client python-sphinxcontrib-python-httpdomain python-bump2version docutils" PKG_VER=1.0.0 SOURCE=https://files.pythonhosted.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-$PKG_VER.tar.gz diff --git a/repo/python-sphinx/python-sphinx.xibuild b/repo/python-sphinx/python-sphinx.xibuild index 1bfaf8c..9c6b034 100644 --- a/repo/python-sphinx/python-sphinx.xibuild +++ b/repo/python-sphinx/python-sphinx.xibuild @@ -1,16 +1,17 @@ #!/bin/sh -MAKEDEPS="python python-setuptools" -DEPS="python-sphinxcontrib-applehelp python-sphinxcontrib-devhelp python-sphinxcontrib-htmlhelp python-sphinxcontrib-serializinghtml python-sphinxcontrib-qthelp python-Jinja2 python-docutils python-snowballstemmer python-babel python-alabaster python-imagesize python-requests python-packaging python-html5lib python-setuptools" +MAKEDEPS="python python-gpep517" +DEPS="python-sphinxcontrib python-sphinxcontrib python-sphinxcontrib python-sphinxcontrib python-sphinxcontrib python-sphinxcontrib python-Jinja2 python-Pygments python-docutils python-snowballstemmer python-babel python-alabaster python-imagesize python-requests python-packaging python-importlib python-colorama python-sphinxcontrib python-flake8 python-flake8 python-flake8 python-flake8 python-isort python-mypy python-sphinx python-docutils python-types python-types python-pytest python-html5lib python-typed_ast python-cython" -PKG_VER=4.4.0 -SOURCE=https://files.pythonhosted.org/packages/c9/08/c2932e66460cfbc8973928d276dc82ccde2d24b365055eeda9f0afc1951e/Sphinx-$PKG_VER.tar.gz +PKG_VER=5.3.0 +SOURCE="https://github.com/sphinx-doc/sphinx/archive/v$PKG_VER/sphinx-$PKG_VER.tar.gz" DESC="Python documentation generator" build() { - python setup.py build + mkdir dist + python -m gpep517 build-wheel --wheel-dir dist --output-fd 1 } package () { - python setup.py install --root="$PKG_DEST" --optimize=1 + python -m installer -d "$PKG_DEST" dist/sphinx-*.whl } diff --git a/repo/python-tomli-w/python-tomli-w.xibuild b/repo/python-tomli-w/python-tomli-w.xibuild new file mode 100644 index 0000000..24bc5f2 --- /dev/null +++ b/repo/python-tomli-w/python-tomli-w.xibuild @@ -0,0 +1,15 @@ +#!/bin/sh + + +PKG_VER=1.0.0 +SOURCE=https://files.pythonhosted.org/packages/49/05/6bf21838623186b91aedbda06248ad18f03487dc56fbc20e4db384abde6c/tomli_w-$PKG_VER.tar.gz +MAKEDEPS="python" +DESC="A lil' TOML writer" + +build() { + python -m build --no-isolation --wheel +} + +package () { + python -m installer -d "$PKG_DEST" dist/tomli_w-1.0.0-py3-none-any.whl +} diff --git a/repo/python-yaml/python-yaml.xibuild b/repo/python-yaml/python-yaml.xibuild new file mode 100644 index 0000000..07bc59b --- /dev/null +++ b/repo/python-yaml/python-yaml.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="python-yaml" +DESC="Python3 bindings for YAML" + +MAKEDEPS="python yaml " + +PKG_VER=6.0 +SOURCE="https://github.com/yaml/pyyaml/archive/$PKG_VER.tar.gz" + +build() { + python3 setup.py build +} + +check() { + python3 setup.py test +} + +package() { + python3 setup.py install --prefix=/usr --root="$PKG_DEST" +} + diff --git a/repo/python/python.xibuild b/repo/python/python.xibuild index 5444667..01b6729 100644 --- a/repo/python/python.xibuild +++ b/repo/python/python.xibuild @@ -2,7 +2,7 @@ MAKEDEPS="make autoconf automake autoconf-archive sqlite3 expat bzip2 gdbm libffi libnsl libxcrypt openssl zlib grep lv2" -PKG_VER=3.10.7 +PKG_VER=3.10.9 SOURCE=https://www.python.org/ftp/python/$PKG_VER/Python-$PKG_VER.tgz DESC="The Python development environment" ADDITIONAL=" diff --git a/repo/qemu/qemu.xibuild b/repo/qemu/qemu.xibuild index 25906d6..33720d9 100644 --- a/repo/qemu/qemu.xibuild +++ b/repo/qemu/qemu.xibuild @@ -46,7 +46,6 @@ build() { --enable-usb-redir \ --enable-vhost-net \ --enable-virtfs \ - --enable-vnc-png\ --audio-drv-list=alsa,sdl,jack,pa \ --enable-opengl \ --enable-pa \ diff --git a/repo/qt5-qtwebengine/0001-pretend-to-stay-at-5.15.3.patch b/repo/qt5-qtwebengine/0001-pretend-to-stay-at-5.15.3.patch deleted file mode 100644 index 4b2d9fa..0000000 --- a/repo/qt5-qtwebengine/0001-pretend-to-stay-at-5.15.3.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/.qmake.conf -+++ b/.qmake.conf -@@ -5,4 +5,4 @@ QTWEBENGINE_OUT_ROOT = $$shadowed($$PWD) - load(qt_build_config) - CONFIG += warning_clean - --MODULE_VERSION = 5.15.10 -+MODULE_VERSION = 5.15.3 diff --git a/repo/qt5-qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch b/repo/qt5-qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch deleted file mode 100644 index 524d75d..0000000 --- a/repo/qt5-qtwebengine/0010-chromium-musl-Match-syscalls-to-match-musl.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ce23b6a6e5a5ebae15dedeebf7044ac9a0249a80 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 7 Jul 2017 15:24:49 -0700 -Subject: [PATCH] chromium: musl: Match syscalls to match musl - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - chromium/third_party/lss/linux_syscall_support.h | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index 80a3e56..1e57b1a 100644 ---- a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -+++ b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -@@ -824,6 +824,14 @@ struct kernel_statfs { - #endif - - -+#undef stat64 -+#undef fstat64 -+ -+#ifndef __NR_fstatat -+#define __NR_fstatat __NR_fstatat64 -+#endif -+ -+ - #if defined(__x86_64__) - #ifndef ARCH_SET_GS - #define ARCH_SET_GS 0x1001 -@@ -1258,6 +1266,14 @@ struct kernel_statfs { - #ifndef __NR_getrandom - #define __NR_getrandom 318 - #endif -+ -+#ifndef __NR_pread -+#define __NR_pread __NR_pread64 -+#endif -+#ifndef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+#endif -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/repo/qt5-qtwebengine/default-pthread-stacksize.patch b/repo/qt5-qtwebengine/default-pthread-stacksize.patch deleted file mode 100644 index e0ca792..0000000 --- a/repo/qt5-qtwebengine/default-pthread-stacksize.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- ./src/3rdparty/chromium/base/threading/platform_thread_linux.cc -+++ ./src/3rdparty/chromium/base/threading/platform_thread_linux.cc -@@ -186,7 +186,8 @@ - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { - #if !defined(THREAD_SANITIZER) -- return 0; -+ // use 2mb to avoid running out of space. This is what android uses -+ return 2 * (1 << 20); - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the - // default stack size isn't enough for some browser tests. ---- ./src/3rdparty/chromium/base/threading/platform_thread_unittest.cc.orig -+++ ./src/3rdparty/chromium/base/threading/platform_thread_unittest.cc -@@ -411,7 +411,7 @@ - ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ - !defined(THREAD_SANITIZER)) || \ - (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER)) -- EXPECT_EQ(0u, stack_size); -+ EXPECT_EQ(2u << 20, stack_size); - #else - EXPECT_GT(stack_size, 0u); - EXPECT_LT(stack_size, 20u * (1 << 20)); diff --git a/repo/qt5-qtwebengine/ffmpeg5.patch b/repo/qt5-qtwebengine/ffmpeg5.patch deleted file mode 100644 index ea721d1..0000000 --- a/repo/qt5-qtwebengine/ffmpeg5.patch +++ /dev/null @@ -1,151 +0,0 @@ -Patch-Source: https://github.com/archlinux/svntogit-packages/blob/e8ab98ca62f23ee9633111596977c55ece224d2c/trunk/qt5-webengine-ffmpeg5.patch -diff --git a/chromium/media/ffmpeg/ffmpeg_common.h b/chromium/media/ffmpeg/ffmpeg_common.h -index 2734a485cbd..70b1877a43c 100644 ---- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h -+++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h -@@ -29,6 +29,7 @@ extern "C" { - #include <libavformat/avformat.h> - #include <libavformat/avio.h> - #include <libavutil/avutil.h> -+#include <libavutil/channel_layout.h> - #include <libavutil/imgutils.h> - #include <libavutil/log.h> - #include <libavutil/mastering_display_metadata.h> -diff --git a/chromium/media/filters/audio_file_reader.cc b/chromium/media/filters/audio_file_reader.cc -index cb81d920def..bd73908d0ca 100644 ---- a/src/3rdparty/chromium/media/filters/audio_file_reader.cc -+++ b/src/3rdparty/chromium/media/filters/audio_file_reader.cc -@@ -85,7 +85,7 @@ bool AudioFileReader::OpenDemuxer() { - } - - bool AudioFileReader::OpenDecoder() { -- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); -+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); - if (codec) { - // MP3 decodes to S16P which we don't support, tell it to use S16 instead. - if (codec_context_->sample_fmt == AV_SAMPLE_FMT_S16P) -diff --git a/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc -index 0d825ed791b..72fac6167ef 100644 ---- a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc -+++ b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc -@@ -329,7 +329,7 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) { - } - } - -- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); -+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); - if (!codec || - avcodec_open2(codec_context_.get(), codec, &codec_options) < 0) { - DLOG(ERROR) << "Could not initialize audio decoder: " -diff --git a/chromium/media/filters/ffmpeg_demuxer.cc b/chromium/media/filters/ffmpeg_demuxer.cc -index d34db63f3ef..427565b00c1 100644 ---- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc -+++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc -@@ -98,12 +98,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) { - - // Next try to use the first DTS value, for codecs where we know PTS == DTS - // (excludes all H26x codecs). The start time must be returned in PTS. -- if (stream->first_dts != kNoFFmpegTimestamp && -+ if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && - stream->codecpar->codec_id != AV_CODEC_ID_HEVC && - stream->codecpar->codec_id != AV_CODEC_ID_H264 && - stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) { - const base::TimeDelta first_pts = -- ConvertFromTimeBase(stream->time_base, stream->first_dts); -+ ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream)); - if (first_pts < start_time) - start_time = first_pts; - } -@@ -408,11 +408,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - scoped_refptr<DecoderBuffer> buffer; - - if (type() == DemuxerStream::TEXT) { -- int id_size = 0; -+ size_t id_size = 0; - uint8_t* id_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size); - -- int settings_size = 0; -+ size_t settings_size = 0; - uint8_t* settings_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); - -@@ -424,7 +424,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - buffer = DecoderBuffer::CopyFrom(packet->data, packet->size, - side_data.data(), side_data.size()); - } else { -- int side_data_size = 0; -+ size_t side_data_size = 0; - uint8_t* side_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size); - -@@ -485,7 +485,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - packet->size - data_offset); - } - -- int skip_samples_size = 0; -+ size_t skip_samples_size = 0; - const uint32_t* skip_samples_ptr = - reinterpret_cast<const uint32_t*>(av_packet_get_side_data( - packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); -diff --git a/chromium/media/filters/ffmpeg_glue.cc b/chromium/media/filters/ffmpeg_glue.cc -index 0ef3521473d..8483ecc348f 100644 ---- a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc -+++ b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc -@@ -59,7 +59,6 @@ static int64_t AVIOSeekOperation(void* opaque, int64_t offset, int whence) { - } - - void FFmpegGlue::InitializeFFmpeg() { -- av_register_all(); - } - - static void LogContainer(bool is_local_file, -@@ -95,9 +94,6 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol* protocol) { - // Enable fast, but inaccurate seeks for MP3. - format_context_->flags |= AVFMT_FLAG_FAST_SEEK; - -- // Ensures we can read out various metadata bits like vp8 alpha. -- format_context_->flags |= AVFMT_FLAG_KEEP_SIDE_DATA; -- - // Ensures format parsing errors will bail out. From an audit on 11/2017, all - // instances were real failures. Solves bugs like http://crbug.com/710791. - format_context_->error_recognition |= AV_EF_EXPLODE; -diff --git a/chromium/media/filters/ffmpeg_video_decoder.cc b/chromium/media/filters/ffmpeg_video_decoder.cc -index ef12477ee89..7996606f5f9 100644 ---- a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc -+++ b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc -@@ -391,7 +391,7 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config, - if (decode_nalus_) - codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS; - -- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); -+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id); - if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) { - ReleaseFFmpegResources(); - return false; -diff --git a/chromium/media/filters/media_file_checker.cc b/chromium/media/filters/media_file_checker.cc -index 59c2a2fc618..1a9872c7acb 100644 ---- a/src/3rdparty/chromium/media/filters/media_file_checker.cc -+++ b/src/3rdparty/chromium/media/filters/media_file_checker.cc -@@ -68,7 +68,7 @@ bool MediaFileChecker::Start(base::TimeDelta check_time) { - auto context = AVStreamToAVCodecContext(format_context->streams[i]); - if (!context) - continue; -- AVCodec* codec = avcodec_find_decoder(cp->codec_id); -+ const AVCodec* codec = avcodec_find_decoder(cp->codec_id); - if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) { - auto loop = std::make_unique<FFmpegDecodingLoop>(context.get()); - stream_contexts[i] = {std::move(context), std::move(loop)}; -diff --git a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc -index 9002b874611..d12fade8b63 100644 ---- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc -+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc -@@ -203,7 +203,7 @@ int32_t H264DecoderImpl::InitDecode(const VideoCodec* codec_settings, - // a pointer |this|. - av_context_->opaque = this; - -- AVCodec* codec = avcodec_find_decoder(av_context_->codec_id); -+ const AVCodec* codec = avcodec_find_decoder(av_context_->codec_id); - if (!codec) { - // This is an indication that FFmpeg has not been initialized or it has not - // been compiled/initialized with the correct set of codecs. diff --git a/repo/qt5-qtwebengine/fix-chromium-build.patch b/repo/qt5-qtwebengine/fix-chromium-build.patch deleted file mode 100644 index 8b26238..0000000 --- a/repo/qt5-qtwebengine/fix-chromium-build.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/src/3rdparty/chromium/v8/src/compiler/backend/arm64/code-generator-arm64.cc b/src/3rdparty/chromium/v8/src/compiler/backend/arm64/code-generator-arm64.cc -index 1c02aa69a..69e5e58de 100644 ---- a/src/3rdparty/chromium/v8/src/compiler/backend/arm64/code-generator-arm64.cc -+++ b/src/3rdparty/chromium/v8/src/compiler/backend/arm64/code-generator-arm64.cc -@@ -375,6 +375,74 @@ Condition FlagsConditionToCondition(FlagsCondition condition) { - UNREACHABLE(); - } - -+class WasmOutOfLineTrap : public OutOfLineCode { -+ public: -+ WasmOutOfLineTrap(CodeGenerator* gen, Instruction* instr) -+ : OutOfLineCode(gen), gen_(gen), instr_(instr) {} -+ void Generate() override { -+ Arm64OperandConverter i(gen_, instr_); -+ TrapId trap_id = -+ static_cast<TrapId>(i.InputInt32(instr_->InputCount() - 1)); -+ GenerateCallToTrap(trap_id); -+ } -+ -+ protected: -+ CodeGenerator* gen_; -+ -+ void GenerateWithTrapId(TrapId trap_id) { GenerateCallToTrap(trap_id); } -+ -+ private: -+ void GenerateCallToTrap(TrapId trap_id) { -+ if (trap_id == TrapId::kInvalid) { -+ // We cannot test calls to the runtime in cctest/test-run-wasm. -+ // Therefore we emit a call to C here instead of a call to the runtime. -+ __ CallCFunction(ExternalReference::wasm_call_trap_callback_for_testing(), -+ 0); -+ __ LeaveFrame(StackFrame::WASM); -+ auto call_descriptor = gen_->linkage()->GetIncomingDescriptor(); -+ int pop_count = static_cast<int>(call_descriptor->StackParameterCount()); -+ pop_count += (pop_count & 1); // align -+ __ Drop(pop_count); -+ __ Ret(); -+ } else { -+ gen_->AssembleSourcePosition(instr_); -+ // A direct call to a wasm runtime stub defined in this module. -+ // Just encode the stub index. This will be patched when the code -+ // is added to the native module and copied into wasm code space. -+ __ Call(static_cast<Address>(trap_id), RelocInfo::WASM_STUB_CALL); -+ ReferenceMap* reference_map = -+ gen_->zone()->New<ReferenceMap>(gen_->zone()); -+ gen_->RecordSafepoint(reference_map, Safepoint::kNoLazyDeopt); -+ __ AssertUnreachable(AbortReason::kUnexpectedReturnFromWasmTrap); -+ } -+ } -+ -+ Instruction* instr_; -+}; -+ -+class WasmProtectedInstructionTrap final : public WasmOutOfLineTrap { -+ public: -+ WasmProtectedInstructionTrap(CodeGenerator* gen, int pc, Instruction* instr) -+ : WasmOutOfLineTrap(gen, instr), pc_(pc) {} -+ -+ void Generate() override { -+ gen_->AddProtectedInstructionLanding(pc_, __ pc_offset()); -+ GenerateWithTrapId(TrapId::kTrapMemOutOfBounds); -+ } -+ -+ private: -+ int pc_; -+}; -+ -+void EmitOOLTrapIfNeeded(Zone* zone, CodeGenerator* codegen, -+ InstructionCode opcode, Instruction* instr, int pc) { -+ const MemoryAccessMode access_mode = -+ static_cast<MemoryAccessMode>(MiscField::decode(opcode)); -+ if (access_mode == kMemoryAccessProtected) { -+ zone->New<WasmProtectedInstructionTrap>(codegen, pc, instr); -+ } -+} -+ - void EmitWordLoadPoisoningIfNeeded(CodeGenerator* codegen, - InstructionCode opcode, Instruction* instr, - Arm64OperandConverter const& i) { diff --git a/repo/qt5-qtwebengine/fix-strncpy-error.patch b/repo/qt5-qtwebengine/fix-strncpy-error.patch deleted file mode 100644 index 11294de..0000000 --- a/repo/qt5-qtwebengine/fix-strncpy-error.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- build/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc 2022-07-07 22:23:50.602954227 +0100 -+++ build2/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc 2022-07-11 12:57:26.005060552 +0100 -@@ -8,6 +8,7 @@ - #include <sys/socket.h> - #include <sys/un.h> - #include <unistd.h> -+#include <cstring> - - #include "base/files/file_util.h" - #include "base/files/scoped_file.h" diff --git a/repo/qt5-qtwebengine/musl-hacks.patch b/repo/qt5-qtwebengine/musl-hacks.patch deleted file mode 100644 index 3c94b19..0000000 --- a/repo/qt5-qtwebengine/musl-hacks.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc -index dbc8c5aaf..077bbde33 100644 ---- a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc -+++ b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc -@@ -1152,7 +1152,7 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( - msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()}); - msgvec->reserve(buffers.size()); - for (size_t j = 0; j < buffers.size(); j++) -- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); -+ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0}); - int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); - SendResult send_result(0, 0, std::move(buffers)); - if (result < 0) { diff --git a/repo/qt5-qtwebengine/musl-sandbox.patch b/repo/qt5-qtwebengine/musl-sandbox.patch deleted file mode 100644 index ad01ea8..0000000 --- a/repo/qt5-qtwebengine/musl-sandbox.patch +++ /dev/null @@ -1,181 +0,0 @@ -diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -index 348ab6e8c..2eac6ef82 100644 ---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -@@ -127,21 +127,11 @@ namespace sandbox { - // present (as in newer versions of posix_spawn). - ResultExpr RestrictCloneToThreadsAndEPERMFork() { - const Arg<unsigned long> flags(0); -- -- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2. -- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES | -- CLONE_SIGHAND | CLONE_THREAD | -- CLONE_SYSVSEM; -- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED; -- -- const uint64_t kGlibcPthreadFlags = -- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD | -- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID; -- const BoolExpr glibc_test = flags == kGlibcPthreadFlags; -- -- const BoolExpr android_test = -- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask, -- flags == kGlibcPthreadFlags); -+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | -+ CLONE_THREAD | CLONE_SYSVSEM; -+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | -+ CLONE_DETACHED; -+ const BoolExpr thread_clone_ok = (flags&~safe)==required; - - // The following two flags are the two important flags in any vfork-emulating - // clone call. EPERM any clone call that contains both of them. -@@ -151,7 +141,7 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() { - AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, - (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags); - -- return If(IsAndroid() ? android_test : glibc_test, Allow()) -+ return If(thread_clone_ok, Allow()) - .ElseIf(is_fork_or_clone_vfork, Error(EPERM)) - .Else(CrashSIGSYSClone()); - } -diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index 6e2bd4fee..9f9e4ad8a 100644 ---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -392,6 +392,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - #if defined(__i386__) - case __NR_waitpid: - #endif -+ case __NR_set_tid_address: - return true; - case __NR_clone: // Should be parameter-restricted. - case __NR_setns: // Privileged. -@@ -404,7 +405,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) - case __NR_set_thread_area: - #endif -- case __NR_set_tid_address: - case __NR_unshare: - #if !defined(__mips__) && !defined(__aarch64__) - case __NR_vfork: -@@ -514,6 +514,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { - case __NR_mlock: - case __NR_munlock: - case __NR_munmap: -+ case __NR_mremap: -+ case __NR_membarrier: - return true; - case __NR_madvise: - case __NR_mincore: -@@ -531,7 +533,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { - case __NR_modify_ldt: - #endif - case __NR_mprotect: -- case __NR_mremap: - case __NR_msync: - case __NR_munlockall: - case __NR_readahead: -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h -index 59d0eab8e..7ae700213 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h -@@ -1119,4 +1119,8 @@ - #define __NR_rseq 293 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 283 -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -index 1addd5384..d8811ce87 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -@@ -1441,6 +1441,11 @@ - #define __NR_io_pgetevents (__NR_SYSCALL_BASE+399) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_SYSCALL_BASE+389) -+#endif -+ -+ - // ARM private syscalls. - #if !defined(__ARM_NR_BASE) - #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h -index ec75815a8..612fcfaa9 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h -@@ -1271,4 +1271,8 @@ - #define __NR_memfd_create (__NR_Linux + 314) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_Linux + 318) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS64_LINUX_SYSCALLS_H_ -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -index ddbf97f3d..1742acd4c 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -@@ -1433,4 +1433,8 @@ - #define __NR_memfd_create (__NR_Linux + 354) - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier (__NR_Linux + 358) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h -index a6afc62d9..6ab7740de 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h -@@ -1710,5 +1710,10 @@ - #define __NR_clone3 435 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 375 -+#endif -+ -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_ - - -diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h -index 349504aee..6a6d4756f 100644 ---- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h -+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h -@@ -1350,5 +1350,10 @@ - #define __NR_rseq 334 - #endif - -+#if !defined(__NR_membarrier) -+#define __NR_membarrier 324 -+#endif -+ -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_ - -diff --git a/src/3rdparty/chromium/sandbox/policy/linux/bpf_renderer_policy_linux.cc b/src/3rdparty/chromium/sandbox/policy/linux/bpf_renderer_policy_linux.cc -index 9fe9575eb..fa1a946f6 100644 ---- a/src/3rdparty/chromium/sandbox/policy/linux/bpf_renderer_policy_linux.cc -+++ b/src/3rdparty/chromium/sandbox/policy/linux/bpf_renderer_policy_linux.cc -@@ -93,11 +93,11 @@ ResultExpr RendererProcessPolicy::EvaluateSyscall(int sysno) const { - case __NR_sysinfo: - case __NR_times: - case __NR_uname: -- return Allow(); -- case __NR_sched_getaffinity: - case __NR_sched_getparam: - case __NR_sched_getscheduler: - case __NR_sched_setscheduler: -+ return Allow(); -+ case __NR_sched_getaffinity: - return RestrictSchedTarget(GetPolicyPid(), sysno); - case __NR_prlimit64: - // See crbug.com/662450 and setrlimit comment above. diff --git a/repo/qt5-qtwebengine/nasm.patch b/repo/qt5-qtwebengine/nasm.patch deleted file mode 100644 index 1d58af6..0000000 --- a/repo/qt5-qtwebengine/nasm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/nasm/config/config-linux.h b/src/3rdparty/chromium/third_party/nasm/config/config-linux.h -index 7eb7c20ff..3bdc2eb39 100644 ---- a/src/3rdparty/chromium/third_party/nasm/config/config-linux.h -+++ b/src/3rdparty/chromium/third_party/nasm/config/config-linux.h -@@ -139,7 +139,7 @@ - #define HAVE_ACCESS 1 - - /* Define to 1 if you have the `canonicalize_file_name' function. */ --#define HAVE_CANONICALIZE_FILE_NAME 1 -+// #define HAVE_CANONICALIZE_FILE_NAME 1 - - /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */ - /* #undef HAVE_CPU_TO_LE16 */ diff --git a/repo/qt5-qtwebengine/qt-chromium-python3.patch b/repo/qt5-qtwebengine/qt-chromium-python3.patch deleted file mode 100644 index 41fcb7e..0000000 --- a/repo/qt5-qtwebengine/qt-chromium-python3.patch +++ /dev/null @@ -1,1752 +0,0 @@ -diff -upr b/src/3rdparty/chromium/build/print_python_deps.py a/src/3rdparty/chromium/build/print_python_deps.py ---- b/src/3rdparty/chromium/build/print_python_deps.py 2022-03-08 18:21:43.709419882 +0100 -+++ a/src/3rdparty/chromium/build/print_python_deps.py 2022-03-08 18:23:26.572870672 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.7 -+#!/usr/bin/python - # Copyright 2016 The Chromium Authors. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -@@ -80,7 +80,7 @@ def _GetTargetPythonVersion(module): - if shebang.startswith('#!'): - # Examples: - # '#!/usr/bin/python' -- # '#!/usr/bin/python2.7' -+ # '#!/usr/bin/python' - # '#!/usr/bin/python3' - # '#!/usr/bin/env python3' - # '#!/usr/bin/env vpython' -@@ -152,7 +152,7 @@ def main(): - - # Trybots run with vpython as default Python, but with a different config - # from //.vpython. To make the is_vpython test work, and to match the behavior -- # of dev machines, the shebang line must be run with python2.7. -+ # of dev machines, the shebang line must be run with python. - # - # E.g. $HOME/.vpython-root/dd50d3/bin/python - # E.g. /b/s/w/ir/cache/vpython/ab5c79/bin/python -diff -upr b/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py a/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py ---- b/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py 2022-03-08 18:21:44.576087412 +0100 -+++ a/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py 2022-03-08 18:23:26.572870672 +0100 -@@ -7,7 +7,7 @@ - Converts a given ASCII proto into a binary resource. - - """ -- -+from __future__ import print_function - import abc - import imp - import optparse -@@ -196,12 +196,12 @@ class BinaryProtoGenerator: - self._ImportProtoModules(opts.path) - - if not self.VerifyArgs(opts): -- print "Wrong arguments" -+ print("Wrong arguments") - return 1 - - try: - self._GenerateBinaryProtos(opts) - except Exception as e: -- print "ERROR: Failed to render binary version of %s:\n %s\n%s" % ( -- opts.infile, str(e), traceback.format_exc()) -+ print("ERROR: Failed to render binary version of %s:\n %s\n%s" % -+ (opts.infile, str(e), traceback.format_exc())) - return 1 -diff -upr b/src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py a/src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py ---- b/src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py 2022-03-08 18:21:44.936087771 +0100 -+++ a/src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py 2022-03-08 18:23:26.572870672 +0100 -@@ -74,7 +74,7 @@ def main(argv): - for filename in parsed_args.source_files: - add_file_to_grd(doc, os.path.basename(filename)) - -- with open(parsed_args.output_filename, 'w') as output_file: -+ with open(parsed_args.output_filename, 'wb') as output_file: - output_file.write(doc.toxml(encoding='UTF-8')) - - -diff -upr b/src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn a/src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn ---- b/src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn 2022-03-08 18:21:45.622755122 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn 2022-03-08 18:23:26.572870672 +0100 -@@ -2,9 +2,11 @@ - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. - -+import("//build/config/python.gni") - import("//mojo/public/tools/bindings/mojom.gni") - import("//third_party/jinja2/jinja2.gni") - -+# TODO(crbug.com/1194274): Investigate nondeterminism in Py3 builds. - action("precompile_templates") { - sources = mojom_generator_sources - sources += [ -diff -upr b/src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py a/src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py ---- b/src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py 2022-03-08 18:21:45.622755122 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py 2022-03-08 18:23:26.572870672 +0100 -@@ -18,7 +18,6 @@ import os - import re - import sys - --from cStringIO import StringIO - from optparse import OptionParser - - sys.path.insert( -@@ -41,12 +40,9 @@ def main(): - pattern = re.compile(options.pattern) - files = [f for f in os.listdir(options.directory) if pattern.match(f)] - -- stream = StringIO() -- for f in files: -- print(f, file=stream) -+ contents = '\n'.join(f for f in files) + '\n' -+ WriteFile(contents, options.output) - -- WriteFile(stream.getvalue(), options.output) -- stream.close() - - if __name__ == '__main__': - sys.exit(main()) -diff -upr b/src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py a/src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py ---- b/src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py 2022-03-08 18:21:45.629421795 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py 2022-03-08 18:23:26.572870672 +0100 -@@ -25,6 +25,10 @@ sys.path.append(os.path.join(os.path.dir - 'build', 'android', 'gyp')) - from util import build_utils - -+# TODO(crbug.com/1174969): Remove this once Python2 is obsoleted. -+if sys.version_info.major != 2: -+ basestring = str -+ long = int - - GENERATOR_PREFIX = 'java' - -diff -upr b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py ---- b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py 2022-03-08 18:21:45.632755132 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py 2022-03-08 18:23:26.572870672 +0100 -@@ -136,9 +136,14 @@ class Stylizer(object): - - def WriteFile(contents, full_path): - # If |contents| is same with the file content, we skip updating. -+ if not isinstance(contents, bytes): -+ data = contents.encode('utf8') -+ else: -+ data = contents -+ - if os.path.isfile(full_path): - with open(full_path, 'rb') as destination_file: -- if destination_file.read() == contents: -+ if destination_file.read() == data: - return - - # Make sure the containing directory exists. -@@ -146,11 +151,8 @@ def WriteFile(contents, full_path): - fileutil.EnsureDirectoryExists(full_dir) - - # Dump the data to disk. -- with open(full_path, "wb") as f: -- if not isinstance(contents, bytes): -- f.write(contents.encode('utf-8')) -- else: -- f.write(contents) -+ with open(full_path, 'wb') as f: -+ f.write(data) - - - def AddComputedData(module): -diff -upr b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py ---- b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py 2022-03-08 18:21:45.632755132 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py 2022-03-08 18:23:26.572870672 +0100 -@@ -398,7 +398,8 @@ class Field(object): - - - class StructField(Field): -- pass -+ def __hash__(self): -+ return super(Field, self).__hash__() - - - class UnionField(Field): -diff -upr b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py ---- b/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py 2022-03-08 18:21:45.632755132 +0100 -+++ a/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py 2022-03-08 18:23:26.572870672 +0100 -@@ -75,9 +75,9 @@ def PrecompileTemplates(generator_module - os.path.dirname(module.__file__), generator.GetTemplatePrefix()) - ])) - jinja_env.filters.update(generator.GetFilters()) -- jinja_env.compile_templates( -- os.path.join(output_dir, "%s.zip" % generator.GetTemplatePrefix()), -- extensions=["tmpl"], -- zip="stored", -- py_compile=True, -- ignore_errors=False) -+ jinja_env.compile_templates(os.path.join( -+ output_dir, "%s.zip" % generator.GetTemplatePrefix()), -+ extensions=["tmpl"], -+ zip="stored", -+ py_compile=sys.version_info.major < 3, -+ ignore_errors=False) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py 2022-03-08 18:23:26.576204010 +0100 -@@ -344,7 +344,7 @@ def make_default_value_expr(idl_type, de - """ - assert default_value.is_type_compatible_with(idl_type) - -- class DefaultValueExpr: -+ class DefaultValueExpr(object): - _ALLOWED_SYMBOLS_IN_DEPS = ("isolate") - - def __init__(self, initializer_expr, initializer_deps, -@@ -502,7 +502,7 @@ def make_v8_to_blink_value(blink_var_nam - assert isinstance(blink_var_name, str) - assert isinstance(v8_value_expr, str) - assert isinstance(idl_type, web_idl.IdlType) -- assert (argument_index is None or isinstance(argument_index, (int, long))) -+ assert (argument_index is None or isinstance(argument_index, int)) - assert (default_value is None - or isinstance(default_value, web_idl.LiteralConstant)) - -@@ -622,7 +622,7 @@ def make_v8_to_blink_value_variadic(blin - """ - assert isinstance(blink_var_name, str) - assert isinstance(v8_array, str) -- assert isinstance(v8_array_start_index, (int, long)) -+ assert isinstance(v8_array_start_index, int) - assert isinstance(idl_type, web_idl.IdlType) - - pattern = ("auto&& ${{{_1}}} = " -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py 2022-03-08 18:23:26.576204010 +0100 -@@ -177,7 +177,7 @@ def generate_callback_interface(callback - prop_install_mode=PropInstallMode.UNCONDITIONAL, - trampoline_var_name=None, - attribute_entries=[], -- constant_entries=filter(is_unconditional, constant_entries), -+ constant_entries=list(filter(is_unconditional, constant_entries)), - exposed_construct_entries=[], - operation_entries=[]) - (install_interface_template_decl, install_interface_template_def, -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py 2022-03-08 18:23:26.576204010 +0100 -@@ -503,13 +503,13 @@ class CompositeNode(CodeNode): - gensym_kwargs = {} - template_vars = {} - for arg in args: -- assert isinstance(arg, (CodeNode, int, long, str)) -+ assert isinstance(arg, (CodeNode, int, str)) - gensym = CodeNode.gensym() - gensym_args.append("${{{}}}".format(gensym)) - template_vars[gensym] = arg - for key, value in kwargs.items(): -- assert isinstance(key, (int, long, str)) -- assert isinstance(value, (CodeNode, int, long, str)) -+ assert isinstance(key, (int, str)) -+ assert isinstance(value, (CodeNode, int, str)) - gensym = CodeNode.gensym() - gensym_kwargs[key] = "${{{}}}".format(gensym) - template_vars[gensym] = value -@@ -602,7 +602,7 @@ class ListNode(CodeNode): - def insert(self, index, node): - if node is None: - return -- assert isinstance(index, (int, long)) -+ assert isinstance(index, int) - assert isinstance(node, CodeNode) - assert node.outer is None and node.prev is None - -@@ -721,7 +721,7 @@ class SymbolScopeNode(SequenceNode): - if not scope_chains: - return counts - -- self_index = iter(scope_chains).next().index(self) -+ self_index = next(iter(scope_chains)).index(self) - scope_chains = map( - lambda scope_chain: scope_chain[self_index + 1:], scope_chains) - scope_to_likeliness = {} -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py 2022-03-08 18:23:26.576204010 +0100 -@@ -109,7 +109,7 @@ def expr_and(terms): - - if any(term.is_always_false for term in terms): - return _Expr(False) -- terms = filter(lambda x: not x.is_always_true, terms) -+ terms = list(filter(lambda x: not x.is_always_true, terms)) - if not terms: - return _Expr(True) - if len(terms) == 1: -@@ -124,7 +124,7 @@ def expr_or(terms): - - if any(term.is_always_true for term in terms): - return _Expr(True) -- terms = filter(lambda x: not x.is_always_false, terms) -+ terms = list(filter(lambda x: not x.is_always_false, terms)) - if not terms: - return _Expr(False) - if len(terms) == 1: -@@ -222,7 +222,7 @@ def expr_from_exposure(exposure, - elif exposure.only_in_secure_contexts is False: - secure_context_term = _Expr(True) - else: -- terms = map(ref_enabled, exposure.only_in_secure_contexts) -+ terms = list(map(ref_enabled, exposure.only_in_secure_contexts)) - secure_context_term = expr_or( - [_Expr("${is_in_secure_context}"), - expr_not(expr_and(terms))]) -@@ -275,10 +275,11 @@ def expr_from_exposure(exposure, - - # [ContextEnabled] - if exposure.context_enabled_features: -- terms = map( -- lambda feature: _Expr( -- "${{context_feature_settings}}->is{}Enabled()".format( -- feature)), exposure.context_enabled_features) -+ terms = list( -+ map( -+ lambda feature: _Expr( -+ "${{context_feature_settings}}->is{}Enabled()".format( -+ feature)), exposure.context_enabled_features)) - context_enabled_terms.append( - expr_and([_Expr("${context_feature_settings}"), - expr_or(terms)])) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py 2022-03-08 18:23:26.576204010 +0100 -@@ -23,7 +23,7 @@ class _TemplateFormatter(string.Formatte - self._template_formatter_indexing_count_ = 0 - - def get_value(self, key, args, kwargs): -- if isinstance(key, (int, long)): -+ if isinstance(key, int): - return args[key] - assert isinstance(key, str) - if not key: -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py 2022-03-08 18:23:26.576204010 +0100 -@@ -116,4 +116,4 @@ def write_code_node_to_file(code_node, f - # stderr=format_result.error_message)) - # - # web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) -- web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) -+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text.encode('utf-8')) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py 2022-03-08 18:23:26.576204010 +0100 -@@ -993,7 +993,7 @@ def make_dict_trace_func(cg_context): - _2 = _blink_member_name(member).value_var - return TextNode(_format(pattern, _1=_1, _2=_2)) - -- body.extend(map(make_trace_member_node, own_members)) -+ body.extend(list(map(make_trace_member_node, own_members))) - body.append(TextNode("BaseClass::Trace(visitor);")) - - return func_decl, func_def -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py 2022-03-08 18:23:26.579537347 +0100 -@@ -582,7 +582,7 @@ def _make_blink_api_call(code_node, - overriding_args=None): - assert isinstance(code_node, SymbolScopeNode) - assert isinstance(cg_context, CodeGenContext) -- assert num_of_args is None or isinstance(num_of_args, (int, long)) -+ assert num_of_args is None or isinstance(num_of_args, int) - assert (overriding_args is None - or (isinstance(overriding_args, (list, tuple)) - and all(isinstance(arg, str) for arg in overriding_args))) -@@ -1196,8 +1196,10 @@ def make_overload_dispatcher(cg_context) - did_use_break = did_use_break or can_fail - - conditional = expr_or( -- map(lambda item: expr_from_exposure(item.function_like.exposure), -- items)) -+ list( -+ map( -+ lambda item: expr_from_exposure(item.function_like.exposure -+ ), items))) - if not conditional.is_always_true: - node = CxxUnlikelyIfNode(cond=conditional, body=node) - -@@ -4642,7 +4644,7 @@ class _PropEntryConstructorGroup(_PropEn - def __init__(self, is_context_dependent, exposure_conditional, world, - constructor_group, ctor_callback_name, ctor_func_length): - assert isinstance(ctor_callback_name, str) -- assert isinstance(ctor_func_length, (int, long)) -+ assert isinstance(ctor_func_length, int) - - _PropEntryBase.__init__(self, is_context_dependent, - exposure_conditional, world, constructor_group) -@@ -4670,7 +4672,7 @@ class _PropEntryOperationGroup(_PropEntr - op_func_length, - no_alloc_direct_callback_name=None): - assert isinstance(op_callback_name, str) -- assert isinstance(op_func_length, (int, long)) -+ assert isinstance(op_func_length, int) - - _PropEntryBase.__init__(self, is_context_dependent, - exposure_conditional, world, operation_group) -@@ -5175,9 +5177,9 @@ def make_install_interface_template(cg_c - ]) - - if class_like.identifier == "CSSStyleDeclaration": -- css_properties = filter( -- lambda attr: "CSSProperty" in attr.extended_attributes, -- class_like.attributes) -+ css_properties = list( -+ filter(lambda attr: "CSSProperty" in attr.extended_attributes, -+ class_like.attributes)) - if css_properties: - prop_name_list = "".join( - map(lambda attr: "\"{}\", ".format(attr.identifier), -@@ -5567,8 +5569,8 @@ ${instance_object} = ${v8_context}->Glob - "V8DOMConfiguration::InstallConstants(${isolate}, " - "${interface_template}, ${prototype_template}, " - "kConstantCallbackTable, base::size(kConstantCallbackTable));") -- constant_callback_entries = filter(lambda entry: entry.const_callback_name, -- constant_entries) -+ constant_callback_entries = list(filter(lambda entry: entry.const_callback_name, -+ constant_entries)) - install_properties(table_name, constant_callback_entries, - _make_constant_callback_registration_table, - installer_call_text) -@@ -5584,8 +5586,8 @@ ${instance_object} = ${v8_context}->Glob - "V8DOMConfiguration::InstallConstants(${isolate}, " - "${interface_template}, ${prototype_template}, " - "kConstantValueTable, base::size(kConstantValueTable));") -- constant_value_entries = filter( -- lambda entry: not entry.const_callback_name, constant_entries) -+ constant_value_entries = list(filter( -+ lambda entry: not entry.const_callback_name, constant_entries)) - install_properties(table_name, constant_value_entries, - _make_constant_value_registration_table, - installer_call_text) -@@ -6336,8 +6338,8 @@ def make_v8_context_snapshot_api(cg_cont - assert isinstance(component, web_idl.Component) - - derived_interfaces = cg_context.interface.deriveds -- derived_names = map(lambda interface: interface.identifier, -- derived_interfaces) -+ derived_names = list( -+ map(lambda interface: interface.identifier, derived_interfaces)) - derived_names.append(cg_context.interface.identifier) - if not ("Window" in derived_names or "HTMLDocument" in derived_names): - return None, None -@@ -6411,9 +6413,11 @@ def _make_v8_context_snapshot_get_refere - collect_callbacks(named_properties_object_callback_defs) - collect_callbacks(cross_origin_property_callback_defs) - -- entry_nodes = map( -- lambda name: TextNode("reinterpret_cast<intptr_t>({}),".format(name)), -- filter(None, callback_names)) -+ entry_nodes = list( -+ map( -+ lambda name: TextNode("reinterpret_cast<intptr_t>({}),".format(name -+ )), -+ filter(None, callback_names))) - table_node = ListNode([ - TextNode("using namespace ${class_name}Callbacks;"), - TextNode("static const intptr_t kReferenceTable[] = {"), -@@ -6451,10 +6455,11 @@ def _make_v8_context_snapshot_install_pr - class_name=None, - prop_install_mode=PropInstallMode.V8_CONTEXT_SNAPSHOT, - trampoline_var_name=None, -- attribute_entries=filter(selector, attribute_entries), -- constant_entries=filter(selector, constant_entries), -- exposed_construct_entries=filter(selector, exposed_construct_entries), -- operation_entries=filter(selector, operation_entries)) -+ attribute_entries=list(filter(selector, attribute_entries)), -+ constant_entries=list(filter(selector, constant_entries)), -+ exposed_construct_entries=list( -+ filter(selector, exposed_construct_entries)), -+ operation_entries=list(filter(selector, operation_entries))) - - return func_decl, func_def - -@@ -6810,11 +6815,11 @@ def generate_interface(interface_identif - class_name=impl_class_name, - prop_install_mode=PropInstallMode.UNCONDITIONAL, - trampoline_var_name=tp_install_unconditional_props, -- attribute_entries=filter(is_unconditional, attribute_entries), -- constant_entries=filter(is_unconditional, constant_entries), -- exposed_construct_entries=filter(is_unconditional, -- exposed_construct_entries), -- operation_entries=filter(is_unconditional, operation_entries)) -+ attribute_entries=list(filter(is_unconditional, attribute_entries)), -+ constant_entries=list(filter(is_unconditional, constant_entries)), -+ exposed_construct_entries=list( -+ filter(is_unconditional, exposed_construct_entries)), -+ operation_entries=list(filter(is_unconditional, operation_entries))) - (install_context_independent_props_decl, - install_context_independent_props_def, - install_context_independent_props_trampoline) = make_install_properties( -@@ -6823,11 +6828,14 @@ def generate_interface(interface_identif - class_name=impl_class_name, - prop_install_mode=PropInstallMode.CONTEXT_INDEPENDENT, - trampoline_var_name=tp_install_context_independent_props, -- attribute_entries=filter(is_context_independent, attribute_entries), -- constant_entries=filter(is_context_independent, constant_entries), -- exposed_construct_entries=filter(is_context_independent, -- exposed_construct_entries), -- operation_entries=filter(is_context_independent, operation_entries)) -+ attribute_entries=list( -+ filter(is_context_independent, attribute_entries)), -+ constant_entries=list(filter(is_context_independent, -+ constant_entries)), -+ exposed_construct_entries=list( -+ filter(is_context_independent, exposed_construct_entries)), -+ operation_entries=list( -+ filter(is_context_independent, operation_entries))) - (install_context_dependent_props_decl, install_context_dependent_props_def, - install_context_dependent_props_trampoline) = make_install_properties( - cg_context, -@@ -6835,11 +6843,13 @@ def generate_interface(interface_identif - class_name=impl_class_name, - prop_install_mode=PropInstallMode.CONTEXT_DEPENDENT, - trampoline_var_name=tp_install_context_dependent_props, -- attribute_entries=filter(is_context_dependent, attribute_entries), -- constant_entries=filter(is_context_dependent, constant_entries), -- exposed_construct_entries=filter(is_context_dependent, -- exposed_construct_entries), -- operation_entries=filter(is_context_dependent, operation_entries)) -+ attribute_entries=list(filter(is_context_dependent, -+ attribute_entries)), -+ constant_entries=list(filter(is_context_dependent, constant_entries)), -+ exposed_construct_entries=list( -+ filter(is_context_dependent, exposed_construct_entries)), -+ operation_entries=list(filter(is_context_dependent, -+ operation_entries))) - (install_interface_template_decl, install_interface_template_def, - install_interface_template_trampoline) = make_install_interface_template( - cg_context, -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py 2022-03-08 18:21:46.709422871 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py 2022-03-08 18:23:26.579537347 +0100 -@@ -105,7 +105,7 @@ class MakoRenderer(object): - on_error = self._caller_stack_on_error - if (len(current) <= len(on_error) - and all(current[i] == on_error[i] -- for i in xrange(len(current)))): -+ for i in range(len(current)))): - pass # Error happened in a deeper caller. - else: - self._caller_stack_on_error = list(self._caller_stack) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py 2022-03-08 18:23:26.579537347 +0100 -@@ -70,8 +70,13 @@ def gn_format(contents, filename=None): - - - def _invoke_format_command(command_line, filename, contents): -- proc = subprocess.Popen( -- command_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE) -+ kwargs = {} -+ if sys.version_info.major != 2: -+ kwargs['encoding'] = 'utf-8' -+ proc = subprocess.Popen(command_line, -+ stdin=subprocess.PIPE, -+ stdout=subprocess.PIPE, -+ **kwargs) - stdout_output, stderr_output = proc.communicate(input=contents) - exit_code = proc.wait() - -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py 2022-03-08 18:23:26.579537347 +0100 -@@ -2,6 +2,7 @@ - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. - -+import functools - import multiprocessing - - from .package_initializer import package_initializer -@@ -76,7 +77,7 @@ class TaskQueue(object): - if not report_progress: - return - -- done_count = reduce( -+ done_count = functools.reduce( - lambda count, worker_task: count + bool(worker_task.ready()), - self._worker_tasks, 0) - report_progress(len(self._worker_tasks), done_count) -@@ -85,4 +86,4 @@ class TaskQueue(object): - def _task_queue_run_tasks(tasks): - for task in tasks: - func, args, kwargs = task -- apply(func, args, kwargs) -+ func(*args, **kwargs) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py 2022-03-08 18:23:26.579537347 +0100 -@@ -13,6 +13,7 @@ import re - import sys - - from idl_types import set_ancestors, IdlType -+from itertools import groupby - from v8_globals import includes - from v8_interface import constant_filters - from v8_types import set_component_dirs -@@ -43,6 +44,7 @@ TEMPLATES_DIR = os.path.normpath( - # after path[0] == invoking script dir - sys.path.insert(1, THIRD_PARTY_DIR) - import jinja2 -+from jinja2.filters import make_attrgetter, environmentfilter - - - def generate_indented_conditional(code, conditional): -@@ -88,6 +90,13 @@ def runtime_enabled_if(code, name): - return generate_indented_conditional(code, function) - - -+@environmentfilter -+def do_stringify_key_group_by(environment, value, attribute): -+ expr = make_attrgetter(environment, attribute) -+ key = lambda item: '' if expr(item) is None else str(expr(item)) -+ return groupby(sorted(value, key=key), expr) -+ -+ - def initialize_jinja_env(cache_dir): - jinja_env = jinja2.Environment( - loader=jinja2.FileSystemLoader(TEMPLATES_DIR), -@@ -117,6 +126,7 @@ def initialize_jinja_env(cache_dir): - }) - jinja_env.filters.update(constant_filters()) - jinja_env.filters.update(method_filters()) -+ jinja_env.filters["stringifykeygroupby"] = do_stringify_key_group_by - return jinja_env - - -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py 2022-03-08 18:23:26.579537347 +0100 -@@ -80,7 +80,7 @@ def read_idl_file(reader, idl_filename): - assert len(interfaces) == 1, ( - "Expected one interface in file %r, found %d" % - (idl_filename, len(interfaces))) -- return (interfaces.values()[0], includes) -+ return (list(interfaces.values())[0], includes) - - - def interface_is_global(interface): -@@ -281,7 +281,7 @@ def main(): - - info_provider = create_component_info_provider( - os.path.normpath(options.info_dir), options.target_component) -- idl_filenames = map(str.strip, open(options.idl_files_list)) -+ idl_filenames = list(map(str.strip, open(options.idl_files_list))) - - generate_origin_trial_features(info_provider, options, idl_filenames) - return 0 -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py 2022-03-08 18:23:26.582870685 +0100 -@@ -394,7 +394,8 @@ class IdlInterface(object): - else: - raise ValueError('Unrecognized node class: %s' % child_class) - -- if len(filter(None, [self.iterable, self.maplike, self.setlike])) > 1: -+ if len(list(filter(None, -+ [self.iterable, self.maplike, self.setlike]))) > 1: - raise ValueError( - 'Interface can only have one of iterable<>, maplike<> and setlike<>.' - ) -@@ -512,6 +513,9 @@ class IdlAttribute(TypedObject): - def accept(self, visitor): - visitor.visit_attribute(self) - -+ def __lt__(self, other): -+ return self.name < other.name -+ - - ################################################################################ - # Constants -@@ -852,7 +856,7 @@ class IdlIncludes(object): - ################################################################################ - - --class Exposure: -+class Exposure(object): - """An Exposure holds one Exposed or RuntimeEnabled condition. - Each exposure has two properties: exposed and runtime_enabled. - Exposure(e, r) corresponds to [Exposed(e r)]. Exposure(e) corresponds to -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py 2022-03-08 18:23:26.582870685 +0100 -@@ -55,8 +55,8 @@ def validate_blink_idl_definitions(idl_f - definitions. There is no filename convention in this case. - - Otherwise, an IDL file is invalid. - """ -- targets = ( -- definitions.interfaces.values() + definitions.dictionaries.values()) -+ targets = (list(definitions.interfaces.values()) + -+ list(definitions.dictionaries.values())) - number_of_targets = len(targets) - if number_of_targets > 1: - raise Exception( -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py 2022-03-08 18:23:26.582870685 +0100 -@@ -349,7 +349,7 @@ class IdlUnionType(IdlTypeBase): - return True - - def single_matching_member_type(self, predicate): -- matching_types = filter(predicate, self.flattened_member_types) -+ matching_types = list(filter(predicate, self.flattened_member_types)) - if len(matching_types) > 1: - raise ValueError('%s is ambiguous.' % self.name) - return matching_types[0] if matching_types else None -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py 2022-03-08 18:23:26.582870685 +0100 -@@ -196,8 +196,9 @@ class ComponentInfoProviderModules(Compo - - @property - def callback_functions(self): -- return dict(self._component_info_core['callback_functions'].items() + -- self._component_info_modules['callback_functions'].items()) -+ return dict( -+ list(self._component_info_core['callback_functions'].items()) + -+ list(self._component_info_modules['callback_functions'].items())) - - @property - def specifier_for_export(self): -@@ -209,8 +210,8 @@ class ComponentInfoProviderModules(Compo - - - def load_interfaces_info_overall_pickle(info_dir): -- with open(os.path.join(info_dir, -- 'interfaces_info.pickle')) as interface_info_file: -+ with open(os.path.join(info_dir, 'interfaces_info.pickle'), -+ mode='rb') as interface_info_file: - return pickle.load(interface_info_file) - - -@@ -236,23 +237,20 @@ def merge_dict_recursively(target, diff) - - def create_component_info_provider_core(info_dir): - interfaces_info = load_interfaces_info_overall_pickle(info_dir) -- with open( -- os.path.join(info_dir, 'core', -- 'component_info_core.pickle')) as component_info_file: -+ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), -+ mode='rb') as component_info_file: - component_info = pickle.load(component_info_file) - return ComponentInfoProviderCore(interfaces_info, component_info) - - - def create_component_info_provider_modules(info_dir): - interfaces_info = load_interfaces_info_overall_pickle(info_dir) -- with open( -- os.path.join(info_dir, 'core', -- 'component_info_core.pickle')) as component_info_file: -+ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), -+ mode='rb') as component_info_file: - component_info_core = pickle.load(component_info_file) -- with open( -- os.path.join( -- info_dir, 'modules', -- 'component_info_modules.pickle')) as component_info_file: -+ with open(os.path.join(info_dir, 'modules', -+ 'component_info_modules.pickle'), -+ mode='rb') as component_info_file: - component_info_modules = pickle.load(component_info_file) - return ComponentInfoProviderModules(interfaces_info, component_info_core, - component_info_modules) -@@ -356,7 +354,7 @@ def write_pickle_file(pickle_filename, d - pickle_filename = abs(pickle_filename) - # If |data| is same with the file content, we skip updating. - if os.path.isfile(pickle_filename): -- with open(pickle_filename) as pickle_file: -+ with open(pickle_filename, 'rb') as pickle_file: - try: - if pickle.load(pickle_file) == data: - return -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py 2022-03-08 18:23:26.582870685 +0100 -@@ -189,7 +189,7 @@ def context_enabled_features(attributes) - return sorted([ - member for member in members - if member.get(KEY) and not member.get('exposed_test') -- ]) -+ ], key=lambda item: item['name']) - - def member_filter_by_name(members, name): - return [member for member in members if member[KEY] == name] -@@ -612,7 +612,8 @@ def interface_context(interface, interfa - sorted( - origin_trial_features(interface, context['constants'], - context['attributes'], context['methods']) + -- context_enabled_features(context['attributes'])), -+ context_enabled_features(context['attributes']), -+ key=lambda item: item['name']), - }) - if context['optional_features']: - includes.add('platform/bindings/v8_per_context_data.h') -@@ -1356,9 +1357,9 @@ def resolution_tests_methods(effective_o - - # Extract argument and IDL type to simplify accessing these in each loop. - arguments = [method['arguments'][index] for method in methods] -- arguments_methods = zip(arguments, methods) -+ arguments_methods = list(zip(arguments, methods)) - idl_types = [argument['idl_type_object'] for argument in arguments] -- idl_types_methods = zip(idl_types, methods) -+ idl_types_methods = list(zip(idl_types, methods)) - - # We can’t do a single loop through all methods or simply sort them, because - # a method may be listed in multiple steps of the resolution algorithm, and -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py 2022-03-08 18:23:26.582870685 +0100 -@@ -46,6 +46,10 @@ import v8_types - import v8_utilities - from v8_utilities import (has_extended_attribute_value, is_unforgeable) - -+# TODO: Remove this once Python2 is obsoleted. -+if sys.version_info.major != 2: -+ basestring = str -+ - - def method_is_visible(method, interface_is_partial): - if 'overloads' in method: -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py 2022-03-08 18:23:26.582870685 +0100 -@@ -271,7 +271,7 @@ EXPOSED_WORKERS = set([ - ]) - - --class ExposureSet: -+class ExposureSet(object): - """An ExposureSet is a collection of Exposure instructions.""" - - def __init__(self, exposures=None): -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py 2022-03-08 18:21:46.712756208 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py 2022-03-08 18:23:26.582870685 +0100 -@@ -91,11 +91,13 @@ class CallbackInterface(UserDefinedType, - for operation_ir in ir.operations - ]) - self._operation_groups = tuple([ -- OperationGroup( -- operation_group_ir, -- filter(lambda x: x.identifier == operation_group_ir.identifier, -- self._operations), -- owner=self) for operation_group_ir in ir.operation_groups -+ OperationGroup(operation_group_ir, -+ list( -+ filter( -+ lambda x: x.identifier == operation_group_ir -+ .identifier, self._operations)), -+ owner=self) -+ for operation_group_ir in ir.operation_groups - ]) - - @property -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py 2022-03-08 18:23:26.582870685 +0100 -@@ -156,4 +156,4 @@ class Database(object): - return self._view_by_kind(Database._Kind.UNION) - - def _view_by_kind(self, kind): -- return self._impl.find_by_kind(kind).values() -+ return list(self._impl.find_by_kind(kind).values()) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py 2022-03-08 18:23:26.582870685 +0100 -@@ -8,8 +8,11 @@ from .runtime_enabled_features import Ru - class _Feature(str): - """Represents a runtime-enabled feature.""" - -+ def __new__(cls, value): -+ return str.__new__(cls, value) -+ - def __init__(self, value): -- str.__init__(self, value) -+ str.__init__(self) - self._is_context_dependent = ( - RuntimeEnabledFeatures.is_context_dependent(self)) - -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py 2022-03-08 18:23:26.586204022 +0100 -@@ -71,8 +71,9 @@ class FunctionLike(WithIdentifier): - def num_of_required_arguments(self): - """Returns the number of required arguments.""" - return len( -- filter(lambda arg: not (arg.is_optional or arg.is_variadic), -- self.arguments)) -+ list( -+ filter(lambda arg: not (arg.is_optional or arg.is_variadic), -+ self.arguments))) - - - class OverloadGroup(WithIdentifier): -@@ -171,8 +172,7 @@ class OverloadGroup(WithIdentifier): - Returns the effective overload set. - https://heycam.github.io/webidl/#compute-the-effective-overload-set - """ -- assert argument_count is None or isinstance(argument_count, -- (int, long)) -+ assert argument_count is None or isinstance(argument_count, int) - - N = argument_count - S = [] -@@ -188,21 +188,21 @@ class OverloadGroup(WithIdentifier): - - S.append( - OverloadGroup.EffectiveOverloadItem( -- X, map(lambda arg: arg.idl_type, X.arguments), -- map(lambda arg: arg.optionality, X.arguments))) -+ X, list(map(lambda arg: arg.idl_type, X.arguments)), -+ list(map(lambda arg: arg.optionality, X.arguments)))) - - if X.is_variadic: -- for i in xrange(n, max(maxarg, N)): -- t = map(lambda arg: arg.idl_type, X.arguments) -- o = map(lambda arg: arg.optionality, X.arguments) -- for _ in xrange(n, i + 1): -+ for i in range(n, max(maxarg, N)): -+ t = list(map(lambda arg: arg.idl_type, X.arguments)) -+ o = list(map(lambda arg: arg.optionality, X.arguments)) -+ for _ in range(n, i + 1): - t.append(X.arguments[-1].idl_type) - o.append(X.arguments[-1].optionality) - S.append(OverloadGroup.EffectiveOverloadItem(X, t, o)) - -- t = map(lambda arg: arg.idl_type, X.arguments) -- o = map(lambda arg: arg.optionality, X.arguments) -- for i in xrange(n - 1, -1, -1): -+ t = list(map(lambda arg: arg.idl_type, X.arguments)) -+ o = list(map(lambda arg: arg.optionality, X.arguments)) -+ for i in range(n - 1, -1, -1): - if X.arguments[i].optionality == IdlType.Optionality.REQUIRED: - break - S.append(OverloadGroup.EffectiveOverloadItem(X, t[:i], o[:i])) -@@ -222,7 +222,7 @@ class OverloadGroup(WithIdentifier): - for item in items) - assert len(items) > 1 - -- for index in xrange(len(items[0].type_list)): -+ for index in range(len(items[0].type_list)): - # Assume that the given items are valid, and we only need to test - # the two types. - if OverloadGroup.are_distinguishable_types( -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py 2022-03-08 18:23:26.586204022 +0100 -@@ -149,8 +149,8 @@ class IdlCompiler(object): - for old_ir in old_irs: - new_ir = make_copy(old_ir) - self._ir_map.add(new_ir) -- new_ir.attributes = filter(not_disabled, new_ir.attributes) -- new_ir.operations = filter(not_disabled, new_ir.operations) -+ new_ir.attributes = list(filter(not_disabled, new_ir.attributes)) -+ new_ir.operations = list(filter(not_disabled, new_ir.operations)) - - def _record_defined_in_partial_and_mixin(self): - old_irs = self._ir_map.irs_of_kinds( -@@ -231,7 +231,7 @@ class IdlCompiler(object): - only_to_members_of_partial_or_mixin=False) - propagate_to_exposure(propagate) - -- map(process_member_like, ir.iter_all_members()) -+ list(map(process_member_like, ir.iter_all_members())) - - def process_member_like(ir): - propagate = functools.partial(propagate_extattr, ir=ir) -@@ -257,7 +257,7 @@ class IdlCompiler(object): - - self._ir_map.move_to_new_phase() - -- map(process_interface_like, old_irs) -+ list(map(process_interface_like, old_irs)) - - def _determine_blink_headers(self): - irs = self._ir_map.irs_of_kinds( -@@ -422,9 +422,9 @@ class IdlCompiler(object): - assert not new_interface.deriveds - derived_set = identifier_to_derived_set.get( - new_interface.identifier, set()) -- new_interface.deriveds = map( -- lambda id_: self._ref_to_idl_def_factory.create(id_), -- sorted(derived_set)) -+ new_interface.deriveds = list( -+ map(lambda id_: self._ref_to_idl_def_factory.create(id_), -+ sorted(derived_set))) - - def _supplement_missing_html_constructor_operation(self): - # Temporary mitigation of misuse of [HTMLConstructor] -@@ -553,7 +553,8 @@ class IdlCompiler(object): - self._ir_map.add(new_ir) - - for group in new_ir.iter_all_overload_groups(): -- exposures = map(lambda overload: overload.exposure, group) -+ exposures = list(map(lambda overload: overload.exposure, -+ group)) - - # [Exposed] - if any(not exposure.global_names_and_features -@@ -653,8 +654,8 @@ class IdlCompiler(object): - constructs = set() - for global_name in global_names: - constructs.update(exposed_map.get(global_name, [])) -- new_ir.exposed_constructs = map( -- self._ref_to_idl_def_factory.create, sorted(constructs)) -+ new_ir.exposed_constructs = list( -+ map(self._ref_to_idl_def_factory.create, sorted(constructs))) - - assert not new_ir.legacy_window_aliases - if new_ir.identifier != 'Window': -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py 2022-03-08 18:23:26.586204022 +0100 -@@ -180,8 +180,9 @@ class Interface(UserDefinedType, WithExt - self._constructor_groups = tuple([ - ConstructorGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._constructors), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._constructors)), - owner=self) for group_ir in ir.constructor_groups - ]) - assert len(self._constructor_groups) <= 1 -@@ -192,8 +193,9 @@ class Interface(UserDefinedType, WithExt - self._named_constructor_groups = tuple([ - ConstructorGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._named_constructors), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._named_constructors)), - owner=self) for group_ir in ir.named_constructor_groups - ]) - self._operations = tuple([ -@@ -203,22 +205,23 @@ class Interface(UserDefinedType, WithExt - self._operation_groups = tuple([ - OperationGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._operations), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._operations)), - owner=self) for group_ir in ir.operation_groups - ]) - self._exposed_constructs = tuple(ir.exposed_constructs) - self._legacy_window_aliases = tuple(ir.legacy_window_aliases) - self._indexed_and_named_properties = None -- indexed_and_named_property_operations = filter( -- lambda x: x.is_indexed_or_named_property_operation, -- self._operations) -+ indexed_and_named_property_operations = list( -+ filter(lambda x: x.is_indexed_or_named_property_operation, -+ self._operations)) - if indexed_and_named_property_operations: - self._indexed_and_named_properties = IndexedAndNamedProperties( - indexed_and_named_property_operations, owner=self) - self._stringifier = None -- stringifier_operation_irs = filter(lambda x: x.is_stringifier, -- ir.operations) -+ stringifier_operation_irs = list( -+ filter(lambda x: x.is_stringifier, ir.operations)) - if stringifier_operation_irs: - assert len(stringifier_operation_irs) == 1 - op_ir = make_copy(stringifier_operation_irs[0]) -@@ -231,8 +234,9 @@ class Interface(UserDefinedType, WithExt - attribute = None - if operation.stringifier_attribute: - attr_id = operation.stringifier_attribute -- attributes = filter(lambda x: x.identifier == attr_id, -- self._attributes) -+ attributes = list( -+ filter(lambda x: x.identifier == attr_id, -+ self._attributes)) - assert len(attributes) == 1 - attribute = attributes[0] - self._stringifier = Stringifier(operation, attribute, owner=self) -@@ -578,8 +582,9 @@ class Iterable(WithDebugInfo): - self._operation_groups = tuple([ - OperationGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._operations), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._operations)), - owner=owner) for group_ir in ir.operation_groups - ]) - -@@ -666,8 +671,9 @@ class Maplike(WithDebugInfo): - self._operation_groups = tuple([ - OperationGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._operations), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._operations)), - owner=owner) for group_ir in ir.operation_groups - ]) - -@@ -755,8 +761,9 @@ class Setlike(WithDebugInfo): - self._operation_groups = tuple([ - OperationGroup( - group_ir, -- filter(lambda x: x.identifier == group_ir.identifier, -- self._operations), -+ list( -+ filter(lambda x: x.identifier == group_ir.identifier, -+ self._operations)), - owner=owner) for group_ir in ir.operation_groups - ]) - -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py 2022-03-08 18:23:26.586204022 +0100 -@@ -2,6 +2,8 @@ - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. - -+import sys -+ - from .argument import Argument - from .ast_group import AstGroup - from .attribute import Attribute -@@ -30,6 +32,11 @@ from .operation import Operation - from .typedef import Typedef - - -+# TODO: Remove this once Python2 is obsoleted. -+if sys.version_info.major != 2: -+ long = int -+ -+ - def load_and_register_idl_definitions(filepaths, register_ir, - create_ref_to_idl_def, idl_type_factory): - """ -@@ -160,7 +167,7 @@ class _IRBuilder(object): - child_nodes = list(node.GetChildren()) - extended_attributes = self._take_extended_attributes(child_nodes) - -- members = map(self._build_interface_member, child_nodes) -+ members = list(map(self._build_interface_member, child_nodes)) - attributes = [] - constants = [] - operations = [] -@@ -302,7 +309,7 @@ class _IRBuilder(object): - child_nodes = list(node.GetChildren()) - inherited = self._take_inheritance(child_nodes) - extended_attributes = self._take_extended_attributes(child_nodes) -- own_members = map(self._build_dictionary_member, child_nodes) -+ own_members = list(map(self._build_dictionary_member, child_nodes)) - - return Dictionary.IR( - identifier=Identifier(node.GetName()), -@@ -336,7 +343,7 @@ class _IRBuilder(object): - - child_nodes = list(node.GetChildren()) - extended_attributes = self._take_extended_attributes(child_nodes) -- members = map(self._build_interface_member, child_nodes) -+ members = list(map(self._build_interface_member, child_nodes)) - constants = [] - operations = [] - for member in members: -@@ -456,8 +463,8 @@ class _IRBuilder(object): - assert len(child_nodes) == 1 - child = child_nodes[0] - if child.GetClass() == 'Arguments': -- arguments = map(build_extattr_argument, -- child.GetChildren()) -+ arguments = list( -+ map(build_extattr_argument, child.GetChildren())) - elif child.GetClass() == 'Call': - assert len(child.GetChildren()) == 1 - grand_child = child.GetChildren()[0] -@@ -486,7 +493,9 @@ class _IRBuilder(object): - - assert node.GetClass() == 'ExtAttributes' - return ExtendedAttributes( -- filter(None, map(build_extended_attribute, node.GetChildren()))) -+ list( -+ filter(None, map(build_extended_attribute, -+ node.GetChildren())))) - - def _build_inheritance(self, node): - assert node.GetClass() == 'Inherit' -@@ -506,7 +515,7 @@ class _IRBuilder(object): - - def _build_iterable(self, node): - assert node.GetClass() == 'Iterable' -- types = map(self._build_type, node.GetChildren()) -+ types = list(map(self._build_type, node.GetChildren())) - assert len(types) == 1 or len(types) == 2 - if len(types) == 1: # value iterator - key_type, value_type = (None, types[0]) -@@ -584,7 +593,7 @@ class _IRBuilder(object): - def _build_maplike(self, node, interface_identifier): - assert node.GetClass() == 'Maplike' - assert isinstance(interface_identifier, Identifier) -- types = map(self._build_type, node.GetChildren()) -+ types = list(map(self._build_type, node.GetChildren())) - assert len(types) == 2 - key_type, value_type = types - is_readonly = bool(node.GetProperty('READONLY')) -@@ -676,7 +685,7 @@ class _IRBuilder(object): - def _build_setlike(self, node, interface_identifier): - assert node.GetClass() == 'Setlike' - assert isinstance(interface_identifier, Identifier) -- types = map(self._build_type, node.GetChildren()) -+ types = list(map(self._build_type, node.GetChildren())) - assert len(types) == 1 - value_type = types[0] - is_readonly = bool(node.GetProperty('READONLY')) -@@ -838,7 +847,7 @@ class _IRBuilder(object): - - def build_union_type(node, extended_attributes): - return self._idl_type_factory.union_type( -- member_types=map(self._build_type, node.GetChildren()), -+ member_types=list(map(self._build_type, node.GetChildren())), - is_optional=is_optional, - extended_attributes=extended_attributes, - debug_info=self._build_debug_info(node)) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py 2022-03-08 18:23:26.586204022 +0100 -@@ -3,6 +3,13 @@ - # found in the LICENSE file. - - -+import sys -+ -+# TODO: Remove this once Python2 is obsoleted. -+if sys.version_info.major != 2: -+ long = int -+ basestring = str -+ - def make_copy(obj, memo=None): - """ - Creates a copy of the given object, which should be an IR or part of IR. -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py 2022-03-08 18:23:26.586204022 +0100 -@@ -107,11 +107,13 @@ class Namespace(UserDefinedType, WithExt - for operation_ir in ir.operations - ]) - self._operation_groups = tuple([ -- OperationGroup( -- operation_group_ir, -- filter(lambda x: x.identifier == operation_group_ir.identifier, -- self._operations), -- owner=self) for operation_group_ir in ir.operation_groups -+ OperationGroup(operation_group_ir, -+ list( -+ filter( -+ lambda x: x.identifier == operation_group_ir -+ .identifier, self._operations)), -+ owner=self) -+ for operation_group_ir in ir.operation_groups - ]) - - @property -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl 2022-03-08 18:21:46.716089544 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl 2022-03-08 18:23:26.586204022 +0100 -@@ -59,9 +59,9 @@ void {{v8_class}}::ToImpl(v8::Isolate* i - DCHECK(executionContext); - {% endif %}{# has_origin_trial_members #} - {% endif %}{# members #} -- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} -+ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} - {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} -- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} -+ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} - {% filter runtime_enabled(feature_name) %} - {% for member in member_list %} - v8::Local<v8::Value> {{member.v8_value}}; -@@ -147,9 +147,9 @@ bool toV8{{cpp_class}}(const {{cpp_class - DCHECK(executionContext); - {% endif %}{# has_origin_trial_members #} - {% endif %}{# members #} -- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} -+ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} - {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} -- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} -+ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} - {% filter runtime_enabled(feature_name) %} - {% for member in member_list %} - v8::Local<v8::Value> {{member.v8_value}}; -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py 2022-03-08 18:21:46.719422881 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py 2022-03-08 18:23:26.586204022 +0100 -@@ -71,7 +71,7 @@ class Expansion(object): - def enabled_longhands(self): - include = lambda longhand: not longhand[ - 'runtime_flag'] or self.is_enabled(longhand['runtime_flag']) -- return filter(include, self._longhands) -+ return list(filter(include, self._longhands)) - - @property - def index(self): -@@ -87,8 +87,9 @@ class Expansion(object): - - def create_expansions(longhands): - flags = collect_runtime_flags(longhands) -- expansions = map(lambda mask: Expansion(longhands, flags, mask), -- range(1 << len(flags))) -+ expansions = list( -+ map(lambda mask: Expansion(longhands, flags, mask), -+ range(1 << len(flags)))) - assert len(expansions) > 0 - # We generate 2^N expansions for N flags, so enforce some limit. - assert len(flags) <= 4, 'Too many runtime flags for a single shorthand' -@@ -114,14 +115,14 @@ class StylePropertyShorthandWriter(json5 - - self._longhand_dictionary = defaultdict(list) - for property_ in json5_properties.shorthands: -- property_['longhand_enum_keys'] = map(enum_key_for_css_property, -- property_['longhands']) -- property_['longhand_property_ids'] = map(id_for_css_property, -- property_['longhands']) -- -- longhands = map( -- lambda name: json5_properties.properties_by_name[name], -- property_['longhands']) -+ property_['longhand_enum_keys'] = list( -+ map(enum_key_for_css_property, property_['longhands'])) -+ property_['longhand_property_ids'] = list( -+ map(id_for_css_property, property_['longhands'])) -+ -+ longhands = list( -+ map(lambda name: json5_properties.properties_by_name[name], -+ property_['longhands'])) - property_['expansions'] = create_expansions(longhands) - for longhand_enum_key in property_['longhand_enum_keys']: - self._longhand_dictionary[longhand_enum_key].append(property_) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py 2022-03-08 18:21:46.719422881 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py 2022-03-08 18:23:26.586204022 +0100 -@@ -42,8 +42,8 @@ class CSSPropertyInstancesWriter(json5_g - aliases = self._css_properties.aliases - - # Lists of PropertyClassData. -- self._property_classes_by_id = map(self.get_class, properties) -- self._alias_classes_by_id = map(self.get_class, aliases) -+ self._property_classes_by_id = list(map(self.get_class, properties)) -+ self._alias_classes_by_id = list(map(self.get_class, aliases)) - - # Sort by enum value. - self._property_classes_by_id.sort(key=lambda t: t.enum_value) -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py 2022-03-08 18:21:46.722756218 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py 2022-03-08 18:23:26.586204022 +0100 -@@ -95,7 +95,7 @@ def main(): - - open(args.output_file, 'wb').write( - generate_gperf(gperf_path, -- open(infile).read(), gperf_args)) -+ open(infile).read(), gperf_args).encode('utf-8')) - - - if __name__ == '__main__': -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py 2022-03-08 18:21:46.722756218 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py 2022-03-08 18:23:26.586204022 +0100 -@@ -66,7 +66,7 @@ class InFile(object): - self._defaults = defaults - self._valid_values = copy.deepcopy( - valid_values if valid_values else {}) -- self._parse(map(str.strip, lines)) -+ self._parse(list(map(str.strip, lines))) - - @classmethod - def load_from_files(self, file_paths, defaults, valid_values, -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py 2022-03-08 18:21:46.722756218 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py 2022-03-08 18:23:26.589537360 +0100 -@@ -32,10 +32,15 @@ import os - import os.path - import shlex - import shutil -+import sys - import optparse - - from in_file import InFile - -+# TODO: Remove this once Python2 is obsoleted. -+if sys.version_info.major != 2: -+ basestring = str -+ - - ######################################################### - # This is now deprecated - use json5_generator.py instead -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py 2022-03-08 18:21:46.722756218 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py 2022-03-08 18:23:26.589537360 +0100 -@@ -138,7 +138,7 @@ class RuntimeFeatureWriter(BaseRuntimeFe - except Exception: - # If trouble unpickling, overwrite - pass -- with open(os.path.abspath(file_name), 'w') as pickle_file: -+ with open(os.path.abspath(file_name), 'wb') as pickle_file: - pickle.dump(features_map, pickle_file) - - def _template_inputs(self): -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl 2022-03-08 18:21:46.722756218 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl 2022-03-08 18:23:26.589537360 +0100 -@@ -26,7 +26,7 @@ using {{namespace}}FunctionMap = HashMap - - static {{namespace}}FunctionMap* g_{{namespace|lower}}_constructors = nullptr; - --{% for tag in tags|sort if not tag.noConstructor %} -+{% for tag in tags|sort(attribute='name') if not tag.noConstructor %} - static {{namespace}}Element* {{namespace}}{{tag.name.to_upper_camel_case()}}Constructor( - Document& document, const CreateElementFlags flags) { - {% if tag.runtimeEnabled %} -@@ -52,7 +52,7 @@ static void Create{{namespace}}FunctionM - // Empty array initializer lists are illegal [dcl.init.aggr] and will not - // compile in MSVC. If tags list is empty, add check to skip this. - static const Create{{namespace}}FunctionMapData data[] = { -- {% for tag in tags|sort if not tag.noConstructor %} -+ {% for tag in tags|sort(attribute='name') if not tag.noConstructor %} - { {{cpp_namespace}}::{{tag|symbol}}Tag, {{namespace}}{{tag.name.to_upper_camel_case()}}Constructor }, - {% endfor %} - }; -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl 2022-03-08 18:21:46.726089554 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.cc.tmpl 2022-03-08 18:23:26.589537360 +0100 -@@ -22,7 +22,7 @@ HTMLTypeMap CreateHTMLTypeMap() { - const char* name; - HTMLElementType type; - } kTags[] = { -- {% for tag in tags|sort %} -+ {% for tag in tags|sort(attribute='name') %} - { "{{tag.name}}", HTMLElementType::k{{tag.js_interface}} }, - {% endfor %} - }; -@@ -42,7 +42,7 @@ HTMLElementType htmlElementTypeForTag(co - if (it == html_type_map.end()) - return HTMLElementType::kHTMLUnknownElement; - -- {% for tag in tags|sort %} -+ {% for tag in tags|sort(attribute='name') %} - {% if tag.runtimeEnabled %} - if (tagName == "{{tag.name}}") { - if (!RuntimeEnabledFeatures::{{tag.runtimeEnabled}}Enabled(document->GetExecutionContext())) { -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl 2022-03-08 18:21:46.726089554 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl 2022-03-08 18:23:26.589537360 +0100 -@@ -15,7 +15,7 @@ namespace blink { - class Document; - - // Type checking. --{% for tag in tags|sort if not tag.multipleTagNames and not tag.noTypeHelpers %} -+{% for tag in tags|sort(attribute='name') if not tag.multipleTagNames and not tag.noTypeHelpers %} - class {{tag.interface}}; - template <> - inline bool IsElementOfType<const {{tag.interface}}>(const Node& node) { -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl 2022-03-08 18:21:46.726089554 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl 2022-03-08 18:23:26.589537360 +0100 -@@ -25,7 +25,7 @@ - - - {% macro trie_leaf(index, object, return_macro, lowercase_data) %} --{% set name, value = object.items()[0] %} -+{% set name, value = (object.items()|list)[0] %} - {% if name|length %} - if ( - {%- for c in name -%} -@@ -45,7 +45,7 @@ return {{ return_macro(value) }}; - - - {% macro trie_switch(trie, index, return_macro, lowercase_data) %} --{% if trie|length == 1 and trie.values()[0] is string %} -+{% if trie|length == 1 and (trie.values()|list)[0] is string %} - {{ trie_leaf(index, trie, return_macro, lowercase_data) -}} - {% else %} - {% if lowercase_data %} -diff -upr b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl ---- b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl 2022-03-08 18:21:46.726089554 +0100 -+++ a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl 2022-03-08 18:23:26.589537360 +0100 -@@ -24,12 +24,12 @@ namespace {{cpp_namespace}} { - {{symbol_export}}extern const WTF::AtomicString& {{namespace_prefix}}NamespaceURI; - - // Tags --{% for tag in tags|sort %} -+{% for tag in tags|sort(attribute='name') %} - {{symbol_export}}extern const blink::{{namespace}}QualifiedName& {{tag|symbol}}Tag; - {% endfor %} - - // Attributes --{% for attr in attrs|sort %} -+{% for attr in attrs|sort(attribute='name') %} - {{symbol_export}}extern const blink::QualifiedName& {{attr|symbol}}Attr; - {% endfor %} - -diff -upr b/src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py a/src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py ---- b/src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py 2022-03-08 18:21:48.266091088 +0100 -+++ a/src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py 2022-03-08 18:23:26.589537360 +0100 -@@ -201,6 +201,10 @@ def _compute_python_dependencies(root_di - - paths = set() - for path in module_paths: -+ # Builtin/namespaced modules may return None for the file path. -+ if not path: -+ continue -+ - path = os.path.abspath(path) - - if not path.startswith(root_dir): -diff -upr b/src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn a/src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn ---- b/src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn 2022-03-08 18:21:48.312757801 +0100 -+++ a/src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn 2022-03-08 18:23:26.589537360 +0100 -@@ -2,6 +2,8 @@ - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. - -+import("//build/config/python.gni") -+ - import("//third_party/blink/public/public_features.gni") - import("./all_devtools_files.gni") - import("./all_devtools_modules.gni") -diff -upr b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py ---- b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py 2022-03-08 18:21:50.282759764 +0100 -+++ a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py 2022-03-08 18:23:26.589537360 +0100 -@@ -45,7 +45,8 @@ def rollup(input_path, output_path, file - ['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] + - ['--plugin', rollup_plugin], - stdout=subprocess.PIPE, -- stderr=subprocess.PIPE) -+ stderr=subprocess.PIPE, -+ text=True) - out, error = rollup_process.communicate() - if not out: - raise Exception("rollup failed: " + error) -diff -upr b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py ---- b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py 2022-03-08 18:21:50.282759764 +0100 -+++ a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py 2022-03-08 18:23:26.589537360 +0100 -@@ -10,7 +10,7 @@ Builds applications in release mode: - and the application loader into a single script. - """ - --from cStringIO import StringIO -+from io import StringIO - from os import path - from os.path import join - import copy -@@ -145,8 +145,7 @@ class ReleaseBuilder(object): - resource_content = read_file(path.join(self.application_dir, resource_name)) - if not (resource_name.endswith('.html') - or resource_name.endswith('md')): -- resource_content += resource_source_url(resource_name).encode( -- 'utf-8') -+ resource_content += resource_source_url(resource_name) - resource_content = resource_content.replace('\\', '\\\\') - resource_content = resource_content.replace('\n', '\\n') - resource_content = resource_content.replace('"', '\\"') -@@ -173,7 +172,9 @@ class ReleaseBuilder(object): - def _concatenate_application_script(self, output): - output.write('Root.allDescriptors.push(...%s);' % self._release_module_descriptors()) - if self.descriptors.extends: -- output.write('Root.applicationDescriptor.modules.push(...%s);' % json.dumps(self.descriptors.application.values())) -+ output.write( -+ 'Root.applicationDescriptor.modules.push(...%s);' % -+ json.dumps(list(self.descriptors.application.values()))) - else: - output.write('Root.applicationDescriptor = %s;' % self.descriptors.application_json()) - -diff -upr b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py ---- b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py 2022-03-08 18:21:50.282759764 +0100 -+++ a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py 2022-03-08 18:23:26.589537360 +0100 -@@ -123,7 +123,7 @@ def main(argv): - - try: - os.makedirs(path.join(output_directory, 'Images')) -- except OSError, e: -+ except OSError as e: - if e.errno != errno.EEXIST: - raise e - -@@ -147,7 +147,7 @@ def main(argv): - shutil.copy(path.join(dirname, filename), path.join(output_directory, 'Images')) - add_file_to_grd(doc, path.join('Images', filename)) - -- with open(parsed_args.output_filename, 'w') as output_file: -+ with open(parsed_args.output_filename, 'wb') as output_file: - output_file.write(doc.toxml(encoding='UTF-8')) - - -diff -upr b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py ---- b/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py 2022-03-08 18:21:50.282759764 +0100 -+++ a/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py 2022-03-08 18:23:26.589537360 +0100 -@@ -7,6 +7,8 @@ - Utilities for the modular DevTools build. - """ - -+from __future__ import print_function -+ - import collections - from os import path - import os -@@ -40,7 +42,7 @@ def load_and_parse_json(filename): - try: - return json.loads(read_file(filename)) - except: -- print 'ERROR: Failed to parse %s' % filename -+ print('ERROR: Failed to parse %s' % filename) - raise - - class Descriptors: -@@ -57,7 +59,7 @@ class Descriptors: - - def application_json(self): - result = dict() -- result['modules'] = self.application.values() -+ result['modules'] = list(self.application.values()) - return json.dumps(result) - - def all_compiled_files(self): -diff -upr b/src/3rdparty/chromium/third_party/jinja2/tests.py a/src/3rdparty/chromium/third_party/jinja2/tests.py ---- b/src/3rdparty/chromium/third_party/jinja2/tests.py 2022-03-08 18:21:51.709427852 +0100 -+++ a/src/3rdparty/chromium/third_party/jinja2/tests.py 2022-03-08 18:23:26.589537360 +0100 -@@ -10,7 +10,7 @@ - """ - import operator - import re --from collections import Mapping -+from collections.abc import Mapping - from jinja2.runtime import Undefined - from jinja2._compat import text_type, string_types, integer_types - import decimal -diff -upr b/src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py a/src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py ---- b/src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py 2022-03-08 18:21:55.126097923 +0100 -+++ a/src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py 2022-03-08 18:23:26.589537360 +0100 -@@ -48,9 +48,10 @@ def ReadFilteredData(path): - data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read()) - event_tag = ukm_model._EVENT_TYPE.tag - metric_tag = ukm_model._METRIC_TYPE.tag -- data[event_tag] = filter(ukm_model.IsNotObsolete, data[event_tag]) -+ data[event_tag] = list(filter(ukm_model.IsNotObsolete, data[event_tag])) - for event in data[event_tag]: -- event[metric_tag] = filter(ukm_model.IsNotObsolete, event[metric_tag]) -+ event[metric_tag] = list( -+ filter(ukm_model.IsNotObsolete, event[metric_tag])) - return data - - -diff -upr b/src/3rdparty/chromium/ui/ozone/generate_constructor_list.py a/src/3rdparty/chromium/ui/ozone/generate_constructor_list.py ---- b/src/3rdparty/chromium/ui/ozone/generate_constructor_list.py 2022-03-08 18:21:55.569431698 +0100 -+++ a/src/3rdparty/chromium/ui/ozone/generate_constructor_list.py 2022-03-08 18:23:26.589537360 +0100 -@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_cons - } // namespace ui - """ - -+try: -+ from StringIO import StringIO # for Python 2 -+except ImportError: -+ from io import StringIO # for Python 3 - import optparse - import os - import collections - import re - import sys --import string - - - def GetTypedefName(typename): -@@ -68,7 +71,7 @@ def GetConstructorName(typename, platfor - This is just "Create" + typename + platform. - """ - -- return 'Create' + typename + string.capitalize(platform) -+ return 'Create' + typename + platform.capitalize() - - - def GenerateConstructorList(out, namespace, export, typenames, platforms, -@@ -163,12 +166,14 @@ def main(argv): - sys.exit(1) - - # Write to standard output or file specified by --output_cc. -- out_cc = sys.stdout -+ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) - if options.output_cc: - out_cc = open(options.output_cc, 'wb') - -- GenerateConstructorList(out_cc, options.namespace, options.export, -+ out_cc_str = StringIO() -+ GenerateConstructorList(out_cc_str, options.namespace, options.export, - typenames, platforms, includes, usings) -+ out_cc.write(out_cc_str.getvalue().encode('utf-8')) - - if options.output_cc: - out_cc.close() -diff -upr b/src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py a/src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py ---- b/src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py 2022-03-08 18:21:55.569431698 +0100 -+++ a/src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py 2022-03-08 18:23:26.592870697 +0100 -@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platfor - - """ - -+try: -+ from StringIO import StringIO # for Python 2 -+except ImportError: -+ from io import StringIO # for Python 3 - import optparse - import os - import collections - import re - import sys --import string - - - def GetConstantName(name): -@@ -63,7 +66,7 @@ def GetConstantName(name): - We just capitalize the platform name and prepend "CreateOzonePlatform". - """ - -- return 'kPlatform' + string.capitalize(name) -+ return 'kPlatform' + name.capitalize() - - - def GeneratePlatformListText(out, platforms): -@@ -149,9 +152,9 @@ def main(argv): - platforms.insert(0, options.default) - - # Write to standard output or file specified by --output_{cc,h}. -- out_cc = sys.stdout -- out_h = sys.stdout -- out_txt = sys.stdout -+ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) -+ out_h = getattr(sys.stdout, 'buffer', sys.stdout) -+ out_txt = getattr(sys.stdout, 'buffer', sys.stdout) - if options.output_cc: - out_cc = open(options.output_cc, 'wb') - if options.output_h: -@@ -159,9 +162,16 @@ def main(argv): - if options.output_txt: - out_txt = open(options.output_txt, 'wb') - -- GeneratePlatformListText(out_txt, platforms) -- GeneratePlatformListHeader(out_h, platforms) -- GeneratePlatformListSource(out_cc, platforms) -+ out_txt_str = StringIO() -+ out_h_str = StringIO() -+ out_cc_str = StringIO() -+ -+ GeneratePlatformListText(out_txt_str, platforms) -+ out_txt.write(out_txt_str.getvalue().encode('utf-8')) -+ GeneratePlatformListHeader(out_h_str, platforms) -+ out_h.write(out_h_str.getvalue().encode('utf-8')) -+ GeneratePlatformListSource(out_cc_str, platforms) -+ out_cc.write(out_cc_str.getvalue().encode('utf-8')) - - if options.output_cc: - out_cc.close() diff --git a/repo/qt5-qtwebengine/qt-musl-crashpad.patch b/repo/qt5-qtwebengine/qt-musl-crashpad.patch deleted file mode 100644 index 0dd9789..0000000 --- a/repo/qt5-qtwebengine/qt-musl-crashpad.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h -index 5b55c24..08cec52 100644 ---- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h -+++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h -@@ -273,7 +273,7 @@ union FloatContext { - "Size mismatch"); - #elif defined(ARCH_CPU_ARMEL) - static_assert(sizeof(f32_t::fpregs) == sizeof(user_fpregs), "Size mismatch"); --#if !defined(__GLIBC__) -+#if defined(OS_ANDROID) - static_assert(sizeof(f32_t::vfp) == sizeof(user_vfp), "Size mismatch"); - #endif - #elif defined(ARCH_CPU_ARM64) diff --git a/repo/qt5-qtwebengine/qt-musl-dispatch_to_musl.patch b/repo/qt5-qtwebengine/qt-musl-dispatch_to_musl.patch deleted file mode 100644 index a58a688..0000000 --- a/repo/qt5-qtwebengine/qt-musl-dispatch_to_musl.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- a/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc -+++ b/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc -@@ -8,6 +8,7 @@ - #include <dlfcn.h> - #include <malloc.h> - -+#if defined(__GLIBC__) - // This translation unit defines a default dispatch for the allocator shim which - // routes allocations to libc functions. - // The code here is strongly inspired from tcmalloc's libc_override_glibc.h. -@@ -87,3 +88,92 @@ const AllocatorDispatch AllocatorDispatc - nullptr, /* aligned_free_function */ - nullptr, /* next */ - }; -+ -+#else // defined(__GLIBC__) -+ -+#include <dlfcn.h> -+ -+extern "C" { -+// Declare function pointers to the memory functions -+typedef void* (*t_libc_malloc)(size_t size); -+typedef void* (*t_libc_calloc)(size_t n, size_t size); -+typedef void* (*t_libc_realloc)(void* address, size_t size); -+typedef void* (*t_libc_memalign)(size_t alignment, size_t size); -+typedef void (*t_libc_free)(void* ptr); -+typedef size_t (*t_libc_malloc_usable_size)(void* ptr); -+ -+// Static instances of pointers to libc.so dl symbols -+static t_libc_malloc libc_malloc = NULL; -+static t_libc_calloc libc_calloc = NULL; -+static t_libc_realloc libc_realloc = NULL; -+static t_libc_memalign libc_memalign = NULL; -+static t_libc_free libc_free = NULL; -+static t_libc_malloc_usable_size libc_malloc_usable_size = NULL; -+ -+// resolve the symbols in libc.so -+void musl_libc_memory_init(void) -+{ -+ libc_malloc = (t_libc_malloc) dlsym(RTLD_NEXT, "malloc"); -+ libc_calloc = (t_libc_calloc) dlsym(RTLD_NEXT, "calloc"); -+ libc_realloc = (t_libc_realloc) dlsym(RTLD_NEXT, "realloc"); -+ libc_memalign = (t_libc_memalign) dlsym(RTLD_NEXT, "memalign"); -+ libc_free = (t_libc_free) dlsym(RTLD_NEXT, "free"); -+ libc_malloc_usable_size = (t_libc_malloc_usable_size) dlsym(RTLD_NEXT, "malloc_usable_size"); -+} -+} // extern "C" -+ -+namespace { -+ -+using base::allocator::AllocatorDispatch; -+ -+void* MuslMalloc(const AllocatorDispatch*, size_t size, void* context) { -+ if (!libc_malloc) -+ musl_libc_memory_init(); -+ return (*libc_malloc)(size); -+} -+ -+void* MuslCalloc(const AllocatorDispatch*, size_t n, size_t size, void* context) { -+ if (!libc_calloc) -+ musl_libc_memory_init(); -+ return (*libc_calloc)(n, size); -+} -+ -+void* MuslRealloc(const AllocatorDispatch*, void* address, size_t size, void* context) { -+ if (!libc_realloc) -+ musl_libc_memory_init(); -+ return (*libc_realloc)(address, size); -+} -+ -+void* MuslMemalign(const AllocatorDispatch*, size_t alignment, size_t size, void* context) { -+ if (!libc_memalign) -+ musl_libc_memory_init(); -+ return (*libc_memalign)(alignment, size); -+} -+ -+void MuslFree(const AllocatorDispatch*, void* address, void* context) { -+ if (!libc_free) -+ musl_libc_memory_init(); -+ (*libc_free)(address); -+} -+ -+size_t MuslGetSizeEstimate(const AllocatorDispatch*, void* address, void* context) { -+ // TODO(siggi, primiano): malloc_usable_size may need redirection in the -+ // presence of interposing shims that divert allocations. -+ if (!libc_malloc_usable_size) -+ musl_libc_memory_init(); -+ return (*libc_malloc_usable_size)(address); -+} -+ -+} // namespace -+ -+const AllocatorDispatch AllocatorDispatch::default_dispatch = { -+ &MuslMalloc, /* alloc_function */ -+ &MuslCalloc, /* alloc_zero_initialized_function */ -+ &MuslMemalign, /* alloc_aligned_function */ -+ &MuslRealloc, /* realloc_function */ -+ &MuslFree, /* free_function */ -+ &MuslGetSizeEstimate, /* get_size_estimate_function */ -+ nullptr, /* next */ -+}; -+ -+#endif diff --git a/repo/qt5-qtwebengine/qt-musl-elf-arm.patch b/repo/qt5-qtwebengine/qt-musl-elf-arm.patch deleted file mode 100644 index 9253c41..0000000 --- a/repo/qt5-qtwebengine/qt-musl-elf-arm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/3rdparty/chromium/v8/src/base/cpu.cc b/src/3rdparty/chromium/v8/src/base/cpu.cc -index f1c48fa13..ba8389c8c 100644 ---- a/src/3rdparty/chromium/v8/src/base/cpu.cc -+++ b/src/3rdparty/chromium/v8/src/base/cpu.cc -@@ -20,7 +20,7 @@ - #if V8_OS_QNX - #include <sys/syspage.h> // cpuinfo - #endif --#if V8_OS_LINUX && (V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64) -+#if V8_OS_LINUX && (V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64 || V8_HOST_ARCH_ARM) - #include <elf.h> - #endif - #if V8_OS_AIX diff --git a/repo/qt5-qtwebengine/qt-musl-execinfo.patch b/repo/qt5-qtwebengine/qt-musl-execinfo.patch deleted file mode 100644 index 01a5c94..0000000 --- a/repo/qt5-qtwebengine/qt-musl-execinfo.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff --git a/src/3rdparty/chromium/base/debug/stack_trace.cc b/src/3rdparty/chromium/base/debug/stack_trace.cc -index d8ca822d9..f6f3d9c69 100644 ---- a/src/3rdparty/chromium/base/debug/stack_trace.cc -+++ b/src/3rdparty/chromium/base/debug/stack_trace.cc -@@ -225,14 +225,14 @@ std::string StackTrace::ToString() const { - } - std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const { - std::stringstream stream; --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - OutputToStreamWithPrefix(&stream, prefix_string); - #endif - return stream.str(); - } - - std::ostream& operator<<(std::ostream& os, const StackTrace& s) { --#if !defined(__UCLIBC__) & !defined(_AIX) -+#if defined(__GLIBC__) & !defined(_AIX) - s.OutputToStream(&os); - #else - os << "StackTrace::OutputToStream not implemented."; -diff --git a/src/3rdparty/chromium/base/debug/stack_trace_posix.cc b/src/3rdparty/chromium/base/debug/stack_trace_posix.cc -index f4ddf9c1e..aef993613 100644 ---- a/src/3rdparty/chromium/base/debug/stack_trace_posix.cc -+++ b/src/3rdparty/chromium/base/debug/stack_trace_posix.cc -@@ -27,7 +27,7 @@ - #if !defined(USE_SYMBOLIZE) - #include <cxxabi.h> - #endif --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - #include <execinfo.h> - #endif - -@@ -88,7 +88,7 @@ void DemangleSymbols(std::string* text) { - // Note: code in this function is NOT async-signal safe (std::string uses - // malloc internally). - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - std::string::size_type search_from = 0; - while (search_from < text->size()) { - // Look for the start of a mangled symbol, from search_from. -@@ -123,7 +123,7 @@ void DemangleSymbols(std::string* text) { - search_from = mangled_start + 2; - } - } --#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(_AIX) - } - #endif // !defined(USE_SYMBOLIZE) - -@@ -135,7 +135,7 @@ class BacktraceOutputHandler { - virtual ~BacktraceOutputHandler() = default; - }; - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { - // This should be more than enough to store a 64-bit number in hex: - // 16 hex digits + 1 for null-terminator. -@@ -218,7 +218,7 @@ void ProcessBacktrace(void* const* trace, - } - #endif // defined(USE_SYMBOLIZE) - } --#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(_AIX) - - void PrintToStderr(const char* output) { - // NOTE: This code MUST be async-signal safe (it's used by in-process -@@ -834,7 +834,7 @@ size_t CollectStackTrace(void** trace, size_t count) { - // NOTE: This code MUST be async-signal safe (it's used by in-process - // stack dumping signal handler). NO malloc or stdio is allowed here. - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - // Though the backtrace API man page does not list any possible negative - // return values, we take no chance. - return base::saturated_cast<size_t>(backtrace(trace, count)); -@@ -847,13 +847,13 @@ void StackTrace::PrintWithPrefix(const char* prefix_string) const { - // NOTE: This code MUST be async-signal safe (it's used by in-process - // stack dumping signal handler). NO malloc or stdio is allowed here. - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - PrintBacktraceOutputHandler handler; - ProcessBacktrace(trace_, count_, prefix_string, &handler); - #endif - } - --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - void StackTrace::OutputToStreamWithPrefix(std::ostream* os, - const char* prefix_string) const { - StreamBacktraceOutputHandler handler(os); -diff --git a/src/3rdparty/chromium/base/logging.cc b/src/3rdparty/chromium/base/logging.cc -index 4c4bfa6af..0ca5c2159 100644 ---- a/src/3rdparty/chromium/base/logging.cc -+++ b/src/3rdparty/chromium/base/logging.cc -@@ -548,7 +548,7 @@ LogMessage::LogMessage(const char* file, int line, LogSeverity severity, - - LogMessage::~LogMessage() { - size_t stack_start = stream_.tellp(); --#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \ -+#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__) && \ - !defined(OS_AIX) - if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) { - // Include a stack trace on a fatal, unless a debugger is attached. diff --git a/repo/qt5-qtwebengine/qt-musl-mallinfo.patch b/repo/qt5-qtwebengine/qt-musl-mallinfo.patch deleted file mode 100644 index c7b7f27..0000000 --- a/repo/qt5-qtwebengine/qt-musl-mallinfo.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/3rdparty/chromium/base/process/process_metrics_posix.cc b/src/3rdparty/chromium/base/process/process_metrics_posix.cc -index 9d12c427b..9030de9f6 100644 ---- a/src/3rdparty/chromium/base/process/process_metrics_posix.cc -+++ b/src/3rdparty/chromium/base/process/process_metrics_posix.cc -@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { - malloc_statistics_t stats = {0}; - malloc_zone_statistics(nullptr, &stats); - return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - struct mallinfo minfo = mallinfo(); - #if BUILDFLAG(USE_TCMALLOC) - return minfo.uordblks; - #else - return minfo.hblkhd + minfo.arena; - #endif --#elif defined(OS_FUCHSIA) -+#else //if defined(OS_FUCHSIA) // also musl doesn't do this. - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif -diff --git a/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc b/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc -index c327f4865..2717eca5a 100644 ---- a/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc -+++ b/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc -@@ -132,7 +132,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - } - #elif defined(OS_FUCHSIA) - // TODO(fuchsia): Port, see https://crbug.com/706592. --#else -+#elif defined(__GLIBC__) - struct mallinfo info = mallinfo(); - // In case of Android's jemalloc |arena| is 0 and the outer pages size is - // reported by |hblkhd|. In case of dlmalloc the total is given by -@@ -142,6 +142,8 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, - - // Total allocated space is given by |uordblks|. - allocated_objects_size = info.uordblks; -+#else -+ // musl libc does not support mallinfo() - #endif - - MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc"); diff --git a/repo/qt5-qtwebengine/qt-musl-off_t.patch b/repo/qt5-qtwebengine/qt-musl-off_t.patch deleted file mode 100644 index 6b44789..0000000 --- a/repo/qt5-qtwebengine/qt-musl-off_t.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h -+++ b/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h -@@ -21,6 +21,7 @@ typedef unsigned __int64 uint64_t; - #define ots_htons(x) _byteswap_ushort (x) - #else - #include <arpa/inet.h> -+#include <sys/types.h> - #include <stdint.h> - #define ots_ntohl(x) ntohl (x) - #define ots_ntohs(x) ntohs (x) diff --git a/repo/qt5-qtwebengine/qt-musl-pread-pwrite.patch b/repo/qt5-qtwebengine/qt-musl-pread-pwrite.patch deleted file mode 100644 index 623f609..0000000 --- a/repo/qt5-qtwebengine/qt-musl-pread-pwrite.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -index 5d9c2e8..e81e7b4 100644 ---- a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -+++ b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -@@ -1835,6 +1835,15 @@ struct kernel_statfs { - /* End of s390/s390x definitions */ - #endif - -+#ifndef __GLIBC__ -+ /* For Musl libc pread/pread is the same as pread64/pwrite64 */ -+#ifndef __NR_pread -+#define __NR_pread __NR_pread64 -+#endif -+#ifndef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+#endif -+#endif /* ifndef __GLIBC__ */ - - /* After forking, we must make sure to only call system calls. */ - #if defined(__BOUNDED_POINTERS__) diff --git a/repo/qt5-qtwebengine/qt-musl-pvalloc.patch b/repo/qt5-qtwebengine/qt-musl-pvalloc.patch deleted file mode 100644 index d5caf38..0000000 --- a/repo/qt5-qtwebengine/qt-musl-pvalloc.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- qtwebengine/src/core/api/qtbug-61521.cpp 2017-11-29 09:42:29.000000000 +0100 -+++ qtwebengine/src/core/api/qtbug-61521.cpp 2018-01-28 06:49:29.454175725 +0100 -@@ -111,7 +111,11 @@ - } - - SHIM_HIDDEN void* ShimPvalloc(size_t size) { -+#if defined(__GLIBC__) - return pvalloc(size); -+#else -+ return valloc((size+4095)&~4095); -+#endif - } - - SHIM_HIDDEN int ShimPosixMemalign(void** r, size_t a, size_t s) { diff --git a/repo/qt5-qtwebengine/qt-musl-resolve.patch b/repo/qt5-qtwebengine/qt-musl-resolve.patch deleted file mode 100644 index 386062e..0000000 --- a/repo/qt5-qtwebengine/qt-musl-resolve.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/src/3rdparty/chromium/net/dns/dns_reloader.cc -+++ b/src/3rdparty/chromium/net/dns/dns_reloader.cc -@@ -9,6 +9,10 @@ - - #include <resolv.h> - -+#if !defined(__GLIBC__) -+#include "resolv_compat.h" -+#endif -+ - #include "base/lazy_instance.h" - #include "base/macros.h" - #include "base/notreached.h" ---- a/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc -+++ b/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc -@@ -8,6 +8,10 @@ - #include <string> - #include <type_traits> - -+#if !defined(__GLIBC__) -+#include "resolv_compat.h" -+#endif -+ - #include "base/bind.h" - #include "base/files/file.h" - #include "base/files/file_path.h" -diff --git a/src/3rdparty/chromium/net/dns/resolv_compat.h b/src/3rdparty/chromium/net/dns/resolv_compat.h -new file mode 100644 -index 0000000..4f0e852 ---- /dev/null -+++ b/src/3rdparty/chromium/net/dns/resolv_compat.h -@@ -0,0 +1,29 @@ -+#if !defined(__GLIBC__) -+/*************************************************************************** -+ * resolv_compat.h -+ * -+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc -+ * Note: res_init() is actually deprecated according to -+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html -+ **************************************************************************/ -+#include <string.h> -+ -+static inline int res_ninit(res_state statp) -+{ -+ int rc = res_init(); -+ if (statp != &_res) { -+ memcpy(statp, &_res, sizeof(*statp)); -+ } -+ return rc; -+} -+ -+static inline int res_nclose(res_state statp) -+{ -+ if (!statp) -+ return -1; -+ if (statp != &_res) { -+ memset(statp, 0, sizeof(*statp)); -+ } -+ return 0; -+} -+#endif diff --git a/repo/qt5-qtwebengine/qt-musl-siginfo_t.patch b/repo/qt5-qtwebengine/qt-musl-siginfo_t.patch deleted file mode 100644 index b071563..0000000 --- a/repo/qt5-qtwebengine/qt-musl-siginfo_t.patch +++ /dev/null @@ -1,18 +0,0 @@ -There's a subtle difference in the internal name of siginfo_t fields -between glibc and musl. The structure itself is equivalent, so it -should suffice to add a macro to rename the field. - ---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc -+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc -@@ -25,6 +25,11 @@ - #include "sandbox/linux/system_headers/linux_seccomp.h" - #include "sandbox/linux/system_headers/linux_signal.h" - -+// musl libc defines siginfo_t __si_fields instead of _sifields -+#if !defined(__GLIBC__) -+#define _sifields __si_fields -+#endif -+ - namespace { - - struct arch_sigsys { diff --git a/repo/qt5-qtwebengine/qt-musl-stackstart.patch b/repo/qt5-qtwebengine/qt-musl-stackstart.patch deleted file mode 100644 index 2214af4..0000000 --- a/repo/qt5-qtwebengine/qt-musl-stackstart.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -index 1aaaa1c60..f49152fa6 100644 ---- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { - // FIXME: On Mac OSX and Linux, this method cannot estimate stack size - // correctly for the main thread. - --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - // pthread_getattr_np() can fail if the thread is not invoked by - // pthread_create() (e.g., the main thread of blink_unittests). -@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); - } - - void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) - pthread_attr_t attr; - int error; diff --git a/repo/qt5-qtwebengine/qt-musl-sysreg-for__WORDSIZE.patch b/repo/qt5-qtwebengine/qt-musl-sysreg-for__WORDSIZE.patch deleted file mode 100644 index de9377e..0000000 --- a/repo/qt5-qtwebengine/qt-musl-sysreg-for__WORDSIZE.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -index d03c7a8..d43fda0 100644 ---- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -+++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -@@ -37,6 +37,9 @@ - #include <limits.h> - #include <link.h> - #include <stddef.h> -+#ifndef __GLIBC__ -+#include <sys/reg.h> -+#endif - - #include "common/memory_range.h" - diff --git a/repo/qt5-qtwebengine/qt-musl-thread-stacksize.patch b/repo/qt5-qtwebengine/qt-musl-thread-stacksize.patch deleted file mode 100644 index 80c3d34..0000000 --- a/repo/qt5-qtwebengine/qt-musl-thread-stacksize.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc b/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc -index 02bf49b..05ee182 100644 ---- a/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc -+++ b/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc -@@ -13,7 +13,7 @@ namespace pp { - namespace { - - // Use 2MB default stack size for Native Client, otherwise use system default. --#if defined(__native_client__) -+#if defined(__native_client__) || !defined(__GLIBC__) - const size_t kDefaultStackSize = 2 * 1024 * 1024; - #else - const size_t kDefaultStackSize = 0; -diff --git a/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc b/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc -index cf7f3ec..e06a5ce 100644 ---- a/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc -+++ b/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc -@@ -854,7 +854,7 @@ void Thread::Start() { - #if V8_OS_MACOSX - // Default on Mac OS X is 512kB -- bump up to 1MB - stack_size = 1 * 1024 * 1024; --#elif V8_OS_AIX -+#elif V8_OS_AIX || !defined(__GLIBC__) - // Default on AIX is 96kB -- bump up to 2MB - stack_size = 2 * 1024 * 1024; - #endif diff --git a/repo/qt5-qtwebengine/qt-musl-tid-caching.patch b/repo/qt5-qtwebengine/qt-musl-tid-caching.patch deleted file mode 100644 index acbee25..0000000 --- a/repo/qt5-qtwebengine/qt-musl-tid-caching.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- ./src/3rdparty/chromium/sandbox/linux/services/namespace_sandbox.cc.orig -+++ ./src/3rdparty/chromium/sandbox/linux/services/namespace_sandbox.cc -@@ -209,6 +209,70 @@ - return base::LaunchProcess(argv, launch_options_copy); - } - -+#if defined(__aarch64__) || defined(__arm__) -+#define TLS_ABOVE_TP -+#endif -+ -+struct musl_pthread -+{ -+ /* Part 1 -- these fields may be external or -+ * internal (accessed via asm) ABI. Do not change. */ -+ struct pthread *self; -+#ifndef TLS_ABOVE_TP -+ uintptr_t *dtv; -+#endif -+ struct pthread *prev, *next; /* non-ABI */ -+ uintptr_t sysinfo; -+#ifndef TLS_ABOVE_TP -+#ifdef CANARY_PAD -+ uintptr_t canary_pad; -+#endif -+ uintptr_t canary; -+#endif -+ -+/* Part 2 -- implementation details, non-ABI. */ -+ int tid; -+ int errno_val; -+ volatile int detach_state; -+ volatile int cancel; -+ volatile unsigned char canceldisable, cancelasync; -+ unsigned char tsd_used:1; -+ unsigned char dlerror_flag:1; -+ unsigned char *map_base; -+ size_t map_size; -+ void *stack; -+ size_t stack_size; -+ size_t guard_size; -+ void *result; -+ struct __ptcb *cancelbuf; -+ void **tsd; -+ struct { -+ volatile void *volatile head; -+ long off; -+ volatile void *volatile pending; -+ } robust_list; -+ int h_errno_val; -+ volatile int timer_id; -+ locale_t locale; -+ volatile int killlock[1]; -+ char *dlerror_buf; -+ void *stdio_locks; -+ -+ /* Part 3 -- the positions of these fields relative to -+ * the end of the structure is external and internal ABI. */ -+#ifdef TLS_ABOVE_TP -+ uintptr_t canary; -+ uintptr_t *dtv; -+#endif -+}; -+ -+void MaybeUpdateMuslTidCache() -+{ -+ pid_t real_tid = sys_gettid(); -+ pid_t* cached_tid_location = &reinterpret_cast<struct musl_pthread*>(pthread_self())->tid; -+ *cached_tid_location = real_tid; -+} -+ - // static - pid_t NamespaceSandbox::ForkInNewPidNamespace(bool drop_capabilities_in_child) { - const pid_t pid = -@@ -226,6 +290,7 @@ - #if defined(LIBC_GLIBC) - MaybeUpdateGlibcTidCache(); - #endif -+ MaybeUpdateMuslTidCache(); - return 0; - } - diff --git a/repo/qt5-qtwebengine/qt5-qtwebengine.xibuild b/repo/qt5-qtwebengine/qt5-qtwebengine.xibuild deleted file mode 100644 index 1404ce4..0000000 --- a/repo/qt5-qtwebengine/qt5-qtwebengine.xibuild +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh - -NAME="qt5-qtwebengine" -DESC="Qt5 - QtWebEngine components" - -MAKEDEPS="ffmpeg glib gst-plugins-base gstreamer icu libxcomposite libxext libxkbcommon libxkbfile libxrender libxslt mesa ninja alsa-lib bison musl-legacy-compat flex fontconfig gperf gzip harfbuzz jsoncpp libevent libjpeg-turbo libpng libsrtp libvpx libwebp libxcursor libxi libxml2 libxrandr libxslt libxtst linux-headers nodejs nss opus pcre protobuf pulseaudio sndio qt5-qtbase qt5-qtdeclarative qt5-qtwebchannel re2 ruby snappy sqlite3 yasm zlib python" - -PKG_VER= -_commit="56260bb605a74fabdfc74cef3bf890394af88b3d" -_chromium_commit="d13d0924c4e18ecc4b79adf0fec142ee9a9eaa14" -# commit of catapult version with python3 support -_catapult_commit="5eedfe23148a234211ba477f76fc2ea2e8529189" -SOURCE="https://invent.kde.org/qt/qt/qtwebengine/-/archive/$_commit.tar.gz" - -ADDITIONAL=" - https://invent.kde.org/qt/qt/qtwebengine-chromium/-/archive/$_chromium_commit.tar.gz - https://dev.alpinelinux.org/archive/qt5-qtwebengine/catapult-$_catapult_commit.tar.gz -0001-pretend-to-stay-at-5.15.3.patch -0010-chromium-musl-Match-syscalls-to-match-musl.patch -default-pthread-stacksize.patch -ffmpeg5.patch -fix-chromium-build.patch -musl-hacks.patch -musl-sandbox.patch -nasm.patch -qt-chromium-python3.patch -qt-musl-crashpad.patch -qt-musl-dispatch_to_musl.patch -qt-musl-elf-arm.patch -qt-musl-execinfo.patch -qt-musl-mallinfo.patch -qt-musl-off_t.patch -qt-musl-pread-pwrite.patch -qt-musl-pvalloc.patch -qt-musl-resolve.patch -qt-musl-siginfo_t.patch -qt-musl-stackstart.patch -qt-musl-sysreg-for__WORDSIZE.patch -qt-musl-thread-stacksize.patch -qt-musl-tid-caching.patch -remove-glibc-check.patch -sndio.patch -support-python3.patch -fix-strncpy-error.patch -" - -prepare() { - tar xf *.tar.gz - rmdir "$BUILD_ROOT/src/3rdparty" - mv "$BUILD_ROOT/qtwebengine-chromium-$_chromium_commit" "$BUILD_ROOT/src/3rdparty" - mkdir "$BUILD_ROOT"/.git "$BUILD_ROOT/src/3rdparty/chromium/.git" - - # update vendored catapult version to python3 compatible version. - rm -r "$BUILD_ROOT/src/3rdparty/chromium/third_party/catapult" - mv "$BUILD_ROOT"/catapult "$BUILD_ROOT/src/3rdparty/chromium/third_party/catapult" - - apply_patches -} - -build() { - qmake-qt5 QMAKE_EXTRA_ARGS="-webengine-sndio -system-ffmpeg -system-opus -system-webp -proprietary-codecs" CONFIG=force_debug_info - make -} - -package() { - make install INSTALL_ROOT="$PKG_DEST" - sed -i -e 's:-L/home[^ ]\+::g' "$PKG_DEST"/usr/lib/pkgconfig/*.pc - - # Drop QMAKE_PRL_BUILD_DIR because reference the build dir - find "$PKG_DEST/usr/lib" -type f -name '*.prl' \ - -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; - - install -d "$PKG_DEST"/usr/share/licenses - ln -s /usr/share/licenses/qt5-base "$PKG_DEST"/usr/share/licenses/qt5-qtwebengine -} - diff --git a/repo/qt5-qtwebengine/remove-glibc-check.patch b/repo/qt5-qtwebengine/remove-glibc-check.patch deleted file mode 100644 index 1d94b6b..0000000 --- a/repo/qt5-qtwebengine/remove-glibc-check.patch +++ /dev/null @@ -1,78 +0,0 @@ -Qt checks if glibc is available and if not disables large part of Qt5WebEngine and thus cripples functionality. -However these parts work fine with Musl so there is no need to disable them. -Just remove the check so it builds again. Since 5.15.1 is the last version of Qt to be released with this build system it'll be obsolete with Qt6 and there is no real point in fixing this upstream. - - -diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri -index e7f869a1..de18523d 100644 ---- a/src/buildtools/config/support.pri -+++ b/src/buildtools/config/support.pri -@@ -189,15 +189,6 @@ defineTest(qtwebengine_checkForHostPkgCfg) { - return(true) - } - --defineTest(qtwebengine_checkForGlibc) { -- module = $$1 -- !qtConfig(webengine-system-glibc) { -- qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build $${module} could not be found.") -- return(false) -- } -- return(true) --} -- - defineTest(qtwebengine_checkForKhronos) { - module = $$1 - !qtConfig(webengine-system-khr) { -diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json -index 88d1790c..8623f6d7 100644 ---- a/src/buildtools/configure.json -+++ b/src/buildtools/configure.json -@@ -264,18 +264,6 @@ - "label": "system gn", - "type": "detectGn" - }, -- "webengine-glibc": { -- "label": "glibc > 2.16", -- "type": "compile", -- "test": { -- "include": "features.h", -- "tail": [ -- "#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 17", -- "#error glibc versions below 2.17 are not supported", -- "#endif" -- ] -- } -- }, - "webengine-gperf": { - "label": "gperf", - "type": "detectGperf" -@@ -379,7 +367,6 @@ - && (!config.sanitizer || features.webengine-sanitizer) - && (!config.linux || features.pkg-config) - && (!config.linux || features.webengine-host-pkg-config) -- && (!config.linux || features.webengine-system-glibc) - && (!config.linux || features.webengine-system-khr) - && (!config.linux || features.webengine-system-nss) - && (!config.linux || features.webengine-system-dbus) -@@ -517,11 +504,6 @@ - "condition": "config.unix && !config.darwin && libs.webengine-nss", - "output": [ "privateFeature" ] - }, -- "webengine-system-glibc": { -- "label": "glibc", -- "condition": "config.linux && tests.webengine-glibc", -- "output": [ "privateFeature" ] -- }, - "webengine-system-x11" : { - "label": "x11", - "condition": "config.unix && libs.webengine-x11", -@@ -782,8 +764,7 @@ - "webengine-system-fontconfig", - "webengine-system-dbus", - "webengine-system-nss", -- "webengine-system-khr", -- "webengine-system-glibc" -+ "webengine-system-khr" - ] - }, - { diff --git a/repo/qt5-qtwebengine/sndio.patch b/repo/qt5-qtwebengine/sndio.patch deleted file mode 100644 index 771e630..0000000 --- a/repo/qt5-qtwebengine/sndio.patch +++ /dev/null @@ -1,142 +0,0 @@ -from void-packages, 0101,0102-sndio.patch ---- a/src/core/configure.json 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:28:00.591236926 +0200 -@@ -21,6 +21,7 @@ - "webengine-printing-and-pdf": "boolean", - "webengine-proprietary-codecs": "boolean", - "webengine-pulseaudio": "boolean", -+ "webengine-sndio": "boolean", - "webengine-spellchecker": "boolean", - "webengine-native-spellchecker": "boolean", - "webengine-extensions": "boolean", -@@ -31,6 +32,7 @@ - "webengine-kerberos": "boolean", - "alsa": { "type": "boolean", "name": "webengine-alsa" }, - "pulseaudio": { "type": "boolean", "name": "webengine-pulseaudio" }, -+ "sndio": { "type": "boolean", "name": "webengine-sndio" }, - "ffmpeg": { "type": "enum", "name": "webengine-system-ffmpeg", "values": { "system": "yes", "qt": "no" } }, - "opus": { "type": "enum", "name": "webengine-system-opus", "values": { "system": "yes", "qt": "no" } }, - "webp": { "type": "enum", "name": "webengine-system-libwebp", "values": { "system": "yes", "qt": "no" } }, -@@ -68,7 +70,13 @@ - "sources": [ - { "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" } - ] -- } -+ }, -+ "sndio": { -+ "label": "sndio", -+ "sources": [ -+ { "type": "pkgConfig", "args": "libsndio >= 1.5.0 libsndio" } -+ ] -+ } - }, - "tests" : { - "webengine-host-compiler": { -@@ -136,6 +144,10 @@ - "condition": "libs.webengine-pulseaudio", - "output": [ "privateFeature" ] - }, -+ "webengine-sndio": { -+ "label": "Use sndio", -+ "output": [ "privateFeature" ] -+ }, - "webengine-pepper-plugins": { - "label": "Pepper Plugins", - "purpose": "Enables use of Pepper Flash plugins.", -@@ -308,6 +320,11 @@ - "condition": "config.unix" - }, - { -+ "type": "feature", -+ "args": "webengine-sndio", -+ "condition": "config.unix" -+ }, -+ { - "type": "feature", - "args": "webengine-sanitizer", - "condition": "config.sanitizer" ---- a/src/3rdparty/chromium/media/audio/linux/audio_manager_linux.cc -+++ b/src/3rdparty/chromium/media/audio/linux/audio_manager_linux.cc -@@ -20,6 +20,10 @@ - #include "media/audio/pulse/audio_manager_pulse.h" - #include "media/audio/pulse/pulse_util.h" - #endif -+#if defined(USE_SNDIO) -+#include <sndio.h> -+#include "media/audio/openbsd/audio_manager_openbsd.h" -+#endif - - namespace media { - -@@ -27,7 +31,8 @@ enum LinuxAudioIO { - kPulse, - kAlsa, - kCras, -- kAudioIOMax = kCras // Must always be equal to largest logged entry. -+ kSndio, -+ kAudioIOMax = kSndio // Must always be equal to largest logged entry. - }; - - std::unique_ptr<media::AudioManager> CreateAudioManager( -@@ -41,6 +46,17 @@ std::unique_ptr<media::AudioManager> CreateAudioManager( - } - #endif - -+#if defined(USE_SNDIO) -+ struct sio_hdl * hdl = NULL; -+ if ((hdl=sio_open(SIO_DEVANY, SIO_PLAY, 1)) != NULL) { -+ sio_close(hdl); -+ UMA_HISTOGRAM_ENUMERATION("Media.LinuxAudioIO", kSndio, kAudioIOMax +1); -+ return std::make_unique<AudioManagerOpenBSD>(std::move(audio_thread), -+ audio_log_factory); -+ } -+ DVLOG(1) << "Sndio is not available on the OS"; -+#endif -+ - #if defined(USE_PULSEAUDIO) - pa_threaded_mainloop* pa_mainloop = nullptr; - pa_context* pa_context = nullptr; ---- a/src/3rdparty/chromium/media/BUILD.gn 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:32:27.960817513 +0200 -@@ -65,6 +65,9 @@ - if (use_cras) { - defines += [ "USE_CRAS" ] - } -+ if (use_sndio) { -+ defines += [ "USE_SNDIO" ] -+ } - } - - # Internal grouping of the configs necessary to support sub-folders having their ---- a/src/3rdparty/chromium/media/media_options.gni 2020-03-24 10:16:30.000000000 +0100 -+++ - 2020-04-06 14:29:22.958630783 +0200 -@@ -114,6 +114,9 @@ - # Enables runtime selection of ALSA library for audio. - use_alsa = false - -+ # Enables runtime selection of sndio library for audio. -+ use_sndio = false -+ - # Alsa should be used on non-Android, non-Mac POSIX systems. - # Alsa should be used on desktop Chromecast and audio-only Chromecast builds. - if (is_posix && !is_android && !is_mac && ---- a/src/3rdparty/chromium/media/audio/BUILD.gn 2021-02-23 16:36:59.000000000 +0100 -+++ - 2021-03-07 22:00:34.889682069 +0100 -@@ -238,6 +238,17 @@ - sources += [ "linux/audio_manager_linux.cc" ] - } - -+ if (use_sndio) { -+ libs += [ "sndio" ] -+ sources += [ -+ "openbsd/audio_manager_openbsd.cc", -+ "sndio/sndio_input.cc", -+ "sndio/sndio_input.h", -+ "sndio/sndio_output.cc", -+ "sndio/sndio_output.h" -+ ] -+ } -+ - if (use_alsa) { - libs += [ "asound" ] - sources += [ diff --git a/repo/qt5-qtwebengine/support-python3.patch b/repo/qt5-qtwebengine/support-python3.patch deleted file mode 100644 index cc5e457..0000000 --- a/repo/qt5-qtwebengine/support-python3.patch +++ /dev/null @@ -1,158 +0,0 @@ -diff -upr a/configure.pri b/configure.pri ---- a/configure.pri 2022-01-21 11:47:42.000000000 +0100 -+++ b/configure.pri 2022-03-08 18:45:03.650823421 +0100 -@@ -7,20 +7,7 @@ QTWEBENGINE_SOURCE_TREE = $$PWD - equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe - - defineTest(isPythonVersionSupported) { -- python = $$system_quote($$system_path($$1)) -- python_version = $$system('$$python -c "import sys; print(sys.version_info[0:3])"') -- python_version ~= s/[()]//g -- python_version = $$split(python_version, ',') -- python_major_version = $$first(python_version) -- greaterThan(python_major_version, 2) { -- qtLog("Python version 3 is not supported by Chromium.") -- return(false) -- } -- python_minor_version = $$member(python_version, 1) -- python_patch_version = $$member(python_version, 2) -- greaterThan(python_major_version, 1): greaterThan(python_minor_version, 6): greaterThan(python_patch_version, 4): return(true) -- qtLog("Unsupported python version: $${python_major_version}.$${python_minor_version}.$${python_patch_version}.") -- return(false) -+ return(true) - } - - defineTest(qtConfTest_detectJumboBuild) { -@@ -52,22 +39,22 @@ defineTest(qtConfReport_jumboBuild) { - qtConfReportPadded($${1}, $$mergeLimit) - } - --defineTest(qtConfTest_detectPython2) { -- python = $$qtConfFindInPath("python2$$EXE_SUFFIX") -+defineTest(qtConfTest_detectPython) { -+ python = $$qtConfFindInPath("python3$$EXE_SUFFIX") - isEmpty(python) { -- qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") -+ qtLog("'python3$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") - python = $$qtConfFindInPath("python$$EXE_SUFFIX") - } - isEmpty(python) { -- qtLog("'python$$EXE_SUFFIX' not found in PATH. Giving up.") -+ qtLog("'python3$$EXE_SUFFIX' and 'python$$EXE_SUFFIX' not found in PATH. Giving up.") - return(false) - } - !isPythonVersionSupported($$python) { -- qtLog("A suitable Python 2 executable could not be located.") -+ qtLog("A suitable Python executable could not be located.") - return(false) - } - -- # Make tests.python2.location available in configure.json. -+ # Make tests.python.location available in configure.json. - $${1}.location = $$clean_path($$python) - export($${1}.location) - $${1}.cache += location -diff -upr a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf ---- a/mkspecs/features/functions.prf 2022-01-21 11:47:42.000000000 +0100 -+++ b/mkspecs/features/functions.prf 2022-03-08 18:45:34.740851611 +0100 -@@ -39,11 +39,11 @@ defineReplace(which) { - - # Returns the unquoted path to the python executable. - defineReplace(pythonPath) { -- isEmpty(QMAKE_PYTHON2) { -+ isEmpty(QMAKE_PYTHON) { - # Fallback for building QtWebEngine with Qt < 5.8 -- QMAKE_PYTHON2 = python -+ QMAKE_PYTHON = python3 - } -- return($$QMAKE_PYTHON2) -+ return($$QMAKE_PYTHON) - } - - # Returns the python executable for use with shell / make targets. -diff -upr a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri ---- a/src/buildtools/config/support.pri 2022-01-21 11:47:42.000000000 +0100 -+++ b/src/buildtools/config/support.pri 2022-03-08 18:44:25.677455634 +0100 -@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngine - !qtwebengine_checkForGperf(QtWebEngine):return(false) - !qtwebengine_checkForBison(QtWebEngine):return(false) - !qtwebengine_checkForFlex(QtWebEngine):return(false) -- !qtwebengine_checkForPython2(QtWebEngine):return(false) -+ !qtwebengine_checkForPython(QtWebEngine):return(false) - !qtwebengine_checkForNodejs(QtWebEngine):return(false) - !qtwebengine_checkForSanitizer(QtWebEngine):return(false) - linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) -@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError) - !qtwebengine_checkForGperf(QtPdf):return(false) - !qtwebengine_checkForBison(QtPdf):return(false) - !qtwebengine_checkForFlex(QtPdf):return(false) -- !qtwebengine_checkForPython2(QtPdf):return(false) -+ !qtwebengine_checkForPython(QtPdf):return(false) - !qtwebengine_checkForSanitizer(QtPdf):return(false) - linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) - linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) -@@ -147,10 +147,10 @@ defineTest(qtwebengine_checkForFlex) { - return(true) - } - --defineTest(qtwebengine_checkForPython2) { -+defineTest(qtwebengine_checkForPython) { - module = $$1 -- !qtConfig(webengine-python2) { -- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.") -+ !qtConfig(webengine-python) { -+ qtwebengine_skipBuild("Python is required to build $${module}.") - return(false) - } - return(true) -diff -upr a/src/buildtools/configure.json b/src/buildtools/configure.json ---- a/src/buildtools/configure.json 2022-01-21 11:47:42.000000000 +0100 -+++ b/src/buildtools/configure.json 2022-03-08 18:44:25.677455634 +0100 -@@ -295,9 +295,9 @@ - "label": "system ninja", - "type": "detectNinja" - }, -- "webengine-python2": { -- "label": "python2", -- "type": "detectPython2", -+ "webengine-python": { -+ "label": "python", -+ "type": "detectPython", - "log": "location" - }, - "webengine-winversion": { -@@ -374,7 +374,7 @@ - && features.webengine-gperf - && features.webengine-bison - && features.webengine-flex -- && features.webengine-python2 -+ && features.webengine-python - && features.webengine-nodejs - && (!config.sanitizer || features.webengine-sanitizer) - && (!config.linux || features.pkg-config) -@@ -400,7 +400,7 @@ - && features.webengine-gperf - && features.webengine-bison - && features.webengine-flex -- && features.webengine-python2 -+ && features.webengine-python - && (!config.sanitizer || features.webengine-sanitizer) - && (!config.linux || features.pkg-config) - && (!config.linux || features.webengine-host-pkg-config) -@@ -423,12 +423,12 @@ - "autoDetect": "features.private_tests", - "output": [ "privateFeature" ] - }, -- "webengine-python2": { -- "label": "python2", -- "condition": "tests.webengine-python2", -+ "webengine-python": { -+ "label": "python", -+ "condition": "tests.webengine-python", - "output": [ - "privateFeature", -- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" } -+ { "type": "varAssign", "name": "QMAKE_PYTHON", "value": "tests.webengine-python.location" } - ] - }, - "webengine-gperf": { diff --git a/repo/re2/re2.xibuild b/repo/re2/re2.xibuild index 4dd0e5d..7fd75b1 100644 --- a/repo/re2/re2.xibuild +++ b/repo/re2/re2.xibuild @@ -10,9 +10,10 @@ PKG_VER=2022.04.01 SOURCE="https://github.com/google/re2/archive/$(echo $PKG_VER | sed "s/\./-/g").tar.gz" build () { - make PREFIX=/usr + make prefix=/usr } package () { - make PREFIX=/usr DESTDIR=$PKG_DEST install + make prefix=/usr DESTDIR=$PKG_DEST install } + diff --git a/repo/ronn/ronn.xibuild b/repo/ronn/ronn.xibuild index 50e700e..996470e 100644 --- a/repo/ronn/ronn.xibuild +++ b/repo/ronn/ronn.xibuild @@ -3,7 +3,7 @@ NAME="ronn" DESC="Convert Markdown files to manpages" -MAKEDEPS="" +MAKEDEPS="ruby" PKG_VER=0.9.1 _gemname=ronn-ng @@ -23,10 +23,6 @@ build() { gem build $_gemname.gemspec } -check() { - rake test -} - package() { local gemdir="$PKG_DEST/$(ruby -e 'puts Gem.default_dir')" local geminstdir="$gemdir/gems/$_gemname-$PKG_VER" diff --git a/repo/ruby-kramdown/gemspec.patch b/repo/ruby-kramdown/gemspec.patch deleted file mode 100644 index f90f36b..0000000 --- a/repo/ruby-kramdown/gemspec.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/Rakefile -+++ b/Rakefile -@@ -116,15 +116,9 @@ - end - - PKG_FILES = FileList.new([ -- 'AUTHORS', - 'bin/*', -- 'CONTRIBUTERS', -- 'COPYING', - 'data/**/*', - 'lib/**/*.rb', -- 'man/man1/kramdown.1', -- 'README.md', -- 'test/**/*', - 'VERSION', - ]) - diff --git a/repo/ruby-kramdown/ruby-kramdown.xibuild b/repo/ruby-kramdown/ruby-kramdown.xibuild deleted file mode 100644 index b1d216b..0000000 --- a/repo/ruby-kramdown/ruby-kramdown.xibuild +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -NAME="ruby-kramdown" -_gemname=kramdown -DESC="A fast, pure Ruby Markdown superset converter" - -MAKEDEPS=" ruby-rake" - -PKG_VER=2.3.634 -SOURCE="https://github.com/gettalong/kramdown" - -ADDITIONAL=" -gemspec.patch -" - -prepare() { - apply_patches - - # Remove tests that require gem "stringex" (we don't have it in aports yet). - rm test/testcases/block/04_header/with_auto_ids.* -} - -build() { - rake gemspec - gem build $_gemname.gemspec -} - -check() { - rake test -} - -package() { - local gemdir="$PKG_DEST/$(ruby -e 'puts Gem.default_dir')" - - gem install \ - --local \ - --install-dir "$gemdir" \ - --bindir "$PKG_DEST/usr/bin" \ - --ignore-dependencies \ - --no-document \ - --verbose \ - $_gemname - - # Remove unnecessary files and rubbish... - cd "$gemdir" - rm -r cache build_info doc extensions -} - diff --git a/repo/ruby-mustache/ruby-mustache.xibuild b/repo/ruby-mustache/ruby-mustache.xibuild index 6cc5c05..38fd371 100644 --- a/repo/ruby-mustache/ruby-mustache.xibuild +++ b/repo/ruby-mustache/ruby-mustache.xibuild @@ -22,9 +22,6 @@ build() { gem build $_gemname.gemspec } -check() { - rake test -} package() { local gemdir="$PKG_DEST/$(ruby -e 'puts Gem.default_dir')" diff --git a/repo/ruby-nokogiri/ruby-nokogiri.xibuild b/repo/ruby-nokogiri/ruby-nokogiri.xibuild index 75e6d95..f8003b3 100644 --- a/repo/ruby-nokogiri/ruby-nokogiri.xibuild +++ b/repo/ruby-nokogiri/ruby-nokogiri.xibuild @@ -3,7 +3,7 @@ NAME="ruby-nokogiri" DESC="An HTML, XML, SAX, and Reader parser" -MAKEDEPS="libxml2 libxslt ruby ruby-mini_portile2" +MAKEDEPS="libxml2 libxslt ruby" _gemname=${NAME#ruby-} @@ -57,6 +57,6 @@ package() { cd "$BUILD_ROOT"/dist mkdir -p "$gemdir" - cp -r bin extensions gems specifications "$gemdir"/ + cp -r ../bin extensions gems specifications "$gemdir"/ } diff --git a/repo/ruby/ruby.xibuild b/repo/ruby/ruby.xibuild index 6184e18..bcf17cb 100644 --- a/repo/ruby/ruby.xibuild +++ b/repo/ruby/ruby.xibuild @@ -3,8 +3,7 @@ NAME="ruby" DESC="An object-oriented language for quick and easy programming" -MAKEDEPS="make " -DEPS="toybox cacerts gmp libucontext musl zlib " +MAKEDEPS="make toybox cacerts gmp libucontext musl zlib " PKG_VER=3.1.2 SOURCE="https://cache.ruby-lang.org/pub/ruby/${PKG_VER%.*}/ruby-$PKG_VER.tar.gz" diff --git a/repo/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/repo/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch new file mode 100644 index 0000000..30cb66f --- /dev/null +++ b/repo/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch @@ -0,0 +1,24 @@ +Additions for build.rs by q66, necessary for our musl setup. + +From 1eb558f246269606c6d8d73824ef6b44fa10764e Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sat, 9 Sep 2017 00:14:16 -0500 +Subject: [PATCH 06/16] Prefer libgcc_eh over libunwind for musl + +--- + src/libunwind/lib.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs +index 9182e349b19..0377fbb58fc 100644 +--- a/library/unwind/src/lib.rs ++++ b/library/unwind/src/lib.rs +@@ -51,7 +51,7 @@ + #[link(name = "unwind", cfg(not(target_feature = "crt-static")))] + extern "C" {} + } else { +- #[link(name = "unwind", kind = "static", modifiers = "-bundle", cfg(target_feature = "crt-static"))] ++ #[link(name = "gcc_eh", cfg(target_feature = "crt-static"))] + #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] + extern "C" {} + } diff --git a/repo/rust/0007-do-not-install-libunwind-source.patch b/repo/rust/0007-do-not-install-libunwind-source.patch new file mode 100644 index 0000000..e8ff8b7 --- /dev/null +++ b/repo/rust/0007-do-not-install-libunwind-source.patch @@ -0,0 +1,19 @@ +From: Dominic Meiser <alpine@msrd0.de> +Date: Tue, 22 Dec 2020 23:31:28 +0100 +Subject: [PATCH] Do not install libunwind source + +This was added in rustc 1.48, but is incompatible with the Alpine Linux package since it removes all bundled +dependencies prior to building. + +diff -Naur rustc-1.48.0-src.orig/src/bootstrap/dist.rs rustc-1.48.0-src/src/bootstrap/dist.rs +--- rustc-1.48.0-src.orig/src/bootstrap/dist.rs 2020-12-22 16:39:30.504249113 +0100 ++++ rustc-1.48.0-src/src/bootstrap/dist.rs 2020-12-22 16:42:08.663006830 +0100 +@@ -1016,7 +1016,7 @@ + copy_src_dirs( + builder, + &builder.src, +- &["library", "src/llvm-project/libunwind"], ++ &["library"], + &[ + // not needed and contains symlinks which rustup currently + // chokes on when unpacking. diff --git a/repo/rust/alpine-move-py-scripts-to-share.patch b/repo/rust/alpine-move-py-scripts-to-share.patch new file mode 100644 index 0000000..21be36f --- /dev/null +++ b/repo/rust/alpine-move-py-scripts-to-share.patch @@ -0,0 +1,23 @@ +--- a/src/etc/rust-gdb ++++ b/src/etc/rust-gdb +@@ -12,7 +12,7 @@ + + # Find out where the pretty printer Python module is + RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)" +-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc" ++GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust/etc" + + # Run GDB with the additional arguments that load the pretty printers + # Set the environment variable `RUST_GDB` to overwrite the call to a + # Set the environment variable `RUST_GDB` to overwrite the call to a +--- a/src/etc/rust-lldb ++++ b/src/etc/rust-lldb +@@ -8,7 +8,7 @@ + + # Find out where to look for the pretty printer Python module + RUSTC_SYSROOT=$(rustc --print sysroot) +-RUST_LLDB="$RUSTC_SYSROOT/lib/rustlib/$host/bin/lldb" ++RUST_LLDB="$RUSTC_SYSROOT/share/rust/etc" + + lldb=lldb + if [ -f "$RUST_LLDB" ]; then diff --git a/repo/rust/alpine-target.patch b/repo/rust/alpine-target.patch new file mode 100644 index 0000000..2392cdd --- /dev/null +++ b/repo/rust/alpine-target.patch @@ -0,0 +1,191 @@ +From: Shiz <hi@shiz.me> +Updated by Rasmus Thomsen <oss@cogitri.dev> on 28th of July 2019 +Updated again by Ariadne Conill <ariadne@dereferenced.org> on 31 October 2020 +Date: Thu, 20 Aug 2017 01:52:36 +0200 +Last-Updated: Sat, 28 Oct 2017 20:23:00 +0200 +Subject: [PATCH] Add Alpine targets + +This adds `$arch-alpine-linux-musl` targets to Rust to encode our toolchain +and distribution-specific quirks instead of polluting the main musl target of +`$arch-unknown-linux-musl`. + +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/aarch64_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::aarch64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "aarch64-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/armv6_alpine_linux_musleabihf.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::arm_unknown_linux_musleabihf::target(); ++ ++ base.llvm_target = "armv6-alpine-linux-musleabihf".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/armv7_alpine_linux_musleabihf.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::armv7_unknown_linux_musleabihf::target(); ++ ++ base.llvm_target = "armv7-alpine-linux-musleabihf".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/i586_alpine_linux_musl.rs +@@ -0,0 +1,14 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::i686_unknown_linux_musl::target(); ++ ++ base.options.cpu = "pentium4".to_string(); ++ base.llvm_target = "i586-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- rustc-1.48.0-src.orig/compiler/rustc_target/src/spec/mod.rs ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mod.rs +@@ -490,6 +490,16 @@ + } + + supported_targets! { ++ ("i586-alpine-linux-musl", i586_alpine_linux_musl), ++ ("x86_64-alpine-linux-musl", x86_64_alpine_linux_musl), ++ ("aarch64-alpine-linux-musl", aarch64_alpine_linux_musl), ++ ("armv6-alpine-linux-musleabihf", armv6_alpine_linux_musleabihf), ++ ("armv7-alpine-linux-musleabihf", armv7_alpine_linux_musleabihf), ++ ("powerpc-alpine-linux-musl", powerpc_alpine_linux_musl), ++ ("powerpc64-alpine-linux-musl", powerpc64_alpine_linux_musl), ++ ("powerpc64le-alpine-linux-musl", powerpc64le_alpine_linux_musl), ++ ("s390x-alpine-linux-musl", s390x_alpine_linux_musl), ++ ("riscv64-alpine-linux-musl", riscv64_alpine_linux_musl), + ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu), + ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), + ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc64_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc64-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc64le_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc64le_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc64le-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/s390x_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::s390x_unknown_linux_musl::target(); ++ ++ base.llvm_target = "s390x-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.48.0-src/compiler/rustc_target/src/spec/x86_64_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::x86_64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "x86_64-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} +--- /dev/null ++++ rustc-1.52.1-src/compiler/rustc_target/src/spec/riscv64_alpine_linux_musl.rs +@@ -0,0 +1,13 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::riscv64gc_unknown_linux_musl::target(); ++ ++ base.llvm_target = "riscv64-alpine-linux-musl".to_string(); ++ base.options.vendor = "alpine".to_string(); ++ base.options.crt_static_default = false; ++ base.options.static_position_independent_executables = true; ++ base.options.need_rpath = true; ++ ++ base ++} diff --git a/repo/rust/cargo.xibuild b/repo/rust/cargo.xibuild new file mode 100644 index 0000000..8a9f47e --- /dev/null +++ b/repo/rust/cargo.xibuild @@ -0,0 +1,8 @@ +#!/bin/sh + +DEPS="rust" +DESC="Rust package manager" + +package () { + add_from_main "usr/bin/cargo" +} diff --git a/repo/rust/check-rustc b/repo/rust/check-rustc new file mode 100644 index 0000000..d4b85be --- /dev/null +++ b/repo/rust/check-rustc @@ -0,0 +1,109 @@ +#!/bin/sh +# vim: set ts=4: +set -eu + +RUSTC="$1" +TMPDIR="$(pwd)/.tmp-${0##*/}-$RANDOM" +failed=0 + +unset RUST_BACKTRACE +unset RUSTC_CRT_STATIC + + +_rustc() { + printf '\n$ rustc %s\n' "$*" + "$RUSTC" "$@" +} + +die() { + printf '\033[1;31mERROR:\033[0m %s\n' "$1" >&2 # bold red + exit 1 +} + +fail() { + printf '\033[1;31mFAIL:\033[0m %s\n' "$1" >&2 # bold red + failed=$(( failed + 1 )) +} + +assert_dynamic() { + readelf -l "$1" | grep -Fqw INTERP \ + && readelf -d "$1" | grep -Fqw NEEDED || { + fail "$1 is not a dynamic executable!" + readelf -ld "$1" + } +} + +assert_ok() { + "$1" || fail "$1 exited with status $?" +} + +assert_panic() { + local status=0 + "$1" || status=$? && [ "$status" = 101 ] \ + || fail "$1 exited with status $status, but expected 101" +} + +assert_pie() { + readelf -d "$1" | grep -Fw FLAGS_1 | grep -Fqw PIE || { + fail "$1 is not a PIE executable!" + readelf -d "$1" + } +} + +assert_static() { + test -f "$1" \ + && ! readelf -l "$1" | grep -Fqw INTERP \ + && ! readelf -d "$1" | grep -Fqw NEEDED || { + fail "$1 is not a static executable!" + readelf -ld "$1" + } +} + + +#-------------------- M a i n -------------------- + +test -d "$TMPDIR" && die "$TMPDIR already exists!" +mkdir -p "$TMPDIR" +trap "rm -R '$TMPDIR'" EXIT + +cd "$TMPDIR" + +cat >> hello_world.rs <<-EOF + fn main() { + println!("Hello, world!"); + } +EOF + +_rustc hello_world.rs +assert_ok ./hello_world +assert_dynamic hello_world +assert_pie hello_world +rm -f hello_world + +_rustc -C target-feature=-crt-static hello_world.rs +assert_ok ./hello_world +assert_dynamic hello_world +assert_pie hello_world +rm -f hello_world + +_rustc -C target-feature=+crt-static hello_world.rs +assert_ok ./hello_world +assert_static hello_world +assert_pie hello_world +rm -f hello_world + + +cat >> panic.rs <<-EOF + fn main() { + panic!("This should panic"); + } +EOF + +_rustc -C target-feature=-crt-static panic.rs +assert_panic ./panic + +_rustc -C target-feature=+crt-static panic.rs +assert_panic ./panic + + +[ "$failed" -eq 0 ] || die "$failed assertion(s) has failed" diff --git a/repo/rust/install-template-shebang.patch b/repo/rust/install-template-shebang.patch new file mode 100644 index 0000000..e81b579 --- /dev/null +++ b/repo/rust/install-template-shebang.patch @@ -0,0 +1,10 @@ +The script seems to be POSIX-sh (+ local) compatible. + +--- a/src/tools/rust-installer/install-template.sh ++++ b/src/tools/rust-installer/install-template.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # Copyright 2014 The Rust Project Developers. See the COPYRIGHT + # file at the top-level directory of this distribution and at + # http://rust-lang.org/COPYRIGHT. diff --git a/repo/rust/link-musl-dynamically.patch b/repo/rust/link-musl-dynamically.patch new file mode 100644 index 0000000..55d02a3 --- /dev/null +++ b/repo/rust/link-musl-dynamically.patch @@ -0,0 +1,17 @@ +--- rustc-1.58.0-src.orig/vendor/libc/src/unix/mod.rs ++++ rustc-1.58.0-src/vendor/libc/src/unix/mod.rs +@@ -329,11 +329,11 @@ + #[link(name = "c", cfg(not(target_feature = "crt-static")))] + extern {} + } else if #[cfg(target_env = "musl")] { ++ #[link(name = "c")] ++ extern {} + #[cfg_attr(feature = "rustc-dep-of-std", +- link(name = "c", kind = "static", modifiers = "-bundle", ++ link(name = "gcc", kind = "static", modifiers = "-bundle", + cfg(target_feature = "crt-static")))] +- #[cfg_attr(feature = "rustc-dep-of-std", +- link(name = "c", cfg(not(target_feature = "crt-static"))))] + extern {} + } else if #[cfg(target_os = "emscripten")] { + #[link(name = "c")] diff --git a/repo/rust/musl-fix-linux_musl_base.patch b/repo/rust/musl-fix-linux_musl_base.patch new file mode 100644 index 0000000..1771ffe --- /dev/null +++ b/repo/rust/musl-fix-linux_musl_base.patch @@ -0,0 +1,23 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Sat, 08 Aug 2016 15:06:00 +0200 +Subject: [PATCH] Fix linux_musl_base for native musl host + +See https://github.com/rust-lang/rust/pull/40113 + +--- a/compiler/rustc_target/src/spec/linux_musl_base.rs ++++ b/compiler/rustc_target/src/spec/linux_musl_base.rs +@@ -5,12 +5,9 @@ + let mut base = super::linux_base::opts(); + + base.env = "musl".to_string(); +- base.pre_link_objects_fallback = crt_objects::pre_musl_fallback(); +- base.post_link_objects_fallback = crt_objects::post_musl_fallback(); +- base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } + diff --git a/repo/rust/need-rpath.patch b/repo/rust/need-rpath.patch new file mode 100644 index 0000000..5ab8377 --- /dev/null +++ b/repo/rust/need-rpath.patch @@ -0,0 +1,62 @@ +From: Shiz <hi@shiz.me> +Date: Thu, 20 Aug 2017 01:48:22 +0200 +Subject: [PATCH] Add need_rpath target option to force RPATH generation + +This adds a `need_rpath` option to the target options in order to implicitly +have the equivalent of `-C rpath` specified by default for final products +(executables and dynamic libraries), so that RPATHs are always added. + +We have to skip this step in the bootstrap phase as it does its own manual +RPATH additions, but unfortunately there's no clean way to detect this. +As such, we have to resort to checking the `RUSTC_BOOTSTRAP` variable. +Hacky hacky! + +--- a/compiler/rustc_target/src/spec/mod.rs ++++ b/compiler/rustc_target/src/spec/mod.rs +@@ -379,6 +379,8 @@ + pub allows_weak_linkage: bool, + /// Whether the linker support rpaths or not. Defaults to false. + pub has_rpath: bool, ++ /// Whether to force rpath support on by default. Defaults to false. ++ pub need_rpath: bool, + /// Whether to disable linking to the default libraries, typically corresponds + /// to `-nodefaultlibs`. Defaults to true. + pub no_default_libraries: bool, +@@ -519,6 +519,7 @@ + linker_is_gnu: false, + allows_weak_linkage: true, + has_rpath: false, ++ need_rpath: false, + no_default_libraries: true, + position_independent_executables: false, + static_position_independent_executables: false, +@@ -776,6 +776,7 @@ + key!(linker_is_gnu, bool); + key!(allows_weak_linkage, bool); + key!(has_rpath, bool); ++ key!(need_rpath, bool); + key!(no_default_libraries, bool); + key!(position_independent_executables, bool); + key!(static_position_independent_executables, bool); +@@ -980,6 +980,7 @@ + target_option_val!(linker_is_gnu); + target_option_val!(allows_weak_linkage); + target_option_val!(has_rpath); ++ target_option_val!(need_rpath); + target_option_val!(no_default_libraries); + target_option_val!(position_independent_executables); + target_option_val!(static_position_independent_executables); +--- a/compiler/rustc_codegen_ssa/src/back/link.rs.orig ++++ b/compiler/rustc_codegen_ssa/src/back/link.rs +@@ -1675,7 +1675,10 @@ + // FIXME (#2397): At some point we want to rpath our guesses as to + // where extern libraries might live, based on the + // add_lib_search_paths +- if sess.opts.cg.rpath { ++ // XXX: hacky hacky ++ let bootstrap = env::var("RUSTC_BOOTSTRAP").is_ok(); ++ if !bootstrap && !sess.crt_static(None) && ++ (sess.opts.cg.rpath || sess.target.options.need_rpath) { + let libs = codegen_results + .crate_info + .used_crates diff --git a/repo/rust/need-ssp_nonshared.patch b/repo/rust/need-ssp_nonshared.patch new file mode 100644 index 0000000..f1adf20 --- /dev/null +++ b/repo/rust/need-ssp_nonshared.patch @@ -0,0 +1,13 @@ +--- a/library/std/src/sys/unix/mod.rs.orig 2021-02-11 18:34:14.479832268 +0100 ++++ b/library/std/src/sys/unix/mod.rs 2021-02-11 18:38:28.078987749 +0100 +@@ -243,6 +243,9 @@ + #[link(name = "log")] + #[link(name = "gcc")] + extern "C" {} ++ } else if #[cfg(all(target_os = "linux", target_env = "musl"))] { ++ #[link(name = "ssp_nonshared")] ++ extern "C" {} + } else if #[cfg(target_os = "freebsd")] { + #[link(name = "execinfo")] + #[link(name = "pthread")] + diff --git a/repo/rust/rust.xibuild b/repo/rust/rust.xibuild new file mode 100644 index 0000000..8b95956 --- /dev/null +++ b/repo/rust/rust.xibuild @@ -0,0 +1,77 @@ +#!/bin/sh + +MAKEDEPS="cmake libclang clang llvm curl" +DEPS="libssh2 openssl" + +PKG_VER=1.66.0 +SOURCE=https://static.rust-lang.org/dist/rustc-$PKG_VER-src.tar.gz +DESC="Systems programming language focused on safety, speed and concurrency" + +ADDITIONAL=" + 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch + 0007-do-not-install-libunwind-source.patch + install-template-shebang.patch + link-musl-dynamically.patch + musl-fix-linux_musl_base.patch + need-rpath.patch + need-ssp_nonshared.patch +" + +prepare () { + apply_patches + sed -i /LD_LIBRARY_PATH/d src/bootstrap/bootstrap.py + sed -i 's/\("files":{\)[^}]*/\1/' vendor/libc/.cargo-checksum.json +} + +build () { + export CFLAGS="$CFLAGS -fPIE -fPIC" + export CXXFLAGS="$CFLAGS" + target=x86_64-unknown-linux-musl + build=x86_64-unknown-linux-musl + ./configure \ + --build="$build" \ + --host="$target" \ + --target="$target" \ + --prefix="/usr" \ + --release-channel="stable" \ + --llvm-root="/usr/lib/" \ + --disable-docs \ + --enable-extended \ + --tools="analysis,cargo,src,rustfmt" \ + --enable-llvm-link-shared \ + --enable-option-checking \ + --enable-locked-deps \ + --enable-vendor \ + --set="rust.musl-root=/usr" \ + --set="rust.codegen-units=1" \ + --set="rust.codegen-units-std=1" \ + --set="rust.parallel-compiler=true" \ + --set="target.$target.llvm-config=/usr/bin/llvm-config" \ + --set="target.$target.musl-root=/usr" \ + --set="target.$target.crt-static=false" \ + --set="target.$target.cc=gcc" \ + --set="target.$target.cxx=g++" \ + --set="target.$target.ar=ar" \ + --set="target.$target.linker=gcc" \ + --set="target.$build.musl-root=/usr" \ + --set="target.$build.crt-static=false" \ + --set="target.$build.cc=gcc" \ + --set="target.$build.cxx=g++" \ + --set="target.$build.ar=ar" \ + --set="target.$build.linker=gcc" \ + + sed 's/#deny-warnings = .*/deny-warnings = false/' -i config.toml + sed 's|deny(warnings,|deny(|' -i src/bootstrap/lib.rs + + python ./x.py dist -v --jobs $JOBS + +} + +package () { + export LIBSSH2_SYS_USE_PKG_CONFIG=1 && + DESTDIR=${PWD}/install python3 ./x.py install && + unset LIBSSH2_SYS_USE_PKG_CONFIG + + chown -R root:root install && + cp -a install/* $PKG_DEST +} diff --git a/repo/rxvt-unicode/rxvt-unicode.xibuild b/repo/rxvt-unicode/rxvt-unicode.xibuild index ddae254..649ecb0 100644 --- a/repo/rxvt-unicode/rxvt-unicode.xibuild +++ b/repo/rxvt-unicode/rxvt-unicode.xibuild @@ -1,7 +1,6 @@ #!/bin/sh -MAKEDEPS="make ncurses" -DEPS="libxft perl startup-notification libnsl libptytty" +MAKEDEPS="make ncurses libxft perl startup-notification libnsl libptytty" DESC="Unicode fork of rxvt terminal emulator" diff --git a/repo/samba/add_missing___compar_fn_t.patch b/repo/samba/add_missing___compar_fn_t.patch deleted file mode 100644 index 96b65e6..0000000 --- a/repo/samba/add_missing___compar_fn_t.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/source4/dsdb/samdb/ldb_modules/count_attrs.c -+++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c -@@ -38,6 +38,11 @@ - #define NULL_REQ_PSEUDO_N -2LL; - #define STAR_REQ_PSEUDO_N -4LL; - -+#ifndef __COMPAR_FN_T -+#define __COMPAR_FN_T -+typedef int (*__compar_fn_t)(const void *, const void *); -+#endif -+ - struct count_attrs_private { - struct tdb_wrap *requested; - struct tdb_wrap *duplicates; diff --git a/repo/samba/getpwent_r.patch b/repo/samba/getpwent_r.patch deleted file mode 100644 index 0ba5fcc..0000000 --- a/repo/samba/getpwent_r.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c -index 2cd6122..04f13c6 100644 ---- a/source4/torture/local/nss_tests.c -+++ b/source4/torture/local/nss_tests.c -@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct torture_context *tctx, - return true; - } - -- - static bool test_getgrgid(struct torture_context *tctx, - gid_t gid, - struct group *grp_p) -@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct torture_context *tctx, - return true; - } - -+#if HAVE_GETPWENT_R - static bool test_enum_r_passwd(struct torture_context *tctx, - struct passwd **pwd_array_p, - size_t *num_pwd_p) -@@ -383,6 +383,7 @@ static bool test_enum_r_passwd(struct torture_context *tctx, - - return true; - } -+#endif - - static bool torture_assert_passwd_equal(struct torture_context *tctx, - const struct passwd *p1, -@@ -434,7 +435,7 @@ static bool test_passwd_r(struct torture_context *tctx) - struct passwd *pwd, pwd1, pwd2; - size_t num_pwd; - -- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), -+ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), - "failed to enumerate passwd"); - - for (i=0; i < num_pwd; i++) { -@@ -462,7 +463,7 @@ static bool test_passwd_r_cross(struct torture_context *tctx) - struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; - size_t num_pwd; - -- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), -+ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), - "failed to enumerate passwd"); - - for (i=0; i < num_pwd; i++) { -@@ -533,6 +534,7 @@ static bool test_enum_group(struct torture_context *tctx, - return true; - } - -+#if HAVE_GETGRENT_R - static bool test_enum_r_group(struct torture_context *tctx, - struct group **grp_array_p, - size_t *num_grp_p) -@@ -583,6 +585,7 @@ static bool test_enum_r_group(struct torture_context *tctx, - - return true; - } -+#endif - - static bool torture_assert_group_equal(struct torture_context *tctx, - const struct group *g1, -@@ -639,7 +642,7 @@ static bool test_group_r(struct torture_context *tctx) - struct group *grp, grp1, grp2; - size_t num_grp; - -- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), -+ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), - "failed to enumerate group"); - - for (i=0; i < num_grp; i++) { -@@ -667,7 +670,7 @@ static bool test_group_r_cross(struct torture_context *tctx) - struct group *grp, grp1, grp2, grp3, grp4; - size_t num_grp; - -- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), -+ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), - "failed to enumerate group"); - - for (i=0; i < num_grp; i++) { diff --git a/repo/samba/missing-headers.patch b/repo/samba/missing-headers.patch deleted file mode 100644 index 58c26ae..0000000 --- a/repo/samba/missing-headers.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h -index b5d79b9..3f4eae0 100644 ---- a/lib/param/loadparm.h -+++ b/lib/param/loadparm.h -@@ -31,6 +31,7 @@ - #define _LOADPARM_H - - #include <talloc.h> -+#include <time.h> - - struct parmlist_entry { - struct parmlist_entry *prev, *next; -diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c -index 3b1ac9c..4044d75 100644 ---- a/source3/lib/system_smbd.c -+++ b/source3/lib/system_smbd.c -@@ -27,6 +27,8 @@ - #include "system/passwd.h" - #include "nsswitch/winbind_client.h" - #include "../lib/util/setid.h" -+#include <grp.h> -+#include <uuid/uuid.h> - - #ifndef HAVE_GETGROUPLIST - -diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c -index 2cd6122..0c84ec2 100644 ---- a/source4/torture/local/nss_tests.c -+++ b/source4/torture/local/nss_tests.c -@@ -20,6 +20,8 @@ - */ - - #include "includes.h" -+#include <grp.h> -+#include <uuid/uuid.h> - - #include "torture/torture.h" - #include "torture/local/proto.h" diff --git a/repo/samba/musl_rm_unistd_incl.patch b/repo/samba/musl_rm_unistd_incl.patch deleted file mode 100644 index 1f4aae2..0000000 --- a/repo/samba/musl_rm_unistd_incl.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/lib/replace/replace.h -+++ b/lib/replace/replace.h -@@ -168,10 +168,6 @@ - #include <bsd/unistd.h> - #endif - --#ifdef HAVE_UNISTD_H --#include <unistd.h> --#endif -- - #ifdef HAVE_STRING_H - #include <string.h> - #endif ---- a/lib/replace/system/network.h -+++ b/lib/replace/system/network.h -@@ -31,10 +31,6 @@ - #error "AC_LIBREPLACE_NETWORK_CHECKS missing in configure" - #endif - --#ifdef HAVE_UNISTD_H --#include <unistd.h> --#endif -- - #ifdef HAVE_SYS_SOCKET_H - #include <sys/socket.h> - #endif ---- a/source3/rpc_server/mdssvc/mdssvc.c -+++ b/source3/rpc_server/mdssvc/mdssvc.c -@@ -18,6 +18,8 @@ - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -+#include <unistd.h> -+ - #include "includes.h" - #include "librpc/gen_ndr/auth.h" - #include "dbwrap/dbwrap.h" diff --git a/repo/samba/musl_uintptr.patch b/repo/samba/musl_uintptr.patch deleted file mode 100644 index de7f285..0000000 --- a/repo/samba/musl_uintptr.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit f81e5b71ce78f33250347914dacc75c8463bf102 -Author: Breno Leitao <breno.leitao@gmail.com> -Date: Wed Mar 29 15:22:38 2017 -0300 - - include: Check for previous declaration of uintptr_t - - Adding a extra check before declaring uintptr_t. Currently musl uses - macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking - this macro before defining it, and, defining it when uintptr_t is - defined. - - Signed-off-by: Breno Leitao <breno.leitao@gmail.com> - -diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h -index 303d0ae..a2bfc40 100644 ---- a/third_party/cmocka/cmocka.h -+++ b/third_party/cmocka/cmocka.h -@@ -111,7 +111,7 @@ - ((LargestIntegralType)(value)) - - /* Smallest integral type capable of holding a pointer. */ --#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) -+#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t) - # if defined(_WIN32) - /* WIN32 is an ILP32 platform */ - typedef unsigned int uintptr_t; -@@ -137,6 +137,8 @@ - - # define _UINTPTR_T - # define _UINTPTR_T_DEFINED -+# define __DEFINED_uintptr_t -+ - #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ - - /* Perform an unsigned cast to uintptr_t. */ diff --git a/repo/samba/netapp.patch b/repo/samba/netapp.patch deleted file mode 100644 index fea413c..0000000 --- a/repo/samba/netapp.patch +++ /dev/null @@ -1,85 +0,0 @@ -https://bugzilla.samba.org/show_bug.cgi?id=12776 - -diff --git a/source3/include/client.h b/source3/include/client.h -index db8260d..becdf77 100644 ---- a/source3/include/client.h -+++ b/source3/include/client.h -@@ -61,6 +61,9 @@ struct cli_state { - char *server_os; - char *server_domain; - -+ /* is server_os spinstream2? true/false/not-yet-checked(-1) */ -+ int is_spinstream2; -+ - char *share; - char *dev; - -diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c -index bc5c1b1..6d6b725 100644 ---- a/source3/libsmb/clientgen.c -+++ b/source3/libsmb/clientgen.c -@@ -111,6 +111,7 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx, - if (!cli->server_os) { - goto error; - } -+ cli->is_spinstream2 = -1; - cli->server_type = talloc_strdup(cli, ""); - if (!cli->server_type) { - goto error; -@@ -467,6 +468,24 @@ time_t cli_state_server_time(struct cli_state *cli) - return t; - } - -+bool cli_state_server_is_spinstream2(struct cli_state *cli) -+{ -+ int *ret = &cli->is_spinstream2; -+ if (*ret == -1) { -+ if (*cli->server_os == '\0') { -+ DEBUG(1, ("when checking if server is SpinStream2:" -+ " server_os field is empty (should have" -+ " been sent in Session Setup protocol" -+ " response), so ... presuming not")); -+ *ret = 0; -+ } -+ else { -+ *ret = strequal(cli->server_os, "SpinStream2") ? 1 : 0; -+ } -+ } -+ return *ret == 1; -+} -+ - struct cli_echo_state { - bool is_smb2; - }; -diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c -index 3987477..6371bc2 100644 ---- a/source3/libsmb/clireadwrite.c -+++ b/source3/libsmb/clireadwrite.c -@@ -89,6 +89,13 @@ static size_t cli_write_max_bufsize(struct cli_state *cli, - useable_space = 0xFFFFFF - data_offset; - } else if (smb1cli_conn_capabilities(cli->conn) & CAP_LARGE_WRITEX) { - useable_space = 0x1FFFF - data_offset; -+ if (cli_state_server_is_spinstream2(cli)) -+ /* -+ * SpinStream2 (NetApp OnTAP, up to 8.3.2, at least; -+ * XXX may need to be more discerning than this) -+ * can't handle writes > 64k -+ */ -+ useable_space = MIN(useable_space, 64 * 1024); - } else { - return min_space; - } -diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h -index b453733..e334cc6 100644 ---- a/source3/libsmb/proto.h -+++ b/source3/libsmb/proto.h -@@ -203,6 +203,7 @@ uint16_t cli_state_set_uid(struct cli_state *cli, uint16_t uid); - bool cli_set_case_sensitive(struct cli_state *cli, bool case_sensitive); - uint32_t cli_state_available_size(struct cli_state *cli, uint32_t ofs); - time_t cli_state_server_time(struct cli_state *cli); -+bool cli_state_server_is_spinstream2(struct cli_state *cli); - struct tevent_req *cli_echo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, - struct cli_state *cli, uint16_t num_echos, - DATA_BLOB data); - - diff --git a/repo/samba/netdb-defines.patch b/repo/samba/netdb-defines.patch deleted file mode 100644 index d7d6446..0000000 --- a/repo/samba/netdb-defines.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/nsswitch/wins.c b/nsswitch/wins.c -index dccb6dd..bb24acb 100644 ---- a/nsswitch/wins.c -+++ b/nsswitch/wins.c -@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex = PTHREAD_MUTEX_INITIALIZER; - #define INADDRSZ 4 - #endif - -+#ifndef NETDB_INTERNAL -+#define NETDB_INTERNAL -1 -+#endif -+ -+#ifndef NETDB_SUCCESS -+#define NETDB_SUCCESS 0 -+#endif -+ - NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, - struct hostent *he, - char *buffer, diff --git a/repo/samba/pidl.patch b/repo/samba/pidl.patch deleted file mode 100644 index 60359e5..0000000 --- a/repo/samba/pidl.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 838457ac4f9f3f6c1bb5936738566210a62cbdc5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org> -Date: Tue, 27 Aug 2019 15:25:13 +0200 -Subject: [PATCH] Revert "waf: install: Remove installation of PIDL and - manpages." - -This reverts commit e24e344d0da58013fd5fa404529fe1d25ef403bf. - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=14103 - -Guenther - -Signed-off-by: Guenther Deschner <gd@samba.org> ---- - pidl/lib/wscript_build | 37 +++++++++++++++++++++++++++++++++++++ - pidl/wscript | 38 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 75 insertions(+) - create mode 100644 pidl/lib/wscript_build - -diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build -new file mode 100644 -index 00000000000..54b3170c4e2 ---- /dev/null -+++ b/pidl/lib/wscript_build -@@ -0,0 +1,33 @@ -+#!/usr/bin/env python -+ -+# install the pidl modules -+bld.INSTALL_FILES(bld.env.PERL_LIB_INSTALL_DIR, -+ ''' -+ Parse/Pidl.pm -+ Parse/Pidl/Samba4.pm -+ Parse/Pidl/CUtil.pm -+ Parse/Pidl/Expr.pm -+ Parse/Pidl/Wireshark/Conformance.pm -+ Parse/Pidl/Wireshark/NDR.pm -+ Parse/Pidl/ODL.pm -+ Parse/Pidl/Dump.pm -+ Parse/Pidl/Util.pm -+ Parse/Pidl/Samba4/Header.pm -+ Parse/Pidl/Samba4/COM/Header.pm -+ Parse/Pidl/Samba4/COM/Proxy.pm -+ Parse/Pidl/Samba4/COM/Stub.pm -+ Parse/Pidl/Samba4/TDR.pm -+ Parse/Pidl/Samba4/NDR/Server.pm -+ Parse/Pidl/Samba4/NDR/Client.pm -+ Parse/Pidl/Samba4/NDR/Parser.pm -+ Parse/Pidl/Samba4/Python.pm -+ Parse/Pidl/Samba4/Template.pm -+ Parse/Pidl/IDL.pm -+ Parse/Pidl/Typelist.pm -+ Parse/Pidl/Samba3/ClientNDR.pm -+ Parse/Pidl/Samba3/ServerNDR.pm -+ Parse/Pidl/Compat.pm -+ Parse/Pidl/NDR.pm -+ ''', -+ flat=False) -+ -diff --git a/pidl/wscript b/pidl/wscript -index 01b71bd8b27..a2a15d36851 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -28,12 +28,51 @@ - 1.05): - raise Errors.WafError('perl module "Parse::Yapp::Driver" not found') - -+ # we need a recent version of MakeMaker to get the right man page names -+ if conf.CHECK_PERL_MANPAGE(): -+ conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1') -+ conf.env.PERLMAN3EXT = conf.CHECK_PERL_MANPAGE(section='3') -+ conf.DEFINE('HAVE_PERL_MAKEMAKER', 1) -+ - # yapp is used for building the parser - if not conf.find_program('yapp', var='YAPP'): - raise Errors.WafError('yapp not found') -+ conf.find_program('pod2man', var='POD2MAN') - - def build(bld): -+ bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=MODE_755, perl_fixup=True) -+ -+ bld.RECURSE('lib') -+ -+ if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'): -+ return -+ -+ pidl_manpages = { -+ 'pidl': 'man1/pidl.${PERLMAN1EXT}', -+ 'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Wireshark/Conformance.pm': 'man3/Parse::Pidl::Wireshark::Conformance.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Dump.pm': 'man3/Parse::Pidl::Dump.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Util.pm': 'man3/Parse::Pidl::Util.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Wireshark/NDR.pm': 'man3/Parse::Pidl::Wireshark::NDR.${PERLMAN3EXT}' -+ } -+ -+ for k in pidl_manpages.keys(): -+ pidl_manpages[k] = bld.EXPAND_VARIABLES(pidl_manpages[k]) -+ -+ # use perl to build the manpages -+ bld.env.pidl_srcdir = os.path.join(bld.srcnode.abspath(), 'pidl') - -+ bld.SET_BUILD_GROUP('final') -+ if 'POD2MAN' in bld.env and bld.env['POD2MAN'] != '': -+ for src in pidl_manpages.keys(): -+ manpage = pidl_manpages[src] -+ section = manpage.rsplit( ".", 1)[1] -+ bld(rule='${POD2MAN} -c "Samba Documentation" -s %s ${SRC} ${TGT}' % section, -+ shell=True, -+ source=src, -+ install_path=os.path.dirname(bld.EXPAND_VARIABLES('${MANDIR}/'+manpage)), -+ target=os.path.basename(manpage)) -+ - # we want to prefer the git version of the parsers if we can. - # Only if the source has changed do we want to re-run yapp - # But we force the developer to use the pidl standalone build diff --git a/repo/samba/samba-bgqd-include-signal-h.patch b/repo/samba/samba-bgqd-include-signal-h.patch deleted file mode 100644 index c066223..0000000 --- a/repo/samba/samba-bgqd-include-signal-h.patch +++ /dev/null @@ -1,13 +0,0 @@ -SIGTERM and SIGPIPE are used but undefined. -diff --git a/source3/printing/samba-bgqd.c b/source3/printing/samba-bgqd.c -index 8ac6ec5..09a5d12 100644 ---- a/source3/printing/samba-bgqd.c -+++ b/source3/printing/samba-bgqd.c -@@ -41,6 +41,7 @@ - #include "source3/auth/proto.h" - #include "source3/printing/queue_process.h" - #include "source3/lib/substitute.h" -+#include <signal.h> - - static void watch_handler(struct tevent_req *req) - { diff --git a/repo/samba/samba.confd b/repo/samba/samba.confd deleted file mode 100644 index 902cb1a..0000000 --- a/repo/samba/samba.confd +++ /dev/null @@ -1,9 +0,0 @@ -# Add "winbindd" to daemon_list if you want start winbind from here as well -daemon_list="smbd nmbd" -# Use "samba" alone for role based samba4 services (eg: ad-dc). -#daemon_list="samba" - -smbd_options="-D" -nmbd_options="-D" -#winbindd_options="" -#samba_options="" diff --git a/repo/samba/samba.initd b/repo/samba/samba.initd deleted file mode 100644 index 71c7fb2..0000000 --- a/repo/samba/samba.initd +++ /dev/null @@ -1,79 +0,0 @@ -#!/sbin/openrc-run - -extra_started_commands="reload" -piddir=${piddir:-"/run/samba"} - -DAEMON=${RC_SVCNAME#samba.} -if [ "$DAEMON" != "$RC_SVCNAME" ]; then - daemon_list=$DAEMON -fi - -depend() { - need net - after firewall -} - -start_pre() { - checkpath --directory "$piddir" -} - -start_samba() { - start-stop-daemon --start --quiet --exec /usr/sbin/samba -- \ - ${samba_options:-"-D"} -} - -stop_samba() { - start-stop-daemon --stop --quiet --pidfile "$piddir"/samba.pid -} - -start_smbd() { - start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- \ - ${smbd_options:-"-D"} -} - -stop_smbd() { - start-stop-daemon --stop --quiet --pidfile "$piddir"/smbd.pid -} - -start_nmbd() { - start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- \ - ${nmbd_options:-"-D"} -} - -stop_nmbd() { - start-stop-daemon --stop --quiet --pidfile "$piddir"/nmbd.pid -} - -start_winbindd() { - start-stop-daemon --start --quiet --exec /usr/sbin/winbindd -- \ - $winbindd_options -} - -stop_winbindd() { - start-stop-daemon --stop --quiet --pidfile "$piddir"/winbindd.pid -} - -start() { - for i in $daemon_list; do - ebegin "Starting $i" - start_$i - eend $? - done -} - -stop() { - for i in $daemon_list; do - ebegin "Stopping $i" - stop_$i - eend $? - done -} - -reload() { - for i in $daemon_list; do - ebegin "Reloading $i" - killall -HUP $i - eend $? - done -} - diff --git a/repo/samba/samba.logrotate b/repo/samba/samba.logrotate deleted file mode 100644 index 88abb90..0000000 --- a/repo/samba/samba.logrotate +++ /dev/null @@ -1,9 +0,0 @@ -/var/log/samba/log.* /var/log/samba/*.log { - notifempty - missingok - sharedscripts - copytruncate - postrotate - /etc/init.d/samba --quiet --ifstarted reload - endscript -} diff --git a/repo/samba/samba.xibuild b/repo/samba/samba.xibuild deleted file mode 100644 index f860cb6..0000000 --- a/repo/samba/samba.xibuild +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh - -NAME="samba" -DESC="Tools to access a server's filespace and printers via SMB" - -MAKEDEPS="acl bind cups dbus docbook-xsl e2fsprogs fuse gnutls iniparser jansson ldb libarchive libcap libtirpc liburing linux-pam musl-nscd ncurses openldap perl perl-parse-yapp popt python-tdb python-tevent python3 rpcgen subunit talloc tdb tevent zlib python-dnspython python-markdown tdb" - -PKG_VER=4.17.0 -SOURCE=" - https://download.samba.org/pub/samba/stable/samba-$PKG_VER.tar.gz - " - -ADDITIONAL=" -add_missing___compar_fn_t.patch -getpwent_r.patch -missing-headers.patch -musl_rm_unistd_incl.patch -musl_uintptr.patch -netapp.patch -netdb-defines.patch -pidl.patch -samba-bgqd-include-signal-h.patch -samba.confd -samba.initd -samba.logrotate -winbind.post-install -winbind.post-upgrade -winbind.pre-install -winbind.pre-upgrade -" - -build() { - local _idmap_modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2 - local _pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4 - local _auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 - - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc/samba \ - --with-configdir=/etc/samba \ - --localstatedir=/var \ - --libexecdir=/usr/lib \ - --enable-fhs \ - --with-lockdir=/var/cache/samba \ - --with-piddir=/run/samba \ - --with-logfilebase=/var/log/samba \ - --with-pam \ - --without-systemd \ - --with-ads \ - --with-shared-modules=$_idmap_modules,$_pdb_modules,$_auth_modules,vfs_io_uring \ - --enable-cups \ - --without-gettext \ - --bundled-libraries=NONE,ntdb,roken,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,cmocka \ - --disable-rpath-install \ - --without-gpgme - make -j"$(nproc)" -} - -package() { - make DESTDIR="$PKG_DEST" install - - install -d "$PKG_DEST"/var/log/samba \ - "$PKG_DEST"/usr/share/doc/samba - install -dm755 "$PKG_DEST"/var/lib/samba/sysvol - install -Dm644 examples/smb.conf.default \ - "$PKG_DEST"/etc/samba/smb.conf - install -m744 packaging/printing/smbprint \ - "$PKG_DEST"/usr/bin/smbprint - install -Dm644 "$BUILD_ROOT"/samba.logrotate \ - "$PKG_DEST"/etc/logrotate.d/samba - - install -Dm755 "$BUILD_ROOT/samba.initd" "$PKG_DEST/etc/init.d/samba" - install -Dm644 "$BUILD_ROOT/samba.confd" "$PKG_DEST/etc/conf.d/samba" -} diff --git a/repo/samba/winbind.post-install b/repo/samba/winbind.post-install deleted file mode 100644 index 59abe0f..0000000 --- a/repo/samba/winbind.post-install +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -chgrp winbind /var/cache/samba/winbindd_privileged -chmod 750 /var/cache/samba/winbindd_privileged -exit 0 - diff --git a/repo/samba/winbind.post-upgrade b/repo/samba/winbind.post-upgrade deleted file mode 100644 index 59abe0f..0000000 --- a/repo/samba/winbind.post-upgrade +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -chgrp winbind /var/cache/samba/winbindd_privileged -chmod 750 /var/cache/samba/winbindd_privileged -exit 0 - diff --git a/repo/samba/winbind.pre-install b/repo/samba/winbind.pre-install deleted file mode 100644 index ac4df3f..0000000 --- a/repo/samba/winbind.pre-install +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -addgroup -S winbind 2>/dev/null - -exit 0 diff --git a/repo/samba/winbind.pre-upgrade b/repo/samba/winbind.pre-upgrade deleted file mode 100644 index ac4df3f..0000000 --- a/repo/samba/winbind.pre-upgrade +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -addgroup -S winbind 2>/dev/null - -exit 0 diff --git a/repo/sassc/sassc.xibuild b/repo/sassc/sassc.xibuild new file mode 100644 index 0000000..1045d4e --- /dev/null +++ b/repo/sassc/sassc.xibuild @@ -0,0 +1,33 @@ +#!/bin/sh + +NAME="sassc" +DESC="Libsass command line driver" + +MAKEDEPS="libsass autoconf automake libtool" + +PKG_VER=3.6.2 +SOURCE="https://github.com/sass/sassc/archive/$PKG_VER.tar.gz" + +prepare() { + cat <<- __EOF__ > version.sh + echo $PKG_VER + __EOF__ + + autoreconf -vif +} + +build() { + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +check() { + ./sassc --help > /dev/null +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/sbc/sbc.xibuild b/repo/sbc/sbc.xibuild index 3a28ea3..952be4a 100644 --- a/repo/sbc/sbc.xibuild +++ b/repo/sbc/sbc.xibuild @@ -8,13 +8,6 @@ MAKEDEPS="libsndfile linux-headers flac libvorbis libogg opus" PKG_VER=2.0 SOURCE="https://www.kernel.org/pub/linux/bluetooth/sbc-$PKG_VER.tar.xz" -ADDITIONAL=" -fix-build-on-non-x86.patch -" -prepare () { - apply_patches -} - build() { ./configure \ --prefix=/usr \ diff --git a/repo/sdl2-ttf/sdl2-ttf.xibuild b/repo/sdl2-ttf/sdl2-ttf.xibuild index 12cdba8..335d1f6 100644 --- a/repo/sdl2-ttf/sdl2-ttf.xibuild +++ b/repo/sdl2-ttf/sdl2-ttf.xibuild @@ -5,13 +5,11 @@ DESC="A library which allows you to use TrueType fonts in your SDL applications" MAKEDEPS="freetype2 mesa sdl2" -PKG_VER=2.0.18 +PKG_VER=2.20.1 SOURCE="https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-$PKG_VER.tar.gz" build() { ./configure \ - - --prefix=/usr \ --enable-static make diff --git a/repo/slock/slock.xibuild b/repo/slock/slock.xibuild index 57b7eb2..d7c317d 100644 --- a/repo/slock/slock.xibuild +++ b/repo/slock/slock.xibuild @@ -3,11 +3,10 @@ NAME="slock" DESC="simple X display locker utility" -MAKEDEPS="make " -DEPS="libx11 " +MAKEDEPS="make libx11 " PKG_VER= -SOURCE="https://git.suckless.org/slock" +SOURCE="git://git.suckless.org/slock" build () { make PREFIX=/usr diff --git a/repo/slop/slop.xibuild b/repo/slop/slop.xibuild index 263118b..73bbb60 100644 --- a/repo/slop/slop.xibuild +++ b/repo/slop/slop.xibuild @@ -3,8 +3,7 @@ NAME="slop" DESC="Application that queries for a selection from the user and prints the region to stdout" -MAKEDEPS="cmake " -DEPS="icu libice libsm libx11 libxext libxrender glm glew" +MAKEDEPS="cmake icu libice libsm libx11 libxext libxrender glm glew" PKG_VER=7.6 SOURCE="https://github.com/naelstrof/slop/archive/v$PKG_VER.tar.gz" diff --git a/repo/snes9x/snes9x.xibuild b/repo/snes9x/snes9x.xibuild index d82f9ec..2e5f724 100644 --- a/repo/snes9x/snes9x.xibuild +++ b/repo/snes9x/snes9x.xibuild @@ -3,7 +3,7 @@ NAME="snes9x" DESC="Super NES Emulator" -MAKEDEPS=" alsa-lib glib gtk+3.0 gtkmm3 libepoxy libpng libxrandr libxv meson minizip portaudio sdl2 wayland zlib" +MAKEDEPS="alsa-lib glib gtk3 gtkmm3 libepoxy libpng libxrandr libxv meson minizip portaudio sdl2 wayland zlib" glslang=bcf6a2430e99e8fc24f9f266e99316905e6d5134 spirv=1458bae62ec67ea7d12c5a13b740e23ed4bb226c diff --git a/repo/stty/stty.xibuild b/repo/stty/stty.xibuild index 8fd431d..12b57b6 100644 --- a/repo/stty/stty.xibuild +++ b/repo/stty/stty.xibuild @@ -4,7 +4,7 @@ MAKEDEPS="make sort" DEPS="musl sh" SOURCE=https://xi.davidovski.xyz/git/other/stty.git -DESC="Stty forked" +DESC="bsd stty modified to work with gnu options" build () { meson --prefix=/usr build diff --git a/repo/supertux/supertux.xibuild b/repo/supertux/supertux.xibuild index 3e16205..f45766c 100644 --- a/repo/supertux/supertux.xibuild +++ b/repo/supertux/supertux.xibuild @@ -4,7 +4,6 @@ NAME="supertux" DESC="Open-source classic 2D jump'n run sidescroller game" MAKEDEPS="boost cmake curl freetype2 glew libpng libvorbis openal-soft physfs sdl2 glm sdl2-image" -DEPS="sdl2-image physfs" PKG_VER=0.6.3 SOURCE="https://github.com/SuperTux/supertux/releases/download/v$PKG_VER/SuperTux-v$PKG_VER-Source.tar.gz" diff --git a/repo/sysconfigs/consolecolor b/repo/sysconfigs/consolecolor new file mode 100755 index 0000000..1b55bb6 --- /dev/null +++ b/repo/sysconfigs/consolecolor @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +description="Sets a color for the consoles." + +depend() +{ + need termencoding + after hotplug bootmisc modules + keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu +} + +start() +{ + for tty in /dev/tty*; do { + printf "\033]P0191919" + printf "\033]P1A54242" + printf "\033]P28C9440" + printf "\033]P3DE935F" + printf "\033]P45F819D" + printf "\033]P585678F" + printf "\033]P65E8D87" + printf "\033]P7707880" + printf "\033]P8373B41" + printf "\033]P9CC6666" + printf "\033]PAB5BD68" + printf "\033]PBF0C674" + printf "\033]PC81A2BE" + printf "\033]PDB294BB" + printf "\033]PEB4D6D1" + printf "\033]PFFEFEFE" + printf "\033[2J" + } > $tty; done +} diff --git a/repo/sysconfigs/sysconfigs.xibuild b/repo/sysconfigs/sysconfigs.xibuild index c3723c1..85f7f28 100644 --- a/repo/sysconfigs/sysconfigs.xibuild +++ b/repo/sysconfigs/sysconfigs.xibuild @@ -1,11 +1,13 @@ #!/bin/sh -MAKEDEPS="" -DEPS="sh" +MAKEDEPS="sh" +DEPS="mksh" PKG_VER=N/A DESC="Default system configs for xilinux" +ADDITIONAL="consolecolor" + package () { mkdir -p $PKG_DEST/etc/ mkdir -p $PKG_DEST/etc/sysconfig @@ -93,5 +95,25 @@ SUPPORT_URL="https://xi.davidovski.xyz" BUG_REPORT_URL="https://xi.davidovski.xyz" LOGO=xilinux-logo EOF + cat > $PKG_DEST/etc/default/useradd << "EOF" +GROUP=999 +HOME=/home +INACTIVE=-1 +EXPIRE= +SHELL=/bin/mksh +SKEL=/etc/skel +CREATE_MAIL_SPOOL=yes +LOG_INIT=yes +EOF + + mkdir -p $PKG_DEST/etc/init.d + install -m755 consolecolor $PKG_DEST/etc/init.d/ + + mkdir -p $PKG_DEST/etc/runlevels/boot + ln -s /etc/init.d/consolecolor $PKG_DEST/etc/runlevels/boot/consolecolor + + cat > $PKG_DEST/etc/shells << "EOF" + /bin/sh +EOF } diff --git a/repo/tcsh/tcsh.xibuild b/repo/tcsh/tcsh.xibuild index c6bc9e3..f6a33d9 100644 --- a/repo/tcsh/tcsh.xibuild +++ b/repo/tcsh/tcsh.xibuild @@ -17,7 +17,7 @@ tcsh.post-install " prepare() { - apply_patches + apply_patches || true } build() { diff --git a/repo/testdisk/testdisk.xibuild b/repo/testdisk/testdisk.xibuild new file mode 100644 index 0000000..0a470b6 --- /dev/null +++ b/repo/testdisk/testdisk.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="testdisk" +DESC="A data recovery suite" + +MAKEDEPS=" e2fsprogs ntfs-3g ncurses zlib libjpeg-turbo" + +PKG_VER=7.1 +SOURCE="https://www.cgsecurity.org/testdisk-$PKG_VER.tar.bz2" + +build() { + cd "$BUILD_ROOT" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make +} + +check() { + cd "$BUILD_ROOT" + make check +} + +package() { + cd "$BUILD_ROOT" + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/thunderbird/allow-custom-rust-vendor.patch b/repo/thunderbird/allow-custom-rust-vendor.patch deleted file mode 100644 index 218650f..0000000 --- a/repo/thunderbird/allow-custom-rust-vendor.patch +++ /dev/null @@ -1,564 +0,0 @@ -From a5a3db2d32ff1d359aef5ec586b91164570c1685 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 09:56:15 -0800 -Subject: [PATCH 1/7] Support custom vendor strings. - -Add support for custom vendors, as in "x86_64-gentoo-linux-musl". - -Fixes #33. ---- - src/targets.rs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++- - src/triple.rs | 4 -- - 2 files changed, 106 insertions(+), 6 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 6ae570e..90b2736 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1,6 +1,8 @@ - // This file defines all the identifier enums and target-aware logic. - - use crate::triple::{Endianness, PointerWidth, Triple}; -+use alloc::boxed::Box; -+use alloc::string::String; - use core::fmt; - use core::str::FromStr; - -@@ -292,7 +294,7 @@ impl Aarch64Architecture { - - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] -+#[derive(Clone, Debug, PartialEq, Eq, Hash)] - #[allow(missing_docs)] - pub enum Vendor { - Unknown, -@@ -306,6 +308,15 @@ pub enum Vendor { - Sun, - Uwp, - Wrs, -+ -+ /// A custom vendor. "Custom" in this context means that the vendor is -+ /// not specifically recognized by upstream Autotools, LLVM, Rust, or other -+ /// relevant authorities on triple naming. It's useful for people building -+ /// and using locally patched toolchains. -+ /// -+ /// Outside of such patched environments, users of `target-lexicon` should -+ /// treat `Custom` the same as `Unknown` and ignore the string. -+ Custom(Box<String>), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -717,6 +728,7 @@ impl fmt::Display for Vendor { - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -+ Vendor::Custom(ref name) => name, - }; - f.write_str(s) - } -@@ -738,7 +750,46 @@ impl FromStr for Vendor { - "sun" => Vendor::Sun, - "uwp" => Vendor::Uwp, - "wrs" => Vendor::Wrs, -- _ => return Err(()), -+ custom => { -+ use alloc::borrow::ToOwned; -+ -+ // A custom vendor. Since triple syntax is so loosely defined, -+ // be as conservative as we can to avoid potential ambiguities. -+ // We err on the side of being too strict here, as we can -+ // always relax it if needed. -+ -+ // Don't allow empty string names. -+ if custom.is_empty() { -+ return Err(()); -+ } -+ -+ // Don't allow any other recognized name as a custom vendor, -+ // since vendors can be omitted in some contexts. -+ if Architecture::from_str(custom).is_ok() -+ || OperatingSystem::from_str(custom).is_ok() -+ || Environment::from_str(custom).is_ok() -+ || BinaryFormat::from_str(custom).is_ok() -+ { -+ return Err(()); -+ } -+ -+ // Require the first character to be an ascii lowercase. -+ if !custom.chars().nth(0).unwrap().is_ascii_lowercase() { -+ return Err(()); -+ } -+ -+ // Restrict the set of characters permitted in a custom vendor. -+ if custom -+ .find(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) -+ .is_some() -+ { -+ return Err(()); -+ } -+ -+ Vendor::Custom(Box::new(custom.to_owned())) -+ } - }) - } - } -@@ -1120,4 +1171,57 @@ mod tests { - assert_eq!(t.environment, Environment::Eabihf); - assert_eq!(t.binary_format, BinaryFormat::Elf); - } -+ -+ #[test] -+ fn custom_vendors() { -+ assert!(Triple::from_str("x86_64--linux").is_err()); -+ assert!(Triple::from_str("x86_64-42-linux").is_err()); -+ assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -+ assert!(Triple::from_str("x86_64-^-linux").is_err()); -+ assert!(Triple::from_str("x86_64- -linux").is_err()); -+ assert!(Triple::from_str("x86_64-CustomVendor-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-linux").is_err()); -+ assert!(Triple::from_str("x86_64-x86_64-linux").is_err()); -+ assert!(Triple::from_str("x86_64-elf-linux").is_err()); -+ assert!(Triple::from_str("x86_64-gnu-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-customvendor").is_err()); -+ assert!(Triple::from_str("customvendor").is_err()); -+ assert!(Triple::from_str("customvendor-x86_64").is_err()); -+ assert!(Triple::from_str("x86_64-").is_err()); -+ assert!(Triple::from_str("x86_64--").is_err()); -+ -+ let t = Triple::from_str("x86_64-customvendor-linux") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Linux); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Elf); -+ assert_eq!(t.to_string(), "x86_64-customvendor-linux"); -+ -+ let t = Triple::from_str("x86_64-customvendor") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Unknown); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Unknown); -+ -+ assert_eq!( -+ Triple::from_str("unknown-foo"), -+ Ok(Triple { -+ architecture: Architecture::Unknown, -+ vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())), -+ operating_system: OperatingSystem::Unknown, -+ environment: Environment::Unknown, -+ binary_format: BinaryFormat::Unknown, -+ }) -+ ); -+ } - } -diff --git a/src/triple.rs b/src/triple.rs -index 36dcd9a..1abda26 100644 ---- a/third_party/rust/target-lexicon.0.9.0/src/triple.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/triple.rs -@@ -322,10 +322,6 @@ mod tests { - Triple::from_str("foo"), - Err(ParseError::UnrecognizedArchitecture("foo".to_owned())) - ); -- assert_eq!( -- Triple::from_str("unknown-foo"), -- Err(ParseError::UnrecognizedVendor("foo".to_owned())) -- ); - assert_eq!( - Triple::from_str("unknown-unknown-foo"), - Err(ParseError::UnrecognizedOperatingSystem("foo".to_owned())) - -From 6f90d7274dce4e7f9bb120f6b36cf26881bde9a7 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 10:33:56 -0800 -Subject: [PATCH 2/7] Add more tests. - ---- - src/targets.rs | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 90b2736..7d1f069 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1174,6 +1174,7 @@ mod tests { - - #[test] - fn custom_vendors() { -+ // Test various invalid cases. - assert!(Triple::from_str("x86_64--linux").is_err()); - assert!(Triple::from_str("x86_64-42-linux").is_err()); - assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -@@ -1190,6 +1191,31 @@ mod tests { - assert!(Triple::from_str("x86_64-").is_err()); - assert!(Triple::from_str("x86_64--").is_err()); - -+ // Test various Unicode things. -+ assert!( -+ Triple::from_str("x86_64-𝓬𝓾𝓼𝓽𝓸𝓶𝓿𝓮𝓷𝓭𝓸𝓻-linux").is_err(), -+ "unicode font hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-ćúśtőḿvéńdőŕ-linux").is_err(), -+ "diacritical mark stripping hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendοr-linux").is_err(), -+ "homoglyph hazard" -+ ); -+ assert!(Triple::from_str("x86_64-customvendor-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-ffi-linux").is_err(), -+ "normalization hazard" -+ ); -+ assert!(Triple::from_str("x86_64-ffi-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "zero-width character hazard" -+ ); -+ -+ // Test some valid cases. - let t = Triple::from_str("x86_64-customvendor-linux") - .expect("can't parse target with custom vendor"); - assert_eq!(t.architecture, Architecture::X86_64); -@@ -1202,8 +1228,8 @@ mod tests { - assert_eq!(t.binary_format, BinaryFormat::Elf); - assert_eq!(t.to_string(), "x86_64-customvendor-linux"); - -- let t = Triple::from_str("x86_64-customvendor") -- .expect("can't parse target with custom vendor"); -+ let t = -+ Triple::from_str("x86_64-customvendor").expect("can't parse target with custom vendor"); - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, - -From c0e318b3c1be2d1965579f07dd563fb9cc0c4eb1 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Tue, 5 Nov 2019 12:56:31 -0800 -Subject: [PATCH 3/7] Use `.chars().any(...)` instead of - `.find(...).is_some()`. - ---- - src/targets.rs | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 7d1f069..1078dd3 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon/src-0.9.0/targets.rs -@@ -779,12 +779,9 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- if custom -- .find(|c: char| { -- !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- }) -- .is_some() -- { -+ if custom.chars().any(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) { - return Err(()); - } - - -From f319950528654c772193d9eb3bf40bc8df35fcae Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Thu, 7 Nov 2019 15:15:48 -0800 -Subject: [PATCH 4/7] Fix build.rs to generate the correct code to build - Vendors. - ---- - build.rs | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/build.rs b/build.rs -index a0ba3b7..446f9e7 100644 ---- a/third_party/rust/target-lexicon-0.9.0/build.rs -+++ b/third_party/rust/target-lexicon-0.9.0/build.rs -@@ -32,6 +32,7 @@ mod parse_error { - } - } - -+use self::targets::Vendor; - use self::triple::Triple; - - fn main() { -@@ -60,7 +61,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!(out, " vendor: {},", vendor_display(&triple.vendor))?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -90,7 +91,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - writeln!(out, "impl Vendor {{")?; - writeln!(out, " /// Return the vendor for the current host.")?; - writeln!(out, " pub const fn host() -> Self {{")?; -- writeln!(out, " Vendor::{:?}", triple.vendor)?; -+ writeln!(out, " {}", vendor_display(&triple.vendor))?; - writeln!(out, " }}")?; - writeln!(out, "}}")?; - writeln!(out)?; -@@ -160,3 +161,12 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - - Ok(()) - } -+ -+fn vendor_display(vendor: &Vendor) -> String { -+ match vendor { -+ Vendor::Custom(custom) => { -+ format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom) -+ } -+ known => format!("Vendor::{:?}", known), -+ } -+} - -From e558f6934535be3b8ccc9a99a33e861cb7431dfe Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Fri, 8 Nov 2019 12:10:34 -0800 -Subject: [PATCH 5/7] Fix custom vendors in `const fn` contexts. - ---- - build.rs | 15 +++++++++++---- - src/lib.rs | 4 ++-- - src/targets.rs | 51 ++++++++++++++++++++++++++++++++++++++++++-------- - 3 files changed, 56 insertions(+), 14 deletions(-) - -diff --git a/build.rs b/build.rs -index 446f9e7..e88206e 100644 ---- a/third_party/rust/target-lexicon-0.9.0/build.rs -+++ b/third_party/rust/target-lexicon-0.9.0/build.rs -@@ -53,6 +53,8 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - writeln!(out, "use crate::Aarch64Architecture::*;")?; - writeln!(out, "#[allow(unused_imports)]")?; - writeln!(out, "use crate::ArmArchitecture::*;")?; -+ writeln!(out, "#[allow(unused_imports)]")?; -+ writeln!(out, "use crate::CustomVendor;")?; - writeln!(out)?; - writeln!(out, "/// The `Triple` of the current host.")?; - writeln!(out, "pub const HOST: Triple = Triple {{")?; -@@ -139,7 +141,11 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!( -+ out, -+ " vendor: {},", -+ vendor_display(&triple.vendor) -+ )?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -164,9 +170,10 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> { - - fn vendor_display(vendor: &Vendor) -> String { - match vendor { -- Vendor::Custom(custom) => { -- format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom) -- } -+ Vendor::Custom(custom) => format!( -+ "Vendor::Custom(CustomVendor::Static({:?}))", -+ custom.as_str() -+ ), - known => format!("Vendor::{:?}", known), - } - } -diff --git a/src/lib.rs b/src/lib.rs -index 8d6da8d..70f6488 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/lib.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/lib.rs -@@ -28,7 +28,7 @@ mod triple; - pub use self::host::HOST; - pub use self::parse_error::ParseError; - pub use self::targets::{ -- Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, Environment, OperatingSystem, -- Vendor, -+ Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, CustomVendor, Environment, -+ OperatingSystem, Vendor, - }; - pub use self::triple::{CallingConvention, Endianness, PointerWidth, Triple}; -diff --git a/src/targets.rs b/src/targets.rs -index 1078dd3..7152020 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -4,6 +4,7 @@ use crate::triple::{Endianness, PointerWidth, Triple}; - use alloc::boxed::Box; - use alloc::string::String; - use core::fmt; -+use core::hash::{Hash, Hasher}; - use core::str::FromStr; - - /// The "architecture" field, which in some cases also specifies a specific -@@ -292,6 +293,39 @@ impl Aarch64Architecture { - } - } - -+/// A string for a `Vendor::Custom` that can either be used in `const` -+/// contexts or hold dynamic strings. -+#[derive(Clone, Debug, Eq)] -+pub enum CustomVendor { -+ /// An owned `String`. This supports the general case. -+ Owned(Box<String>), -+ /// A static `str`, so that `CustomVendor` can be constructed in `const` -+ /// contexts. -+ Static(&'static str), -+} -+ -+impl CustomVendor { -+ /// Extracts a string slice. -+ pub fn as_str(&self) -> &str { -+ match self { -+ CustomVendor::Owned(s) => s, -+ CustomVendor::Static(s) => s, -+ } -+ } -+} -+ -+impl PartialEq for CustomVendor { -+ fn eq(&self, other: &Self) -> bool { -+ self.as_str() == other.as_str() -+ } -+} -+ -+impl Hash for CustomVendor { -+ fn hash<H: Hasher>(&self, state: &mut H) { -+ self.as_str().hash(state) -+ } -+} -+ - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. - #[derive(Clone, Debug, PartialEq, Eq, Hash)] -@@ -316,7 +350,7 @@ pub enum Vendor { - /// - /// Outside of such patched environments, users of `target-lexicon` should - /// treat `Custom` the same as `Unknown` and ignore the string. -- Custom(Box<String>), -+ Custom(CustomVendor), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -728,7 +762,7 @@ impl fmt::Display for Vendor { - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -- Vendor::Custom(ref name) => name, -+ Vendor::Custom(ref name) => name.as_str(), - }; - f.write_str(s) - } -@@ -779,13 +813,14 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- if custom.chars().any(|c: char| { -+ fn is_prohibited_char(c: char) -> bool { - !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- }) { -+ } -+ if custom.chars().any(is_prohibited_char) { - return Err(()); - } - -- Vendor::Custom(Box::new(custom.to_owned())) -+ Vendor::Custom(CustomVendor::Owned(Box::new(custom.to_owned()))) - } - }) - } -@@ -1218,7 +1253,7 @@ mod tests { - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, -- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ Vendor::Custom(CustomVendor::Static("customvendor")) - ); - assert_eq!(t.operating_system, OperatingSystem::Linux); - assert_eq!(t.environment, Environment::Unknown); -@@ -1230,7 +1265,7 @@ mod tests { - assert_eq!(t.architecture, Architecture::X86_64); - assert_eq!( - t.vendor, -- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap())) -+ Vendor::Custom(CustomVendor::Static("customvendor")) - ); - assert_eq!(t.operating_system, OperatingSystem::Unknown); - assert_eq!(t.environment, Environment::Unknown); -@@ -1240,7 +1275,7 @@ mod tests { - Triple::from_str("unknown-foo"), - Ok(Triple { - architecture: Architecture::Unknown, -- vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())), -+ vendor: Vendor::Custom(CustomVendor::Static("foo")), - operating_system: OperatingSystem::Unknown, - environment: Environment::Unknown, - binary_format: BinaryFormat::Unknown, - -From bc4b444133b8a5e56602f7c77c10ef3f1e7a7c78 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Mon, 18 Nov 2019 13:45:58 -0800 -Subject: [PATCH 6/7] Add a testcase with a BOM too, just in case. - ---- - src/targets.rs | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/targets.rs b/src/targets.rs -index 7152020..9a4d990 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -1246,6 +1246,10 @@ mod tests { - Triple::from_str("x86_64-customvendor-linux").is_err(), - "zero-width character hazard" - ); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "BOM hazard" -+ ); - - // Test some valid cases. - let t = Triple::from_str("x86_64-customvendor-linux") - -From 721fbbe1c9cfd3adc9aaf011c62d6a36078f4133 Mon Sep 17 00:00:00 2001 -From: Dan Gohman <sunfish@mozilla.com> -Date: Mon, 18 Nov 2019 20:56:40 -0800 -Subject: [PATCH 7/7] Use an anonymous function instead of just a local - function. - ---- - src/targets.rs | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/targets.rs b/src/targets.rs -index 9a4d990..eb5a088 100644 ---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs -+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs -@@ -813,10 +813,9 @@ impl FromStr for Vendor { - } - - // Restrict the set of characters permitted in a custom vendor. -- fn is_prohibited_char(c: char) -> bool { -+ if custom.chars().any(|c: char| { - !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -- } -- if custom.chars().any(is_prohibited_char) { -+ }) { - return Err(()); - } - diff --git a/repo/thunderbird/avoid-redefinition.patch b/repo/thunderbird/avoid-redefinition.patch deleted file mode 100644 index af11c50..0000000 --- a/repo/thunderbird/avoid-redefinition.patch +++ /dev/null @@ -1,15 +0,0 @@ -Author: Rasmus Thomsen <oss@cogitri.dev> -Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones -(linux/if.h), leading to redefinitions. We need to include net/if.h before -linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt -Upstream: No ---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c.orig 2020-07-28 19:24:32.359751046 +0200 -+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200 -@@ -31,6 +31,7 @@ - */ - - #if defined(LINUX) -+#include <net/if.h> - #include "addrs-netlink.h" - #include <csi_platform.h> - #include <assert.h> diff --git a/repo/thunderbird/disable-moz-stackwalk.patch b/repo/thunderbird/disable-moz-stackwalk.patch deleted file mode 100644 index b6bc756..0000000 --- a/repo/thunderbird/disable-moz-stackwalk.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp -index 7d62921..adcfa44 100644 ---- a/mozglue/misc/StackWalk.cpp -+++ b/mozglue/misc/StackWalk.cpp -@@ -33,13 +33,7 @@ using namespace mozilla; - # define MOZ_STACKWALK_SUPPORTS_MACOSX 0 - #endif - --#if (defined(linux) && \ -- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ -- defined(HAVE__UNWIND_BACKTRACE))) --# define MOZ_STACKWALK_SUPPORTS_LINUX 1 --#else - # define MOZ_STACKWALK_SUPPORTS_LINUX 0 --#endif - - #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) - # define HAVE___LIBC_STACK_END 1 diff --git a/repo/thunderbird/disable-neon-in-aom.patch b/repo/thunderbird/disable-neon-in-aom.patch deleted file mode 100644 index 6df05a1..0000000 --- a/repo/thunderbird/disable-neon-in-aom.patch +++ /dev/null @@ -1,39 +0,0 @@ -Firefox (75) and AOM itself fail to build with NEON enabled. As such -we should disable it for now. - -In file included from /home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: -/home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/av1/common/arm/mem_neon.h: In function 'load_u8_8x8': -/usr/lib/gcc/armv7-alpine-linux-musleabihf/9.3.0/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch -10303 | vld1_u8 (const uint8_t * __a) - | ^~~~~~~ ---- a/media/libaom/moz.build 2020-04-09 08:20:14.608439591 +0200 -+++ b/media/libaom/moz.build 2020-04-09 08:20:21.801745246 +0200 -@@ -42,26 +42,6 @@ - ASFLAGS += [ '-I%s/media/libaom/config/linux/ia32/' % TOPSRCDIR ] - LOCAL_INCLUDES += [ '/media/libaom/config/linux/ia32/' ] - EXPORTS.aom += [ 'config/linux/ia32/config/aom_config.h' ] --elif CONFIG['CPU_ARCH'] == 'arm': -- EXPORTS.aom += files['ARM_EXPORTS'] -- ASFLAGS += [ -- '-I%s/media/libaom/config/linux/arm/' % TOPSRCDIR, -- '-I%s/libaom' % OBJDIR, -- ] -- LOCAL_INCLUDES += [ '/media/libaom/config/linux/arm/' ] -- EXPORTS.aom += [ 'config/linux/arm/config/aom_config.h' ] -- -- SOURCES += files['ARM_SOURCES'] -- -- for f in SOURCES: -- if f.endswith('neon.c'): -- SOURCES[f].flags += CONFIG['VPX_ASFLAGS'] -- -- if CONFIG['OS_TARGET'] == 'Android': -- # For cpu-features.h -- LOCAL_INCLUDES += [ -- '%%%s/sources/android/cpufeatures' % CONFIG['ANDROID_NDK'], -- ] - else: - # Generic C-only configuration - EXPORTS.aom += files['GENERIC_EXPORTS'] - - diff --git a/repo/thunderbird/distribution.ini b/repo/thunderbird/distribution.ini deleted file mode 100644 index 22cedba..0000000 --- a/repo/thunderbird/distribution.ini +++ /dev/null @@ -1,8 +0,0 @@ -[Global] -id=alpinelinux -version=1.0 -about=Mozilla Thunderbird for Alpine Linux - -[Preferences] -app.distributor=alpinelinux -app.distributor.channel=thunderbird diff --git a/repo/thunderbird/fix-fortify-system-wrappers.patch b/repo/thunderbird/fix-fortify-system-wrappers.patch deleted file mode 100644 index 17cf7e3..0000000 --- a/repo/thunderbird/fix-fortify-system-wrappers.patch +++ /dev/null @@ -1,13 +0,0 @@ -The wrapper features.h gets pulled in by system headers causing thigns to -break. We work around it by simply not wrap features.h - ---- ./config/system-headers.mozbuild.orig -+++ ./config/system-headers.mozbuild -@@ -229,7 +229,6 @@ - 'execinfo.h', - 'extras.h', - 'fcntl.h', -- 'features.h', - 'fenv.h', - 'ffi.h', - 'fibdef.h', diff --git a/repo/thunderbird/fix-rust-target.patch b/repo/thunderbird/fix-rust-target.patch deleted file mode 100644 index 9342063..0000000 --- a/repo/thunderbird/fix-rust-target.patch +++ /dev/null @@ -1,31 +0,0 @@ -Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's -weird custom build system... - ---- a/build/moz.configure/rust.configure -+++ b/build/moz.configure/rust.configure -@@ -225,7 +225,9 @@ - data.setdefault(key, []).append(namespace(rust_target=t, target=info)) - return data - -- -+@imports('os') -+@imports(_from='mozbuild.util', _import='ensure_unicode') -+@imports(_from='mozbuild.util', _import='system_encoding') - def detect_rustc_target( - host_or_target, compiler_info, arm_target, rust_supported_targets - ): -@@ -340,13 +342,13 @@ - - return None - -- rustc_target = find_candidate(candidates) -+ rustc_target = os.environ['RUST_TARGET'] - - if rustc_target is None: - die("Don't know how to translate {} for rustc".format(host_or_target.alias)) - -- return rustc_target -+ return ensure_unicode(rustc_target, system_encoding) - - - @imports('os') diff --git a/repo/thunderbird/fix-tools.patch b/repo/thunderbird/fix-tools.patch deleted file mode 100644 index 245d694..0000000 --- a/repo/thunderbird/fix-tools.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp -index 19d0a5c56d..b64b543066 100644 ---- a/tools/profiler/core/platform-linux-android.cpp -+++ b/tools/profiler/core/platform-linux-android.cpp -@@ -506,8 +506,10 @@ static void PlatformInit(PSLockRef aLock) {} - ucontext_t sSyncUContext; - - void Registers::SyncPopulate() { -- if (!getcontext(&sSyncUContext)) { -- PopulateRegsFromContext(*this, &sSyncUContext); -- } -+ #if defined(__GLIBC__) -+ if (!getcontext(&sSyncUContext)) { -+ PopulateRegsFromContext(*this, &sSyncUContext); -+ } -+ #endif - } - #endif diff --git a/repo/thunderbird/fix-webrtc-glibcisms.patch b/repo/thunderbird/fix-webrtc-glibcisms.patch deleted file mode 100644 index 7533d94..0000000 --- a/repo/thunderbird/fix-webrtc-glibcisms.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ./third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200 -+++ ./third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200 -@@ -14,7 +14,7 @@ - #ifndef __GLIBC_PREREQ - #define __GLIBC_PREREQ(a, b) 0 - #endif --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) - #include <sys/auxv.h> - #else - #include <fcntl.h> -@@ -32,7 +32,7 @@ - int architecture = 0; - unsigned long hwcap = 0; - const char* platform = NULL; --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) - hwcap = getauxval(AT_HWCAP); - platform = (const char*)getauxval(AT_PLATFORM); - #else diff --git a/repo/thunderbird/mallinfo.patch b/repo/thunderbird/mallinfo.patch deleted file mode 100644 index 7916a20..0000000 --- a/repo/thunderbird/mallinfo.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp -index 865e1b5430..9a00dafecb 100644 ---- a/xpcom/base/nsMemoryReporterManager.cpp -+++ b/xpcom/base/nsMemoryReporterManager.cpp -@@ -124,6 +124,7 @@ static MOZ_MUST_USE nsresult ResidentUniqueDistinguishedAmount(int64_t* aN) { - return GetProcSelfSmapsPrivate(aN); - } - -+#ifdef __GLIBC__ - # ifdef HAVE_MALLINFO - # define HAVE_SYSTEM_HEAP_REPORTER 1 - static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { -@@ -143,6 +144,7 @@ static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { - return NS_OK; - } - # endif -+#endif - - #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ - defined(__OpenBSD__) || defined(__FreeBSD_kernel__) diff --git a/repo/thunderbird/metainfo.patch b/repo/thunderbird/metainfo.patch deleted file mode 100644 index bb9730e..0000000 --- a/repo/thunderbird/metainfo.patch +++ /dev/null @@ -1,12 +0,0 @@ -Patch-Source: https://github.com/archlinux/svntogit-packages/blob/6d9588627d43ed7412d350ac33fa82e8551489a7/trunk/metainfo.patch -diff -Naur thunderbird-78.9.1.orig/comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml thunderbird-78.9.1/comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml ---- thunderbird-78.9.1.orig/comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml 2021-04-17 02:05:05.808596043 +0000 -+++ thunderbird-78.9.1/comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml 2021-04-17 02:06:12.052455998 +0000 -@@ -1,6 +1,7 @@ - <?xml version="1.0" encoding="UTF-8"?> - <component type="desktop-application"> - <id>net.thunderbird.Thunderbird</id> -+ <launchable type="desktop-id">thunderbird.desktop</launchable> - <metadata_license>CC0-1.0</metadata_license> - <name>Thunderbird</name> - <summary>Thunderbird is a free and open source email, newsfeed, chat, and calendaring client</summary> diff --git a/repo/thunderbird/sandbox-fork.patch b/repo/thunderbird/sandbox-fork.patch deleted file mode 100644 index c7222ab..0000000 --- a/repo/thunderbird/sandbox-fork.patch +++ /dev/null @@ -1,15 +0,0 @@ -make SYS_fork non-fatal, musl uses it for fork(2) - ---- a/security/sandbox/linux/SandboxFilter.cpp -+++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -1253,6 +1253,10 @@ - // usually do something reasonable on error. - case __NR_clone: - return ClonePolicy(Error(EPERM)); -+#ifdef __NR_fork -+ case __NR_fork: -+ return Error(ENOSYS); -+#endif - - # ifdef __NR_fadvise64 - case __NR_fadvise64: diff --git a/repo/thunderbird/sandbox-largefile.patch b/repo/thunderbird/sandbox-largefile.patch deleted file mode 100644 index f1cf28b..0000000 --- a/repo/thunderbird/sandbox-largefile.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:41:14.556378950 +0100 -+++ b/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:40:23.595806444 +0100 -@@ -68,7 +68,13 @@ - - // The headers define O_LARGEFILE as 0 on x86_64, but we need the - // actual value because it shows up in file flags. --#define O_LARGEFILE_REAL 00100000 -+#if defined(__x86_64__) || defined(__i386__) || defined(__mips__) -+#define O_LARGEFILE_REAL 0100000 -+#elif defined(__powerpc__) -+#define O_LARGEFILE_REAL 0200000 -+#else -+#define O_LARGEFILE_REAL O_LARGEFILE -+#endif - - // Not part of UAPI, but userspace sees it in F_GETFL; see bug 1650751. - #define FMODE_NONOTIFY 0x4000000 diff --git a/repo/thunderbird/sandbox-sched_setscheduler.patch b/repo/thunderbird/sandbox-sched_setscheduler.patch deleted file mode 100644 index 1db645a..0000000 --- a/repo/thunderbird/sandbox-sched_setscheduler.patch +++ /dev/null @@ -1,23 +0,0 @@ -upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849 -diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp -index 27da4e7..5a607a4 100644 ---- a/security/sandbox/linux/SandboxFilter.cpp -+++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -1455,6 +1455,7 @@ class GMPSandboxPolicy : public SandboxPolicyCommon { - return Trap(OpenTrap, mFiles); - - case __NR_brk: -+ case __NR_sched_setscheduler: - // Because Firefox on glibc resorts to the fallback implementation - // mentioned in bug 1576006, we must explicitly allow the get*id() - // functions in order to use NSS in the clearkey CDM. -@@ -1467,8 +1468,7 @@ class GMPSandboxPolicy : public SandboxPolicyCommon { - case __NR_sched_get_priority_max: - return Allow(); - case __NR_sched_getparam: -- case __NR_sched_getscheduler: -- case __NR_sched_setscheduler: { -+ case __NR_sched_getscheduler: { - Arg<pid_t> pid(0); - return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr)); - } diff --git a/repo/thunderbird/stab.h b/repo/thunderbird/stab.h deleted file mode 100644 index 6f70af3..0000000 --- a/repo/thunderbird/stab.h +++ /dev/null @@ -1,71 +0,0 @@ -/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */ -/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */ - -/*- - * Copyright (c) 1991 The Regents of the University of California. - * 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. Neither the name of the University 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 REGENTS 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. - * - * @(#)stab.h 5.2 (Berkeley) 4/4/91 - */ - -#ifndef _STAB_H_ -#define _STAB_H_ - -/* - * The following are symbols used by various debuggers and by the Pascal - * compiler. Each of them must have one (or more) of the bits defined by - * the N_STAB mask set. - */ - -#define N_GSYM 0x20 /* global symbol */ -#define N_FNAME 0x22 /* F77 function name */ -#define N_FUN 0x24 /* procedure name */ -#define N_STSYM 0x26 /* data segment variable */ -#define N_LCSYM 0x28 /* bss segment variable */ -#define N_MAIN 0x2a /* main function name */ -#define N_PC 0x30 /* global Pascal symbol */ -#define N_RSYM 0x40 /* register variable */ -#define N_SLINE 0x44 /* text segment line number */ -#define N_DSLINE 0x46 /* data segment line number */ -#define N_BSLINE 0x48 /* bss segment line number */ -#define N_SSYM 0x60 /* structure/union element */ -#define N_SO 0x64 /* main source file name */ -#define N_LSYM 0x80 /* stack variable */ -#define N_BINCL 0x82 /* include file beginning */ -#define N_SOL 0x84 /* included source file name */ -#define N_PSYM 0xa0 /* parameter variable */ -#define N_EINCL 0xa2 /* include file end */ -#define N_ENTRY 0xa4 /* alternate entry point */ -#define N_LBRAC 0xc0 /* left bracket */ -#define N_EXCL 0xc2 /* deleted include file */ -#define N_RBRAC 0xe0 /* right bracket */ -#define N_BCOMM 0xe2 /* begin common */ -#define N_ECOMM 0xe4 /* end common */ -#define N_ECOML 0xe8 /* end common (local name) */ -#define N_LENG 0xfe /* length of preceding entry */ - -#endif /* !_STAB_H_ */ diff --git a/repo/thunderbird/thunderbird.desktop b/repo/thunderbird/thunderbird.desktop deleted file mode 100644 index 210859d..0000000 --- a/repo/thunderbird/thunderbird.desktop +++ /dev/null @@ -1,64 +0,0 @@ -[Desktop Entry] -Name=Thunderbird -GenericName=Mail Client -GenericName[ast]=Client de correu -GenericName[ca]=Client de correu -GenericName[cs]=Poštovní klient -GenericName[da]=E-postklient -GenericName[de]=E-Mail-Anwendung -GenericName[el]=Λογισμικό αλληλογραφίας -GenericName[es]=Cliente de correo -GenericName[fi]=Sähköpostiohjelma -GenericName[fr]=Client de messagerie -GenericName[gl]=Cliente de correo electrónico -GenericName[he]=לקוח דוא״ל -GenericName[hr]=Klijent e-pošte -GenericName[hu]=Levelezőkliens -GenericName[it]=Client email -GenericName[ja]=電子メールクライアント -GenericName[ko]=메일 클라이언트 -GenericName[nl]=E-mailprogramma -GenericName[pl]=Klient poczty -GenericName[pt_BR]=Cliente de E-mail -GenericName[ru]=Почтовый клиент -GenericName[sk]=Poštový klient -GenericName[ug]=ئېلخەت دېتالى -GenericName[uk]=Поштова програма -GenericName[vi]=Phần mềm khách quản lý thư điện tử -GenericName[zh_CN]=邮件新闻客户端 -GenericName[zh_TW]=郵件用戶端 -Comment=Send and receive mail with Thunderbird -Comment[ast]=Lleer y escribir corréu electrónicu -Comment[ca]=Llegiu i escriviu correu -Comment[cs]=Čtení a psaní pošty -Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird -Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben -Comment[el]=Διαβάστε και γράψτε γράμματα με το Mozilla Thunderbird -Comment[es]=Lea y escriba correos y noticias con Thunderbird -Comment[fi]=Lue ja kirjoita sähköposteja -Comment[fr]=Lire et écrire des courriels -Comment[gl]=Lea e escriba correo electrónico -Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Mozilla Thunderbird -Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird -Comment[hu]=Levelek írása és olvasása a Thunderbirddel -Comment[it]=Per leggere e scrivere email -Comment[ja]=メールの読み書き -Comment[ko]=Mozilla Thunderbird 메일/뉴스 읽기 및 쓰기 클라이언트 -Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird -Comment[pl]=Czytanie i wysyłanie e-maili -Comment[pt_BR]=Leia e escreva suas mensagens -Comment[ru]=Читайте и пишите письма -Comment[sk]=Čítajte a píšte poštu pomocou programu Thunderbird -Comment[sv]=Läs och skriv e-post -Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى Mozilla Thunderbird دا كۆرۈش ۋە يېزىش -Comment[uk]=Читання та написання листів -Comment[vi]=Đọc và soạn thư điện tử -Comment[zh_CN]=阅读邮件或新闻 -Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新聞 -Exec=thunderbird %u -Icon=thunderbird -Terminal=false -Type=Application -MimeType=message/rfc822;x-scheme-handler/mailto; -StartupNotify=true -Categories=Network;Email; diff --git a/repo/thunderbird/thunderbird.xibuild b/repo/thunderbird/thunderbird.xibuild deleted file mode 100644 index 20a8edc..0000000 --- a/repo/thunderbird/thunderbird.xibuild +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/sh - -NAME="thunderbird" -DESC="Thunderbird email client" - -MAKEDEPS=" alsa-lib automake botan cargo cbindgen clang dbus-glib gettext gtk3 icu json-c libevent libffi libjpeg-turbo libnotify libogg libtheora libtool libvorbis libvpx libwebp libxcomposite libxt llvm m4 mesa nasm nodejs nspr nss pipewire pulseaudio python sed wireless-tools zip" - -PKG_VER=91.13.0 -SOURCE="https://ftp.mozilla.org/pub/thunderbird/releases/$PKG_VER/source/thunderbird-$PKG_VER.source.tar.xz" - -ADDITIONAL=" -allow-custom-rust-vendor.patch -avoid-redefinition.patch -disable-moz-stackwalk.patch -disable-neon-in-aom.patch -fix-fortify-system-wrappers.patch -fix-rust-target.patch -fix-tools.patch -fix-webrtc-glibcisms.patch -mallinfo.patch -sandbox-fork.patch -sandbox-largefile.patch -sandbox-sched_setscheduler.patch -stab.h -thunderbird.desktop -" - -mozappdir=/usr/lib/thunderbird - -_clear_vendor_checksums() { - sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json -} - -prepare() { - apply_patches - cp "$BUILD_ROOT"/stab.h toolkit/crashreporter/google-breakpad/src/ - - _clear_vendor_checksums audio_thread_priority - _clear_vendor_checksums target-lexicon-0.9.0 -} - -build() { - mkdir -p "$BUILD_ROOT"/objdir - cd "$BUILD_ROOT"/objdir - - export SHELL=/bin/sh - export BUILD_OFFICIAL=1 - export MOZILLA_OFFICIAL=1 - export USE_SHORT_LIBNAME=1 - export MACH_USE_SYSTEM_PYTHON=1 - export MOZBUILD_STATE_PATH="$BUILD_ROOT"/mozbuild - # Build with Clang, takes less RAM - export CC="clang" - export CXX="clang++" - - # set rpath so linker finds the libs - export LDFLAGS="$LDFLAGS -Wl,-rpath,$mozappdir" - - ../mach configure \ - --prefix=/usr \ - --disable-elf-hack \ - --enable-rust-simd \ - \ - --disable-crashreporter \ - --disable-gold \ - --disable-install-strip \ - --disable-jemalloc \ - --disable-profiling \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - \ - --enable-alsa \ - --enable-application=comm/mail \ - --enable-dbus \ - --enable-default-toolkit=cairo-gtk3-wayland \ - --enable-ffmpeg \ - --enable-hardening \ - --enable-necko-wifi \ - --enable-official-branding \ - --enable-openpgp \ - --enable-optimize="$CFLAGS -O2" \ - --enable-pulseaudio \ - --enable-release \ - --enable-smoosh \ - --enable-system-ffi \ - --enable-system-pixman \ - \ - --with-system-botan \ - --with-system-ffi \ - --with-system-icu \ - --with-system-jpeg \ - --with-system-jsonc \ - --with-system-libevent \ - --with-system-libvpx \ - --with-system-nspr \ - --with-system-nss \ - --with-system-pixman \ - --with-system-png \ - --with-system-webp \ - --with-system-zlib \ - --with-libclang-path=/usr/lib - ../mach build -} - -package() { - cd "$BUILD_ROOT"/objdir - - DESTDIR="$PKG_DEST" MOZ_MAKE_FLAGS="$MAKEOPTS" ../mach install - - install -m755 -d "$PKG_DEST"/usr/share/applications - install -m755 -d "$PKG_DEST"/usr/share/pixmaps - - local _png - for _png in "$BUILD_ROOT"/comm/mail/branding/thunderbird/default*.png; do - local i=${_png%.png} - i=${i##*/default} - install -D -m644 "$_png" "$PKG_DEST"/usr/share/icons/hicolor/"$i"x"$i"/apps/thunderbird.png - done - - install -Dm644 "$BUILD_ROOT"/comm/mail/branding/thunderbird/TB-symbolic.svg \ - "$PKG_DEST/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg" - install -Dm644 "$BUILD_ROOT"/comm/mail/branding/thunderbird/default48.png \ - $PKG_DEST/usr/share/pixmaps/thunderbird.png - - install -m644 "$BUILD_ROOT"/thunderbird.desktop "$PKG_DEST"/usr/share/applications/thunderbird.desktop - - # Add StartupWMClass=firefox on the .desktop files so Desktop Environments - # correctly associate the window with their icon, the correct fix is to have - # thunderbird sets its own AppID but this will work for the meantime - # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399 - echo "StartupWMClass=thunderbird" >> "$PKG_DEST"/usr/share/applications/thunderbird.desktop - - # install our vendor prefs - install -d "$PKG_DEST"/$mozappdir/defaults/preferences - - cat >> "$PKG_DEST"/$mozappdir/defaults/preferences/vendor.js <<- EOF - // Use LANG environment variable to choose locale - pref("intl.locale.requested", ""); - - // Use system-provided dictionaries - pref("spellchecker.dictionary_path", "/usr/share/hunspell"); - - // Disable default mailer checking. - pref("mail.shell.checkDefaultMail", false); - - // Don't disable our bundled extensions in the application directory - pref("extensions.autoDisableScopes", 11); - pref("extensions.shownSelectionUI", true); - EOF - - install -d "$PKG_DEST"/$mozappdir/distribution - - cat >> "$PKG_DEST"/$mozappdir/distribution/distribution.ini <<- EOF - [Global] - id=xilinux - version=1.0 - about=Mozilla Thunderbird for XiLinux - - [Preferences] - app.distributor=xilinux - app.distributor.channel=thunderbird - EOF - - # Replace duplicate binary with wrapper - # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -sf thunderbird "$PKG_DEST/$mozappdir/thunderbird-bin" -} - diff --git a/repo/thunderbird/vendor-prefs.js b/repo/thunderbird/vendor-prefs.js deleted file mode 100644 index 5aeeb1b..0000000 --- a/repo/thunderbird/vendor-prefs.js +++ /dev/null @@ -1,17 +0,0 @@ -// Use LANG environment variable to choose locale -pref("intl.locale.requested", ""); - -// Use system-provided dictionaries -pref("spellchecker.dictionary_path", "/usr/share/hunspell"); - -// Disable default mailer checking. -pref("mail.shell.checkDefaultMail", false); - -// Don't disable our bundled extensions in the application directory -pref("extensions.autoDisableScopes", 11); -pref("extensions.shownSelectionUI", true); - -// Disable telemetry -pref("datareporting.healthreport.uploadEnabled", false); -pref("datareporting.policy.dataSubmissionEnabled", false); -pref("toolkit.telemetry.archive.enabled", false); diff --git a/repo/tidyhtml/tidyhtml.xibuild b/repo/tidyhtml/tidyhtml.xibuild new file mode 100644 index 0000000..6352cd4 --- /dev/null +++ b/repo/tidyhtml/tidyhtml.xibuild @@ -0,0 +1,31 @@ +#!/bin/sh + +NAME="tidyhtml" +DESC="Tool to tidy down your HTML code to a clean style" + +MAKEDEPS=" cmake libxslt" + +PKG_VER=5.8.0 +SOURCE="https://github.com/htacg/tidy-html5/archive/$PKG_VER.tar.gz" + +build() { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=None \ + -DSUPPORT_LOCALIZATIONS=OFF \ + -DTIDY_CONSOLE_SHARED=ON \ + $CMAKE_CROSSOPTS . + cmake --build build +} + +check() { + cd build + ./tidy --help > /dev/null +} + +package() { + cd .. + DESTDIR="$PKG_DEST" cmake --install build +} + diff --git a/repo/torsocks/torsocks.xibuild b/repo/torsocks/torsocks.xibuild index 0a215e1..b284926 100644 --- a/repo/torsocks/torsocks.xibuild +++ b/repo/torsocks/torsocks.xibuild @@ -3,7 +3,7 @@ NAME="torsocks" DESC="Wrapper to safely torify applications" -MAKEDEPS=" autoconf automake libtool" +MAKEDEPS="autoconf automake libtool" PKG_VER=2.4.0 SOURCE="https://gitlab.torproject.org/tpo/core/torsocks/-/archive/v$PKG_VER/torsocks-v$PKG_VER.tar.gz" diff --git a/repo/toybox/toybox.xibuild b/repo/toybox/toybox.xibuild index c6be8f4..5eb27ad 100644 --- a/repo/toybox/toybox.xibuild +++ b/repo/toybox/toybox.xibuild @@ -14,7 +14,7 @@ ADDITIONAL=" config " -tools=" install basename cat chgrp chown chmod cksum crc32 cmp comm cp mv cpio cut date df dirname du echo env expand false find file getconf head iconv id groups logname whoami kill killall5 link ln logger ls mkdir mkfifo nice nl nohup od paste printf top iotop pwd renice rm rmdir sed sleep sort split strings tail tar tee test time touch true tty ulimit arch uname uniq unlink uudecode uuencode wc who xargs ascii unicode base32 fstype blockdev chroot count dos2unix unix2dos factor fmt hexedit printenv readlink realpath rev sha3sum shred stat tac nproc taskset timeout truncate usleep uuidgen w which md5sum sha1sum sha224sum sha256sum sha384sum sha512sum mknod mktemp seq sync " +tools=" install basename cat chgrp chown chmod cksum cmp comm cp mv cut date diff df dirname du echo env expand false find file getconf head iconv id groups logname whoami kill killall5 link ln ls mkdir mkfifo nice nl nohup od paste printf iotop pwd rm rmdir sed sleep sort split strings tail tee test time touch true tty ulimit arch uname uniq unlink uudecode uuencode wc who xargs ascii unicode base32 fstype blockdev chroot dos2unix unix2dos factor fmt hexedit printenv readlink realpath sha3sum shred stat tac nproc timeout truncate usleep w which md5sum sha1sum sha224sum sha256sum sha384sum sha512sum mknod mktemp seq sync tr dd" prepare () { make defconfig @@ -37,7 +37,7 @@ build() { package() { for tool in $tools; do install -Dm755 $tool $PKG_DEST/usr/bin/$tool || return 1 - install -Dm755 $tool $PKG_DEST/usr/share/man/man1/$tool.1 || return 1 + #install -Dm755 $tool $PKG_DEST/usr/share/man/man1/$tool.1 || return 1 done } diff --git a/repo/vigra/vigra.xibuild b/repo/vigra/vigra.xibuild index 0fd1c60..3138d22 100644 --- a/repo/vigra/vigra.xibuild +++ b/repo/vigra/vigra.xibuild @@ -6,7 +6,7 @@ DESC="An image processing and analysis library" MAKEDEPS=" tiff libjpeg-turbo libpng boost cmake doxygen" PKG_VER=1.11.267 -SOURCE="https://github.com/ukoethe/vigra" +SOURCE="https://github.com/ukoethe/vigra.git" build() { cmake . \ diff --git a/repo/virt-manager/virt-manager.xibuild b/repo/virt-manager/virt-manager.xibuild index 6050b75..5593e5a 100644 --- a/repo/virt-manager/virt-manager.xibuild +++ b/repo/virt-manager/virt-manager.xibuild @@ -14,9 +14,9 @@ fix-latest-libvirt-xml-output.patch tests-remove-sgio-unfiltered.patch " -prepare () { - apply_patches -} +#prepare () { + #apply_patches +#} build() { python3 setup.py build diff --git a/repo/vlc/vlc.xibuild b/repo/vlc/vlc.xibuild index f9a2c95..1fbc023 100644 --- a/repo/vlc/vlc.xibuild +++ b/repo/vlc/vlc.xibuild @@ -3,7 +3,7 @@ NAME="vlc" DESC="A multi-platform MPEG, VCD/DVD, and DivX player" -MAKEDEPS="a52dec alsa-lib automake autoconf avahi bison libtool dav1d dbus faad2 ffmpeg4 flac flex freetype2 gtk3 libbluray libavc1394 libcddb libdc1394 libdvbpsi libdvdnav libdvdread libgcrypt libice libmad libmatroska libmpeg2 libnotify libogg libraw1394 librsvg libshout libsm libsrt libtheora libva libvdpau libvorbis libvpx libx11 libxext libxinerama libxml2 libxpm libxv live-media lua mesa ncurses opus pkgconfig qt5-qtbase qt5-qtsvg qt5-qtx11extras sdl2 speex speexdsp sysfsutils taglib eudev v4l-utils wayland-protocols x264 x265 xcb-util-renderutil xcb-util-keysyms xdg-utils samba gnutls pulseaudio" +MAKEDEPS="a52dec alsa-lib automake autoconf bison libtool dav1d dbus faad2 ffmpeg4 flac flex freetype2 gtk3 libbluray libavc1394 libcddb libdc1394 libdvbpsi libdvdnav libdvdread libgcrypt libice libmad libmatroska libmpeg2 libnotify libogg libraw1394 librsvg libshout libsm libsrt libtheora libva libvdpau libvorbis libvpx libx11 libxext libxinerama libxml2 libxpm libxv live-media lua mesa ncurses opus pkg-config qt5-qtbase qt5-qtsvg qt5-qtx11extras sdl2 speex speexdsp sysfsutils taglib eudev v4l-utils wayland-protocols x264 x265 xcb-util-renderutil xcb-util-keysyms xdg-utils gnutls pulseaudio gzip tar" PKG_VER=3.0.17.4 SOURCE="https://download.videolan.org/vlc/$PKG_VER/vlc-$PKG_VER.tar.xz" @@ -89,6 +89,4 @@ package() { rm -rf "$PKG_DEST"/usr/share/kde4 } -check() { - make check -} + diff --git a/repo/webkit2gtk/webkit2gtk.xibuild b/repo/webkit2gtk/webkit2gtk.xibuild deleted file mode 100644 index 2d1667e..0000000 --- a/repo/webkit2gtk/webkit2gtk.xibuild +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh - -NAME="webkit2gtk" -DESC="Portable web rendering engine WebKit for GTK+" - -MAKEDEPS="bison cmake enchant2 flex geoclue gnutls gobject-introspection gperf gst-plugins-bad gst-plugins-base gstreamer gtk3 hyphen icu lcms2 libgcrypt libjpeg-turbo libmanette libnotify libpng libseccomp libsecret libsoup libwebp libwpe libwpebackend-fdo libxml2 libxslt libxt mesa openjpeg openjpeg-tools pango python ruby ninja sqlite woff2" - -PKG_VER=2.36.7 -SOURCE="https://webkitgtk.org/releases/webkitgtk-$PKG_VER.tar.xz" - -build() { - local _archopt= - case "$CARCH" in - x86) - # disable _FORTIFY_SOURCE to work around: - # cc1plus: out of memory allocating 65536 bytes after a total of 3131101184 bytes - CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE" - ;; - armhf) - CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE" - _archopt="-DENABLE_JIT=OFF" - ;; - ppc64le|s390x) - _archopt="-DENABLE_JIT=OFF" - ;; - esac - - # reduce memory usage on 32 bit - # https://bugs.webkit.org/show_bug.cgi?id=199272 - export CXXFLAGS="$CXXFLAGS -g1" - - # disable gold usage since it can't find pthreads with it enabled - cmake -B build -G Ninja \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_INSTALL_DIR=/usr/lib \ - -DENABLE_GLES2=ON \ - -DENABLE_GTKDOC=OFF \ - -DENABLE_GEOLOCATION=ON \ - -DENABLE_JOURNALD_LOG=OFF \ - -DENABLE_SAMPLING_PROFILER=OFF \ - -DENABLE_MINIBROWSER=ON \ - -DUSE_WPE_RENDERER=ON \ - -DUSE_WOFF2=ON \ - -DUSE_SOUP2=ON \ - $_archopt - cmake --build build -} - -check() { - ninja -C build check -} - -package() { - DESTDIR="$PKG_DEST" cmake --install build -} - diff --git a/repo/wine/rpath.patch b/repo/wine/rpath.patch deleted file mode 100644 index 68b2558..0000000 --- a/repo/wine/rpath.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/configure b/configure -index 774a95ce003..d408e77cc78 100755 ---- a/configure -+++ b/configure -@@ -11137,6 +11137,38 @@ fi - LIBWINE_DEPENDS="wine.map" - - TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.so.$libwine_version libs/wine/libwine.so.$libwine_soversion" -+ -+ # do this at the end because it needs double dollar for makefile -+ as_ac_var=`printf "%s\n" "ac_cv_cflags_-Wl,-rpath,\\\\\\$ORIGIN" | $as_tr_sh` -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN" >&5 -+printf %s "checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN... " >&6; } -+if eval test \${$as_ac_var+y} -+then : -+ printf %s "(cached) " >&6 -+else $as_nop -+ ac_wine_try_cflags_saved=$CFLAGS -+CFLAGS="$CFLAGS -Wl,-rpath,\\\$ORIGIN" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+int main(int argc, char **argv) { return 0; } -+_ACEOF -+if ac_fn_c_try_link "$LINENO" -+then : -+ eval "$as_ac_var=yes" -+else $as_nop -+ eval "$as_ac_var=no" -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.beam \ -+ conftest$ac_exeext conftest.$ac_ext -+CFLAGS=$ac_wine_try_cflags_saved -+fi -+eval ac_res=\$$as_ac_var -+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+printf "%s\n" "$ac_res" >&6; } -+if eval test \"x\$"$as_ac_var"\" = x"yes" -+then : -+ UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'" -+fi - ;; - esac - -diff --git a/configure.ac b/configure.ac -index 8c5066a3de6..01ede86df1e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -916,6 +916,9 @@ case $host_os in - AC_SUBST(LIBWINE_SHAREDLIB,"libwine.so.$libwine_version") - AC_SUBST(LIBWINE_DEPENDS,"wine.map") - TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.so.$libwine_version libs/wine/libwine.so.$libwine_soversion" -+ -+ # do this at the end because it needs double dollar for makefile -+ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"]) - ;; - esac - diff --git a/repo/wine/wine.xibuild b/repo/wine/wine.xibuild deleted file mode 100644 index 88c16ef..0000000 --- a/repo/wine/wine.xibuild +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -NAME="wine" -DESC="A compatibility layer for running Windows programs" - -MAKEDEPS=" alsa-lib autoconf automake bison cups dbus flex fontconfig freetype giflib gnutls gstreamer gst-plugins-base krb5 libgphoto2 libpcap libusb libxcomposite libxcursor libxdamage libxi libxinerama libxrandr libxrender mesa mingw-w64-gcc mpg123 ncurses openal-soft opencl sane sdl2 udisks2 v4l-utils vkd3d vulkan-loader" - -PKG_VER=7.18 -SOURCE="https://dl.winehq.org/wine/source/7.x/wine-$PKG_VER.tar.xz" - -ADDITIONAL=" -rpath.patch -" - -prepare() { - apply_patches - # fix opencl header detection - sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure* -} - -build() { - ./configure \ - --prefix=/usr \ - --libdir=/usr/lib \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --with-dbus \ - --without-ldap \ - --with-mingw \ - --with-x \ - --with-vulkan \ - --enable-win64 - make LDFLAGS="$LDFLAGS $_no_pie" tools/winedump/winedump - make -} - -check() { - xvfb-run make test -} - -package() { - make DESTDIR="$PKG_DEST" install - - install -Dm755 tools/wineapploader \ - "$PKG_DEST"/usr/bin/wineapploader - - local file - for file in msiexec notepad regedit regsvr32 wineboot \ - winecfg wineconsole winefile winemine winepath - do - rm "$PKG_DEST"/usr/bin/$file - ln -sf /usr/bin/wineapploader "$PKG_DEST"/usr/bin/$file - done - - case "$CARCH" in - x86_64) - x86_64-w64-mingw32-strip --strip-unneeded "$PKG_DEST"/usr/lib/wine/x86_64-windows/*.dll - ;; - x86) - i686-w64-mingw32-strip --strip-unneeded "$PKG_DEST"/usr/lib/wine/i386-windows/*.dll - ;; - esac -} - diff --git a/repo/x265/x265.xibuild b/repo/x265/x265.xibuild index b297936..33fe264 100644 --- a/repo/x265/x265.xibuild +++ b/repo/x265/x265.xibuild @@ -3,8 +3,7 @@ NAME="x265" DESC="Open Source H265/HEVC video encoder" -MAKEDEPS="cmake " -DEPS="musl " +MAKEDEPS="cmake pkg-config" #PKG_VER=3.5 SOURCE="https://bitbucket.org/multicoreware/x265_git.git" diff --git a/repo/xipkg/xilinux-installer.xibuild b/repo/xipkg/xilinux-installer.xibuild index edd6327..138c4ff 100644 --- a/repo/xipkg/xilinux-installer.xibuild +++ b/repo/xipkg/xilinux-installer.xibuild @@ -4,5 +4,5 @@ DESC="Installer for xilinux" DEPS="xilib xiutils xipkg curl util-linux dosfstools xichroot xitui" package () { - install -Dm755 scripts/installer.sh $PKG_DEST/usr/bin/xilinux-install + install -Dm755 iso/root/installer.sh $PKG_DEST/usr/bin/xilinux-install } diff --git a/repo/xipkg/xipkg.xibuild b/repo/xipkg/xipkg.xibuild index 8fd1e97..8d25a5e 100644 --- a/repo/xipkg/xipkg.xibuild +++ b/repo/xipkg/xipkg.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="make shmk" DEPS="toybox openssl curl dash findutils diffutils sed xichroot grep base64 hbar parseconf xiutils tsort" -PKG_VER=1.7.5 +PKG_VER=1.7.7 SOURCE=https://git.davidovski.xyz/xilinux/xipkg.git BRANCH="v$PKG_VER" diff --git a/repo/xiutils/xiutils.xibuild b/repo/xiutils/xiutils.xibuild index 59338e6..a137304 100644 --- a/repo/xiutils/xiutils.xibuild +++ b/repo/xiutils/xiutils.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="make gcc libunistring" DEPS="musl sh" -PKG_VER=1.8 +PKG_VER=1.8.2 SOURCE=https://git.davidovski.xyz/xilinux/xiutils.git BRANCH="v$PKG_VER" diff --git a/repo/zeromq/zeromq.xibuild b/repo/zeromq/zeromq.xibuild index 7ff5563..ebec431 100644 --- a/repo/zeromq/zeromq.xibuild +++ b/repo/zeromq/zeromq.xibuild @@ -24,7 +24,8 @@ build() { --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ - --with-libsodium + --with-libsodium \ + --disable-Werror make } diff --git a/repo/zlib/zlib.xibuild b/repo/zlib/zlib.xibuild index 1c9823e..0814cd7 100644 --- a/repo/zlib/zlib.xibuild +++ b/repo/zlib/zlib.xibuild @@ -4,7 +4,7 @@ MAKEDEPS="make " DEPS="musl" PKG_VER=1.2.12 -SOURCE=https://github.com/madler/zlib/archive/refs/tags/v$PKG_VER.tar.gz +SOURCE="https://github.com/madler/zlib/archive/refs/tags/v$PKG_VER.tar.gz" DESC="compression and decompression routines used by some programs" |