diff options
author | Andreas Grapentin <andreas@grapentin.org> | 2018-04-11 10:29:07 +0200 |
---|---|---|
committer | Andreas Grapentin <andreas@grapentin.org> | 2018-04-11 10:29:07 +0200 |
commit | 594b6096af00e944e34492e790559d6b5e2c56b5 (patch) | |
tree | ffcb60018c4fa6c192851931886ae9c50f968575 | |
parent | 689345dd55e0ff2336910c084ebf230cf111825c (diff) |
home stretch of stage4
50 files changed, 1545 insertions, 59 deletions
diff --git a/deptreecycle.py b/deptreecycle.py deleted file mode 100644 index baf3a74..0000000 --- a/deptreecycle.py +++ /dev/null @@ -1,27 +0,0 @@ - -import sys -import networkx as nx -import itertools - -graph = nx.DiGraph() - -with open(sys.argv[1]) as deptree: - for line in deptree: - line = line.split('#')[0] - lhs, rhs = line.split(':') - lhs = lhs.strip() - rhs = rhs.lstrip(' [').rstrip('] ') - graph.add_node(lhs) - for dep in rhs.split(): - if not dep in graph: - graph.add_node(dep) - graph.add_edge(lhs, dep) - -print("deptree with %d nodes & %d edges" % (graph.number_of_nodes(), graph.number_of_edges())) -print("") - -print("cycles:") -cycles=nx.simple_cycles(graph) -for cycle in itertools.islice(cycles, 10): - print(cycle) -print("") diff --git a/src/blacklist.txt b/src/blacklist.txt index 6845724..52288ad 100644 --- a/src/blacklist.txt +++ b/src/blacklist.txt @@ -1,4 +1,6 @@ apache-ant:depends on java-environment +clang:no port exists +compiler-rt:no port exists clisp:no port exists ffcall:no port exists gdb:no port exists @@ -20,7 +22,9 @@ lib32-gcc-libs:no multilib lib32-glibc:no multilib libreoffice-fresh:depends on java-environment libreoffice-still:depends on java-environment +libunwind:no port exists maven:depends on java-environment (and is a pita) -rust:bootstrap needed +mono:no port exists +rust:no port exists unoconv:depends on libreoffice-fresh valgrind:no port exists diff --git a/src/shared/checks.sh b/src/shared/checks.sh index 5d369c3..02d5f83 100644 --- a/src/shared/checks.sh +++ b/src/shared/checks.sh @@ -110,10 +110,10 @@ check_pkgfile() { done shift $((OPTIND-1)) - echo -n "checking for built package $2 ... " + echo -n "checking for built package $2$p ... " local esc pkgfile have_pkgfile=yes - esc=$(printf '%s\n' "$2" | sed 's:[][\/.^$*]:\\&:g') + esc=$(printf '%s\n' "$2" | sed 's:[][\/.+^$*]:\\&:g') pkgfile=$(find "$1" -regex "^.*/$esc$p-[^-]*-[^-]*-[^-]*\\.pkg\\.tar\\.xz\$") [ -n "$pkgfile" ] || have_pkgfile=no echo $have_pkgfile diff --git a/src/stage4/patches/avahi-breakdeps.patch b/src/stage4/patches/avahi-breakdeps.patch new file mode 100644 index 0000000..0e0ec4b --- /dev/null +++ b/src/stage4/patches/avahi-breakdeps.patch @@ -0,0 +1,28 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 23:14:14.847738317 +0200 ++++ b/PKGBUILD 2018-04-09 13:39:05.411065213 +0200 +@@ -11,14 +11,12 @@ url='https://github.com/lathiat/avahi' + license=(LGPL) + arch=(x86_64) + depends=(expat libdaemon glib2 libcap gdbm dbus) +-makedepends=(git qt4 pygtk mono intltool gtk-sharp-2 gobject-introspection gtk3 ++makedepends=(git pygtk intltool gtk-sharp-2 gobject-introspection gtk3 + xmltoman python-dbus python-gobject doxygen graphviz) + optdepends=('gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc' + 'gtk2: gtk2 bindings' +- 'qt4: qt4 bindings' + 'pygtk: avahi-bookmarks' + 'python2-twisted: avahi-bookmarks' +- 'mono: mono bindings' + 'nss-mdns: NSS support for mDNS' + 'python-gobject: avahi-discover' + 'python-dbus: avahi-discover') +@@ -43,7 +41,7 @@ prepare() { + + build() { + cd $pkgname +- export MOC_QT4=/usr/bin/moc-qt4 PYTHON=/usr/bin/python3 ++ export PYTHON=/usr/bin/python3 + + ./configure \ + --prefix=/usr \ diff --git a/src/stage4/patches/cairo-breakdeps.patch b/src/stage4/patches/cairo-breakdeps.patch new file mode 100644 index 0000000..7df0bb6 --- /dev/null +++ b/src/stage4/patches/cairo-breakdeps.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 14:24:55.428993337 +0200 ++++ b/PKGBUILD 2018-04-11 10:26:40.780781856 +0200 +@@ -10,7 +10,7 @@ url="https://cairographics.org/" + arch=(x86_64) + license=(LGPL MPL) + depends=(libpng libxrender libxext fontconfig pixman glib2 lzo) +-makedepends=(librsvg gtk2 poppler-glib libspectre gtk-doc valgrind git) ++makedepends=(librsvg poppler-glib libspectre gtk-doc git) + _commit=1ed124ace201946177eab962d3b07bb2fedf9026 # master + source=("git+https://anongit.freedesktop.org/git/cairo#commit=$_commit" + utf-8.diff) diff --git a/src/stage4/patches/colord-breakdeps.patch b/src/stage4/patches/colord-breakdeps.patch new file mode 100644 index 0000000..0f64440 --- /dev/null +++ b/src/stage4/patches/colord-breakdeps.patch @@ -0,0 +1,23 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-09 07:49:37.470052499 +0200 ++++ b/PKGBUILD 2018-04-09 07:49:37.470052499 +0200 +@@ -10,7 +10,7 @@ arch=(x86_64) + url="https://www.freedesktop.org/software/colord" + license=(GPL2) + depends=(lcms2 libgusb polkit sqlite systemd dconf dbus libgudev shared-mime-info) +-makedepends=(gobject-introspection vala sane bash-completion argyllcms git docbook-utils ++makedepends=(gobject-introspection bash-completion argyllcms git docbook-utils + docbook-sgml perl-sgmls meson gtk-doc) + optdepends=('sane: scanner support' + 'argyllcms: color profiling') +@@ -36,8 +36,8 @@ prepare() { + build() { + arch-meson $pkgname build \ + -Denable-libcolordcompat=true \ +- -Denable-sane=true \ +- -Denable-vala=true \ ++ -Denable-sane=false \ ++ -Denable-vala=false \ + -Denable-print-profiles=true \ + -Dwith-daemon-user=colord + ninja -C build diff --git a/src/stage4/patches/cups-breakdeps.patch b/src/stage4/patches/cups-breakdeps.patch new file mode 100644 index 0000000..2f339be --- /dev/null +++ b/src/stage4/patches/cups-breakdeps.patch @@ -0,0 +1,51 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 10:04:38.017473514 +0200 ++++ b/PKGBUILD 2018-04-08 10:04:38.018473514 +0200 +@@ -9,8 +9,8 @@ arch=('x86_64') + license=('GPL') + url="https://www.cups.org/" + makedepends=('libtiff' 'libpng' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls' +- 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus' +- 'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind') ++ 'bc' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus' ++ 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper') + source=(https://github.com/apple/cups/releases/download/v${pkgver}/cups-${pkgver}-source.tar.gz{,.sig} + cups.logrotate cups.pam + cups.sysusers guid.patch +@@ -81,7 +81,7 @@ build() { + --enable-dbus --with-dbusdir=/etc/dbus-1 \ + --enable-ssl=yes \ + --enable-threads \ +- --enable-avahi\ ++ --disable-avahi\ + --enable-libpaper \ + --with-php=/usr/bin/php-cgi \ + --with-optim="$CFLAGS" #--help +@@ -95,7 +95,7 @@ check() { + + package_libcups() { + pkgdesc="The CUPS Printing System - client libraries and headers" +-depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb') ++depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'libusb') + + cd ${pkgbase}-${pkgver} + make BUILDROOT=${pkgdir} install-headers install-libs +@@ -116,7 +116,7 @@ backup=(etc/cups/cupsd.conf + etc/dbus-1/system.d/cups.conf + etc/logrotate.d/cups + etc/pam.d/cups) +-depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' ++depends=('acl' 'pam' "libcups>=${pkgver}" 'bc' + 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme') + optdepends=('xdg-utils: xdg .desktop file support' + 'colord: for ICC color profile support') +@@ -153,9 +153,6 @@ optdepends=('xdg-utils: xdg .desktop fil + touch ${pkgdir}/etc/cups/subscriptions.conf + chgrp -R 209 ${pkgdir}/etc/cups + +- # fix .desktop file +- sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop +- + # compress some driver files, adopted from Fedora + find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f + diff --git a/src/stage4/patches/ffmpeg-breakdeps.patch b/src/stage4/patches/ffmpeg-breakdeps.patch new file mode 100644 index 0000000..5375dd8 --- /dev/null +++ b/src/stage4/patches/ffmpeg-breakdeps.patch @@ -0,0 +1,21 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:34:55.528326721 +0200 ++++ b/PKGBUILD 2018-04-09 14:07:33.607903315 +0200 +@@ -21,7 +21,7 @@ depends=('alsa-lib' 'bzip2' 'fontconfig' + 'libomxil-bellagio' + 'libass.so' 'libbluray.so' 'libfreetype.so' 'libva-drm.so' 'libva.so' + 'libva-x11.so' 'libvidstab.so' 'libvorbisenc.so' 'libvorbis.so' +- 'libvpx.so' 'libx264.so' 'libx265.so' 'libxvidcore.so') ++ 'libvpx.so' 'libxvidcore.so') + makedepends=('ladspa' 'libvdpau' 'yasm') + optdepends=('ladspa: LADSPA filters') + provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' +@@ -79,8 +79,6 @@ build() { + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ +- --enable-libx264 \ +- --enable-libx265 \ + --enable-libxcb \ + --enable-libxml2 \ + --enable-libxvid \ diff --git a/src/stage4/patches/fontconfig.patch b/src/stage4/patches/fontconfig.patch new file mode 100644 index 0000000..c96eff1 --- /dev/null +++ b/src/stage4/patches/fontconfig.patch @@ -0,0 +1,21 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 06:20:43.633180499 +0200 ++++ b/PKGBUILD 2018-04-11 08:24:00.586479436 +0200 +@@ -1,6 +1,8 @@ + # $Id$ + # Maintainer: Jan de Groot <jgc@archlinux.org> + ++# FIXME: doctools segfaults when building docs. ++ + pkgname=fontconfig + pkgver=2.13.0+10+g58f5285 + pkgrel=1 +@@ -9,7 +11,7 @@ arch=(x86_64) + url="https://www.freedesktop.org/wiki/Software/fontconfig/" + license=(custom) + depends=(expat freetype2) +-makedepends=(git autoconf-archive gperf python-lxml python-six docbook-utils docbook-sgml ++makedepends=(git autoconf-archive gperf python-lxml python-six + perl-sgmls 'texlive-formatsextra>=2017' lynx) + install=fontconfig.install + _commit=58f52853d5689e897525a5926c1a222340d3f404 # master diff --git a/src/stage4/patches/ghostscript-breakdeps.patch b/src/stage4/patches/ghostscript-breakdeps.patch new file mode 100644 index 0000000..f33b007 --- /dev/null +++ b/src/stage4/patches/ghostscript-breakdeps.patch @@ -0,0 +1,49 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 15:05:04.145387519 +0200 ++++ b/PKGBUILD 2018-04-10 15:46:39.528151013 +0200 +@@ -9,9 +9,9 @@ pkgdesc="An interpreter for the PostScri + url="https://www.ghostscript.com/" + arch=('x86_64') + license=('AGPL3' 'custom') +-depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec' +- 'libtiff' 'lcms2' 'dbus' 'libpaper' 'ijs' 'openjpeg2') +-makedepends=('gtk3' 'gnutls' 'glu' 'freeglut') ++depends=('libxt' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec' ++ 'libtiff' 'lcms2' 'dbus' 'libpaper' 'openjpeg2') ++makedepends=('gnutls' 'glu' 'freeglut') + # https://github.com/ArtifexSoftware/ghostpdl-downloads/releases + source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostpdl-${pkgver}.tar.xz) + sha512sums=('4c2f6c0f31138c780943c866067f95f5867c56ca54fc5cc5ae8394e682ae1e97c575529844b04a9664fd72510a86ecd23ba69feee19dadb5852c3c0cf7b7f917') +@@ -20,7 +20,7 @@ prepare() { + cd ghostpdl-${pkgver} + + # force it to use system-libs +- rm -r cups/libs expat ijs jbig2dec jpeg lcms2art libpng openjpeg tiff zlib ++ rm -r expat jbig2dec jpeg lcms2art libpng openjpeg tiff zlib + # using tree freetype because of https://bugs.archlinux.org/task/56849 + # lcms2art is the new lcms2 fork aimed to replace lcms2 in a thread safe way + +@@ -32,9 +32,9 @@ build() { + + ./configure --prefix=/usr \ + --enable-dynamic \ +- --with-ijs \ ++ --without-ijs \ + --with-jbig2dec \ +- --with-x \ ++ --without-x \ + --with-drivers=ALL \ + --with-fontpath=/usr/share/fonts/gsfonts \ + --enable-fontconfig \ +@@ -54,10 +54,7 @@ package_ghostscript() { + + cd ghostpdl-${pkgver} + +- make DESTDIR="${pkgdir}" \ +- CUPSSERVERROOT="${pkgdir}$(cups-config --serverroot)" \ +- CUPSSERVERBIN="${pkgdir}$(cups-config --serverbin)" \ +- soinstall ++ make DESTDIR="${pkgdir}" soinstall + ln -s gsc "${pkgdir}"/usr/bin/gs + + # install missing doc files # http://bugs.archlinux.org/task/18023 diff --git a/src/stage4/patches/glibmm.patch b/src/stage4/patches/glibmm.patch new file mode 100644 index 0000000..8f619e2 --- /dev/null +++ b/src/stage4/patches/glibmm.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 21:28:38.187206309 +0200 ++++ b/PKGBUILD 2018-04-10 21:31:17.543191205 +0200 +@@ -11,7 +11,7 @@ url="http://www.gtkmm.org/" + arch=(x86_64) + license=(LGPL) + depends=(glib2 libsigc++) +-makedepends=(git mm-common perl-xml-parser clang) ++makedepends=(git mm-common perl-xml-parser) + _commit=8236b0f457e6ede0511f5e197017baa31eb953b4 # tags/2.56.0^0 + source=("git+https://git.gnome.org/browse/glibmm#commit=$_commit") + sha256sums=('SKIP') diff --git a/src/stage4/patches/graphite-breakdeps.patch b/src/stage4/patches/graphite-breakdeps.patch new file mode 100644 index 0000000..5504ca2 --- /dev/null +++ b/src/stage4/patches/graphite-breakdeps.patch @@ -0,0 +1,33 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-09 12:52:45.830328655 +0200 ++++ b/PKGBUILD 2018-04-09 12:53:56.250321980 +0200 +@@ -10,9 +10,7 @@ url="https://github.com/silnrsi/graphite + pkgdesc='reimplementation of the SIL Graphite text processing engine' + license=('LGPL' 'GPL' 'custom') + depends=('gcc-libs') +-makedepends=('cmake' 'freetype2' 'python2' +- # for documentation +- 'doxygen' 'dblatex' 'graphviz' 'asciidoc') ++makedepends=('cmake' 'freetype2' 'python2') + checkdepends=('python2-fonttools') + options=('!emptydirs') + source=(https://github.com/silnrsi/graphite/releases/download/${pkgver}/graphite2-${pkgver}.tgz) +@@ -39,7 +37,6 @@ build() { + find . -type f ! -name "rules" ! -name "changelog" -exec sed -i -e 's/\-O3//g' {} \; + + make +- make -j1 docs + } + + check() { +@@ -52,10 +49,6 @@ check() { + package() { + cd "${srcdir}"/build + make DESTDIR="$pkgdir/" install +- # install doc files +- mkdir -p "${pkgdir}"/usr/share/doc/graphite2/api +- cp -vrf doc/doxygen/{html,latex/refman.pdf} "${pkgdir}"/usr/share/doc/graphite2/api +- cp -vrf doc/{GTF,manual}.html "${pkgdir}"/usr/share/doc/graphite2 + + # licenses + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} diff --git a/src/stage4/patches/graphite.patch b/src/stage4/patches/graphite.patch new file mode 100644 index 0000000..ed33b0e --- /dev/null +++ b/src/stage4/patches/graphite.patch @@ -0,0 +1,34 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 07:23:00.338826344 +0200 ++++ b/PKGBUILD 2018-04-11 08:25:38.813470126 +0200 +@@ -1,6 +1,8 @@ + # $Id$ + # Maintainer: AndyRTR <andyrtr@archlinux.org> + ++# FIXME: dblatex fails when building documentation ++ + pkgname=graphite + pkgver=1.3.11 + pkgrel=1 +@@ -39,7 +41,7 @@ build() { + find . -type f ! -name "rules" ! -name "changelog" -exec sed -i -e 's/\-O3//g' {} \; + + make +- make -j1 docs ++ #make -j1 docs + } + + check() { +@@ -53,9 +55,9 @@ package() { + cd "${srcdir}"/build + make DESTDIR="$pkgdir/" install + # install doc files +- mkdir -p "${pkgdir}"/usr/share/doc/graphite2/api +- cp -vrf doc/doxygen/{html,latex/refman.pdf} "${pkgdir}"/usr/share/doc/graphite2/api +- cp -vrf doc/{GTF,manual}.html "${pkgdir}"/usr/share/doc/graphite2 ++ #mkdir -p "${pkgdir}"/usr/share/doc/graphite2/api ++ #cp -vrf doc/doxygen/{html,latex/refman.pdf} "${pkgdir}"/usr/share/doc/graphite2/api ++ #cp -vrf doc/{GTF,manual}.html "${pkgdir}"/usr/share/doc/graphite2 + + # licenses + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} diff --git a/src/stage4/patches/graphviz-breakdeps.patch b/src/stage4/patches/graphviz-breakdeps.patch new file mode 100644 index 0000000..eb56bb2 --- /dev/null +++ b/src/stage4/patches/graphviz-breakdeps.patch @@ -0,0 +1,24 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 16:12:42.814002849 +0200 ++++ b/PKGBUILD 2018-04-10 17:01:16.056726739 +0200 +@@ -11,9 +11,8 @@ url='http://www.graphviz.org/' + license=('CPL') + arch=('x86_64') + depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts' 'gsfonts') +-makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'python2' 'r' 'tk' 'qt4' 'gtk2') +-optdepends=('mono: sharp bindings' +- 'guile: guile bindings' ++makedepends=('swig' 'guile' 'lua' 'ocaml' 'perl' 'python2' 'r' 'tk') ++optdepends=('guile: guile bindings' + 'lua: lua bindings' + 'ocaml: ocaml bindings' + 'perl: perl bindings' +@@ -42,7 +41,7 @@ build() { + export PYTHON=python2 + export LIBPOSTFIX=/ + +- ./configure --prefix=/usr ++ ./configure --with-rsvg=no --prefix=/usr + make + } + diff --git a/src/stage4/patches/graphviz.patch b/src/stage4/patches/graphviz.patch new file mode 100644 index 0000000..6478656 --- /dev/null +++ b/src/stage4/patches/graphviz.patch @@ -0,0 +1,15 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 16:06:17.697039349 +0200 ++++ b/PKGBUILD 2018-04-10 16:07:11.543034246 +0200 +@@ -11,9 +11,8 @@ url='http://www.graphviz.org/' + license=('CPL') + arch=('x86_64') + depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts' 'gsfonts') +-makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'python2' 'r' 'tk' 'qt4' 'gtk2') +-optdepends=('mono: sharp bindings' +- 'guile: guile bindings' ++makedepends=('swig' 'guile' 'lua' 'ocaml' 'perl' 'python2' 'r' 'tk' 'qt4' 'gtk2') ++optdepends=('guile: guile bindings' + 'lua: lua bindings' + 'ocaml: ocaml bindings' + 'perl: perl bindings' diff --git a/src/stage4/patches/gstreamer.patch b/src/stage4/patches/gstreamer.patch index 727581f..c82fa6a 100644 --- a/src/stage4/patches/gstreamer.patch +++ b/src/stage4/patches/gstreamer.patch @@ -1,11 +1,51 @@ ---- a/PKGBUILD 2018-04-04 01:43:36.102077757 +0200 -+++ b/PKGBUILD 2018-04-04 08:23:33.783803320 +0200 -@@ -10,7 +10,7 @@ url="https://gstreamer.freedesktop.org/" +diff -rupN a/0001-gstreamer-riscv-alignment.patch b/0001-gstreamer-riscv-alignment.patch +--- a/0001-gstreamer-riscv-alignment.patch 1970-01-01 01:00:00.000000000 +0100 ++++ b/0001-gstreamer-riscv-alignment.patch 2018-04-11 08:32:21.811431931 +0200 +@@ -0,0 +1,13 @@ ++diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in ++index 6351c04da..33dfed1f6 100644 ++--- a/gst/gstconfig.h.in +++++ b/gst/gstconfig.h.in ++@@ -104,7 +104,7 @@ ++ * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 ++ * https://software.intel.com/en-us/node/583402 ++ */ ++-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) +++#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) ++ # define GST_HAVE_UNALIGNED_ACCESS 0 ++ #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) ++ # define GST_HAVE_UNALIGNED_ACCESS 1 +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 06:50:38.438010392 +0200 ++++ b/PKGBUILD 2018-04-11 08:32:21.806431931 +0200 +@@ -9,15 +9,17 @@ pkgdesc="GStreamer open-source multimedi + url="https://gstreamer.freedesktop.org/" arch=(x86_64) license=(LGPL) - depends=(libxml2 glib2 libunwind libcap libelf) +-depends=(libxml2 glib2 libunwind libcap libelf) -makedepends=(gtk-doc gobject-introspection autoconf-archive git valgrind bash-completion) ++depends=(libxml2 glib2 libcap libelf) +makedepends=(gtk-doc gobject-introspection autoconf-archive git bash-completion) checkdepends=(gmp gsl gtk3) _commit=80e0e90d00bb358ca9dc071cf6de010ec5ae2644 # tags/1.14.0^0 install=gstreamer.install + source=("git+https://anongit.freedesktop.org/git/gstreamer/gstreamer#commit=$_commit" +- "gst-common::git+https://anongit.freedesktop.org/git/gstreamer/common") ++ "gst-common::git+https://anongit.freedesktop.org/git/gstreamer/common" ++ "0001-gstreamer-riscv-alignment.patch") + sha256sums=('SKIP' +- 'SKIP') ++ 'SKIP' ++ '2161a3e1cd47c351da5c6a1718533309e4b01c3d0347c43f86b7fb21c327065a') + + pkgver() { + cd $pkgname +@@ -31,6 +33,8 @@ prepare() { + git config --local submodule.common.url "$srcdir/gst-common" + git submodule update + ++ patch -Np1 -i ../0001-gstreamer-riscv-alignment.patch ++ + NOCONFIGURE=1 ./autogen.sh + } + diff --git a/src/stage4/patches/gtk3-breakdeps.patch b/src/stage4/patches/gtk3-breakdeps.patch new file mode 100644 index 0000000..ceb2310 --- /dev/null +++ b/src/stage4/patches/gtk3-breakdeps.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:13:29.798448579 +0200 ++++ b/PKGBUILD 2018-04-09 13:32:46.976101080 +0200 +@@ -11,7 +11,7 @@ arch=(x86_64) + url="http://www.gtk.org/" + depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf + libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon +- adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa ++ json-glib librsvg wayland-protocols desktop-file-utils mesa + cantarell-fonts colord rest libcups libcanberra) + makedepends=(gobject-introspection gtk-doc git glib2-docs sassc) + license=(LGPL) diff --git a/src/stage4/patches/harfbuzz-breakdeps.patch b/src/stage4/patches/harfbuzz-breakdeps.patch new file mode 100644 index 0000000..41d0fe7 --- /dev/null +++ b/src/stage4/patches/harfbuzz-breakdeps.patch @@ -0,0 +1,29 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:00:26.031522863 +0200 ++++ b/PKGBUILD 2018-04-09 12:49:37.357346517 +0200 +@@ -9,7 +9,7 @@ pkgdesc="OpenType text shaping engine" + url="http://www.freedesktop.org/wiki/Software/HarfBuzz" + arch=(x86_64) + license=(MIT) +-makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection gtk-doc ragel git ++makedepends=(glib2 freetype2 cairo icu gobject-introspection gtk-doc ragel git + python) + _commit=ff2f81432bb0484a019a678058595e10217df51d # tags/1.7.6^0 + source=("git+https://anongit.freedesktop.org/git/harfbuzz#commit=$_commit") +@@ -33,7 +33,6 @@ build() { + --with-freetype \ + --with-glib \ + --with-gobject \ +- --with-graphite2 \ + --with-icu \ + --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool +@@ -46,7 +45,7 @@ check() { + } + + package_harfbuzz() { +- depends=(glib2 freetype2 graphite) ++ depends=(glib2 freetype2) + optdepends=('cairo: hb-view program') + + cd $pkgbase diff --git a/src/stage4/patches/libcanberra-breakdeps.patch b/src/stage4/patches/libcanberra-breakdeps.patch new file mode 100644 index 0000000..5ba58b0 --- /dev/null +++ b/src/stage4/patches/libcanberra-breakdeps.patch @@ -0,0 +1,23 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 09:12:41.904202561 +0200 ++++ b/PKGBUILD 2018-04-11 09:20:49.039156391 +0200 +@@ -9,7 +9,7 @@ pkgdesc="A small and lightweight impleme + arch=(i686 x86_64) + license=(LGPL) + depends=(libvorbis libltdl alsa-lib tdb sound-theme-freedesktop) +-makedepends=(gtk-doc libpulse gstreamer gtk2 gtk3 git) ++makedepends=(gtk-doc libpulse gstreamer git) + options=(!emptydirs libtool) + url="http://0pointer.de/lennart/projects/libcanberra" + _commit=c0620e432650e81062c1967cc669829dbd29b310 # master +@@ -47,8 +47,8 @@ package_libcanberra() { + cd $pkgbase + + make -j1 DESTDIR="$pkgdir" install +- rm "$pkgdir"/usr/lib/libcanberra-gtk*.la +- rm "$pkgdir"/usr/lib/gtk-{2,3}.0/modules/*.la ++ rm -f "$pkgdir"/usr/lib/libcanberra-gtk*.la ++ rm -f "$pkgdir"/usr/lib/gtk-{2,3}.0/modules/*.la + + install -D "$srcdir/libcanberra.xinit" \ + "$pkgdir/etc/X11/xinit/xinitrc.d/40-libcanberra-gtk-module.sh" diff --git a/src/stage4/patches/libffado-breakdeps.patch b/src/stage4/patches/libffado-breakdeps.patch new file mode 100644 index 0000000..6735a11 --- /dev/null +++ b/src/stage4/patches/libffado-breakdeps.patch @@ -0,0 +1,15 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:25:29.192380397 +0200 ++++ b/PKGBUILD 2018-04-09 13:53:12.169984960 +0200 +@@ -11,9 +11,8 @@ pkgdesc="Driver for FireWire audio devic + arch=('x86_64') + url="http://www.ffado.org/" + license=('GPL') +-depends=('dbus-c++' 'jack' 'libavc1394' 'libconfig' 'libiec61883' 'libxml++' 'python-dbus') +-makedepends=('python-pyqt5' 'python-dbus' 'scons') +-optdepends=('python-pyqt5: ffado-mixer') ++depends=('dbus-c++' 'libavc1394' 'libconfig' 'libiec61883' 'libxml++' 'python-dbus') ++makedepends=('python-dbus' 'scons') + provides=('ffado') + source=("http://www.ffado.org/files/${pkgname}-${pkgver}.tgz" + "${pkgname}-fix-python3-pyqt5.diff" diff --git a/src/stage4/patches/libglvnd-breakdeps.patch b/src/stage4/patches/libglvnd-breakdeps.patch new file mode 100644 index 0000000..486de8f --- /dev/null +++ b/src/stage4/patches/libglvnd-breakdeps.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 19:21:51.070493581 +0200 ++++ b/PKGBUILD 2018-04-07 19:21:51.071493581 +0200 +@@ -24,7 +24,7 @@ build() { + + package() { + # libglvnd needs mesa for indirect rendering +- depends=('libxext' 'mesa' 'opengl-driver') ++ depends=('libxext') + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install diff --git a/src/stage4/patches/libimobiledevice-breakdeps.patch b/src/stage4/patches/libimobiledevice-breakdeps.patch new file mode 100644 index 0000000..e62be5e --- /dev/null +++ b/src/stage4/patches/libimobiledevice-breakdeps.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 19:07:55.181572805 +0200 ++++ b/PKGBUILD 2018-04-07 19:07:55.182572805 +0200 +@@ -10,7 +10,7 @@ pkgdesc="Library that talks the protocol + url="http://libimobiledevice.org/" + arch=('i686' 'x86_64') + license=('GPL2' 'LGPL2.1') +-depends=('libusbmuxd' 'usbmuxd' 'gnutls') ++depends=('libusbmuxd' 'gnutls') + makedepends=('python2' 'cython2' 'python' 'cython' 'libplist' 'autoconf-archive' git python2-setuptools python-setuptools) + _commit=5a85432719fb3d18027d528f87d2a44b76fd3e12 # master + source=("git+https://github.com/libimobiledevice/libimobiledevice/#commit=$_commit") diff --git a/src/stage4/patches/libproxy-breakdeps.patch b/src/stage4/patches/libproxy-breakdeps.patch new file mode 100644 index 0000000..a236d6f --- /dev/null +++ b/src/stage4/patches/libproxy-breakdeps.patch @@ -0,0 +1,21 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 21:43:46.276686533 +0200 ++++ b/PKGBUILD 2018-04-07 21:43:46.276686533 +0200 +@@ -14,7 +14,7 @@ optdepends=('networkmanager: NetworkMana + 'python: Python 3.x bindings' + 'glib2: gsettings configuration module' + 'webkit2gtk: PAC proxy support (Webkit2gtk engine)') +-makedepends=('cmake' 'networkmanager' 'python' 'python2' 'perl' 'webkit2gtk') ++makedepends=('cmake' 'networkmanager' 'python' 'python2' 'perl') + url="http://libproxy.github.io/libproxy/" + source=(https://github.com/libproxy/libproxy/archive/${pkgver}.tar.gz) + sha256sums=('18f58b0a0043b6881774187427ead158d310127fc46a1c668ad6d207fb28b4e0') +@@ -33,7 +33,7 @@ build() { + -DCMAKE_SKIP_RPATH=ON \ + -DPERL_VENDORINSTALL=yes \ + -DCMAKE_BUILD_TYPE=Release \ +- -DWITH_WEBKIT3=ON \ ++ -DWITH_WEBKIT3=OFF \ + -DWITH_MOZJS=OFF \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ diff --git a/src/stage4/patches/librsvg-breakdeps.patch b/src/stage4/patches/librsvg-breakdeps.patch new file mode 100644 index 0000000..4c75214 --- /dev/null +++ b/src/stage4/patches/librsvg-breakdeps.patch @@ -0,0 +1,54 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 14:06:09.643722509 +0200 ++++ b/PKGBUILD 2018-04-10 14:06:54.477718260 +0200 +@@ -2,7 +2,7 @@ + # Maintainer: Jan de Groot <jgc@archlinux.org> + + pkgname=librsvg +-pkgver=2.42.3 ++pkgver=2.40.20 + pkgrel=1 + epoch=2 + pkgdesc="SVG rendering library" +@@ -10,34 +10,24 @@ url="https://wiki.gnome.org/Projects/Lib + arch=(x86_64) + license=(LGPL) + depends=(gdk-pixbuf2 pango libcroco) +-makedepends=(intltool gobject-introspection vala python2 gtk-doc git rust) ++makedepends=(intltool gobject-introspection python2 gtk-doc git) + _commit=ca640d1185745665c61689b71c627e1d020a80b7 # tags/2.42.3^0 +-source=("git+https://gitlab.gnome.org/GNOME/librsvg.git#commit=$_commit") +-sha256sums=('SKIP') +- +-pkgver() { +- cd $pkgname +- git describe --tags | sed 's/-/+/g' +-} +- +-prepare() { +- cd $pkgname +- NOCONFIGURE=1 ./autogen.sh +-} ++source=(https://ftp.gnome.org/pub/GNOME/sources/librsvg/${pkgver%.*}/librsvg-$pkgver.tar.xz) ++sha256sums=('cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b') + + build() { +- cd $pkgname +- ./configure --prefix=/usr --disable-static --enable-vala --enable-gtk-doc ++ cd $pkgname-$pkgver ++ ./configure --prefix=/usr --disable-static --disable-vala --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool + make + } + + check() { +- cd $pkgname ++ cd $pkgname-$pkgver + make check + } + + package() { +- cd $pkgname ++ cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + } diff --git a/src/stage4/patches/librsvg.patch b/src/stage4/patches/librsvg.patch new file mode 100644 index 0000000..03265e2 --- /dev/null +++ b/src/stage4/patches/librsvg.patch @@ -0,0 +1,53 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 13:28:52.668934524 +0200 ++++ b/PKGBUILD 2018-04-10 13:28:52.669934524 +0200 +@@ -2,7 +2,7 @@ + # Maintainer: Jan de Groot <jgc@archlinux.org> + + pkgname=librsvg +-pkgver=2.42.3 ++pkgver=2.40.20 + pkgrel=1 + epoch=2 + pkgdesc="SVG rendering library" +@@ -10,34 +10,24 @@ url="https://wiki.gnome.org/Projects/Lib + arch=(x86_64) + license=(LGPL) + depends=(gdk-pixbuf2 pango libcroco) +-makedepends=(intltool gobject-introspection vala python2 gtk-doc git rust) ++makedepends=(intltool gobject-introspection vala python2 gtk-doc git) + _commit=ca640d1185745665c61689b71c627e1d020a80b7 # tags/2.42.3^0 +-source=("git+https://gitlab.gnome.org/GNOME/librsvg.git#commit=$_commit") +-sha256sums=('SKIP') +- +-pkgver() { +- cd $pkgname +- git describe --tags | sed 's/-/+/g' +-} +- +-prepare() { +- cd $pkgname +- NOCONFIGURE=1 ./autogen.sh +-} ++source=(https://ftp.gnome.org/pub/GNOME/sources/librsvg/${pkgver%.*}/librsvg-$pkgver.tar.xz) ++sha256sums=('cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b') + + build() { +- cd $pkgname ++ cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static --enable-vala --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool + make + } + + check() { +- cd $pkgname ++ cd $pkgname-$pkgver + make check + } + + package() { +- cd $pkgname ++ cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + } diff --git a/src/stage4/patches/libsigc++-breakdeps.patch b/src/stage4/patches/libsigc++-breakdeps.patch new file mode 100644 index 0000000..24635df --- /dev/null +++ b/src/stage4/patches/libsigc++-breakdeps.patch @@ -0,0 +1,56 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 18:33:56.884199699 +0200 ++++ b/PKGBUILD 2018-04-10 18:48:25.109117411 +0200 +@@ -3,13 +3,13 @@ + # Contributor: Tom Newsom <Jeepster@gmx.co.uk> + + pkgbase=libsigc++ +-pkgname=('libsigc++' 'libsigc++-docs') ++pkgname=('libsigc++-docs') + pkgver=2.10.0 + pkgrel=1 + arch=('i686' 'x86_64') + license=('LGPL') + url="http://libsigc.sourceforge.net/" +-makedepends=('gcc-libs' 'git' 'mm-common' 'doxygen' 'libxslt' 'graphviz') ++makedepends=('gcc-libs' 'git' 'doxygen' 'libxslt' 'graphviz') + options=('!emptydirs') + _commit=83f1e2fe7855f85af570b9653903d2c426d67e72 + source=("git://git.gnome.org/libsigcplusplus#commit=$_commit") +@@ -20,35 +20,11 @@ pkgver() { + git describe --tags | sed 's/-/+/g' + } + +-prepare() { +- cd libsigcplusplus +- NOCONFIGURE=1 ./autogen.sh +-} +- +-build() { +- cd libsigcplusplus +- ./configure --prefix=/usr +- make +-} +- +-package_libsigc++ () { +- pkgdesc="Libsigc++ implements a full callback system for use in widget libraries - V2" +- depends=('gcc-libs') +- provides=("libsigc++2.0=${pkgver}") +- replaces=('libsigc++2.0') +- conflicts=('libsigc++2.0') +- +- cd libsigcplusplus +- sed -i -e 's/^doc_subdirs/#doc_subdirs/' Makefile +- make DESTDIR="${pkgdir}" install +-} +- + package_libsigc++-docs() { + pkgdesc="Developer documentation for libsigc++" + provides=("libsigc++2.0-docs=${pkgver}") + replaces=('libsigc++2.0-docs') + conflicts=('libsigc++2.0-docs') + +- cd libsigcplusplus/docs +- make DESTDIR="${pkgdir}" install ++ true + } diff --git a/src/stage4/patches/libsndfile.patch b/src/stage4/patches/libsndfile.patch new file mode 100644 index 0000000..3befd7a --- /dev/null +++ b/src/stage4/patches/libsndfile.patch @@ -0,0 +1,20 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 19:24:11.734913959 +0200 ++++ b/PKGBUILD 2018-04-10 19:31:03.617874922 +0200 +@@ -9,7 +9,7 @@ arch=('i686' 'x86_64') + url="http://www.mega-nerd.com/libsndfile" + license=('LGPL') + depends=('alsa-lib' 'flac' 'libvorbis') +-checkdepends=('python2') ++makedepends=('python2') + source=(http://www.mega-nerd.com/libsndfile/files/${pkgname}-${pkgver}.tar.gz) + sha1sums=('85aa967e19f6b9bf975601d79669025e5f8bc77d') + validpgpkeys=('73571E85C19F4281D8C97AA86CA41A7743B8D6C8') +@@ -23,6 +23,7 @@ prepare() { + + build() { + cd ${pkgname}-${pkgver} ++ autoreconf --install + ./configure --prefix=/usr --disable-sqlite + make + } diff --git a/src/stage4/patches/libsodium-breakdeps.patch b/src/stage4/patches/libsodium-breakdeps.patch new file mode 100644 index 0000000..18a03fd --- /dev/null +++ b/src/stage4/patches/libsodium-breakdeps.patch @@ -0,0 +1,20 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 10:05:44.521467211 +0200 ++++ b/PKGBUILD 2018-04-08 10:05:44.522467211 +0200 +@@ -11,16 +11,11 @@ arch=('x86_64') + url="https://github.com/jedisct1/libsodium" + license=('custom:ISC') + depends=('glibc') +-makedepends=('minisign') + source=("https://download.libsodium.org/libsodium/releases/libsodium-$pkgver.tar.gz"{,.minisig}) + sha512sums=('eab917d599c9c1fe971a6ecf915b9a6476ccec2d46cf23cbfbf06dd3833089b422f192de4d55f17b93362f1251ba8d5ddeb95ced1a422a3a2631b4b82553907f' + '5facb6be0c4e8d390f685a1fce506a46e2768e7eae02b3b67ce7a168c6fbcd16c24d8a52fdbf330209bf9598ab8e4043c55a839795a17062b6f7e892d7a68bd6') + _validminisignkey='RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3' + +-prepare() { +- minisign -Vm $pkgname-$pkgver.tar.gz -P $_validminisignkey +-} +- + build() { + cd "$pkgname-$pkgver" + diff --git a/src/stage4/patches/libva-breakdeps.patch b/src/stage4/patches/libva-breakdeps.patch new file mode 100644 index 0000000..e8624da --- /dev/null +++ b/src/stage4/patches/libva-breakdeps.patch @@ -0,0 +1,11 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 19:17:07.815520427 +0200 ++++ b/PKGBUILD 2018-04-07 19:17:07.816520427 +0200 +@@ -11,7 +11,6 @@ arch=('x86_64') + url='https://01.org/linuxmedia/vaapi' + license=('MIT') + depends=('glibc' 'libdrm' 'libgl' 'libx11' 'libxext' 'libxfixes' 'wayland') +-makedepends=('mesa') + optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards' + 'libva-intel-driver: backend for Intel cards') + provides=('libva-drm.so' 'libva-glx.so' 'libva-wayland.so' 'libva-x11.so' 'libva.so') diff --git a/src/stage4/patches/libxft.patch b/src/stage4/patches/libxft.patch new file mode 100644 index 0000000..1031e35 --- /dev/null +++ b/src/stage4/patches/libxft.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 08:15:47.675281206 +0200 ++++ b/PKGBUILD 2018-04-07 08:15:47.676281206 +0200 +@@ -14,7 +14,7 @@ makedepends=('pkgconfig') + source=(${url}/releases/individual/lib/libXft-${pkgver}.tar.bz2{,.sig}) + sha256sums=('f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4bfcdc4c' + 'SKIP') +-valigpgpkyes=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith <alan.coopersmith@oracle.com>" ++validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith <alan.coopersmith@oracle.com>" + + build() { + cd "${srcdir}/libXft-${pkgver}" diff --git a/src/stage4/patches/llvm.patch b/src/stage4/patches/llvm.patch new file mode 100644 index 0000000..d94bd6f --- /dev/null +++ b/src/stage4/patches/llvm.patch @@ -0,0 +1,99 @@ +diff -rupN a/llvm-riscv.patch b/llvm-riscv.patch +--- a/llvm-riscv.patch 1970-01-01 01:00:00.000000000 +0100 ++++ b/llvm-riscv.patch 2018-04-08 15:41:31.296557753 +0200 +@@ -0,0 +1,15 @@ ++diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake ++index 46b7ffc..5ef1cf4 100644 ++--- a/cmake/config-ix.cmake +++++ b/cmake/config-ix.cmake ++@@ -443,6 +443,10 @@ elseif (LLVM_NATIVE_ARCH MATCHES "wasm32") ++ set(LLVM_NATIVE_ARCH WebAssembly) ++ elseif (LLVM_NATIVE_ARCH MATCHES "wasm64") ++ set(LLVM_NATIVE_ARCH WebAssembly) +++elseif (LLVM_NATIVE_ARCH MATCHES "riscv32") +++ set(LLVM_NATIVE_ARCH RISCV) +++elseif (LLVM_NATIVE_ARCH MATCHES "riscv64") +++ set(LLVM_NATIVE_ARCH RISCV) ++ else () ++ message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}") ++ endif () +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-09 16:54:36.797953343 +0200 ++++ b/PKGBUILD 2018-04-09 16:54:36.798953343 +0200 +@@ -18,7 +18,8 @@ source=(https://releases.llvm.org/$pkgve + PR36417-fixup-for-rL326769-RegState-Debug-is-being-truncated.patch + D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch + D44420-cmake-fix-a-typo-in-llvm_config-macro.patch +- llvm-config.h) ++ llvm-config.h ++ llvm-riscv.patch) + sha256sums=('1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408' + 'SKIP' + '7d0082d1c641873c1d45c2f076b9533fbc43002d605336afa92198b8830a5bcb' +@@ -26,7 +27,8 @@ sha256sums=('1ff53c915b4e761ef400b803f07 + 'da80b59c9abe9fe864ff8dc42132c5aa135a79d342fd147ae6f54e2621e009fa' + '96e2f3ca8b7d1bdbe2606a1eebb12c57b39838d1bcc15e40388e8d59649a9f4a' + '5cc114fd711e6ea836a6270b2f713e2e751c49e8b5ffa6c6812127ca801acef3' +- '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48') ++ '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48' ++ '467d2aa8b53bc20482134d909b4a00c0bd9f88011421aad3eed34ba772b9cd28') + validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org> + validpgpkeys+=('11E521D646982372EB577A1F8F0871F202119294') # Tom Stellard <tom@stellard.net> + +@@ -46,28 +48,45 @@ prepare() { + + # https://reviews.llvm.org/D44420 + patch -Np0 -i ../D44420-cmake-fix-a-typo-in-llvm_config-macro.patch ++ ++ patch -Np1 -i ../llvm-riscv.patch + } + + build() { + cd "$srcdir/llvm-$pkgver.src/build" + + cmake .. -G Ninja \ ++ -DBUILD_SHARED_LIBS:BOOL=OFF \ ++ -DLLVM_BUILD_RUNTIME:BOOL=ON \ ++ -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \ ++ -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ + -DCMAKE_BUILD_TYPE=Release \ ++ -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF" \ + -DCMAKE_INSTALL_PREFIX=/usr \ +- -DLLVM_HOST_TRIPLE=$CHOST \ +- -DLLVM_BUILD_LLVM_DYLIB=ON \ +- -DLLVM_LINK_LLVM_DYLIB=ON \ +- -DLLVM_INSTALL_UTILS=ON \ +- -DLLVM_ENABLE_RTTI=ON \ +- -DLLVM_ENABLE_FFI=ON \ +- -DLLVM_BUILD_TESTS=ON \ +- -DLLVM_BUILD_DOCS=ON \ +- -DLLVM_ENABLE_SPHINX=ON \ +- -DLLVM_ENABLE_DOXYGEN=OFF \ ++ -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \ ++ -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \ ++ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ ++ -DLLVM_INCLUDE_UTILS:BOOL=ON \ ++ -DLLVM_INSTALL_UTILS:BOOL=ON \ ++ -DLLVM_ENABLE_LIBCXX:BOOL=OFF \ ++ -DLLVM_ENABLE_ZLIB:BOOL=ON \ ++ -DLLVM_ENABLE_RTTI:BOOL=ON \ ++ -DLLVM_ENABLE_FFI:BOOL=ON \ ++ -DLLVM_INCLUDE_TOOLS:BOOL=ON \ ++ -DLLVM_BUILD_TOOLS:BOOL=ON \ ++ -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ ++ -DLLVM_BUILD_EXAMPLES:BOOL=OFF \ ++ -DLLVM_INCLUDE_TESTS:BOOL=ON \ ++ -DLLVM_BUILD_TESTS:BOOL=ON \ ++ -DLLVM_INCLUDE_DOCS:BOOL=ON \ ++ -DLLVM_BUILD_DOCS:BOOL=ON \ ++ -DLLVM_ENABLE_SPHINX:BOOL=ON \ ++ -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ + -DLLVM_BINUTILS_INCDIR=/usr/include +- ninja all ocaml_doc ++ sed -i 's/-lpthread/& -latomic/g' build.ninja ++ ninja -v all ocaml_doc + } + + check() { diff --git a/src/stage4/patches/lm_sensors-breakdeps.patch b/src/stage4/patches/lm_sensors-breakdeps.patch new file mode 100644 index 0000000..a09db10 --- /dev/null +++ b/src/stage4/patches/lm_sensors-breakdeps.patch @@ -0,0 +1,21 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-09 10:12:50.971238030 +0200 ++++ b/PKGBUILD 2018-04-09 10:12:50.972238030 +0200 +@@ -9,8 +9,6 @@ arch=('i686' 'x86_64') + url="http://www.lm-sensors.org/" + license=('GPL' 'LGPL') + depends=('perl' 'sysfsutils') +-makedepends=('rrdtool') +-optdepends=('rrdtool: for logging with sensord') + backup=('etc/sensors3.conf' 'etc/healthd.conf' 'etc/conf.d/sensord') + source=($pkgname-$pkgver::https://github.com/groeck/lm-sensors/archive/V${pkgver//\./-}.tar.gz + healthd healthd.conf healthd.service sensord.conf +@@ -37,7 +35,7 @@ build() { + + package() { + cd ${pkgname/_/-}-${pkgver//\./-} +- make PROG_EXTRA=sensord BUILD_STATIC_LIB=0 \ ++ make BUILD_STATIC_LIB=0 \ + PREFIX=/usr SBINDIR=/usr/bin MANDIR=/usr/share/man DESTDIR="${pkgdir}" install + + install -D -m755 "${srcdir}/healthd" "${pkgdir}/usr/bin/healthd" diff --git a/src/stage4/patches/mesa.patch b/src/stage4/patches/mesa.patch new file mode 100644 index 0000000..8e6cd33 --- /dev/null +++ b/src/stage4/patches/mesa.patch @@ -0,0 +1,49 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 10:23:30.086988693 +0200 ++++ b/PKGBUILD 2018-04-10 10:23:30.087988693 +0200 +@@ -9,7 +9,7 @@ pkgrel=1.parabola1 + arch=('i686' 'x86_64' 'armv7h') + makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto' + 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' +- 'elfutils' 'llvm' 'libomxil-bellagio' 'clang' 'libglvnd' 'lm_sensors') ++ 'elfutils' 'llvm' 'libomxil-bellagio' 'libglvnd' 'lm_sensors') + makedepends_x86_64=('libclc' 'libunwind') + makedepends_i686=("${makedepends_x86_64[@]}") + url="https://www.mesa3d.org/" +@@ -57,6 +57,14 @@ build() { + VDPAU_AND_XA= + OPENCL= + ;; ++ riscv64) ++ GALLIUM=r300,r600,radeonsi,nouveau,swrast,virgl ++ DRI=r200,radeon,nouveau,swrast ++ VULKAN= ++ LIBUNWIND= ++ VDPAU_AND_XA='--enable-vdpau' ++ OPENCL= ++ ;; + esac + + ./configure --prefix=/usr \ +@@ -85,8 +93,7 @@ build() { + $VDPAU_AND_XA \ + --enable-omx-bellagio \ + --enable-nine \ +- $OPENCL \ +- --with-clang-libdir=/usr/lib ++ $OPENCL + + make + +@@ -125,11 +132,6 @@ package_mesa() { + cp -rv ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/ + cp -rv ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/ + +- if [ "$CARCH" != "armv7h" ]; then +- cp -rv ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/ +- cp -rv ${srcdir}/fakeinstall/usr/lib/libswrAVX*.so* ${pkgdir}/usr/lib/ +- fi +- + cp -rv ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr + cp -rv ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/ + diff --git a/src/stage4/patches/ocaml.patch b/src/stage4/patches/ocaml.patch new file mode 100644 index 0000000..e050b64 --- /dev/null +++ b/src/stage4/patches/ocaml.patch @@ -0,0 +1,38 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 09:59:52.831500543 +0200 ++++ b/PKGBUILD 2018-04-08 09:59:52.831500543 +0200 +@@ -10,20 +10,20 @@ arch=('x86_64') + license=('LGPL2.1' 'custom: QPL-1.0') + url="http://caml.inria.fr/" + depends=('gdbm') +-makedepends=('tk>=8.6.0' 'ncurses>=5.6-7' 'libx11') ++makedepends=('tk>=8.6.0' 'ncurses>=5.6-7' 'libx11' 'git') + optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features') +-source=(http://caml.inria.fr/distrib/ocaml-${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +-sha1sums=('831fab643feb0f78bd206f0a9a09a92df58838e7') ++source=("git+https://github.com/nojb/riscv-ocaml.git#branch=4.06") ++sha1sums=('SKIP') + options=('!makeflags' '!emptydirs' 'staticlibs') + + build() { +- cd "${srcdir}/${pkgname}-${pkgver}" ++ cd "${srcdir}/riscv-${pkgbase}" + ./configure -prefix /usr -x11include /usr/include + make world.opt + } + + package_ocaml() { +- cd "${srcdir}/${pkgbase}-${pkgver}" ++ cd "${srcdir}/riscv-${pkgbase}" + make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man" install + + # Save >10MB with this one, makepkg only strips debug symbols. +@@ -43,7 +43,7 @@ license=('custom: QPL-1.0') + depends=('ocaml') + optdepends=() + +- cd "${srcdir}/${pkgbase}-${pkgver}" ++ cd "${srcdir}/riscv-${pkgbase}" + # from Makefile + BYTESTART=driver/main.cmo + TOPLEVELSTART=toplevel/topstart.cmo diff --git a/src/stage4/patches/phonon-gstreamer-breakdeps.patch b/src/stage4/patches/phonon-gstreamer-breakdeps.patch new file mode 100644 index 0000000..a47e4a7 --- /dev/null +++ b/src/stage4/patches/phonon-gstreamer-breakdeps.patch @@ -0,0 +1,30 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:42:40.025282697 +0200 ++++ b/PKGBUILD 2018-04-09 13:58:22.983955501 +0200 +@@ -11,7 +11,7 @@ url='http://phonon.kde.org/' + license=(LGPL) + optdepends=('pulseaudio: PulseAudio support' 'gst-plugins-good: PulseAudio support and good codecs' 'gst-plugins-bad: additional codecs' + 'gst-plugins-ugly: additional codecs' 'gst-libav: libav codec') +-makedepends=(gst-plugins-base extra-cmake-modules phonon-qt4 phonon-qt5 qt5-x11extras) ++makedepends=(gst-plugins-base extra-cmake-modules qt5-x11extras) + source=("http://download.kde.org/stable/phonon/phonon-backend-gstreamer/$pkgver/phonon-backend-gstreamer-$pkgver.tar.xz") + sha256sums=('cec3e5ece1261d344b68363ef0606ebf49772628ba94bb55b0c0d18773b885f1') + +@@ -43,7 +43,7 @@ build() { + + package_phonon-qt4-gstreamer() { + pkgdesc="Phonon GStreamer backend for Qt4" +- depends=(gst-plugins-base phonon-qt4) ++ depends=(gst-plugins-base) + provides=(phonon-qt4-backend) + + cd build-qt4 +@@ -55,7 +55,7 @@ package_phonon-qt4-gstreamer() { + + package_phonon-qt5-gstreamer() { + pkgdesc="Phonon GStreamer backend for Qt5" +- depends=(gst-plugins-base qt5-x11extras phonon-qt5) ++ depends=(gst-plugins-base qt5-x11extras) + provides=(phonon-qt5-backend) + + cd build-qt5 diff --git a/src/stage4/patches/poppler-breakdeps.patch b/src/stage4/patches/poppler-breakdeps.patch new file mode 100644 index 0000000..dbf1fd5 --- /dev/null +++ b/src/stage4/patches/poppler-breakdeps.patch @@ -0,0 +1,20 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 21:19:01.690638474 +0200 ++++ b/PKGBUILD 2018-04-08 21:19:01.691638474 +0200 +@@ -3,13 +3,13 @@ + # Maintainer: Jan de Groot <jgc@archlinux.org> + + pkgbase=poppler +-pkgname=('poppler' 'poppler-glib' 'poppler-qt5') ++pkgname=('poppler' 'poppler-glib') + pkgver=0.63.0 + pkgrel=1 + arch=(x86_64) + license=('GPL') +-makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg2' 'gtk3' 'pkgconfig' 'lcms2' +- 'gobject-introspection' 'icu' 'qt5-base' 'git' 'nss' 'gtk-doc' 'curl' 'poppler-data' ++makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg2' 'pkgconfig' 'lcms2' ++ 'gobject-introspection' 'icu' 'git' 'nss' 'gtk-doc' 'curl' 'poppler-data' + 'cmake' 'python') + options=('!emptydirs') + url="https://poppler.freedesktop.org/" diff --git a/src/stage4/patches/pulseaudio-breakdeps.patch b/src/stage4/patches/pulseaudio-breakdeps.patch new file mode 100644 index 0000000..2e22df1 --- /dev/null +++ b/src/stage4/patches/pulseaudio-breakdeps.patch @@ -0,0 +1,132 @@ +diff -rupN a/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch b/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch +--- a/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch 1970-01-01 01:00:00.000000000 +0100 ++++ b/0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch 2018-04-10 20:28:26.088548654 +0200 +@@ -0,0 +1,63 @@ ++From 01239c23f57e74ec40c92144d22fe153ee65f4ff Mon Sep 17 00:00:00 2001 ++From: Tanu Kaskinen <tanuk@iki.fi> ++Date: Wed, 24 Jan 2018 03:51:49 +0200 ++Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already ++ defined ++ ++glibc 2.27 is to be released soon, and it will provide memfd_create(). ++If glibc provides the function, we must not define it ourselves, ++otherwise building fails due to conflict between the two implementations ++of the same function. ++ ++BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733 ++--- ++ configure.ac | 3 +++ ++ src/pulsecore/memfd-wrappers.h | 7 ++++--- ++ 2 files changed, 7 insertions(+), 3 deletions(-) ++ ++diff --git a/configure.ac b/configure.ac ++index 013918f1a..1095ae8cb 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -607,6 +607,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"], ++ [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory. ++ *** Use linux v3.17 or higher for such a feature.])]) ++ +++AS_IF([test "x$HAVE_MEMFD" = "x1"], +++ AC_CHECK_FUNCS([memfd_create])) +++ ++ AC_SUBST(HAVE_MEMFD) ++ AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1]) ++ AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.])) ++diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h ++index 3bed9b2b1..c7aadfd3c 100644 ++--- a/src/pulsecore/memfd-wrappers.h +++++ b/src/pulsecore/memfd-wrappers.h ++@@ -20,13 +20,14 @@ ++ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. ++ ***/ ++ ++-#ifdef HAVE_MEMFD +++#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE) ++ ++ #include <sys/syscall.h> ++ #include <fcntl.h> ++ ++ /* ++- * No glibc wrappers exist for memfd_create(2), so provide our own. +++ * Before glibc version 2.27 there was no wrapper for memfd_create(2), +++ * so we have to provide our own. ++ * ++ * Also define memfd fcntl sealing macros. While they are already ++ * defined in the kernel header file <linux/fcntl.h>, that file as ++@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) { ++ #define F_SEAL_WRITE 0x0008 /* prevent writes */ ++ #endif ++ ++-#endif /* HAVE_MEMFD */ +++#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */ ++ ++ #endif ++-- ++2.15.1 ++ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 21:02:36.891354284 +0200 ++++ b/PKGBUILD 2018-04-10 21:29:58.366198709 +0200 +@@ -5,7 +5,7 @@ + # Contributor: William Rea <sillywilly@gmail.com> + + pkgbase=pulseaudio +-pkgname=(pulseaudio libpulse pulseaudio-{gconf,zeroconf,lirc,jack,bluetooth,equalizer}) ++pkgname=(pulseaudio libpulse pulseaudio-{gconf,zeroconf,lirc,bluetooth,equalizer}) + pkgdesc="A featureful, general-purpose sound server" + pkgver=11.1 + pkgrel=1 +@@ -13,13 +13,15 @@ arch=(i686 x86_64) + url="https://www.freedesktop.org/wiki/Software/PulseAudio/" + license=(GPL) + makedepends=(libasyncns libcap attr libxtst libsm libsndfile libtool rtkit libsoxr +- speexdsp tdb systemd dbus avahi bluez bluez-libs gconf intltool jack2-dbus sbc +- lirc openssl fftw orc gtk3 webrtc-audio-processing ++ speexdsp tdb systemd dbus bluez bluez-libs gconf intltool sbc ++ lirc openssl fftw orc webrtc-audio-processing + check autoconf-archive git) + options=(!emptydirs) + _commit=f93e372b0b2cb960df04de3f0a8fbea683bb8229 # tags/v11.1^0 +-source=("git+https://anongit.freedesktop.org/git/pulseaudio/pulseaudio#commit=$_commit") +-sha256sums=('SKIP') ++source=("git+https://anongit.freedesktop.org/git/pulseaudio/pulseaudio#commit=$_commit" ++ "0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch") ++sha256sums=('SKIP' ++ 'c7e75566cf198ecf09c01b606eb9618ff06528d3a2b3980615684db30f7e5a06') + + pkgver() { + cd pulseaudio +@@ -29,6 +31,7 @@ pkgver() { + prepare() { + cd pulseaudio + NOCONFIGURE=1 ./bootstrap.sh ++ patch -Np1 -i ../0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch + } + + build() { +@@ -125,7 +128,7 @@ package_pulseaudio() { + + ### Split modules + +- mkdir -p "$srcdir"/{gconf,zeroconf,lirc,jack,bluetooth,equalizer}/usr/lib/pulse-$_pulsever/modules \ ++ mkdir -p "$srcdir"/{gconf,zeroconf,lirc,bluetooth,equalizer}/usr/lib/pulse-$_pulsever/modules \ + "$srcdir"/{gconf/usr/lib/pulse,equalizer/usr/bin} + + mv usr/lib/pulse-$_pulsever/modules/module-gconf.so \ +@@ -133,15 +136,9 @@ package_pulseaudio() { + mv usr/lib/pulse/gconf-helper \ + "$srcdir/gconf/usr/lib/pulse" + +- mv usr/lib/pulse-$_pulsever/modules/{libavahi-wrap,module-{zeroconf-{publish,discover},raop-discover}}.so \ +- "$srcdir/zeroconf/usr/lib/pulse-$_pulsever/modules" +- + mv usr/lib/pulse-$_pulsever/modules/module-lirc.so \ + "$srcdir/lirc/usr/lib/pulse-$_pulsever/modules" + +- mv usr/lib/pulse-$_pulsever/modules/module-jack{-sink,-source,dbus-detect}.so \ +- "$srcdir/jack/usr/lib/pulse-$_pulsever/modules" +- + mv usr/lib/pulse-$_pulsever/modules/{libbluez5-util,module-{bluetooth-{discover,policy},bluez5-{discover,device}}}.so \ + "$srcdir/bluetooth/usr/lib/pulse-$_pulsever/modules" + diff --git a/src/stage4/patches/python.patch b/src/stage4/patches/python.patch index c62cd17..08ce6da 100644 --- a/src/stage4/patches/python.patch +++ b/src/stage4/patches/python.patch @@ -1,5 +1,6 @@ ---- a/PKGBUILD 2018-03-25 21:57:59.513053107 +0200 -+++ b/PKGBUILD 2018-03-26 15:22:13.681032590 +0200 +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 17:13:27.064223747 +0200 ++++ b/PKGBUILD 2018-04-07 17:13:27.064223747 +0200 @@ -14,7 +14,7 @@ arch=('x86_64') license=('custom') url="http://www.python.org/" @@ -9,3 +10,12 @@ optdepends=('python-setuptools' 'python-pip' 'sqlite' +@@ -55,7 +55,7 @@ build() { + --enable-shared \ + --with-threads \ + --with-computed-gotos \ +- --enable-optimizations \ ++ --disable-optimizations \ + --with-lto \ + --enable-ipv6 \ + --with-system-expat \ diff --git a/src/stage4/patches/python2.patch b/src/stage4/patches/python2.patch new file mode 100644 index 0000000..4dd87cd --- /dev/null +++ b/src/stage4/patches/python2.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-07 17:14:38.518216974 +0200 ++++ b/PKGBUILD 2018-04-07 17:14:38.519216974 +0200 +@@ -71,7 +71,7 @@ build() { + ./configure --prefix=/usr \ + --enable-shared \ + --with-threads \ +- --enable-optimizations \ ++ --disable-optimizations \ + --with-lto \ + --enable-ipv6 \ + --enable-unicode=ucs4 \ diff --git a/src/stage4/patches/qt5-tools-breakdeps.patch b/src/stage4/patches/qt5-tools-breakdeps.patch new file mode 100644 index 0000000..063fe24 --- /dev/null +++ b/src/stage4/patches/qt5-tools-breakdeps.patch @@ -0,0 +1,14 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-04 18:34:42.745327933 +0200 ++++ b/PKGBUILD 2018-04-09 14:05:20.798915902 +0200 +@@ -11,8 +11,8 @@ url='http://qt-project.org/' + license=('GPL3' 'LGPL3' 'FDL' 'custom') + pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)' + depends=('qt5-base' 'hicolor-icon-theme') +-makedepends=('qt5-declarative' 'qt5-webkit' 'vulkan-headers') +-optdepends=('qt5-doc: documentation' 'qt5-webkit: for Qt Assistant') ++makedepends=('qt5-declarative' 'vulkan-headers') ++optdepends=('qt5-doc: documentation') + groups=('qt' 'qt5') + conflicts=('qtchooser') + _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" diff --git a/src/stage4/patches/r-breakdeps.patch b/src/stage4/patches/r-breakdeps.patch new file mode 100644 index 0000000..5cc9267 --- /dev/null +++ b/src/stage4/patches/r-breakdeps.patch @@ -0,0 +1,14 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 14:42:25.744893791 +0200 ++++ b/PKGBUILD 2018-04-08 14:42:25.745893791 +0200 +@@ -12,8 +12,8 @@ license=('GPL') + url='https://www.r-project.org/' + depends=('blas' 'lapack' 'bzip2' 'libpng' 'libjpeg' 'libtiff' + 'ncurses' 'pcre' 'readline' 'zlib' 'perl' 'gcc-libs' +- 'libxt' 'libxmu' 'pango' 'xz' 'zip' 'unzip' 'curl' 'icu') +-makedepends=('jdk7-openjdk' 'gcc-fortran' 'tk') ++ 'libxt' 'libxmu' 'xz' 'zip' 'unzip' 'curl' 'icu') ++makedepends=('gcc-fortran' 'tk') + optdepends=('tk: tcl/tk interface' 'texlive-bin: latex sty files' 'gcc-fortran: needed to compile some CRAN packages') + backup=('etc/R/Makeconf' 'etc/R/Renviron' 'etc/R/ldpaths' 'etc/R/repositories' 'etc/R/javaconf') + options=('!makeflags' '!emptydirs') diff --git a/src/stage4/patches/ruby-rdiscount.patch b/src/stage4/patches/ruby-rdiscount.patch new file mode 100644 index 0000000..335806e --- /dev/null +++ b/src/stage4/patches/ruby-rdiscount.patch @@ -0,0 +1,11 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 04:38:06.529764053 +0200 ++++ b/PKGBUILD 2018-04-11 04:44:54.358725400 +0200 +@@ -12,6 +12,7 @@ arch=(x86_64) + url='http://dafoster.net/projects/rdiscount/' + license=(BSD) + depends=(ruby) ++makedepends=(ruby-rdoc) + options=(!emptydirs) + source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) + noextract=($_gemname-$pkgver.gem) diff --git a/src/stage4/patches/rust-breakdeps.patch b/src/stage4/patches/rust-breakdeps.patch new file mode 100644 index 0000000..dfe4903 --- /dev/null +++ b/src/stage4/patches/rust-breakdeps.patch @@ -0,0 +1,12 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-10 12:30:43.849265185 +0200 ++++ b/PKGBUILD 2018-04-10 12:30:43.851265185 +0200 +@@ -14,7 +14,7 @@ url='https://www.rust-lang.org/' + arch=('x86_64') + license=('MIT' 'Apache') + +-makedepends=('rust' 'libffi' 'perl' 'python2' 'curl' 'cmake') ++makedepends=('libffi' 'perl' 'python2' 'curl' 'cmake') + + options=('!emptydirs') + diff --git a/src/stage4/patches/subversion-breakdeps.patch b/src/stage4/patches/subversion-breakdeps.patch new file mode 100644 index 0000000..c7fa4a0 --- /dev/null +++ b/src/stage4/patches/subversion-breakdeps.patch @@ -0,0 +1,52 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-08 10:01:54.988488966 +0200 ++++ b/PKGBUILD 2018-04-08 10:01:54.988488966 +0200 +@@ -13,13 +13,12 @@ arch=('x86_64') + url="http://subversion.apache.org/" + license=('APACHE') + depends=('sqlite' 'file' 'serf' 'systemd') +-makedepends=('apache' 'python2' 'perl' 'swig' 'java-environment' +- 'libgnome-keyring' 'kdelibs' 'ruby') ++makedepends=('apache' 'python2' 'perl' 'swig' ++ 'libgnome-keyring') + optdepends=('libgnome-keyring: for GNOME Keyring for auth credentials' + 'kdebase-runtime: for KWallet for auth credentials' + 'bash-completion: for svn bash completion' + 'python2: for some hook scripts' +- 'java-environment: for Java support' + 'ruby: for some hook scripts') + provides=('svn') + backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') +@@ -59,21 +58,18 @@ build() { + ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \ + --with-zlib=/usr --with-serf=/usr --with-apxs \ + --with-sqlite=/usr \ +- --enable-javahl --with-jdk=/usr/lib/jvm/default \ +- --with-gnome-keyring --with-kwallet \ + --with-apache-libexecdir=/usr/lib/httpd/modules \ +- --with-ruby-sitedir=/usr/lib/ruby/vendor_ruby \ + --disable-static + + make LT_LDFLAGS="-L$Fdestdir/usr/lib" + make swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ +- swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl swig-rb ++ swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl + } + + check() { + cd ${pkgname}-${pkgver} + export LANG=C LC_ALL=C +- make check check-swig-pl check-swig-py check-swig-rb CLEANUP=yes # check-javahl ++ make check check-swig-pl check-swig-py CLEANUP=yes # check-javahl + } + + package() { +@@ -83,7 +79,7 @@ package() { + make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \ + swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ + swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \ +- install install-swig-py install-swig-pl install-javahl install-swig-rb ++ install install-swig-py install-swig-pl + + install -dm755 "${pkgdir}"/usr/share/subversion + cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/ diff --git a/src/stage4/patches/texlive-bin.patch b/src/stage4/patches/texlive-bin.patch new file mode 100644 index 0000000..80a5e83 --- /dev/null +++ b/src/stage4/patches/texlive-bin.patch @@ -0,0 +1,102 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 06:12:11.168229069 +0200 ++++ b/PKGBUILD 2018-04-11 06:12:11.169229069 +0200 +@@ -9,18 +9,15 @@ + # parabola changes and rationale: + # - rebranded to parabola + +-pkgname=('texlive-bin') ++pkgname=('texlive-bin' 'libsynctex') + pkgver=2017.44590 + pkgrel=13 +-pkgrel+=.parabola1 + license=('GPL') + arch=('x86_64') +-arch+=('i686' 'armv7h') + makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' +- 'perl' 'clisp' 'ffcall') +-makedepends+=('poppler=0.63.0' 'icu>=61' 'icu<62') ++ 'perl') + url='http://tug.org/texlive/' + source=("https://sources.archlinux.org/other/texlive/texlive-bin-source-${pkgver}.tar.xz" + "luatex-gcc7.patch" +@@ -52,12 +49,6 @@ prepare() { + build() { + cd "$srcdir" + +- if [ "${CARCH}" = "armv7h" ]; then +- local config_xindy="--disable-xindy" +- else +- local config_xindy="--enable-xindy" +- fi +- + ############################################################# + ### configure + cd source +@@ -105,8 +96,7 @@ build() { + --disable-dump-share \ + --disable-aleph \ + --enable-luatex \ +- --with-clisp-runtime=default \ +- --disable-xindy-rules --disable-xindy-docs "$config_xindy" ++ --disable-xindy --disable-luajittex --disable-mfluajit + ############################################################# + ### make + echo "-------------------------------------------------------" +@@ -115,6 +105,15 @@ build() { + make + } + ++package_libsynctex() { ++ pkgdesc='Library for synchronization between TeX files and resulting file' ++ depends=('glibc' 'zlib') ++ ++ cd "${srcdir}/source/Work" ++ make -C texk/web2c DESTDIR="${pkgdir}" \ ++ install-data-am install-libLTLIBRARIES ++} ++ + package_texlive-bin() { + pkgdesc="TeX Live binaries" + pkgdesc+=" (Parabola rebranded)" +@@ -122,8 +121,7 @@ package_texlive-bin() { + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' + 'libsynctex') +- depends+=('icu>=61' 'icu<62' 'poppler=0.63.0') +- provides=('lcdf-typetools' 'kpathsea' 'xindy') ++ provides=('lcdf-typetools' 'kpathsea') + optdepends=('ed: for texconfig' + 'biber: for bibliography processing') + options=('!strip') +@@ -133,8 +131,6 @@ package_texlive-bin() { + ############################################################# + ### install + cd source +- # fixes for xindy +- find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \; + + echo "-------------------------------------------------------" + echo "--> Proceeding with make install ..." +@@ -307,7 +303,6 @@ texdoc + texdoctk + texexec + texfot +-texindy + texlinks + texliveonfly + texloganalyser +@@ -323,11 +318,7 @@ updmap-user + vpl2ovp + vpl2vpl + xhlatex +-xindy + " +- if [ "$CARCH" = "armv7h" ]; then +- _core_scripts="$(echo "$_core_scripts" | sed '/xindy$/d')" +- fi + _games_scripts="rubikrotation" + _humanities_scripts="diadia" + _langcyrillic_scripts="rubibtex rumakeindex" diff --git a/src/stage4/patches/texlive-bin.patch.libsynctex b/src/stage4/patches/texlive-bin.patch.libsynctex new file mode 100644 index 0000000..fd521b0 --- /dev/null +++ b/src/stage4/patches/texlive-bin.patch.libsynctex @@ -0,0 +1,56 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 03:30:50.128146613 +0200 ++++ b/PKGBUILD 2018-04-11 04:46:41.040715289 +0200 +@@ -10,7 +10,7 @@ arch=('x86_64') + makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' +- 'perl' 'clisp' 'ffcall') ++ 'perl') + url='http://tug.org/texlive/' + source=("https://sources.archlinux.org/other/texlive/texlive-bin-source-${pkgver}.tar.xz" + "luatex-gcc7.patch" +@@ -89,8 +89,7 @@ build() { + --disable-dump-share \ + --disable-aleph \ + --enable-luatex \ +- --with-clisp-runtime=default \ +- --enable-xindy --disable-xindy-rules --disable-xindy-docs ++ --disable-xindy --disable-luajittex --disable-mfluajit + ############################################################# + ### make + echo "-------------------------------------------------------" +@@ -114,7 +113,7 @@ package_texlive-bin() { + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' + 'libsynctex') +- provides=('lcdf-typetools' 'kpathsea' 'xindy') ++ provides=('lcdf-typetools' 'kpathsea') + optdepends=('ed: for texconfig' + 'biber: for bibliography processing') + options=('!strip') +@@ -124,8 +123,6 @@ package_texlive-bin() { + ############################################################# + ### install + cd source +- # fixes for xindy +- find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \; + + echo "-------------------------------------------------------" + echo "--> Proceeding with make install ..." +@@ -298,7 +295,6 @@ texdoc + texdoctk + texexec + texfot +-texindy + texlinks + texliveonfly + texloganalyser +@@ -314,7 +310,6 @@ updmap-user + vpl2ovp + vpl2vpl + xhlatex +-xindy + " + _games_scripts="rubikrotation" + _humanities_scripts="diadia" diff --git a/src/stage4/patches/vala-breakdeps.patch b/src/stage4/patches/vala-breakdeps.patch index 2efb73a..d7df56d 100644 --- a/src/stage4/patches/vala-breakdeps.patch +++ b/src/stage4/patches/vala-breakdeps.patch @@ -1,13 +1,11 @@ diff -rupN a/PKGBUILD b/PKGBUILD ---- a/PKGBUILD 2018-04-05 20:31:07.519477171 +0200 -+++ b/PKGBUILD 2018-04-05 20:31:07.520477171 +0200 -@@ -10,40 +10,27 @@ pkgdesc="Compiler for the GObject type s - url="https://wiki.gnome.org/Projects/Vala" +--- a/PKGBUILD 2018-04-10 13:59:21.242761216 +0200 ++++ b/PKGBUILD 2018-04-10 13:59:21.243761216 +0200 +@@ -11,37 +11,35 @@ url="https://wiki.gnome.org/Projects/Val arch=(x86_64) license=(LGPL) --depends=(glib2 gtk-doc graphviz ttf-font pkg-config gcc) + depends=(glib2 gtk-doc graphviz ttf-font pkg-config gcc) -makedepends=(libxslt vala git help2man) -+depends=(glib2 gtk-doc ttf-font pkg-config gcc) +makedepends=(libxslt git help2man) checkdepends=(dbus libx11 gobject-introspection) provides=(valadoc) @@ -15,26 +13,35 @@ diff -rupN a/PKGBUILD b/PKGBUILD replaces=(valadoc) _commit=3a11e70aefae4f2344b6352440e82cab0963f4f7 # tags/0.40.2^0 -source=("git+https://git.gnome.org/browse/vala#commit=$_commit") -+source=("git://git.gnome.org/vala-bootstrap") - sha256sums=('SKIP') +-sha256sums=('SKIP') ++source=("git://git.gnome.org/vala-bootstrap" ++ "git+https://git.gnome.org/browse/vala#commit=$_commit") ++sha256sums=('SKIP' ++ 'SKIP') -pkgver() { - cd $pkgname - git describe --tags | sed 's/-/+/g' -} -- ++build() { ++ cd $pkgname-bootstrap ++ ./autogen.sh ++ ./configure --prefix=$srcdir/vala-bootstrap --disable-build-from-vala \ ++ --disable-vapigen --disable-silent-rules ++ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool ++ make ++ make install ++ cd .. + -prepare() { -- cd $pkgname -- NOCONFIGURE=1 ./autogen.sh + cd $pkgname ++ export VALAC=$srcdir/vala-bootstrap/bin/valac + NOCONFIGURE=1 ./autogen.sh -} - - build() { +-build() { - cd $pkgname -- ./configure --prefix=/usr -+ cd $pkgname-bootstrap -+ ./autogen.sh -+ ./configure --prefix=/usr --disable-build-from-vala \ -+ --disable-vapigen --disable-silent-rules + ./configure --prefix=/usr sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } @@ -45,8 +52,5 @@ diff -rupN a/PKGBUILD b/PKGBUILD -} - package() { -- cd $pkgname -+ cd $pkgname-bootstrap + cd $pkgname make DESTDIR="$pkgdir" install - } - diff --git a/src/stage4/patches/xorg-server.patch b/src/stage4/patches/xorg-server.patch new file mode 100644 index 0000000..00bc0aa --- /dev/null +++ b/src/stage4/patches/xorg-server.patch @@ -0,0 +1,74 @@ +diff -rupN a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2018-04-11 07:29:18.352790517 +0200 ++++ b/PKGBUILD 2018-04-11 07:29:18.353790517 +0200 +@@ -16,7 +16,7 @@ makedepends=('pixman' 'libx11' 'mesa' 'm + 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' + 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' 'libepoxy' + 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto' +- 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'git') ++ 'libxshmfence' 'systemd' 'wayland-protocols' 'git') + _commit=d0d1a694f967af770fba0d36043fd5218ff20984 # branch 1.19 + #source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} + source=("git+https://anongit.freedesktop.org/git/xorg/xserver.git#commit=$_commit" +@@ -69,7 +69,6 @@ build() { + --enable-xnest \ + --enable-composite \ + --enable-xcsecurity \ +- --enable-libunwind \ + --enable-xorg \ + --enable-xephyr \ + --enable-glamor \ +@@ -127,7 +126,7 @@ package_xorg-server-common() { + + package_xorg-server() { + pkgdesc="Xorg X server" +- depends=(libepoxy libxfont2 pixman xorg-server-common libunwind dbus libgl xf86-input-libinput ++ depends=(libepoxy libxfont2 pixman xorg-server-common dbus libgl xf86-input-libinput + libpciaccess libdrm libxshmfence) # FS#52949 + + # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on +@@ -159,7 +158,7 @@ package_xorg-server() { + + package_xorg-server-xephyr() { + pkgdesc="A nested X server that runs as an X application" +- depends=(libxfont2 libgl libepoxy libunwind libsystemd libxv pixman xorg-server-common xcb-util-image ++ depends=(libxfont2 libgl libepoxy libsystemd libxv pixman xorg-server-common xcb-util-image + xcb-util-renderutil xcb-util-wm xcb-util-keysyms) + + cd xserver/hw/kdrive +@@ -172,7 +171,7 @@ package_xorg-server-xephyr() { + + package_xorg-server-xvfb() { + pkgdesc="Virtual framebuffer X server" +- depends=(libxfont2 libunwind libsystemd pixman xorg-server-common xorg-xauth libgl) ++ depends=(libxfont2 libsystemd pixman xorg-server-common xorg-xauth libgl) + + cd xserver/hw/vfb + #cd "${pkgbase}-${pkgver}/hw/vfb" +@@ -187,7 +186,7 @@ package_xorg-server-xvfb() { + + package_xorg-server-xnest() { + pkgdesc="A nested X server that runs as an X application" +- depends=(libxfont2 libxext libunwind pixman xorg-server-common libsystemd) ++ depends=(libxfont2 libxext pixman xorg-server-common libsystemd) + + cd xserver/hw/xnest + #cd "${pkgbase}-${pkgver}/hw/xnest" +@@ -199,7 +198,7 @@ package_xorg-server-xnest() { + + package_xorg-server-xdmx() { + pkgdesc="Distributed Multihead X Server and utilities" +- depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes libunwind pixman xorg-server-common) ++ depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes pixman xorg-server-common) + + cd xserver/hw/dmx + #cd "${pkgbase}-${pkgver}/hw/dmx" +@@ -211,7 +210,7 @@ package_xorg-server-xdmx() { + + package_xorg-server-xwayland() { + pkgdesc="run X clients under wayland" +- depends=(libxfont2 libepoxy libunwind libsystemd libgl pixman xorg-server-common) ++ depends=(libxfont2 libepoxy libsystemd libgl pixman xorg-server-common) + + cd xserver/hw/xwayland + #cd "${pkgbase}-${pkgver}/hw/xwayland" diff --git a/src/stage4/stage4.sh b/src/stage4/stage4.sh index d8304f6..9fc0408 100644 --- a/src/stage4/stage4.sh +++ b/src/stage4/stage4.sh @@ -29,8 +29,8 @@ stage4_makepkg() { [ "x$1" != "x$pkgname" ] && prefix=(-r -p breakdeps) package_fetch_upstream_pkgfiles "$pkgname" || return - package_import_keys "$pkgname" || return package_patch "${prefix[@]}" "$pkgname" || return + package_import_keys "$pkgname" || return # substitute common variables sed "s#@MULTILIB@#${MULTILIB:-disable}#g" \ @@ -53,7 +53,7 @@ stage4_makepkg() { # add a temporary -breakdeps build, if a patch exists if [ "x$1" == "x$pkgname" ] && package_has_patch -p breakdeps "$1"; then deptree_add_entry "$1-breakdeps" "$1" - sed -i "s/ $pkgname / $pkgname-breakdeps /g" "$DEPTREE" + sed -i "s/ / /g; s/ $pkgname / $pkgname-breakdeps /g; s/ */ /g" "$DEPTREE" fi # postpone actual build return 0 diff --git a/tools/analyze_deptree.sh b/tools/analyze_deptree.sh new file mode 100644 index 0000000..3749c51 --- /dev/null +++ b/tools/analyze_deptree.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# first, reduce the deptree +deptree="$(cat "$1")" +while grep -q '\[ *\]' <<< "$deptree"; do + pkg=$(grep '\[ *\]' <<< "$deptree" | head -n1 | awk '{print $1}') + echo "consuming pkg: $pkg" + deptree="$(sed "/^$pkg :/d; s/ / /g; s/ $pkg / /g; s/ */ /g" <<< "$deptree")" +done +printf "%s" "$deptree" > DEPTREE.reduced +echo "unresolved pkgs: $(wc -l < DEPTREE.reduced)" + +read -r -d '' CMD << 'EOF' +import sys +import networkx as nx +import itertools +graph = nx.DiGraph() +with open(sys.argv[1]) as deptree: + for line in deptree: + line = line.split('#')[0] + lhs, rhs = line.split(':') + lhs = lhs.strip() + rhs = rhs.lstrip(' [').rstrip('] ') + graph.add_node(lhs) + for dep in rhs.split(): + if not dep in graph: + graph.add_node(dep) + graph.add_edge(lhs, dep) + +cycles=nx.simple_cycles(graph) +for cycle in cycles: + print(cycle) +EOF + +echo "crunching cycles... (press CTRL-C to stop)" +# second, find cycles (sample for up to 5 seconds) +python -c "$CMD" DEPTREE.reduced > DEPTREE.cycles +echo "found cycles: $(wc -l < DEPTREE.cycles)" + +echo "collecting stats..." +# third, count occurrences of pkgnames in the cycles +for pkg in $(awk '{print $1}' < DEPTREE.reduced); do + count=$(grep "'$pkg'" DEPTREE.cycles | wc -l) + [ $count -gt 0 ] && echo "$pkg: $count" +done | sort -rgk2 > DEPTREE.stats +echo "all done." |