summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-03-16 21:57:43 +0100
committerAndreas Grapentin <andreas@grapentin.org>2018-03-16 21:57:43 +0100
commit05c81c44232782a6a0e09746f3d29cee784fe604 (patch)
tree36ca0c876afc54c0fff945c68f285f0eb51285fe /src
parent3ce8f2de02b92ff152428e3b5c2beb7a29d36c04 (diff)
stage3 almost done
Diffstat (limited to 'src')
-rw-r--r--src/shared/common.sh19
-rw-r--r--src/stage2/patches/device-mapper.patch4
-rw-r--r--src/stage2/patches/glib2.patch2
-rwxr-xr-xsrc/stage2/stage2.sh6
-rw-r--r--src/stage3/patches/binutils.patch31
-rw-r--r--src/stage3/patches/blas.patch0
-rw-r--r--src/stage3/patches/gc.patch37
-rw-r--r--src/stage3/patches/gettext.patch15
-rw-r--r--src/stage3/patches/git.patch63
l---------src/stage3/patches/glib2-docs.patch1
-rw-r--r--src/stage3/patches/glib2.patch43
-rw-r--r--src/stage3/patches/gnutls.patch31
-rw-r--r--src/stage3/patches/gobject-introspection-runtime.patch20
-rw-r--r--src/stage3/patches/groff.patch29
-rw-r--r--src/stage3/patches/guile.patch11
-rw-r--r--src/stage3/patches/ijs.patch26
-rw-r--r--src/stage3/patches/jsoncpp.patch31
-rw-r--r--src/stage3/patches/kbd.patch19
-rw-r--r--src/stage3/patches/krb5.patch10
-rw-r--r--src/stage3/patches/lcms2.patch11
-rw-r--r--src/stage3/patches/ldns.patch11
-rw-r--r--src/stage3/patches/libaio.patch41
-rw-r--r--src/stage3/patches/libarchive.patch11
-rw-r--r--src/stage3/patches/libatomic_ops.patch16
-rw-r--r--src/stage3/patches/libedit.patch15
-rw-r--r--src/stage3/patches/libjpeg-turbo.patch28
-rw-r--r--src/stage3/patches/libldap.patch38
-rw-r--r--src/stage3/patches/libpng.patch12
-rw-r--r--src/stage3/patches/libpsl.patch8
-rw-r--r--src/stage3/patches/libseccomp.patch2
-rw-r--r--src/stage3/patches/libsecret.patch29
-rw-r--r--src/stage3/patches/libtiff.patch20
-rw-r--r--src/stage3/patches/libtool.patch19
-rw-r--r--src/stage3/patches/libuv.patch31
-rw-r--r--src/stage3/patches/libxau.patch15
-rw-r--r--src/stage3/patches/libxdmcp.patch15
-rw-r--r--src/stage3/patches/libxslt.patch22
-rw-r--r--src/stage3/patches/make.patch20
-rw-r--r--src/stage3/patches/ninja.patch37
-rw-r--r--src/stage3/patches/nss-systemd.patch37
-rw-r--r--src/stage3/patches/numactl.patch15
-rw-r--r--src/stage3/patches/openssh.patch19
-rw-r--r--src/stage3/patches/p11-kit.patch30
-rw-r--r--src/stage3/patches/pam.patch34
-rw-r--r--src/stage3/patches/pcre2.patch11
-rw-r--r--src/stage3/patches/python-lxml.patch40
-rw-r--r--src/stage3/patches/python.patch43
-rw-r--r--src/stage3/patches/python2.patch28
-rw-r--r--src/stage3/patches/quota-tools.patch15
-rw-r--r--src/stage3/patches/rarian.patch11
-rw-r--r--src/stage3/patches/shadow.patch11
-rw-r--r--src/stage3/patches/sqlite.patch11
-rw-r--r--src/stage3/patches/sudo.patch11
-rw-r--r--src/stage3/patches/tcl.patch14
-rw-r--r--src/stage3/prepare_decross.sh28
-rw-r--r--src/stage3/prepare_deptree.sh73
-rwxr-xr-xsrc/stage3/stage3.sh34
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))