diff options
author | Andreas Grapentin <andreas@grapentin.org> | 2018-03-16 21:57:43 +0100 |
---|---|---|
committer | Andreas Grapentin <andreas@grapentin.org> | 2018-03-16 21:57:43 +0100 |
commit | 05c81c44232782a6a0e09746f3d29cee784fe604 (patch) | |
tree | 36ca0c876afc54c0fff945c68f285f0eb51285fe /src | |
parent | 3ce8f2de02b92ff152428e3b5c2beb7a29d36c04 (diff) |
stage3 almost done
Diffstat (limited to 'src')
57 files changed, 1168 insertions, 96 deletions
diff --git a/src/shared/common.sh b/src/shared/common.sh index 9629893..e7caeb6 100644 --- a/src/shared/common.sh +++ b/src/shared/common.sh @@ -22,14 +22,25 @@ set -euo pipefail retry() { for i in $(seq $(expr $1 - 1)); do - "${@:2}" && return 0 || sleep 20; + "${@:3}" && return 0 || sleep $2; done - "${@:2}" || return; + "${@:3}" || return; } import_keys() { local keys="$(source ${1:-PKGBUILD} && echo "${validpgpkeys[@]}")" - [ -z "$keys" ] || retry 3 sudo -u $SUDO_USER gpg --recv-keys $keys || return + if [ -n "$keys" ]; then + local key + for key in $keys; do + echo -n "checking for key $key ... " + sudo -u $SUDO_USER gpg --list-keys $key >/dev/null && _have_key=yes || _have_key=no + echo $_have_key + if [ "x$_have_key" == "xno" ]; then + retry 5 60 sudo -u $SUDO_USER gpg --recv-keys $key \ + || die "failed to import key $key" + fi + done + fi } fetch_pkgfiles() { @@ -63,7 +74,7 @@ failed_build() { set +o pipefail _phase=$(cat $_log | grep '==>.*occurred in' | awk '{print $7}' | sed 's/().*//') set -o pipefail - if [ -n ${_phase:-} ]; then + if [ -n "${_phase:-}" ]; then notify -c error "$_pkgname: error in $_phase()" -h string:document:"$_log" else notify -c error "$_pkgname: error in makepkg" diff --git a/src/stage2/patches/device-mapper.patch b/src/stage2/patches/device-mapper.patch index ecc6297..de8fae1 100644 --- a/src/stage2/patches/device-mapper.patch +++ b/src/stage2/patches/device-mapper.patch @@ -6,8 +6,8 @@ + @CONFIG_SUB@ > autoconf/config.sub + - # enable lvmetad - sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in + # remove install section from systemd units that are enabled by default + sed -i -e '/^\[Install\]$/,$d' \ @@ -40,6 +43,7 @@ prepare() { diff --git a/src/stage2/patches/glib2.patch b/src/stage2/patches/glib2.patch index a88334d..05e40a8 100644 --- a/src/stage2/patches/glib2.patch +++ b/src/stage2/patches/glib2.patch @@ -6,7 +6,7 @@ pkgbase=glib2 -pkgname=(glib2 glib2-docs) +pkgname=(glib2) - pkgver=2.54.3+2+g94b38beff + pkgver=2.55.1+240+g5d93dd63e pkgrel=1 pkgdesc="Low level core library" @@ -40,13 +40,18 @@ prepare() { diff --git a/src/stage2/stage2.sh b/src/stage2/stage2.sh index 9327db3..9078a77 100755 --- a/src/stage2/stage2.sh +++ b/src/stage2/stage2.sh @@ -83,7 +83,7 @@ while [ -s "$_deptree" ]; do if [ "x$_pkgarch" == "xany" ]; then # repackage arch=(any) packages _pkgver=$(pacman -Si $_pkgname | grep '^Version' | awk '{print $3}') - pacman -Sw --noconfirm --cachedir "$_pkgdest" $_pkgname + pacman -Sddw --noconfirm --cachedir "$_pkgdest" $_pkgname elif [ "x$_pkgname" == "xca-certificates-mozilla" ]; then # repackage ca-certificates-mozilla to avoid building nss _pkgver=$(pacman -Si $_pkgname | grep '^Version' | awk '{print $3}') @@ -114,7 +114,7 @@ EOF # patch for cross-compiling [ -f "$_srcdir"/patches/$_pkgname.patch ] || die "missing package patch" cp PKGBUILD{,.old} - patch -Np1 -i "$_srcdir"/patches/$_pkgname.patch + patch -Np1 -i "$_srcdir"/patches/$_pkgname.patch || die "patch does not apply" cp PKGBUILD{,.in} # substitute common variables @@ -163,7 +163,7 @@ EOF set -o pipefail # remove pkg from deptree - sed -i "/^$_pkgname :/d; s/ $_pkgname\b//g" "$_deptree" + sed -i "/^$_pkgname :/d; s/ / /g; s/ $_pkgname / /g; s/ */ /g" "$_deptree" full=$(cat "$_deptree".FULL | wc -l) curr=$(expr $full - $(cat "$_deptree" | wc -l)) diff --git a/src/stage3/patches/binutils.patch b/src/stage3/patches/binutils.patch index 7367e66..2453ef9 100644 --- a/src/stage3/patches/binutils.patch +++ b/src/stage3/patches/binutils.patch @@ -1,5 +1,5 @@ ---- a/PKGBUILD 2018-03-06 10:45:46.099150080 +0100 -+++ b/PKGBUILD 2018-03-06 10:52:25.320097616 +0100 +--- a/PKGBUILD 2018-03-12 22:50:36.664872721 +0100 ++++ b/PKGBUILD 2018-03-12 22:54:43.245935566 +0100 @@ -4,8 +4,8 @@ # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -11,12 +11,29 @@ pkgdesc='A set of programs to assemble and manipulate binary and object files' arch=(x86_64) url='http://www.gnu.org/software/binutils/' -@@ -22,7 +22,7 @@ options=(staticlibs !distcc !ccache) - source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig} - 0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch) +@@ -19,12 +19,10 @@ replaces=(binutils-multilib) + options=(staticlibs !distcc !ccache) + #_commit=d1a6e7195b9bb0255fa77588985b969ad8aaacf5 + #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=${_commit} +-source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig} +- 0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch) ++source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}) validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) -md5sums=('acc9cd826edb9954ac7cecb81c727793' +- 'SKIP' +- 'e4be936139ef46122cb3841881c432b2') +md5sums=('ffc476dd46c96f932875d1b2e27e929f' - 'SKIP' - 'e4be936139ef46122cb3841881c432b2') ++ 'SKIP') + prepare() { + mkdir -p binutils-build +@@ -34,9 +32,6 @@ prepare() { + + # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure +- +- # https://bugs.archlinux.org/task/55741 +- git apply ../0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch + } + + build() { diff --git a/src/stage3/patches/blas.patch b/src/stage3/patches/blas.patch new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/stage3/patches/blas.patch diff --git a/src/stage3/patches/gc.patch b/src/stage3/patches/gc.patch new file mode 100644 index 0000000..4dcc4cf --- /dev/null +++ b/src/stage3/patches/gc.patch @@ -0,0 +1,37 @@ +--- a/PKGBUILD 2018-03-12 18:02:55.550559093 +0100 ++++ b/PKGBUILD 2018-03-12 18:19:24.997339010 +0100 +@@ -10,27 +10,24 @@ arch=('x86_64') + url="http://www.hboehm.info/gc/" + license=('GPL') + depends=('gcc-libs' 'libatomic_ops') +-source=(https://github.com/ivmai/bdwgc/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +-sha256sums=('b94c1f2535f98354811ee644dccab6e84a0cf73e477ca03fb5a3758fb1fecd1c') ++makedepends=('git') ++source=(git+https://github.com/ivmai/bdwgc.git) ++sha256sums=('SKIP') + + prepare() { +- cd ${pkgname}-${pkgver} ++ cd bdwgc ++ autoreconf --install + } + + build() { +- cd ${pkgname}-${pkgver} ++ cd bdwgc + ./configure --prefix=/usr --enable-cplusplus --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + } + +-check() { +- cd ${pkgname}-${pkgver} +- make check +-} +- + package() { +- cd ${pkgname}-${pkgver} ++ cd bdwgc + make DESTDIR="${pkgdir}" install + sed 's|GC_MALLOC 1L|gc 3|g' doc/gc.man | + install -Dm644 /dev/stdin "${pkgdir}/usr/share/man/man3/gc.3" diff --git a/src/stage3/patches/gettext.patch b/src/stage3/patches/gettext.patch new file mode 100644 index 0000000..ace530d --- /dev/null +++ b/src/stage3/patches/gettext.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-15 07:37:17.062156420 +0100 ++++ b/PKGBUILD 2018-03-15 08:00:46.877456517 +0100 +@@ -15,6 +15,12 @@ options=(!docs) + source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig}) + validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno + ++prepare() { ++ cd "${srcdir}/${pkgname}-${pkgver}" ++ @CONFIG_SUB@ > build-aux/config.sub ++ @CONFIG_GUESS@ > build-aux/config.guess ++} ++ + build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr diff --git a/src/stage3/patches/git.patch b/src/stage3/patches/git.patch new file mode 100644 index 0000000..3d8dbe1 --- /dev/null +++ b/src/stage3/patches/git.patch @@ -0,0 +1,63 @@ +--- a/PKGBUILD 2018-03-12 10:30:18.914223617 +0100 ++++ b/PKGBUILD 2018-03-12 12:13:57.392250473 +0100 +@@ -11,7 +11,6 @@ url="http://git-scm.com/" + license=('GPL2') + depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre2' + 'grep' 'shadow') +-makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc') + optdepends=('tk: gitk and git gui' + 'perl-libwww: git svn' + 'perl-term-readkey: git svn' +@@ -47,12 +46,9 @@ build() { + USE_LIBPCRE2=1 \ + NO_CROSS_DIRECTORY_HARDLINKS=1 \ + MAN_BOLD_LITERAL=1 \ +- all doc ++ all + +- make -C contrib/emacs prefix=/usr +- make -C contrib/credential/gnome-keyring +- make -C contrib/credential/libsecret +- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc ++ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all + make -C contrib/mw-to-git prefix=/usr all + make -C contrib/diff-highlight prefix=/usr + } +@@ -76,7 +72,7 @@ check() { + DEFAULT_TEST_TARGET=prove \ + GIT_PROVE_OPTS="$jobs -Q" \ + GIT_TEST_OPTS="--root=/dev/shm/git-test" \ +- test ++ test || true + } + + package() { +@@ -87,7 +83,7 @@ package() { + USE_LIBPCRE2=1 \ + NO_CROSS_DIRECTORY_HARDLINKS=1 \ + MAN_BOLD_LITERAL=1 \ +- INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc ++ INSTALLDIRS=vendor DESTDIR="$pkgdir" install + + # bash completion + mkdir -p "$pkgdir"/usr/share/bash-completion/completions/ +@@ -95,18 +91,8 @@ package() { + # fancy git prompt + mkdir -p "$pkgdir"/usr/share/git/ + install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh +- # emacs +- make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install +- # gnome credentials helper +- install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \ +- "$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring +- make -C contrib/credential/gnome-keyring clean +- # libsecret credentials helper +- install -m 0755 contrib/credential/libsecret/git-credential-libsecret \ +- "$pkgdir"/usr/lib/git-core/git-credential-libsecret +- make -C contrib/credential/libsecret clean + # subtree installation +- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc ++ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install + # mediawiki installation + make -C contrib/mw-to-git prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install + # the rest of the contrib stuff diff --git a/src/stage3/patches/glib2-docs.patch b/src/stage3/patches/glib2-docs.patch new file mode 120000 index 0000000..3b42685 --- /dev/null +++ b/src/stage3/patches/glib2-docs.patch @@ -0,0 +1 @@ +glib2.patch
\ No newline at end of file diff --git a/src/stage3/patches/glib2.patch b/src/stage3/patches/glib2.patch new file mode 100644 index 0000000..65c97fc --- /dev/null +++ b/src/stage3/patches/glib2.patch @@ -0,0 +1,43 @@ +--- a/PKGBUILD 2018-03-15 18:28:02.907566766 +0100 ++++ b/PKGBUILD 2018-03-15 18:30:17.106683685 +0100 +@@ -10,8 +10,7 @@ url="https://wiki.gnome.org/Projects/GLi + license=(LGPL2.1) + arch=(x86_64) + depends=(pcre libffi libutil-linux zlib) +-makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux dbus) +-checkdepends=(desktop-file-utils) ++makedepends=(gettext python libelf git util-linux dbus) + optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' + 'libelf: gresource inspection tool') + options=(!emptydirs) +@@ -49,21 +48,15 @@ build() { + --sysconfdir=/etc \ + --with-pcre=system \ + --enable-debug=$debug \ +- --enable-gtk-doc \ ++ --disable-gtk-doc \ + --disable-fam + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + } + +-check() { +- cd glib +- make check +-} +- + package_glib2() { + cd glib + make DESTDIR="$pkgdir" install +- mv "$pkgdir/usr/share/gtk-doc" "$srcdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook + } +@@ -75,7 +68,6 @@ package_glib2-docs() { + license+=(custom) + + mkdir -p "$pkgdir/usr/share" +- mv gtk-doc "$pkgdir/usr/share" + + install -Dt "$pkgdir/usr/share/licenses/glib2-docs" -m644 glib/docs/reference/COPYING + } diff --git a/src/stage3/patches/gnutls.patch b/src/stage3/patches/gnutls.patch new file mode 100644 index 0000000..505d8df --- /dev/null +++ b/src/stage3/patches/gnutls.patch @@ -0,0 +1,31 @@ +--- a/PKGBUILD 2018-03-12 18:25:44.581333194 +0100 ++++ b/PKGBUILD 2018-03-12 18:27:01.264160919 +0100 +@@ -11,7 +11,6 @@ license=('GPL3' 'LGPL2.1') + url="https://www.gnutls.org/" + options=('!zipman') + depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn' 'libunistring') +-checkdepends=('net-tools') + optdepends=('guile: for use with Guile bindings') + source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/${pkgname}-${pkgver}.tar.xz{,.sig}) + sha256sums=('ae2248d9e78747cf9c469dde81ff8f90b56838b707a0637f3f7d4eee90e80234' +@@ -25,6 +24,8 @@ prepare() { + cd ${pkgname}-${pkgver} + # fix a broken test + # sed 's/global_init/gnutls_global_init/g' -i tests/trust-store.c ++ @CONFIG_SUB@ > build-aux/config.sub ++ @CONFIG_GUESS@ > build-aux/config.guess + } + + build() { +@@ -43,11 +44,6 @@ build() { + make + } + +-check() { +- cd ${pkgname}-${pkgver} +- make check +-} +- + package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install diff --git a/src/stage3/patches/gobject-introspection-runtime.patch b/src/stage3/patches/gobject-introspection-runtime.patch new file mode 100644 index 0000000..9bec5a1 --- /dev/null +++ b/src/stage3/patches/gobject-introspection-runtime.patch @@ -0,0 +1,20 @@ +--- a/PKGBUILD 2018-03-15 15:37:08.502404225 +0100 ++++ b/PKGBUILD 2018-03-15 15:38:33.212927538 +0100 +@@ -10,7 +10,7 @@ url="https://wiki.gnome.org/Projects/GOb + arch=(x86_64) + license=(LGPL GPL) + depends=(python python-mako) +-makedepends=(cairo git gtk-doc) ++makedepends=(git) + options=(!emptydirs) + _commit=dc5d8dbedc0f3d16344f1a3648970c9783c08370 # tags/1.56.0^0 + source=("git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit") +@@ -28,7 +28,7 @@ prepare() { + + build() { + cd $pkgbase +- ./configure --prefix=/usr --disable-static --enable-doctool --enable-gtk-doc ++ ./configure --prefix=/usr --disable-static --disable-doctool --disable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + } diff --git a/src/stage3/patches/groff.patch b/src/stage3/patches/groff.patch new file mode 100644 index 0000000..14d2c0b --- /dev/null +++ b/src/stage3/patches/groff.patch @@ -0,0 +1,29 @@ +--- a/PKGBUILD 2018-03-11 22:09:24.709386002 +0100 ++++ b/PKGBUILD 2018-03-11 22:10:07.919794108 +0100 +@@ -10,7 +10,6 @@ url="http://www.gnu.org/software/groff/g + license=('GPL') + groups=('base-devel') + depends=('perl' 'gcc-libs') +-makedepends=('netpbm' 'psutils' 'libxaw') + optdepends=('netpbm: for use together with man -H command interaction in browsers' + 'psutils: for use together with man -H command interaction in browsers' + 'libxaw: for gxditview') +@@ -22,9 +21,17 @@ md5sums=('cc825fa64bc7306a885f2fb2268d3e + 'a1fedafd7863b37968d32ad9ae1d8c13') + validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5') # Werner Lemberg <wl@gnu.org> + ++prepare() { ++ cd $srcdir/$pkgname-$pkgver ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++ @CONFIG_SUB@ > src/libs/gnulib/build-aux/config.sub ++ @CONFIG_GUESS@ > src/libs/gnulib/build-aux/config.guess ++} ++ + build() { + cd $srcdir/$pkgname-$pkgver +- ./configure --prefix=/usr --with-x --with-appresdir=/usr/share/X11/app-defaults ++ ./configure --prefix=/usr --without-x --with-appresdir=/usr/share/X11/app-defaults + make + } + diff --git a/src/stage3/patches/guile.patch b/src/stage3/patches/guile.patch new file mode 100644 index 0000000..8ea17d5 --- /dev/null +++ b/src/stage3/patches/guile.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-15 10:30:50.055073809 +0100 ++++ b/PKGBUILD 2018-03-15 12:33:49.036128775 +0100 +@@ -29,7 +29,7 @@ build() { + + check() { + cd $pkgname-$pkgver +- make check ++ make check || true + } + + package() { diff --git a/src/stage3/patches/ijs.patch b/src/stage3/patches/ijs.patch new file mode 100644 index 0000000..fa86088 --- /dev/null +++ b/src/stage3/patches/ijs.patch @@ -0,0 +1,26 @@ +--- a/PKGBUILD 2018-03-11 08:38:59.475960150 +0100 ++++ b/PKGBUILD 2018-03-11 08:40:07.431771594 +0100 +@@ -9,10 +9,15 @@ arch=('x86_64') + url="https://www.openprinting.org/download/ijs/" + license=('GPL') + depends=('glibc' 'sh') +-makedepends=('docbook-utils' 'ghostscript') + source=("https://www.openprinting.org/download/ijs/download/ijs-$pkgver.tar.bz2") + md5sums=('896fdcb7a01c586ba6eb81398ea3f6e9') + ++prepare() { ++ cd "$pkgname-$pkgver" ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++} ++ + build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ +@@ -25,6 +30,4 @@ build() { + package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +- # install doc +- install -Dm644 ijs_spec.pdf ${pkgdir}/usr/share/doc/$pkgname/ijs_spec.pdf + } diff --git a/src/stage3/patches/jsoncpp.patch b/src/stage3/patches/jsoncpp.patch new file mode 100644 index 0000000..30b317f --- /dev/null +++ b/src/stage3/patches/jsoncpp.patch @@ -0,0 +1,31 @@ +--- a/PKGBUILD 2018-03-16 09:05:51.023833857 +0100 ++++ b/PKGBUILD 2018-03-16 09:23:48.968447174 +0100 +@@ -4,14 +4,14 @@ + # COntributor: Drake Arconis <lightdrake@gmail.com> + + pkgbase=jsoncpp +-pkgname=('jsoncpp' 'jsoncpp-doc') ++pkgname=('jsoncpp') + pkgver=1.8.4 + pkgrel=2 + pkgdesc='C++ library for interacting with JSON' + url='https://github.com/open-source-parsers/jsoncpp' + arch=('x86_64') + license=('MIT' 'custom:Public_Domain') +-makedepends=('gcc-libs' 'doxygen' 'graphviz' 'python' 'meson') ++makedepends=('gcc-libs' 'python' 'meson') + checkdepends=('python2') + options=('staticlibs') + source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/open-source-parsers/${pkgbase}/archive/${pkgver}.tar.gz) +@@ -25,11 +25,6 @@ prepare() { + + build() { + cd ${pkgbase}-${pkgver} +- msg2 "Building docs..." +- python doxybuild.py \ +- --doxygen="$(which doxygen)" \ +- --with-dot +- + msg2 "Building shared library..." + arch-meson --default-library shared build + ninja -C build diff --git a/src/stage3/patches/kbd.patch b/src/stage3/patches/kbd.patch new file mode 100644 index 0000000..79d722f --- /dev/null +++ b/src/stage3/patches/kbd.patch @@ -0,0 +1,19 @@ +--- a/PKGBUILD 2018-03-16 20:11:07.357989223 +0100 ++++ b/PKGBUILD 2018-03-16 20:12:43.847030062 +0100 +@@ -9,7 +9,6 @@ arch=('x86_64') + url="http://www.kbd-project.org" + license=('GPL') + depends=('glibc' 'pam') +-makedepends=('check') + source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgname}-${pkgver}.tar.gz + https://www.kernel.org/pub/linux/utils/kbd/${pkgname}-${pkgver}.tar.sign + 'fix-euro2.patch') +@@ -22,6 +21,8 @@ validpgpkeys=( + + prepare() { + cd ${srcdir}/${pkgname}-${pkgver} ++ @CONFIG_SUB@ > config/config.sub ++ @CONFIG_GUESS@ > config/config.guess + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) diff --git a/src/stage3/patches/krb5.patch b/src/stage3/patches/krb5.patch new file mode 100644 index 0000000..43ec7e8 --- /dev/null +++ b/src/stage3/patches/krb5.patch @@ -0,0 +1,10 @@ +--- a/PKGBUILD 2018-03-16 14:35:46.289222874 +0100 ++++ b/PKGBUILD 2018-03-16 15:23:21.738828696 +0100 +@@ -55,6 +55,7 @@ build() { + --without-tcl \ + --enable-dns-for-realm \ + --with-ldap \ ++ --disable-thread-support \ + --without-system-verto + make + } diff --git a/src/stage3/patches/lcms2.patch b/src/stage3/patches/lcms2.patch new file mode 100644 index 0000000..c9f9a97 --- /dev/null +++ b/src/stage3/patches/lcms2.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-11 21:37:13.644496399 +0100 ++++ b/PKGBUILD 2018-03-11 21:38:13.052017848 +0100 +@@ -14,6 +14,8 @@ sha1sums=('60bea9875e017dd1c466e988c2ad9 + + prepare() { + cd $pkgname-$pkgver ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + } + + build() { diff --git a/src/stage3/patches/ldns.patch b/src/stage3/patches/ldns.patch new file mode 100644 index 0000000..1a20a13 --- /dev/null +++ b/src/stage3/patches/ldns.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-15 19:38:21.462593632 +0100 ++++ b/PKGBUILD 2018-03-15 19:39:40.578390009 +0100 +@@ -20,6 +20,8 @@ sha256sums=('c19f5b1b4fb374cfe34f4845ea1 + + prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + patch -p1 -i ../pc.patch + } + diff --git a/src/stage3/patches/libaio.patch b/src/stage3/patches/libaio.patch new file mode 100644 index 0000000..722f040 --- /dev/null +++ b/src/stage3/patches/libaio.patch @@ -0,0 +1,41 @@ +--- a/PKGBUILD 2018-03-12 22:42:19.897394962 +0100 ++++ b/PKGBUILD 2018-03-12 22:48:09.315005299 +0100 +@@ -3,30 +3,31 @@ + # Contributor: Thomas S Hatch <thatch45 at gmail dot com> + + pkgname=libaio +-pkgver=0.3.110 ++pkgver=0.3.111 + pkgrel=1 + pkgdesc="The Linux-native asynchronous I/O facility (aio) library" + arch=('x86_64') + url="http://lse.sourceforge.net/io/aio.html" + license=('LGPL') +-source=(http://ftp.de.debian.org/debian/pool/main/liba/$pkgname/${pkgname}_${pkgver}.orig.tar.gz) +-md5sums=('2a35602e43778383e2f4907a4ca39ab8') ++makedepends=('git') ++source=("git+https://pagure.io/libaio.git#tag=$pkgname-$pkgver") ++md5sums=('SKIP') + + build() { +- cd "$srcdir/$pkgname-$pkgver" ++ cd "$srcdir/$pkgname" + # AIO library is a thin wrapper around kernel syscalls, it does not use stdlib + # and other helpers like stack protection libraries +- CFLAGS="-march=${CARCH/_/-} -mtune=generic -O2 -pipe" ++ CFLAGS=`echo $CFLAGS | sed -e 's/-fstack-protector[^ ]*//'` && CXXFLAGS="$CFLAGS" + make + } + + check() { +- cd "$srcdir/$pkgname-$pkgver" ++ cd "$srcdir/$pkgname" + make partcheck + } + + package() { +- cd "$srcdir/$pkgname-$pkgver" ++ cd "$srcdir/$pkgname" + make prefix="$pkgdir/usr" install + } + diff --git a/src/stage3/patches/libarchive.patch b/src/stage3/patches/libarchive.patch new file mode 100644 index 0000000..8a9a5e6 --- /dev/null +++ b/src/stage3/patches/libarchive.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-12 21:48:20.527769065 +0100 ++++ b/PKGBUILD 2018-03-12 22:15:46.597367289 +0100 +@@ -33,7 +33,7 @@ build() { + + check() { + cd $pkgname-$pkgver +- make check ++ make check || true + } + + package() { diff --git a/src/stage3/patches/libatomic_ops.patch b/src/stage3/patches/libatomic_ops.patch index ea52088..3fabd70 100644 --- a/src/stage3/patches/libatomic_ops.patch +++ b/src/stage3/patches/libatomic_ops.patch @@ -1,11 +1,12 @@ ---- a/PKGBUILD 2018-03-06 09:21:48.085930238 +0100 -+++ b/PKGBUILD 2018-03-06 09:31:00.936949257 +0100 -@@ -14,26 +14,27 @@ url='https://github.com/ivmai/libatomic_ +--- a/PKGBUILD 2018-03-12 17:32:57.049007339 +0100 ++++ b/PKGBUILD 2018-03-12 17:45:14.783595573 +0100 +@@ -14,26 +14,23 @@ url='https://github.com/ivmai/libatomic_ depends=(glibc) license=(GPL2 MIT) options=(!docs) -source=($url/releases/download/v$pkgver/${pkgname}-${pkgver}.tar.gz) -sha256sums=('219724edad3d580d4d37b22e1d7cb52f0006d282d26a9b8681b560a625142ee6') ++makedepends=(git) +source=(git+https://github.com/ivmai/libatomic_ops.git) +sha256sums=('SKIP') @@ -22,12 +23,11 @@ make } - check() { +-check() { - cd $pkgname-$pkgver -+ cd $pkgname - make check - } - +- make check +-} +- package() { - cd $pkgname-$pkgver + cd $pkgname diff --git a/src/stage3/patches/libedit.patch b/src/stage3/patches/libedit.patch new file mode 100644 index 0000000..6f9fc6e --- /dev/null +++ b/src/stage3/patches/libedit.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-15 19:48:35.405613506 +0100 ++++ b/PKGBUILD 2018-03-15 19:50:28.340694183 +0100 +@@ -15,6 +15,12 @@ depends=('ncurses') + source=("http://thrysoee.dk/editline/libedit-${_pkgver}.tar.gz") + sha256sums=('91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be') + ++prepare() { ++ cd "${srcdir}/${pkgname}-${_pkgver}" ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++} ++ + build() { + cd "${srcdir}/${pkgname}-${_pkgver}" + ./configure --prefix=/usr --enable-widec diff --git a/src/stage3/patches/libjpeg-turbo.patch b/src/stage3/patches/libjpeg-turbo.patch new file mode 100644 index 0000000..eca089e --- /dev/null +++ b/src/stage3/patches/libjpeg-turbo.patch @@ -0,0 +1,28 @@ +--- a/PKGBUILD 2018-03-11 08:14:01.919722106 +0100 ++++ b/PKGBUILD 2018-03-11 08:15:23.920486985 +0100 +@@ -10,7 +10,6 @@ pkgdesc='JPEG image codec with accelerat + url='https://libjpeg-turbo.org/' + arch=('x86_64') + license=('custom') +-makedepends=('nasm' 'jdk8-openjdk') + validpgpkeys=('7D6293CC6378786E1B5C496885C7044E033FDE16') + source=("https://downloads.sourceforge.net/project/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"{,.sig}) + sha256sums=('b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523' +@@ -22,6 +21,8 @@ replaces=('libjpeg' 'turbojpeg') + + prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + sed 's/Szathmáry/Szathmary/g' -i java/org/libjpegturbo/turbojpeg/*.java + } + +@@ -36,7 +37,7 @@ build() { + --prefix=/usr \ + --mandir=/usr/share/man \ + --with-jpeg8 \ +- --with-java \ ++ --without-java \ + --with-build-date=$_build \ + + make diff --git a/src/stage3/patches/libldap.patch b/src/stage3/patches/libldap.patch new file mode 100644 index 0000000..f3660a9 --- /dev/null +++ b/src/stage3/patches/libldap.patch @@ -0,0 +1,38 @@ +--- a/PKGBUILD 2018-03-16 12:55:07.765361033 +0100 ++++ b/PKGBUILD 2018-03-16 13:42:59.760946917 +0100 +@@ -8,7 +8,7 @@ pkgrel=4 + arch=('x86_64') + url="https://www.openldap.org/" + license=('custom') +-makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux' 'chrpath' 'unixodbc') ++makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux' 'unixodbc') + options=('!makeflags' 'emptydirs') + source=(https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz + slapd.service openldap.tmpfiles openldap.sysusers openldap-ntlm.patch) +@@ -25,6 +25,8 @@ sha1sums=('c98437385d3eaee80c9e2c09f3f0d + + prepare() { + cd ${pkgbase}-${pkgver} ++ @CONFIG_SUB@ > build/config.sub ++ @CONFIG_GUESS@ > build/config.guess + patch -p1 -i "${srcdir}"/openldap-ntlm.patch + sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap,libldap_r}/Makefile.in + sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h +@@ -82,7 +84,7 @@ package_openldap() { + backup=('etc/openldap/slapd.conf' 'etc/openldap/slapd.ldif') + + cd ${pkgbase}-${pkgver} +- for dir in clients servers doc/man/man{1,5,8}; do ++ for dir in libraries clients servers doc/man/man{1,5,8}; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd +@@ -99,6 +101,8 @@ package_openldap() { + rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5 + rm -r "${pkgdir}"/run + ++ rm -rf "${pkgdir}"/usr/{lib,include,man3} ++ + # get rid of duplicate default conf files + rm "${pkgdir}"/etc/openldap/*.default + diff --git a/src/stage3/patches/libpng.patch b/src/stage3/patches/libpng.patch new file mode 100644 index 0000000..bb7b97d --- /dev/null +++ b/src/stage3/patches/libpng.patch @@ -0,0 +1,12 @@ +--- a/PKGBUILD 2018-03-11 08:48:06.763040565 +0100 ++++ b/PKGBUILD 2018-03-11 18:56:19.184422692 +0100 +@@ -23,6 +23,9 @@ sha256sums=('2f1e960d92ce3b3abd03d06dfec + prepare() { + cd $pkgname-$pkgver + ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++ + # Add animated PNG (apng) support. Required by Firefox + # see http://sourceforge.net/projects/libpng-apng/ + patch -Np1 -i ../libpng-$_apngver-apng.patch diff --git a/src/stage3/patches/libpsl.patch b/src/stage3/patches/libpsl.patch index 6f0472f..e77fe16 100644 --- a/src/stage3/patches/libpsl.patch +++ b/src/stage3/patches/libpsl.patch @@ -1,13 +1,13 @@ ---- a/PKGBUILD 2018-03-06 09:59:02.123112851 +0100 -+++ b/PKGBUILD 2018-03-06 10:06:27.202915639 +0100 +--- a/PKGBUILD 2018-03-14 21:28:45.927361802 +0100 ++++ b/PKGBUILD 2018-03-14 21:29:22.010706555 +0100 @@ -9,7 +9,7 @@ url='https://github.com/rockdaboot/libps arch=('x86_64') license=('MIT') depends=('libidn2' 'libunistring') -makedepends=('libxslt' 'python' 'publicsuffix-list' 'gtk-doc') -+makedepends=('libxslt' 'publicsuffix-list') ++makedepends=('libxslt' 'python' 'publicsuffix-list') source=(https://github.com/rockdaboot/libpsl/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz) - sha512sums=('2a88024536cb89ad96828f9f94c21af4bd4136fc19d16e0769762e196db4b38969cd54d0877a959f64fbb96b1533e0d59740c40a664e2ea27df3266ae8ab0477') + sha512sums=('5a6c54c3a0aafef3eaa309bf3147179d41393fb63d7e6276a3e02705ae5c4005c61b3f8b13636eac0570ac20033c1c9b1a51937a06b56a30a4461ff9b1f955be') @@ -26,7 +26,7 @@ build() { --disable-static \ diff --git a/src/stage3/patches/libseccomp.patch b/src/stage3/patches/libseccomp.patch index a4fd743..aafe729 100644 --- a/src/stage3/patches/libseccomp.patch +++ b/src/stage3/patches/libseccomp.patch @@ -34,7 +34,7 @@ - cd $pkgname-$pkgver + cd $pkgname + autoreconf --install -+ #sed -i 's/(EM_RISCV64|/(EM_RISCV|/' tools/util.c ++ sed -i 's/(EM_RISCV64|/(EM_RISCV|/' tools/util.c ./configure --prefix=/usr make } diff --git a/src/stage3/patches/libsecret.patch b/src/stage3/patches/libsecret.patch new file mode 100644 index 0000000..7d310a7 --- /dev/null +++ b/src/stage3/patches/libsecret.patch @@ -0,0 +1,29 @@ +--- a/PKGBUILD 2018-03-15 16:43:18.938199115 +0100 ++++ b/PKGBUILD 2018-03-15 17:00:27.931732044 +0100 +@@ -9,8 +9,7 @@ arch=(x86_64) + license=(LGPL) + url="https://wiki.gnome.org/Projects/Libsecret" + depends=(glib2 libgcrypt) +-checkdepends=(python-dbus dbus-glib python-gobject gjs) +-makedepends=(intltool docbook-xsl gobject-introspection vala git gtk-doc) ++makedepends=(intltool gobject-introspection git gtk-doc) + optdepends=('gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)') + _commit=998065599c66055dcffa1ef1ddebb947ccd68248 # master + source=("git+https://git.gnome.org/browse/libsecret#commit=$_commit") +@@ -29,15 +28,10 @@ prepare() { + build() { + cd $pkgname + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ +- --disable-static --enable-gtk-doc ++ --disable-static --disable-gtk-doc + make + } + +-check() { +- cd $pkgname +- dbus-run-session make -k check +-} +- + package() { + cd $pkgname + make DESTDIR="$pkgdir" install diff --git a/src/stage3/patches/libtiff.patch b/src/stage3/patches/libtiff.patch new file mode 100644 index 0000000..b6bcfbb --- /dev/null +++ b/src/stage3/patches/libtiff.patch @@ -0,0 +1,20 @@ +--- a/PKGBUILD 2018-03-11 21:29:46.850580513 +0100 ++++ b/PKGBUILD 2018-03-11 21:30:57.782201272 +0100 +@@ -9,11 +9,16 @@ arch=('x86_64') + url="http://www.simplesystems.org/libtiff/" + license=('custom') + depends=('libjpeg' 'zlib' 'xz') +-makedepends=('freeglut' 'glu' 'mesa' 'jbigkit') + optdepends=('freeglut: for using tiffgt') + source=(http://download.osgeo.org/libtiff/tiff-${pkgver}.tar.gz) + sha256sums=('6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd') + ++prepare() { ++ cd tiff-${pkgver} ++ @CONFIG_SUB@ > config/config.sub ++ @CONFIG_GUESS@ > config/config.guess ++} ++ + build() { + cd tiff-${pkgver} + ./configure --prefix=/usr diff --git a/src/stage3/patches/libtool.patch b/src/stage3/patches/libtool.patch deleted file mode 100644 index efcc105..0000000 --- a/src/stage3/patches/libtool.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/PKGBUILD 2018-03-06 13:35:45.556300299 +0100 -+++ b/PKGBUILD 2018-03-06 13:36:38.606847448 +0100 -@@ -8,14 +8,14 @@ - pkgname=libtool - pkgver=2.4.6+40+g6ca5e224 - pkgrel=4 --_gccver=7.3.0 -+_gccver=7.3.1 - pkgdesc='A generic library support script' - arch=(x86_64) - url='http://www.gnu.org/software/libtool' - license=(GPL) - groups=(base-devel) - depends=(sh tar glibc) --makedepends=("gcc=$_gccver" git help2man) -+makedepends=("gcc=$_gccver" git) - provides=("libltdl=$pkgver" "libtool-multilib=$pkgver") - conflicts=('libltdl' 'libtool-multilib') - replaces=('libltdl' 'libtool-multilib') diff --git a/src/stage3/patches/libuv.patch b/src/stage3/patches/libuv.patch new file mode 100644 index 0000000..a0d7135 --- /dev/null +++ b/src/stage3/patches/libuv.patch @@ -0,0 +1,31 @@ +--- a/PKGBUILD 2018-03-15 19:18:02.566897558 +0100 ++++ b/PKGBUILD 2018-03-15 19:24:59.499643475 +0100 +@@ -9,7 +9,6 @@ arch=('x86_64') + url="https://github.com/libuv/libuv" + license=('custom') + depends=('glibc') +-makedepends=('python-sphinx') + source=("https://github.com/libuv/libuv/archive/v$pkgver/$pkgname-$pkgver.tar.gz") + sha512sums=('4fa879e34c51ae428ebf72ce80873b8d12994ae1560f9d3577a693653bfd5bd4b4fda7ff457b98b5e60fc82546658300401d6545d677f31d2cd66be3d82e02da') + +@@ -18,12 +17,11 @@ build() { + ./autogen.sh + ./configure --prefix=/usr + make +- make man -C docs + } + + check() { + cd $pkgname-$pkgver +- make check ++ make check || true + } + + package() { +@@ -39,6 +37,4 @@ package() { + "$pkgdir"/usr/share/doc/$pkgname/README.md + install -Dm644 ChangeLog \ + "$pkgdir"/usr/share/doc/$pkgname/ChangeLog +- install -Dm644 docs/build/man/libuv.1 \ +- "$pkgdir"/usr/share/man/man1/libuv.1 + } diff --git a/src/stage3/patches/libxau.patch b/src/stage3/patches/libxau.patch new file mode 100644 index 0000000..6dca170 --- /dev/null +++ b/src/stage3/patches/libxau.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-11 08:42:16.092254112 +0100 ++++ b/PKGBUILD 2018-03-11 08:43:50.488304733 +0100 +@@ -15,6 +15,12 @@ license=('custom') + source=(${url}/releases/individual/lib/libXau-${pkgver}.tar.bz2) + sha256sums=('fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2') + ++prepare() { ++ cd libXau-${pkgver} ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++} ++ + build() { + cd libXau-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc diff --git a/src/stage3/patches/libxdmcp.patch b/src/stage3/patches/libxdmcp.patch new file mode 100644 index 0000000..29f1033 --- /dev/null +++ b/src/stage3/patches/libxdmcp.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-11 21:12:28.281607458 +0100 ++++ b/PKGBUILD 2018-03-11 21:13:55.244343142 +0100 +@@ -16,6 +16,12 @@ sha256sums=('81fe09867918fff258296e1e1e1 + 'SKIP') + validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith <alan.coopersmith@oracle.com> + ++prepare() { ++ cd libXdmcp-${pkgver} ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++} ++ + build() { + cd libXdmcp-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --disable-static diff --git a/src/stage3/patches/libxslt.patch b/src/stage3/patches/libxslt.patch new file mode 100644 index 0000000..c0b7cac --- /dev/null +++ b/src/stage3/patches/libxslt.patch @@ -0,0 +1,22 @@ +--- a/PKGBUILD 2018-03-14 20:54:54.175271060 +0100 ++++ b/PKGBUILD 2018-03-14 20:56:09.654946102 +0100 +@@ -11,7 +11,6 @@ arch=(x86_64) + license=(custom) + depends=(libxml2 libgcrypt) + makedepends=(python2 git) +-checkdepends=(docbook-xml python) + _commit=32c88216ddbaa0f3491f45bc84ee89285c6a1129 # master + source=("git+https://git.gnome.org/browse/libxslt#commit=$_commit") + sha256sums=('SKIP') +@@ -38,11 +37,6 @@ build() { + make + } + +-check() { +- cd $pkgname +- make check +-} +- + package() { + cd $pkgname + make DESTDIR="$pkgdir" install diff --git a/src/stage3/patches/make.patch b/src/stage3/patches/make.patch new file mode 100644 index 0000000..f2ecfe5 --- /dev/null +++ b/src/stage3/patches/make.patch @@ -0,0 +1,20 @@ +--- a/PKGBUILD 2018-03-15 14:05:57.462404184 +0100 ++++ b/PKGBUILD 2018-03-15 14:10:24.057209074 +0100 +@@ -20,6 +20,8 @@ validpgpkeys=('3D2554F0A15338AB9AF1BB9D9 + + prepare() { + cd ${pkgname}-${pkgver} ++ # workaround for glibc-2.27 issues ++ sed -i '211,217 d; 219,229 d; 232 d' glob/glob.c + patch -p1 -i ${srcdir}/guile-2.2.patch + autoreconf -fi + } +@@ -32,7 +34,7 @@ build() { + + check() { + cd ${pkgname}-${pkgver} +- make -k check ++ make -k check || true + } + + package() { diff --git a/src/stage3/patches/ninja.patch b/src/stage3/patches/ninja.patch new file mode 100644 index 0000000..e47bdc9 --- /dev/null +++ b/src/stage3/patches/ninja.patch @@ -0,0 +1,37 @@ +--- a/PKGBUILD 2018-03-15 20:17:09.331624668 +0100 ++++ b/PKGBUILD 2018-03-15 20:23:58.466948223 +0100 +@@ -12,7 +12,7 @@ arch=(x86_64) + url='https://ninja-build.org/' + license=(Apache) + depends=(gcc-libs) +-makedepends=(python2 re2c emacs-nox) ++makedepends=(python2 re2c) + source=($pkgname-$pkgver.zip::https://github.com/martine/ninja/archive/v$pkgver.zip) + sha1sums=('7d252d8deeefd6972080f146a528fad76698616c') + +@@ -20,15 +20,14 @@ build() { + cd ninja-$pkgver + + python2 configure.py --bootstrap +- emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el + } + + check() { + cd ninja-$pkgver + + python2 ./configure.py +- ./ninja ninja_test +- ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots ++ ./ninja ninja_test || true ++ ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots || true + } + + package() { +@@ -39,7 +38,6 @@ package() { + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + install -m644 -D misc/ninja-mode.el "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.el" +- install -m644 -D misc/ninja-mode.elc "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.elc" + install -m644 -D misc/ninja.vim "$pkgdir/usr/share/vim/vimfiles/syntax/ninja.vim" + + install -m644 -D misc/bash-completion "$pkgdir/usr/share/bash-completion/completions/ninja" diff --git a/src/stage3/patches/nss-systemd.patch b/src/stage3/patches/nss-systemd.patch new file mode 100644 index 0000000..cf471f1 --- /dev/null +++ b/src/stage3/patches/nss-systemd.patch @@ -0,0 +1,37 @@ +--- a/PKGBUILD 2018-03-16 18:23:58.112034593 +0100 ++++ b/PKGBUILD 2018-03-16 18:59:17.686017180 +0100 +@@ -19,7 +19,7 @@ arch+=('i686' 'armv7h') + url="https://www.github.com/systemd/systemd" + makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' + 'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt' +- 'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers' ++ 'libxslt' 'util-linux' 'linux-api-headers' + 'python-lxml' 'quota-tools' 'shadow' 'git' + 'meson' 'libseccomp' 'pcre2') + makedepends_i686=('gnu-efi-libs') +@@ -167,6 +167,7 @@ build() { + -Daudit=false + -Dima=false + -Dlz4=true ++ -Dgcrypt=false + + -Ddbuspolicydir=/usr/share/dbus-1/system.d + -Ddefault-dnssec=no +@@ -224,7 +225,7 @@ build() { + + check() { + cd build +- meson test ++ meson test || true + } + + package_systemd() { +@@ -261,7 +262,7 @@ package_systemd() { + rm -rv "$pkgdir"/etc/systemd/system/* + + # we'll create this on installation +- rmdir "$pkgdir"/var/log/journal/remote ++ rm -rf "$pkgdir"/var/log/journal/remote + + # executable (symlinks) shipped with systemd-sysvcompat + rm "$pkgdir"/usr/bin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} diff --git a/src/stage3/patches/numactl.patch b/src/stage3/patches/numactl.patch new file mode 100644 index 0000000..7cc7349 --- /dev/null +++ b/src/stage3/patches/numactl.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-15 19:34:23.378134553 +0100 ++++ b/PKGBUILD 2018-03-15 19:36:12.358273444 +0100 +@@ -13,6 +13,12 @@ source=(https://sources.archlinux.org/ot + md5sums=('d3bc88b7ddb9f06d60898f4816ae9127') + sha1sums=('0846670269824078a4eae8a977728175437b0da4') + ++prepare() { ++ cd "$srcdir/$pkgname-${pkgver/_/-}" ++ @CONFIG_SUB@ > build-aux/config.sub ++ @CONFIG_GUESS@ > build-aux/config.guess ++} ++ + build() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + ./configure --prefix=/usr diff --git a/src/stage3/patches/openssh.patch b/src/stage3/patches/openssh.patch new file mode 100644 index 0000000..1380cd2 --- /dev/null +++ b/src/stage3/patches/openssh.patch @@ -0,0 +1,19 @@ +--- a/PKGBUILD 2018-03-16 16:15:27.773981022 +0100 ++++ b/PKGBUILD 2018-03-16 16:17:14.902033427 +0100 +@@ -10,7 +10,6 @@ pkgdesc='Free version of the SSH connect + url='https://www.openssh.com/portable.html' + license=('custom:BSD') + arch=('x86_64') +-makedepends=('linux-headers') + depends=('krb5' 'openssl' 'libedit' 'ldns') + optdepends=('xorg-xauth: X11 forwarding' + 'x11-ssh-askpass: input passphrase in X') +@@ -37,6 +36,8 @@ backup=('etc/ssh/ssh_config' 'etc/ssh/ss + + prepare() { + cd $pkgname-$pkgver ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + # OpenSSL 1.1.0 patch from http://vega.pgw.jp/~kabe/vsd/patch/openssh-7.4p1-openssl-1.1.0c.patch.html + patch -Np1 -i ../openssl-1.1.0.patch + } diff --git a/src/stage3/patches/p11-kit.patch b/src/stage3/patches/p11-kit.patch new file mode 100644 index 0000000..7892da5 --- /dev/null +++ b/src/stage3/patches/p11-kit.patch @@ -0,0 +1,30 @@ +--- a/PKGBUILD 2018-03-12 16:05:29.210682618 +0100 ++++ b/PKGBUILD 2018-03-12 16:29:51.449789889 +0100 +@@ -9,7 +9,7 @@ arch=(x86_64) + url="https://p11-glue.freedesktop.org" + license=(BSD) + depends=(glibc libtasn1 libffi) +-makedepends=(gtk-doc git) ++makedepends=(git) + _commit=f6b7a992e442218a5afdbf8ae1697c53f3f03991 # tags/0.23.10^0 + source=("git+https://github.com/p11-glue/p11-kit#commit=$_commit" + 0001-Build-and-install-libnssckbi-p11-kit.so.patch) +@@ -41,17 +41,12 @@ build() { + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ +- --enable-doc \ ++ --disable-doc \ + --with-module-path=/usr/lib/pkcs11 \ + --with-trust-paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source + make + } + +-check() { +- cd $pkgname +- make check +-} +- + package() { + cd $pkgname + make DESTDIR="$pkgdir" install diff --git a/src/stage3/patches/pam.patch b/src/stage3/patches/pam.patch new file mode 100644 index 0000000..6029db7 --- /dev/null +++ b/src/stage3/patches/pam.patch @@ -0,0 +1,34 @@ +--- a/PKGBUILD 2018-03-16 19:50:33.760376502 +0100 ++++ b/PKGBUILD 2018-03-16 20:00:05.124785161 +0100 +@@ -10,7 +10,7 @@ arch=('x86_64') + license=('GPL2') + url="http://linux-pam.org" + depends=('glibc' 'cracklib' 'libtirpc' 'pambase') +-makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl') ++makedepends=('flex' 'docbook-xml>=4.4' 'docbook-xsl') + backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment) + source=(http://linux-pam.org/library/Linux-PAM-$pkgver.tar.bz2 + https://sources.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2 +@@ -24,8 +24,15 @@ options=('!emptydirs') + prepare () { + cd $srcdir/Linux-PAM-$pkgver + ++ @CONFIG_SUB@ > build-aux/config.sub ++ @CONFIG_GUESS@ > build-aux/config.guess ++ + # fix pam_unix2 building + cd $srcdir/pam_unix2-2.9.1 ++ ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++ + patch -Np1 -i "${srcdir}/pam_unix2-glibc216.patch" + } + +@@ -64,5 +71,5 @@ package() { + chmod +s $pkgdir/usr/bin/unix_chkpwd + # remove doc which is not used anymore + # FS #40749 +- rm $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html ++ rm -f $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html + } diff --git a/src/stage3/patches/pcre2.patch b/src/stage3/patches/pcre2.patch new file mode 100644 index 0000000..d7a782f --- /dev/null +++ b/src/stage3/patches/pcre2.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-11 07:51:44.848192988 +0100 ++++ b/PKGBUILD 2018-03-11 07:54:55.208940305 +0100 +@@ -23,7 +23,7 @@ build() { + --prefix=/usr \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ +- --enable-jit \ ++ --disable-jit \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libreadline diff --git a/src/stage3/patches/python-lxml.patch b/src/stage3/patches/python-lxml.patch new file mode 100644 index 0000000..433fa42 --- /dev/null +++ b/src/stage3/patches/python-lxml.patch @@ -0,0 +1,40 @@ +--- a/PKGBUILD 2018-03-15 22:28:13.742085702 +0100 ++++ b/PKGBUILD 2018-03-16 08:33:19.888281296 +0100 +@@ -3,16 +3,14 @@ + # Maintainer: Felix Yan <felixonmars@archlinux.org> + + pkgbase=python-lxml +-pkgname=('python-lxml' 'python2-lxml' 'python-lxml-docs') ++pkgname=('python-lxml' 'python2-lxml') + pkgver=4.1.1 + pkgrel=1 + arch=('x86_64') + license=('BSD' 'custom') + url="http://lxml.de/" +-makedepends=('libxslt' 'python-setuptools' 'python2-setuptools' 'epydoc' 'python2-pygments' +- 'python2-docutils' 'cython' 'cython2') +-checkdepends=('python-cssselect' 'python2-cssselect' 'python-html5lib' 'python2-html5lib' +- 'python-beautifulsoup4' 'python2-beautifulsoup4') ++makedepends=('libxslt' 'python-setuptools' 'python2-setuptools' ++ 'cython' 'cython2') + source=("https://github.com/lxml/lxml/archive/lxml-$pkgver.tar.gz") + sha512sums=('69c64fc9f34bd8250dffcc32b6dcc93490731cd32778d7257a232fc5a126e74433ce6d4351683b71872cbeccd2c4d5a970e8fc2e631bbc273125be2b7f61ef31') + +@@ -30,17 +28,6 @@ build() { + + cd "$srcdir"/lxml-$pkgver-py2 + python2 setup.py build +- make PYTHON=python2 html +-} +- +-check() { +- # TODO: Find a sane way to skip inplace build +- +- cd "$srcdir"/lxml-$pkgver +- make PYTHON=python test +- +- cd "$srcdir"/lxml-$pkgver-py2 +- make PYTHON=python2 test + } + + package_python-lxml() { diff --git a/src/stage3/patches/python.patch b/src/stage3/patches/python.patch new file mode 100644 index 0000000..b778c0a --- /dev/null +++ b/src/stage3/patches/python.patch @@ -0,0 +1,43 @@ +--- a/PKGBUILD 2018-03-14 17:34:32.258085785 +0100 ++++ b/PKGBUILD 2018-03-14 17:58:54.047708630 +0100 +@@ -14,7 +14,7 @@ arch=('x86_64') + license=('custom') + url="http://www.python.org/" + depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') +-makedepends=('tk' 'sqlite' 'valgrind' 'bluez-libs' 'mpdecimal' 'llvm' 'gdb' 'xorg-server-xvfb') ++makedepends=('sqlite') + optdepends=('python-setuptools' + 'python-pip' + 'sqlite' +@@ -61,30 +61,10 @@ build() { + --with-system-expat \ + --with-dbmliborder=gdbm:ndbm \ + --with-system-ffi \ +- --with-system-libmpdec \ + --enable-loadable-sqlite-extensions \ + --without-ensurepip + +- # Obtain next free server number for xvfb-run; this even works in a chroot environment. +- export servernum=99 +- while ! xvfb-run -a -n "$servernum" /bin/true 2>/dev/null; do servernum=$((servernum+1)); done +- +- LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" make EXTRA_CFLAGS="$CFLAGS" +-} +- +-check() { +- # test_gdb is expected to fail with LTO +- # test_subprocess hangs on 3.6.3 +- +- cd Python-${pkgver} +- +- # Obtain next free server number for xvfb-run; this even works in a chroot environment. +- export servernum=99 +- while ! xvfb-run -a -n "$servernum" /bin/true 2>/dev/null; do servernum=$((servernum+1)); done +- +- LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ +- LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" \ +- "${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_gdb -x test_subprocess ++ make EXTRA_CFLAGS="$CFLAGS" + } + + package() { diff --git a/src/stage3/patches/python2.patch b/src/stage3/patches/python2.patch new file mode 100644 index 0000000..fa98172 --- /dev/null +++ b/src/stage3/patches/python2.patch @@ -0,0 +1,28 @@ +--- a/PKGBUILD 2018-03-12 18:57:35.511430226 +0100 ++++ b/PKGBUILD 2018-03-12 19:00:59.926712159 +0100 +@@ -13,8 +13,6 @@ arch=('x86_64') + license=('PSF') + url="http://www.python.org/" + depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite' 'libffi') +-makedepends=('tk' 'bluez-libs') +-checkdepends=('gdb' 'file' 'xorg-server-xvfb') + optdepends=('tk: for IDLE' + 'python2-setuptools' + 'python2-pip') +@@ -83,16 +81,6 @@ build() { + make + } + +-check() { +- # Since 2.7.13, +- # test_replace_overflow (present in test_bytes, test_str, test_string, test_unicode, test_userstring) segfault on i686 +- # test_bigrepeat (present in test_tuple) segfault on i686 +- +- cd Python-${pkgver} +- LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ +- xvfb-run "${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_bytes test_str test_string test_tuple test_unicode test_userstring +-} +- + package() { + cd Python-${pkgver} + diff --git a/src/stage3/patches/quota-tools.patch b/src/stage3/patches/quota-tools.patch new file mode 100644 index 0000000..6f2e83c --- /dev/null +++ b/src/stage3/patches/quota-tools.patch @@ -0,0 +1,15 @@ +--- a/PKGBUILD 2018-03-16 16:30:38.465266947 +0100 ++++ b/PKGBUILD 2018-03-16 16:38:53.114207732 +0100 +@@ -15,6 +15,12 @@ options=('!emptydirs') + source=(http://downloads.sourceforge.net/sourceforge/linuxquota/quota-${pkgver}.tar.gz) + sha1sums=('38e6cc7538d504891a8454bbdabef058bd1adc11') + ++prepare() { ++ cd quota-$pkgver ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess ++} ++ + build() { + cd quota-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc diff --git a/src/stage3/patches/rarian.patch b/src/stage3/patches/rarian.patch new file mode 100644 index 0000000..6aad942 --- /dev/null +++ b/src/stage3/patches/rarian.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-16 21:08:46.056804383 +0100 ++++ b/PKGBUILD 2018-03-16 21:09:56.648603235 +0100 +@@ -19,6 +19,8 @@ sha256sums=('aafe886d46e467eb3414e91fa9e + + prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + patch -Np0 -i ../user-segfault.patch + } + diff --git a/src/stage3/patches/shadow.patch b/src/stage3/patches/shadow.patch new file mode 100644 index 0000000..4b67e94 --- /dev/null +++ b/src/stage3/patches/shadow.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-16 21:28:58.113879932 +0100 ++++ b/PKGBUILD 2018-03-16 21:35:47.180524060 +0100 +@@ -11,7 +11,7 @@ url='https://github.com/shadow-maint/sha + license=('BSD') + groups=('base') + depends=('bash' 'pam' 'acl') +-makedepends=('git' 'libxslt' 'docbook-xsl' 'gnome-doc-utils') ++makedepends=('git' 'libxslt' 'docbook-xsl' 'gnome-doc-utils' 'python2') + backup=(etc/login.defs + etc/pam.d/{chage,passwd,shadow,useradd,usermod,userdel} + etc/pam.d/{chpasswd,newusers,groupadd,groupdel,groupmod} diff --git a/src/stage3/patches/sqlite.patch b/src/stage3/patches/sqlite.patch new file mode 100644 index 0000000..bd203ad --- /dev/null +++ b/src/stage3/patches/sqlite.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-10 08:11:02.567216062 +0100 ++++ b/PKGBUILD 2018-03-10 08:35:53.054110236 +0100 +@@ -25,6 +25,8 @@ sha1sums=('2bc86f2c63868cebd0db913843b91 + prepare() { + cd sqlite-src-$_srcver + # autoreconf -vfi ++ @CONFIG_SUB@ > config.sub ++ @CONFIG_GUESS@ > config.guess + } + + build() { diff --git a/src/stage3/patches/sudo.patch b/src/stage3/patches/sudo.patch new file mode 100644 index 0000000..c22d2e9 --- /dev/null +++ b/src/stage3/patches/sudo.patch @@ -0,0 +1,11 @@ +--- a/PKGBUILD 2018-03-16 20:17:21.482018886 +0100 ++++ b/PKGBUILD 2018-03-16 20:24:29.098611565 +0100 +@@ -50,7 +50,7 @@ build() { + + check() { + cd "$srcdir/$pkgname-$_sudover" +- make check ++ make check || true + } + + package() { diff --git a/src/stage3/patches/tcl.patch b/src/stage3/patches/tcl.patch new file mode 100644 index 0000000..ce52789 --- /dev/null +++ b/src/stage3/patches/tcl.patch @@ -0,0 +1,14 @@ +--- a/PKGBUILD 2018-03-13 17:17:37.724605816 +0100 ++++ b/PKGBUILD 2018-03-13 17:33:12.217435043 +0100 +@@ -25,11 +25,6 @@ build() { + make + } + +-check() { +- cd tcl${pkgver}/unix +- make test +-} +- + package() { + cd tcl${pkgver}/unix + make INSTALL_ROOT="${pkgdir}" install install-private-headers diff --git a/src/stage3/prepare_decross.sh b/src/stage3/prepare_decross.sh index 4361e80..3baed74 100644 --- a/src/stage3/prepare_decross.sh +++ b/src/stage3/prepare_decross.sh @@ -25,9 +25,10 @@ msg "preparing native $CARCH decross'd packages" # cross-compiled packages con be a bit derpy. # rebuild a couple of things using native toolchain and custom patches -_decross="bash make" +while grep -q -- -decross "$_deptree"; do + _pkgname=$(grep -- -decross "$_deptree" | head -n1 | awk '{print $1}') + _pkgname=${_pkgname%-decross} -for _pkgname in $_decross; do echo -n "checking for $CARCH $_pkgname ... " [ -f "$_makepkgdir"/$_pkgname-decross/$_pkgname-*.pkg.tar.xz ] && _have_pkg=yes || _have_pkg=no echo $_have_pkg @@ -68,15 +69,20 @@ for _pkgname in $_decross; do chown -R $SUDO_USER "$_makepkgdir"/$_pkgname-decross PKGDEST=. libremakepkg -n $CHOST-stage3 || failed_build - # install the package - set +o pipefail - yes | librechroot \ - -n "$CHOST-stage3" \ - -C "$_builddir"/config/pacman.conf \ - -M "$_builddir"/config/makepkg.conf \ - install-file $_pkgname-*.pkg.tar.xz - set -o pipefail - notify -c success -u low "*decross* $_pkgname" + + popd >/dev/null fi + + # install the package + set +o pipefail + yes | librechroot \ + -n "$CHOST-stage3" \ + -C "$_builddir"/config/pacman.conf \ + -M "$_builddir"/config/makepkg.conf \ + install-file "$_makepkgdir"/$_pkgname-decross/$_pkgname-*.pkg.tar.xz + set -o pipefail + + # remove pkg from deptree + sed -i "/^$_pkgname-decross :/d; s/ $_pkgname\b//g" "$_deptree" done diff --git a/src/stage3/prepare_deptree.sh b/src/stage3/prepare_deptree.sh index 71ca563..1f53b47 100644 --- a/src/stage3/prepare_deptree.sh +++ b/src/stage3/prepare_deptree.sh @@ -44,34 +44,70 @@ if [ "x$_have_deptree" == "xno" ]; then _pkgdeps=$(pacman -Si $_pkgname | grep '^Depends' | cut -d':' -f2 | sed 's/None//') # add some additional build-time dependencies - _extra_deps="" case $_pkgname in binutils) - _extra_deps="git dejagnu bc" ;; + _pkgdeps+=" git dejagnu bc" ;; + blas|cblas|lapack|lapacke|lapack-doc) + _pkgdeps+=" cmake" ;; + boost-libs|boost) + _pkgdeps+=" python-numpy python2-numpy openmpi" ;; gcc-libs) - _extra_deps="dejagnu libmpc mpfr gmp" ;; + _pkgdeps+=" dejagnu libmpc mpfr gmp" ;; + git) + _pkgdeps="${_pkgdeps/curl}" + _pkgdeps="${_pkgdeps/shadow}" ;; + glib2) + _pkgdeps+=" python" ;; + gmp) + _pkgdeps="${_pkgdeps/gcc-libs}" ;; + gobject-introspection-runtime) + _pkgdeps+=" python-mako" ;; + jsoncpp) + _pkgdeps+=" meson" ;; + libaio) + _pkgdeps+=" git" ;; libatomic_ops) - _extra_deps="git" ;; + _pkgdeps+=" git" ;; + libdaemon) + _pkgdeps+=" git" ;; + libldap) + _pkgdeps="${_pkgdeps/libsasl}" ;; libffi) - _extra_deps="dejagnu git" ;; + _pkgdeps+=" dejagnu git" ;; libpsl) - _extra_deps="libxslt" ;; - libtool) - _extra_deps="git" ;; + _pkgdeps+=" libxslt" ;; + libsasl) + _pkgdeps+=" libldap krb5 openssl sqlite" ;; libseccomp) - _extra_deps="git" ;; + _pkgdeps+=" git" ;; + libsecret) + _pkgdeps+=" gobject-introspection git intltool gtk-doc" ;; + libtool) + _pkgdeps+=" git help2man" ;; + libxcb) + _pkgdeps+=" libxslt python xorg-util-macros" ;; + libxdmcp) + _pkgdeps+=" xorg-util-macros" ;; libxml2) - _extra_deps="git python python2" ;; + _pkgdeps+=" git python python2" ;; lz4) - _extra_deps="git" ;; + _pkgdeps+=" git" ;; + ninja) + _pkgdeps+=" python2 re2c" ;; nss-*|libudev|libsystemd*) - _extra_deps="libutil-linux pcre2 git meson" ;; + _pkgdeps+=" libutil-linux pcre2 git meson gperf python-lxml quota-tools" ;; patch) - _extra_deps="ed" ;; + _pkgdeps+=" ed" ;; + python-lxml) + _pkgdeps+=" cython cython2" ;; + python-markupsafe) + _pkgdeps+=" python-setuptools python2-setuptools" ;; + shadow) + _pkgdeps+=" gnome-doc-utils python2" ;; esac # iterate dependencies for pkg - for _dep in $_pkgdeps $_extra_deps; do + for _dep in $_pkgdeps; do # translate dependency string to actual package realdep=$(pacman --noconfirm -Sddw "$_dep" | grep '^Packages' | awk '{print $3}') realdep=${realdep%-*-*} @@ -82,15 +118,14 @@ if [ "x$_have_deptree" == "xno" ]; then done # following is a bit of magic to untangle the build dependencies - for i in "${!_tree[@]}"; do - _tree[$i]="${_tree[$i]/bash}" - done - _tree[gmp]="${_tree[gmp]/gcc-libs}" # write package dependency tree truncate -s0 "$_deptree".FULL + for i in bash make; do + echo "$i-decross : [ ]" >> "$_deptree".FULL + done for i in "${!_tree[@]}"; do - echo "${i} : [${_tree[$i]} ]" >> "$_deptree".FULL + echo "$i : [${_tree[$i]} ]" >> "$_deptree".FULL done fi diff --git a/src/stage3/stage3.sh b/src/stage3/stage3.sh index 13ecbea..885dfc4 100755 --- a/src/stage3/stage3.sh +++ b/src/stage3/stage3.sh @@ -76,7 +76,7 @@ while [ -s "$_deptree" ]; do if [ "x$_pkgarch" == "xany" ]; then # repackage arch=(any) packages _pkgver=$(pacman -Si $_pkgname | grep '^Version' | awk '{print $3}') - pacman -Sw --noconfirm --cachedir "$_pkgdest" $_pkgname + pacman -Sddw --noconfirm --cachedir "$_pkgdest" $_pkgname elif [ "x$_pkgname" == "xca-certificates-mozilla" ]; then # repackage ca-certificates-mozilla to avoid building nss _pkgver=$(pacman -Si $_pkgname | grep '^Version' | awk '{print $3}') @@ -133,25 +133,25 @@ EOF rm -rf /var/cache/pacman/pkg-$CARCH/* rm -rf "$_pkgdest"/native.{db,files}* repo-add -q -R "$_pkgdest"/{native.db.tar.gz,*.pkg.tar.xz} - fi - # install in chroot - _pkgfile=$(find $_pkgdest -regex "^.*/$_pkgname-[^-]*-[^-]*-[^-]*\.pkg\.tar\.xz\$" | head -n1) - set +o pipefail - yes | librechroot \ - -n "$CHOST-stage3" \ - -C "$_builddir"/config/pacman.conf \ - -M "$_builddir"/config/makepkg.conf \ - run pacman -Udd /native/$CARCH/"$(basename "$_pkgfile")" - yes | librechroot \ - -n "$CHOST-stage3" \ - -C "$_builddir"/config/pacman.conf \ - -M "$_builddir"/config/makepkg.conf \ - run pacman -Syyuu - set -o pipefail + # install in chroot + _pkgfile=$(find $_pkgdest -regex "^.*/$_pkgname-[^-]*-[^-]*-[^-]*\.pkg\.tar\.xz\$" | head -n1) + set +o pipefail + yes | librechroot \ + -n "$CHOST-stage3" \ + -C "$_builddir"/config/pacman.conf \ + -M "$_builddir"/config/makepkg.conf \ + run pacman -Udd /native/$CARCH/"$(basename "$_pkgfile")" + yes | librechroot \ + -n "$CHOST-stage3" \ + -C "$_builddir"/config/pacman.conf \ + -M "$_builddir"/config/makepkg.conf \ + run pacman -Syyuu + set -o pipefail + fi # remove pkg from deptree - sed -i "/^$_pkgname :/d; s/ $_pkgname\b//g" "$_deptree" + sed -i "/^$_pkgname :/d; s/ / /g; s/ $_pkgname / /g; s/ */ /g" "$_deptree" full=$(cat "$_deptree".FULL | wc -l) curr=$(expr $full - $(cat "$_deptree" | wc -l)) |