summaryrefslogtreecommitdiffstats
path: root/abs/extra
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra')
-rw-r--r--abs/extra/adobe-source-sans-pro-fonts/PKGBUILD21
-rw-r--r--abs/extra/ant/PKGBUILD82
-rw-r--r--abs/extra/ant/ant.conf8
-rw-r--r--abs/extra/aom/PKGBUILD48
-rw-r--r--abs/extra/apache-ant/PKGBUILD74
-rw-r--r--abs/extra/apache-ant/ant_diagnostics.patch23
-rw-r--r--abs/extra/apache-ant/apache-ant.csh1
-rw-r--r--abs/extra/apache-ant/apache-ant.sh1
-rw-r--r--abs/extra/appstream-glib/PKGBUILD42
-rw-r--r--abs/extra/bubblewrap/PKGBUILD36
-rw-r--r--abs/extra/cantarell-fonts/PKGBUILD37
-rw-r--r--abs/extra/ccache/PKGBUILD51
-rw-r--r--abs/extra/clang/PKGBUILD106
-rw-r--r--abs/extra/clang/enable-SSP-and-PIE-by-default.patch (renamed from abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch)118
-rw-r--r--abs/extra/compiler-rt/PKGBUILD47
-rw-r--r--abs/extra/docbook-xml/PKGBUILD361
-rw-r--r--abs/extra/docbook-xsl/765567_non-recursive_string_subst.patch32
-rw-r--r--abs/extra/docbook-xsl/PKGBUILD49
-rw-r--r--abs/extra/docbook-xsl/docbook-xsl.install18
-rw-r--r--abs/extra/dune/PKGBUILD38
-rw-r--r--abs/extra/egl-wayland/10_nvidia_wayland.json6
-rw-r--r--abs/extra/egl-wayland/PKGBUILD44
-rw-r--r--abs/extra/eglexternalplatform/PKGBUILD33
-rw-r--r--abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch72
-rw-r--r--abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch32
-rw-r--r--abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch25
-rw-r--r--abs/extra/emacs-nox/PKGBUILD55
-rw-r--r--abs/extra/emacs-nox/emacs-nox.changelog56
-rw-r--r--abs/extra/ffmpeg2.8/PKGBUILD4
-rw-r--r--abs/extra/ffnvcodec-headers/PKGBUILD26
-rw-r--r--abs/extra/fmt/PKGBUILD48
-rw-r--r--abs/extra/gcab/PKGBUILD36
-rw-r--r--abs/extra/glances/PKGBUILD4
-rw-r--r--abs/extra/google-chrome/.SRCINFO32
-rw-r--r--abs/extra/google-chrome/PKGBUILD4
-rwxr-xr-xabs/extra/google-chrome/update_version.sh31
-rw-r--r--abs/extra/gtk-doc/PKGBUILD46
-rw-r--r--abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch85
-rw-r--r--abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch94
-rw-r--r--abs/extra/gtk3/PKGBUILD106
-rw-r--r--abs/extra/gtk3/gtk-query-immodules-3.0.hook11
-rw-r--r--abs/extra/gtk3/gtk-update-icon-cache.hook13
-rw-r--r--abs/extra/gtk3/gtk-update-icon-cache.install3
-rw-r--r--abs/extra/gtk3/gtk-update-icon-cache.script10
-rw-r--r--abs/extra/gtk3/gtk3.install15
-rw-r--r--abs/extra/handbrake/PKGBUILD26
-rw-r--r--abs/extra/java-common/PKGBUILD24
-rwxr-xr-xabs/extra/java-common/bin_archlinux-java20
-rwxr-xr-xabs/extra/java-common/test_archlinux-java299
-rw-r--r--abs/extra/java-hamcrest/LICENSE.txt27
-rw-r--r--abs/extra/java-hamcrest/PKGBUILD38
-rw-r--r--abs/extra/java8-openjdk/PKGBUILD280
-rw-r--r--abs/extra/java8-openjdk/install_jdk8-openjdk.sh50
-rw-r--r--abs/extra/java8-openjdk/install_jre8-openjdk-headless.sh48
-rw-r--r--abs/extra/java8-openjdk/install_jre8-openjdk.sh42
-rw-r--r--abs/extra/json-glib/PKGBUILD48
-rw-r--r--abs/extra/junit/PKGBUILD16
-rw-r--r--abs/extra/kodi-addon-inputstream-adaptive/PKGBUILD27
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD64
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/__changelog4
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch509
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv/PKGBUILD41
-rw-r--r--abs/extra/kodi/10160.patch22
-rw-r--r--abs/extra/kodi/10775.patch839
-rw-r--r--abs/extra/kodi/9703.patch1432
-rw-r--r--abs/extra/kodi/PKGBUILD210
-rw-r--r--abs/extra/kodi/__changelog1
-rw-r--r--abs/extra/kodi/cheat-sse-build.patch11
-rw-r--r--abs/extra/kodi/cpuinfo4
-rw-r--r--abs/extra/kodi/fix-ftpparse.patch71
-rw-r--r--abs/extra/kodi/fix-python-lib-path.patch29
-rw-r--r--abs/extra/kodi/kodi.install1
-rw-r--r--abs/extra/libbluray/PKGBUILD35
-rw-r--r--abs/extra/libdvdcss/PKGBUILD13
-rw-r--r--abs/extra/libepoxy/PKGBUILD48
-rw-r--r--abs/extra/libepoxy/__changelog1
-rw-r--r--abs/extra/libsass/PKGBUILD28
-rw-r--r--abs/extra/libsoup/PKGBUILD46
-rw-r--r--abs/extra/libsoup/__changelog1
-rw-r--r--abs/extra/libstemmer/PKGBUILD55
-rw-r--r--abs/extra/libstemmer/dynamiclib.patch39
-rw-r--r--abs/extra/libva-intel-driver/427.patch65
-rw-r--r--abs/extra/libva-intel-driver/PKGBUILD43
-rw-r--r--abs/extra/libva/PKGBUILD60
-rw-r--r--abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch48
-rw-r--r--abs/extra/libvpx/PKGBUILD7
-rw-r--r--abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch37
-rw-r--r--abs/extra/llvm/PKGBUILD207
-rw-r--r--abs/extra/llvm/add-discriminator-to-debuginfo-test.patch25
-rw-r--r--abs/extra/llvm/disable-llvm-symbolizer-test.patch26
-rw-r--r--abs/extra/llvm/rusty-discriminator-thingy.patch57
-rw-r--r--abs/extra/mercurial/PKGBUILD62
-rw-r--r--abs/extra/mercurial/mercurial.profile1
-rw-r--r--abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch30
-rw-r--r--abs/extra/meson/4878.patch26
-rw-r--r--abs/extra/meson/PKGBUILD41
-rw-r--r--abs/extra/meson/arch-meson28
-rw-r--r--abs/extra/ninja/PKGBUILD10
-rw-r--r--abs/extra/nvidia-settings/PKGBUILD61
-rw-r--r--abs/extra/nvidia-settings/libxnvctrl_so.patch67
-rw-r--r--abs/extra/ocaml-ctypes/PKGBUILD7
-rw-r--r--abs/extra/ocaml-findlib/PKGBUILD19
-rw-r--r--abs/extra/ocaml-findlib/externalmeta6.patch13
-rw-r--r--abs/extra/ocaml-findlib/makefile.patch13
-rw-r--r--abs/extra/ocaml-integers/PKGBUILD30
-rw-r--r--abs/extra/ocaml-result/PKGBUILD32
-rw-r--r--abs/extra/ocaml-topkg/PKGBUILD28
-rw-r--r--abs/extra/ocaml/PKGBUILD7
-rw-r--r--abs/extra/ocamlbuild/PKGBUILD15
-rw-r--r--abs/extra/opam/PKGBUILD36
-rw-r--r--abs/extra/openpht/PKGBUILD2
-rw-r--r--abs/extra/plex-media-server/PKGBUILD6
-rw-r--r--abs/extra/rapidjson/PKGBUILD37
-rw-r--r--abs/extra/sassc/PKGBUILD29
-rw-r--r--abs/extra/screen/PKGBUILD70
-rw-r--r--abs/extra/screen/pam.d (renamed from abs/extra/screen/screen.pam)0
-rw-r--r--abs/extra/screen/screen-4.0.3-caption-colors.patch21
-rw-r--r--abs/extra/screen/screen-4.0.3-long-term.patch24
-rw-r--r--abs/extra/screen/screen.install21
-rw-r--r--abs/extra/screen/tmpfiles.d1
-rw-r--r--abs/extra/source-highlight/PKGBUILD14
-rw-r--r--abs/extra/source-highlight/fix-zsh-highlighting-hangups.patch13
-rw-r--r--abs/extra/ttf-google-fonts-git/PKGBUILD72
-rw-r--r--abs/extra/ttf-google-fonts-git/font.install15
-rw-r--r--abs/extra/wayland-protocols/PKGBUILD17
-rw-r--r--abs/extra/wayland/PKGBUILD47
-rw-r--r--abs/extra/yelp-tools/PKGBUILD33
127 files changed, 3285 insertions, 4771 deletions
diff --git a/abs/extra/adobe-source-sans-pro-fonts/PKGBUILD b/abs/extra/adobe-source-sans-pro-fonts/PKGBUILD
new file mode 100644
index 0000000..7086c40
--- /dev/null
+++ b/abs/extra/adobe-source-sans-pro-fonts/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=adobe-source-sans-pro-fonts
+pkgver=2.045ro+1.095it
+_relver=2.045R-ro/1.095R-it
+pkgrel=1
+pkgdesc="Sans serif font family for user interface environments"
+url="https://adobe-fonts.github.io/source-sans-pro/"
+arch=(any)
+license=(custom)
+_tarname=source-sans-pro-${_relver//\//-}
+source=("$_tarname.tar.gz::https://github.com/adobe-fonts/source-sans-pro/archive/$_relver.tar.gz")
+sha256sums=('01e78d7ff451545ff1eec6cf14b28f62135e430a7ba80d74a90efd5334fef7eb')
+
+package() {
+ cd $_tarname
+ install -Dt "$pkgdir/usr/share/fonts/${pkgname%-fonts}" -m644 OTF/*.otf VAR/*.otf
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE.txt
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/ant/PKGBUILD b/abs/extra/ant/PKGBUILD
new file mode 100644
index 0000000..7ed980b
--- /dev/null
+++ b/abs/extra/ant/PKGBUILD
@@ -0,0 +1,82 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+# Contributor: Andrew Wright <andreww@photism.org>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgbase=ant
+pkgname=('ant' 'ant-doc')
+pkgver=1.10.5
+pkgrel=1
+pkgdesc='Java based build tool'
+url='https://ant.apache.org/'
+arch=('any')
+license=('APACHE')
+makedepends=('bash' 'java-environment' 'junit' 'java-hamcrest')
+source=(https://www.apache.org/dist/ant/source/apache-${pkgbase}-${pkgver}-src.tar.bz2{,.asc}
+ ant.conf)
+sha256sums=('71a5cdd45a54901b6321d5a140d882f7580c38f766a4e4959bcc36555da9f3ac'
+ 'SKIP'
+ '23bbef577b56d48adb1985dbd9795e5533146646f1e8bb879dd061a4014ffcf2')
+validpgpkeys=('CE8075A251547BEE249BC151A2115AE15F6B8B72') # Stefan Bodewig
+
+_replace_lib() {
+ # explicitly call rm to ensure we replace instead of add
+ rm "$2"
+ ln -s "$1" "$2"
+}
+
+prepare() {
+ cd apache-${pkgbase}-${pkgver}
+ sed -i 's|/usr/bin/python|/usr/bin/python2|' src/script/runant.py
+}
+
+build() {
+ cd apache-${pkgbase}-${pkgver}
+ export JAVA_HOME=/usr/lib/jvm/default
+ ./bootstrap.sh
+ bootstrap/bin/ant -Ddest=optional -f fetch.xml
+ _replace_lib /usr/share/java/junit.jar lib/optional/junit-4.12.jar
+ _replace_lib /usr/share/java/hamcrest-core.jar lib/optional/hamcrest-core-1.3.jar
+ _replace_lib /usr/share/java/hamcrest-library.jar lib/optional/hamcrest-library-1.3.jar
+ bootstrap/bin/ant dist
+}
+
+package_ant() {
+ depends=('java-environment' 'bash')
+ optdepends=('junit: junit tasks'
+ 'java-hamcrest: junit tasks')
+ replaces=('apache-ant')
+ provides=('apache-ant')
+ conflicts=('apache-ant')
+ backup=('etc/ant.conf')
+
+ cd apache-${pkgbase}-${pkgver}/apache-${pkgbase}-${pkgver}
+ local _ant_home=/usr/share/ant
+
+ install -d "${pkgdir}${_ant_home}"
+ cp -Rp etc "${pkgdir}${_ant_home}"
+
+ find bin -type f -a ! -name \*.bat -a ! -name \*.cmd \
+ -exec install -Dm 755 {} -t "${pkgdir}${_ant_home}/bin" \;
+ install -d "${pkgdir}/usr/bin"
+ ln -s /usr/share/ant/bin/ant "${pkgdir}/usr/bin/ant"
+
+ install -Dm 644 "${srcdir}/ant.conf" -t "${pkgdir}/etc"
+ install -Dm 644 lib/*.jar -t "${pkgdir}/usr/share/java/ant"
+ ln -s /usr/share/java/ant "${pkgdir}${_ant_home}/lib"
+
+ install -Dm 644 ../{LICENSE,NOTICE} -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+package_ant-doc() {
+ pkgdesc='Apache Ant build tool documentation'
+ replaces=('apache-ant-doc')
+ provices=('apache-ant-doc')
+ conflicts=('apache-ant-doc')
+
+ install -d "${pkgdir}/usr/share/doc/ant"
+ cp -r apache-${pkgbase}-${pkgver}/apache-${pkgbase}-${pkgver}/manual/* \
+ "${pkgdir}/usr/share/doc/ant"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/ant/ant.conf b/abs/extra/ant/ant.conf
new file mode 100644
index 0000000..63bf219
--- /dev/null
+++ b/abs/extra/ant/ant.conf
@@ -0,0 +1,8 @@
+# Apache Ant start script configuration file
+ANT_HOME=/usr/share/ant
+
+# Optional jars and their dependencies
+OPT_JAR_LIST=/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar
+LOCALCLASSPATH=${OPT_JAR_LIST}
+
+# vim:ft=sh
diff --git a/abs/extra/aom/PKGBUILD b/abs/extra/aom/PKGBUILD
new file mode 100644
index 0000000..cd86dd7
--- /dev/null
+++ b/abs/extra/aom/PKGBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Chocobo1 <chocobo1 AT archlinux DOT net>
+
+pkgname=aom
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Alliance for Open Media video codec"
+url="https://aomedia.org/"
+arch=(x86_64)
+license=(BSD custom:PATENTS)
+depends=(gcc-libs)
+makedepends=(git cmake ninja doxygen graphviz yasm)
+_commit=d14c5bb4f336ef1842046089849dee4a301fbbf0 # tags/v1.0.0^0
+source=("git+https://aomedia.googlesource.com/aom#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+ mkdir build
+ cd $pkgname
+ # Reduce docs size
+ printf '%s\n' >>libs.doxy_template \
+ HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes
+}
+
+build() {
+ cd build
+ cmake -G Ninja ../$pkgname \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=1 \
+ -DENABLE_TESTS=0
+ cmake --build .
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --build build --target install
+
+ mkdir -p "$pkgdir/usr/share/doc"
+ cp -r build/docs/html "$pkgdir/usr/share/doc/$pkgname"
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname/{LICENSE,PATENTS}
+}
+
+# vim:set et sw=2:
diff --git a/abs/extra/apache-ant/PKGBUILD b/abs/extra/apache-ant/PKGBUILD
deleted file mode 100644
index d8982e8..0000000
--- a/abs/extra/apache-ant/PKGBUILD
+++ /dev/null
@@ -1,74 +0,0 @@
-# $Id: PKGBUILD 160040 2012-05-28 13:39:12Z guillaume $
-# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
-# Contributor: Andrew Wright <andreww@photism.org>
-# Contributor: Paul Mattal <paul@archlinux.org>
-pkgname=apache-ant
-pkgver=1.8.4
-pkgrel=1
-pkgdesc="A java-based build tool"
-arch=('any')
-url="http://ant.apache.org/"
-license=('APACHE')
-depends=('java-environment')
-makedepends=('java-environment' 'xalan-java' 'junit' 'apache-ant')
-optdepends=('junit: to jave junit on the classpath in javac tasks')
-#http://apache.org/dist/ant/source/${pkgname}-${pkgver}-src.tar.bz2
-source=(http://apache.org/dist/ant/binaries/${pkgname}-${pkgver}-bin.tar.bz2
- ${pkgname}.sh
- ${pkgname}.csh)
-md5sums=('561838e665e5dc185dde9d220fce1336'
- 'dbfa1e8dd4bab2f5821f5abe50835c83'
- 'b3f67824043b6fb00667bb7a4007af42')
-
-_ant_home=/usr/share/${pkgname}
-
-#build() {
-# cd "${srcdir}/${pkgname}-${pkgver}"
-
-# ant -Ddest=optional -f fetch.xml
-
-# ln -s /usr/share/java/junit.jar lib/optional/junit.jar
-# ./bootstrap.sh
-
-# mkdir ${srcdir}/.m2
-# ./bootstrap/bin/ant -Ddest=optional -Ddest.dir=${srcdir}/.m2 -f fetch.xml
-# ./bootstrap/bin/ant -f fetch.xml -nouserlib -Ddest=optional
-
-# sh build.sh dist
-
-# ant dist
-#}
-
-package() {
-# cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}-${pkgver}"
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- install -dm755 ${pkgdir}/${_ant_home}/bin
- cp -Rp etc ${pkgdir}/${_ant_home}
- find ./bin -type f -a ! -name \*.bat -a ! -name \*.cmd \
- -exec install -m755 {} ${pkgdir}/${_ant_home}/bin \;
-
- install -dm755 ${pkgdir}/usr/bin
- ln -s ${_ant_home}/bin/ant ${pkgdir}/usr/bin/ant
-
- install -dm755 ${pkgdir}/usr/share/java/${pkgname}
- install -m644 lib/*.jar ${pkgdir}/usr/share/java/${pkgname}
- ln -s /usr/share/java/${pkgname} ${pkgdir}/${_ant_home}/lib
-
- # Symlink to junit so it's on the javac build path
- # http://bugs.archlinux.org/task/15229
- # http://ant.apache.org/manual/install.html#optionalTasks
- ln -sf ../junit.jar ${pkgdir}/usr/share/java/apache-ant/
-
- # fix python2 path
- sed -i 's|/usr/bin/python|/usr/bin/python2|' ${pkgdir}${_ant_home}/bin/runant.py
-
- # install profile.d script
- install -dm755 ${pkgdir}/etc/profile.d
- install -m755 "${srcdir}"/${pkgname}.{csh,sh} ${pkgdir}/etc/profile.d/
-
- # License says NOTICE file should be redistributed for derivative works
- cd ${srcdir}/${pkgname}-${pkgver}
- install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 LICENSE NOTICE ${pkgdir}/usr/share/licenses/${pkgname}
-}
diff --git a/abs/extra/apache-ant/ant_diagnostics.patch b/abs/extra/apache-ant/ant_diagnostics.patch
deleted file mode 100644
index 38148b4..0000000
--- a/abs/extra/apache-ant/ant_diagnostics.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/src/main/org/apache/tools/ant/Diagnostics.java
-+++ b/src/main/org/apache/tools/ant/Diagnostics.java
-@@ -179,7 +179,10 @@
- * @param clazz the class to get the information from.
- * @since Ant 1.8.0
- */
-- private static URL getClassLocation(Class clazz) {
-+ private static URL getClassLocation(Class clazz) {
-+ if (clazz.getProtectionDomain().getCodeSource() == null) {
-+ return null;
-+ }
- return clazz.getProtectionDomain().getCodeSource().getLocation();
- }
-
-@@ -241,7 +244,7 @@
- }
- Transformer transformer = null;
- try {
-- transformer = transformerFactory.newTransformer();
-+ transformer = transformerFactory.newTransformer();
- } catch (Exception e) {
- // ignore
- ignoreThrowable(e);
diff --git a/abs/extra/apache-ant/apache-ant.csh b/abs/extra/apache-ant/apache-ant.csh
deleted file mode 100644
index a19392b..0000000
--- a/abs/extra/apache-ant/apache-ant.csh
+++ /dev/null
@@ -1 +0,0 @@
-setenv ANT_HOME /usr/share/apache-ant
diff --git a/abs/extra/apache-ant/apache-ant.sh b/abs/extra/apache-ant/apache-ant.sh
deleted file mode 100644
index eaa8a54..0000000
--- a/abs/extra/apache-ant/apache-ant.sh
+++ /dev/null
@@ -1 +0,0 @@
-export ANT_HOME=/usr/share/apache-ant
diff --git a/abs/extra/appstream-glib/PKGBUILD b/abs/extra/appstream-glib/PKGBUILD
new file mode 100644
index 0000000..7492a3b
--- /dev/null
+++ b/abs/extra/appstream-glib/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=appstream-glib
+pkgver=0.7.14
+pkgrel=1
+pkgdesc="Objects and methods for reading and writing AppStream metadata"
+url="https://people.freedesktop.org/~hughsient/appstream-glib/"
+arch=(x86_64)
+license=(LGPL)
+depends=(gtk3 libyaml pacman gcab libsoup libstemmer)
+makedepends=(gobject-introspection gtk-doc autoconf-archive git gperf meson)
+provides=(appdata-tools)
+conflicts=(appdata-tools)
+replaces=(appdata-tools)
+_commit=75a7af1d8870bb0fcf216e788b273a4c41e99cec # tags/appstream_glib_0_7_14^0
+source=("git+https://github.com/hughsie/appstream-glib#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^appstream_glib_//;s/_/./g;s/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+}
+
+build() {
+ arch-meson $pkgname build \
+ -D alpm=true \
+ -D gtk-doc=true \
+ -D rpm=false
+ ninja -C build
+}
+
+check() {
+ meson test -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+}
diff --git a/abs/extra/bubblewrap/PKGBUILD b/abs/extra/bubblewrap/PKGBUILD
new file mode 100644
index 0000000..5d443dd
--- /dev/null
+++ b/abs/extra/bubblewrap/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+
+pkgname=bubblewrap
+pkgver=0.3.1
+pkgrel=1
+pkgdesc='Unprivileged sandboxing tool'
+url='https://github.com/projectatomic/bubblewrap'
+arch=(x86_64)
+license=(GPL)
+depends=(glibc libcap)
+makedepends=(libxslt docbook-xsl git)
+_commit=e7b517f40956a153972fd61a2c6da1140f52990b # tags/v0.3.1^0
+source=(git+$url#commit=$_commit)
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe | sed 's/^v//'
+}
+
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd $pkgname
+ ./configure --prefix=/usr \
+ --with-priv-mode=setuid
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/cantarell-fonts/PKGBUILD b/abs/extra/cantarell-fonts/PKGBUILD
new file mode 100644
index 0000000..6a721d4
--- /dev/null
+++ b/abs/extra/cantarell-fonts/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=cantarell-fonts
+pkgver=0.111
+pkgrel=1
+epoch=1
+pkgdesc="Humanist sans serif font"
+url="https://gitlab.gnome.org/GNOME/cantarell-fonts"
+arch=(any)
+license=(custom:SIL)
+makedepends=(meson appstream-glib git)
+_commit=9c0eb3dc8c0b2e0d5b9e4dfcd48ca1b9531baaa9 # tags/v0.111^0
+source=("git+https://gitlab.gnome.org/GNOME/cantarell-fonts.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+ python -m venv venv
+ venv/bin/pip install fontmake psautohint
+ cd $pkgname
+}
+
+build() {
+ PATH="$srcdir/venv/bin:$PATH" arch-meson $pkgname build
+ ninja -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname/COPYING
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/ccache/PKGBUILD b/abs/extra/ccache/PKGBUILD
new file mode 100644
index 0000000..9928463
--- /dev/null
+++ b/abs/extra/ccache/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=ccache
+pkgver=3.6
+pkgrel=1
+pkgdesc='Compiler cache that speeds up recompilation by caching previous compilations'
+url='https://ccache.samba.org/'
+arch=('x86_64')
+license=('GPL3')
+depends=('zlib')
+source=(https://www.samba.org/ftp/ccache/ccache-${pkgver}.tar.xz{,.asc})
+validpgpkeys=('5A939A71A46792CF57866A51996DDA075594ADB8') # Joel Rosdahl <joel@rosdahl.net>
+sha256sums=('a6b129576328fcefad00cb72035bc87bc98b6a76aec0f4b59bed76d67a399b1f'
+ 'SKIP')
+sha512sums=('13ce4c9084983ce77617cf005235987715cd6b630dac13a17cb9badce24aab71bff505e63da4206878e32d337cc674f05fbf78540711ec5b33a0b8384c47fa0d'
+ 'SKIP')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ install -Dm 755 ccache -t "${pkgdir}/usr/bin"
+ install -Dm 644 doc/ccache.1 -t "${pkgdir}/usr/share/man/man1"
+ install -Dm 644 doc/{AUTHORS,MANUAL,NEWS}.adoc README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
+
+ install -d "${pkgdir}/usr/lib/ccache/bin"
+ local _prog
+ for _prog in gcc g++ c++; do
+ ln -s /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/$_prog"
+ ln -s /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/${CHOST}-$_prog"
+ done
+ for _prog in cc clang clang++; do
+ ln -s /usr/bin/ccache "${pkgdir}/usr/lib/ccache/bin/$_prog"
+ done
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/clang/PKGBUILD b/abs/extra/clang/PKGBUILD
new file mode 100644
index 0000000..b05858d
--- /dev/null
+++ b/abs/extra/clang/PKGBUILD
@@ -0,0 +1,106 @@
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=clang
+pkgver=7.0.1
+pkgrel=1
+pkgdesc="C language family frontend for LLVM"
+arch=('x86_64')
+url="https://clang.llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('llvm-libs' 'gcc' 'compiler-rt')
+makedepends=('llvm' 'cmake' 'ninja' 'python-sphinx' 'python2')
+optdepends=('openmp: OpenMP support in clang with -fopenmp'
+ 'python: for git-clang-format'
+ 'python2: for scan-view')
+provides=("clang-analyzer=$pkgver" "clang-tools-extra=$pkgver")
+conflicts=('clang-analyzer' 'clang-tools-extra')
+replaces=('clang-analyzer' 'clang-tools-extra')
+source=(https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+ https://releases.llvm.org/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
+ https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+ enable-SSP-and-PIE-by-default.patch)
+sha256sums=('a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418'
+ 'SKIP'
+ '4c93c7d2bb07923a8b272da3ef7914438080aeb693725f4fc5c19cd0e2613bed'
+ 'SKIP'
+ 'a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b'
+ 'SKIP'
+ '8dd3938afb93a051acf69373f7a4e1eb7cf9dd28d8e334c98d30a531d4af0181')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org>
+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com>
+
+prepare() {
+ cd "$srcdir/cfe-$pkgver.src"
+ mkdir build
+ mv "$srcdir/clang-tools-extra-$pkgver.src" tools/extra
+ patch -Np1 -i ../enable-SSP-and-PIE-by-default.patch
+}
+
+build() {
+ cd "$srcdir/cfe-$pkgver.src/build"
+
+ cmake .. -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DPYTHON_EXECUTABLE=/usr/bin/python \
+ -DBUILD_SHARED_LIBS=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_BUILD_TESTS=ON \
+ -DLLVM_INCLUDE_DOCS=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ -DLLVM_EXTERNAL_LIT=/usr/bin/lit \
+ -DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src"
+ ninja
+}
+
+check() {
+ cd "$srcdir/cfe-$pkgver.src/build"
+ ninja check-clang{,-tools}
+}
+
+_python2_optimize() {
+ python2 -m compileall "$@"
+ python2 -O -m compileall "$@"
+}
+
+_python3_optimize() {
+ python3 -m compileall "$@"
+ python3 -O -m compileall "$@"
+ python3 -OO -m compileall "$@"
+}
+
+package() {
+ cd "$srcdir/cfe-$pkgver.src/build"
+
+ DESTDIR="$pkgdir" ninja install
+ install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/clang{,-tools}/html/{_sources,.buildinfo}
+
+ # Move analyzer scripts out of /usr/libexec
+ mv "$pkgdir"/usr/libexec/{ccc,c++}-analyzer "$pkgdir/usr/lib/clang/"
+ rmdir "$pkgdir/usr/libexec"
+ sed -i 's|libexec|lib/clang|' "$pkgdir/usr/bin/scan-build"
+
+ # Install Python bindings
+ for _py in 2.7 3.7; do
+ install -d "$pkgdir/usr/lib/python$_py/site-packages"
+ cp -a ../bindings/python/clang "$pkgdir/usr/lib/python$_py/site-packages/"
+ _python${_py%%.*}_optimize "$pkgdir/usr/lib/python$_py"
+ done
+
+ # Fix shebang in Python 2 scripts
+ sed -i '1s|/usr/bin/env python$|&2|' \
+ "$pkgdir/usr/bin/scan-view" \
+ "$pkgdir"/usr/share/$pkgname/*.py
+
+ # Compile Python scripts
+ _python2_optimize "$pkgdir/usr/share"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch b/abs/extra/clang/enable-SSP-and-PIE-by-default.patch
index 030146c..383fc66 100644
--- a/abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch
+++ b/abs/extra/clang/enable-SSP-and-PIE-by-default.patch
@@ -1,7 +1,7 @@
-From 60fa751da239e592b31bde2533342dac64359e7f Mon Sep 17 00:00:00 2001
+From ece245fe717765630790da501a3d64f5c09a1e09 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Thu, 6 Jul 2017 18:15:43 +0300
-Subject: [PATCH 2/2] Enable SSP and PIE by default
+Date: Thu, 20 Sep 2018 06:20:28 +0300
+Subject: [PATCH] Enable SSP and PIE by default
This is a minimal set of changes needed to make clang use SSP and PIE by
default on Arch Linux. Tests that were easy to adjust have been changed
@@ -17,61 +17,50 @@ solution, but a simple temporary fix.
Hopefully these changes will be obsoleted by the introduction upstream
of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
---
- lib/Driver/ToolChains/Gnu.cpp | 1 +
- lib/Driver/ToolChains/Linux.cpp | 14 +++++++++++++-
+ lib/Driver/ToolChains/Linux.cpp | 14 ++++++++++++--
lib/Driver/ToolChains/Linux.h | 1 +
+ test/Driver/clang-offload-bundler.c | 2 +-
test/Driver/cross-linux.c | 16 ++++++++--------
test/Driver/env.c | 2 +-
- test/Driver/fsanitize.c | 18 ++++++++++--------
+ test/Driver/fsanitize.c | 14 +++++++-------
test/Driver/gcc-toolchain.cpp | 2 +-
test/Driver/hexagon-toolchain-elf.c | 2 +-
test/Driver/linux-as.c | 4 ++--
test/Driver/linux-ld.c | 2 ++
+ test/Driver/riscv32-toolchain.c | 4 ++--
test/Driver/stack-protector.c | 4 ++--
- 11 files changed, 42 insertions(+), 24 deletions(-)
+ 12 files changed, 40 insertions(+), 27 deletions(-)
-diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
-index 72a9f85ba3..4fd567b03b 100644
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -417,6 +417,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
- const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
- const bool IsPIE =
- !Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) &&
-+ !Args.hasArg(options::OPT_nopie) &&
- (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
- const bool HasCRTBeginEndFiles =
- ToolChain.getTriple().hasEnvironment() ||
diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
-index 08a27fa7fe..1dd70b115d 100644
+index f8f3623918..7f75021542 100644
--- a/lib/Driver/ToolChains/Linux.cpp
+++ b/lib/Driver/ToolChains/Linux.cpp
-@@ -810,7 +810,19 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
- }
+@@ -903,8 +903,18 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
}
--bool Linux::isPIEDefault() const { return getSanitizerArgs().requiresPIE(); }
-+bool Linux::isPIEDefault() const {
-+ const bool IsMips = tools::isMipsArch(getTriple().getArch());
+ bool Linux::isPIEDefault() const {
+- return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
+- getTriple().isMusl() || getSanitizerArgs().requiresPIE();
++ const bool IsMips = getTriple().isMIPS();
+ const bool IsAndroid = getTriple().isAndroid();
+
+ if (IsMips || IsAndroid)
-+ return getSanitizerArgs().requiresPIE();
++ return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
++ getTriple().isMusl() || getSanitizerArgs().requiresPIE();
+
+ return true;
+}
+
+unsigned Linux::GetDefaultStackProtectorLevel(bool KernelOrKext) const {
+ return 2;
-+}
+ }
SanitizerMask Linux::getSupportedSanitizers() const {
- const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
diff --git a/lib/Driver/ToolChains/Linux.h b/lib/Driver/ToolChains/Linux.h
-index 9778c1832c..ddd46a1d58 100644
+index 22dbbecf6b..ba0d5587e0 100644
--- a/lib/Driver/ToolChains/Linux.h
+++ b/lib/Driver/ToolChains/Linux.h
-@@ -36,6 +36,7 @@ public:
+@@ -38,6 +38,7 @@ public:
void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
bool isPIEDefault() const override;
@@ -79,6 +68,19 @@ index 9778c1832c..ddd46a1d58 100644
SanitizerMask getSupportedSanitizers() const override;
void addProfileRTLibs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const override;
+diff --git a/test/Driver/clang-offload-bundler.c b/test/Driver/clang-offload-bundler.c
+index adf13f59d4..fd2f6e5d8c 100644
+--- a/test/Driver/clang-offload-bundler.c
++++ b/test/Driver/clang-offload-bundler.c
+@@ -115,7 +115,7 @@
+ // CK-TEXTI: // __CLANG_OFFLOAD_BUNDLE____END__ openmp-x86_64-pc-linux-gnu
+
+ // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____START__ host-powerpc64le-ibm-linux-gnu
+-// CK-TEXTLL: @A = global i32 0
++// CK-TEXTLL: @A = {{(dso_local )?}}global i32 0
+ // CK-TEXTLL: define {{.*}}@test_func()
+ // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____END__ host-powerpc64le-ibm-linux-gnu
+ // CK-TEXTLL: ; __CLANG_OFFLOAD_BUNDLE____START__ openmp-powerpc64le-ibm-linux-gnu
diff --git a/test/Driver/cross-linux.c b/test/Driver/cross-linux.c
index a5ea832e77..1949c05a60 100644
--- a/test/Driver/cross-linux.c
@@ -141,10 +143,10 @@ index 0371bc91c4..ea89f52512 100644
// CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib"
// CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.."
diff --git a/test/Driver/fsanitize.c b/test/Driver/fsanitize.c
-index 0752ef6df0..5d1e211b24 100644
+index 304e759302..c157f9fc48 100644
--- a/test/Driver/fsanitize.c
+++ b/test/Driver/fsanitize.c
-@@ -192,13 +192,13 @@
+@@ -238,15 +238,15 @@
// RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr -fno-sanitize=vptr -fsanitize=undefined,address %s -### 2>&1
// OK
@@ -154,7 +156,9 @@ index 0752ef6df0..5d1e211b24 100644
+// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
// RUN: %clang -target x86_64-unknown-freebsd -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
// RUN: %clang -target aarch64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
- // RUN: %clang -target arm-linux-androideabi -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
+ // RUN: %clang -target arm-linux-androideabi -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIC-NO-PIE
+ // RUN: %clang -target arm-linux-androideabi24 -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
+ // RUN: %clang -target aarch64-linux-android -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
-// RUN: %clang -target x86_64-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
-// RUN: %clang -target i386-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
+// RUN: %clang -target x86_64-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
@@ -162,14 +166,13 @@ index 0752ef6df0..5d1e211b24 100644
// CHECK-NO-PIE-NOT: "-pie"
// CHECK-NO-PIE: "-mrelocation-model" "static"
-@@ -491,12 +491,12 @@
+@@ -585,12 +585,12 @@
// RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP
// NOSP-NOT: "-fsanitize=safe-stack"
-// RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
--// RUN: %clang -target x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP-ASAN
+// RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
-+// RUN: %clang -target x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
+ // RUN: %clang -target x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
// RUN: %clang -target x86_64-linux-gnu -fstack-protector -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
// RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SP
-// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
@@ -179,15 +182,6 @@ index 0752ef6df0..5d1e211b24 100644
// RUN: %clang -target i386-contiki-unknown -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
// NO-SP-NOT: stack-protector
// NO-SP: "-fsanitize=safe-stack"
-@@ -506,6 +506,8 @@
-
- // NO-SP-ASAN-NOT: stack-protector
- // NO-SP-ASAN: "-fsanitize=address,safe-stack"
-+// SP-ASAN: "-fsanitize=address,safe-stack"
-+// SP-ASAN: -stack-protector
- // NO-SP-ASAN-NOT: stack-protector
-
- // RUN: %clang -target powerpc64-unknown-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s -check-prefix=CHECK-SANM
diff --git a/test/Driver/gcc-toolchain.cpp b/test/Driver/gcc-toolchain.cpp
index ca96757a2b..ae1c25e989 100644
--- a/test/Driver/gcc-toolchain.cpp
@@ -201,10 +195,10 @@ index ca96757a2b..ae1c25e989 100644
// CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5"
// CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.."
diff --git a/test/Driver/hexagon-toolchain-elf.c b/test/Driver/hexagon-toolchain-elf.c
-index 98582450e3..b2da01eaf5 100644
+index 8f4c320ce4..a4d9ae502b 100644
--- a/test/Driver/hexagon-toolchain-elf.c
+++ b/test/Driver/hexagon-toolchain-elf.c
-@@ -449,7 +449,7 @@
+@@ -457,7 +457,7 @@
// RUN: %s 2>&1 \
// RUN: | FileCheck -check-prefix=CHECK042 %s
// CHECK042: "-cc1"
@@ -214,7 +208,7 @@ index 98582450e3..b2da01eaf5 100644
// CHECK042-NEXT: llvm-mc
// CHECK042: "-gpsize=8"
diff --git a/test/Driver/linux-as.c b/test/Driver/linux-as.c
-index c5cb1cd600..1ad86d8ead 100644
+index 68cf403d97..92b556db73 100644
--- a/test/Driver/linux-as.c
+++ b/test/Driver/linux-as.c
@@ -133,7 +133,7 @@
@@ -236,7 +230,7 @@ index c5cb1cd600..1ad86d8ead 100644
// CHECK-SPARCV9PIC: as
// CHECK-SPARCV9PIC: -64
diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c
-index 1c5f1a4556..2885f78045 100644
+index 787013931a..cba173b354 100644
--- a/test/Driver/linux-ld.c
+++ b/test/Driver/linux-ld.c
@@ -1,3 +1,5 @@
@@ -245,8 +239,30 @@ index 1c5f1a4556..2885f78045 100644
// General tests that ld invocations on Linux targets sane. Note that we use
// sysroot to make these tests independent of the host system.
//
+diff --git a/test/Driver/riscv32-toolchain.c b/test/Driver/riscv32-toolchain.c
+index 1e0c750a3f..563493a33b 100644
+--- a/test/Driver/riscv32-toolchain.c
++++ b/test/Driver/riscv32-toolchain.c
+@@ -44,7 +44,7 @@
+ // C-RV32-LINUX-MULTI-ILP32: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
+ // C-RV32-LINUX-MULTI-ILP32: "-m" "elf32lriscv"
+ // C-RV32-LINUX-MULTI-ILP32: "-dynamic-linker" "/lib/ld-linux-riscv32-ilp32.so.1"
+-// C-RV32-LINUX-MULTI-ILP32: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32{{/|\\\\}}crtbegin.o"
++// C-RV32-LINUX-MULTI-ILP32: "crtbeginS.o"
+ // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32"
+ // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32"
+ // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32"
+@@ -59,7 +59,7 @@
+ // C-RV32-LINUX-MULTI-ILP32D: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
+ // C-RV32-LINUX-MULTI-ILP32D: "-m" "elf32lriscv"
+ // C-RV32-LINUX-MULTI-ILP32D: "-dynamic-linker" "/lib/ld-linux-riscv32-ilp32d.so.1"
+-// C-RV32-LINUX-MULTI-ILP32D: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32d{{/|\\\\}}crtbegin.o"
++// C-RV32-LINUX-MULTI-ILP32D: "crtbeginS.o"
+ // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32d"
+ // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32d"
+ // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32d"
diff --git a/test/Driver/stack-protector.c b/test/Driver/stack-protector.c
-index 6769b65f63..180e26f3ea 100644
+index a3e40b50ee..dfffe0d6cf 100644
--- a/test/Driver/stack-protector.c
+++ b/test/Driver/stack-protector.c
@@ -3,11 +3,11 @@
@@ -264,5 +280,5 @@ index 6769b65f63..180e26f3ea 100644
// RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD
--
-2.14.1
+2.19.0
diff --git a/abs/extra/compiler-rt/PKGBUILD b/abs/extra/compiler-rt/PKGBUILD
new file mode 100644
index 0000000..08ee08f
--- /dev/null
+++ b/abs/extra/compiler-rt/PKGBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+
+pkgname=compiler-rt
+pkgver=7.0.1
+pkgrel=1
+pkgdesc="Compiler runtime libraries for clang"
+arch=('x86_64')
+url="https://compiler-rt.llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+depends=('gcc-libs')
+makedepends=('llvm' 'cmake' 'ninja' 'python')
+# Build 32-bit compiler-rt libraries on x86_64 (FS#41911)
+makedepends_x86_64=('lib32-gcc-libs')
+options=('staticlibs')
+source=(https://releases.llvm.org/$pkgver/$pkgname-$pkgver.src.tar.xz{,.sig})
+sha256sums=('782edfc119ee172f169c91dd79f2c964fb6b248bd9b73523149030ed505bbe18'
+ 'SKIP')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org>
+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com>
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver.src"
+ mkdir build
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver.src/build"
+
+ cmake .. -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ ninja
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver.src/build"
+
+ DESTDIR="$pkgdir" ninja install
+ install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ mkdir -p "$pkgdir"/usr/lib/clang/$pkgver/{lib,share}
+ mv "$pkgdir"/usr/lib/{linux,clang/$pkgver/lib/}
+ mv "$pkgdir"/usr/{share/*.txt,lib/clang/$pkgver/share/}
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/docbook-xml/PKGBUILD b/abs/extra/docbook-xml/PKGBUILD
index e5996d7..6f7cefc 100644
--- a/abs/extra/docbook-xml/PKGBUILD
+++ b/abs/extra/docbook-xml/PKGBUILD
@@ -1,273 +1,114 @@
-# $Id: PKGBUILD 151188 2012-02-25 07:07:26Z pierre $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Committer: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+_vers=(4.{2..5})
pkgname=docbook-xml
-pkgver=4.5
-pkgrel=5
+pkgver=${_vers[-1]}
+pkgrel=8
pkgdesc="A widely used XML scheme for writing documentation and help"
-arch=('any')
-url="http://www.oasis-open.org/docbook/"
-license=('MIT')
-depends=('libxml2')
+url="https://www.oasis-open.org/docbook/"
+arch=(any)
+license=(MIT)
+depends=(libxml2)
install=docbook-xml.install
-source=('http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip'
- 'http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip'
- 'http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip'
- 'http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip'
- 'http://www.docbook.org/xml/4.1.2/docbkx412.zip'
- 'LICENSE')
-noextract=('docbook-xml-4.5.zip' 'docbook-xml-4.4.zip' 'docbook-xml-4.3.zip' 'docbook-xml-4.2.zip' 'docbkx412.zip')
-md5sums=('03083e288e87a7e829e437358da7ef9e'
- 'cbb04e9a700955d88c50962ef22c1634'
- 'ab200202b9e136a144db1e0864c45074'
- '73fe50dfe74ca631c1602f558ed8961f'
- '900d7609fb7e6d78901b357e4acfbc17'
- '50e1eea70bc071b812e963e65af6707e')
+source=(https://docbook.org/xml/4.1.2/docbkx412.zip
+ LICENSE)
+noextract=(docbkx412.zip)
-package() {
- for ver in 4.2 4.3 4.4 4.5; do
- mkdir docbook-xml-${ver}
- pushd docbook-xml-${ver}
- bsdtar xf "${srcdir}/docbook-xml-${ver}.zip"
- mkdir -p "${pkgdir}/usr/share/xml/docbook/xml-dtd-${ver}"
- cp -dRf docbook.cat *.dtd ent/ *.mod \
- "${pkgdir}/usr/share/xml/docbook/xml-dtd-${ver}/"
- popd
- done
- mkdir docbook-xml-4.1.2
- pushd docbook-xml-4.1.2
- bsdtar xf "${srcdir}/docbkx412.zip"
- mkdir -p "${pkgdir}/usr/share/xml/docbook/xml-dtd-4.1.2"
- cp -dRf docbook.cat *.dtd ent/ *.mod \
- "${pkgdir}/usr/share/xml/docbook/xml-dtd-4.1.2/"
- popd
+for _ver in ${_vers[@]}; do
+ source+=("https://docbook.org/xml/$_ver/docbook-xml-$_ver.zip")
+ noextract+=("docbook-xml-$_ver.zip")
+done
+
+sha512sums=('f700591a671694ca0ac51f5b5b7e825df5c0b3604b20baa6afd3aaafa7ce99470ca1c261781b105b42bfa5485c23217cf3db821b3fcf2ebdae9df07bb8ae4063'
+ 'd852ab8e1442af4a91ffc32b9bb37377d98171dbc379cfd9787a2e06fc5c9b8ed04c5cd156ff5b7799973250011389456a3a3584ed4ae99362420c15235fcbb5'
+ '0c836346130d1e8f4e26e00959f6b4fd2c3c11269ba5cbf11cdc904724e189606f431c99cd5ab188877daa0eb44c58d0bc30556df3b51df480396818d61c4e0a'
+ 'f5090fb74884bae3d4fac8a3c5060bffff5d6a74272de183c181a7642e4b91f4ed32ad028537d198010782c3d98575ce679672f76a9749ed124432195886a7cb'
+ '7df5af4df24e4618b09814e4e20c147c722962531f03a40c28cd60f1db16b4c330420adf96adb7d66ed6eda84046ee91b467fd6f6fbfac2201537e2080735d76'
+ '1ee282fe86c9282610ee72c0e1d1acfc03f1afb9dc67166f438f2703109046479edb6329313ecb2949db27993077e077d111501c10b8769ebb20719eb6213d27')
- mkdir -p "${pkgdir}/etc/xml"
- xmlcatalog --noout --create "${pkgdir}/etc/xml/docbook-xml"
+package() {
+ local ver xml
- # V4.1.2
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/soextblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/dbpoolx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/dbhierx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/dbgenent.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/dbnotnx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteSystem" \
- "http://www.oasis-open.org/docbook/xml/4.1.2" \
- "file:///usr/share/xml/docbook/xml-dtd-4.1.2" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteURI" \
- "http://www.oasis-open.org/docbook/xml/4.1.2" \
- "file:///usr/share/xml/docbook/xml-dtd-4.1.2" \
- "${pkgdir}/etc/xml/docbook-xml"
+ mkdir -p "$pkgdir/etc/xml"
+ xmlcatalog --noout --create "$pkgdir/etc/xml/docbook-xml"
- # V4.2
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook CALS Table Model V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/soextblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/dbpoolx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/dbhierx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/dbgenent.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Notations V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/dbnotnx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN" \
- "http://www.oasis-open.org/docbook/xml/4.2/dbcentx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteSystem" \
- "http://www.oasis-open.org/docbook/xml/4.2" \
- "file:///usr/share/xml/docbook/xml-dtd-4.2" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteURI" \
- "http://www.oasis-open.org/docbook/xml/4.2" \
- "file:///usr/share/xml/docbook/xml-dtd-4.2" \
- "${pkgdir}/etc/xml/docbook-xml"
+ mkdir docbook-xml-4.1.2
+ bsdtar -C docbook-xml-4.1.2 -xf docbkx412.zip
+ for ver in ${_vers[@]}; do
+ mkdir docbook-xml-$ver
+ bsdtar -C docbook-xml-$ver -xf docbook-xml-$ver.zip
+ done
- # V4.3
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook CALS Table Model V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/soextblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Information Pool V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/dbpoolx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/dbhierx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Additional General Entities V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/dbgenent.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Notations V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/dbnotnx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Character Entities V4.3//EN" \
- "http://www.oasis-open.org/docbook/xml/4.3/dbcentx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteSystem" \
- "http://www.oasis-open.org/docbook/xml/4.3" \
- "file:///usr/share/xml/docbook/xml-dtd-4.3" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteURI" \
- "http://www.oasis-open.org/docbook/xml/4.3" \
- "file:///usr/share/xml/docbook/xml-dtd-4.3" \
- "${pkgdir}/etc/xml/docbook-xml"
+ for ver in 4.1.2 ${_vers[@]}; do
+ pushd docbook-xml-$ver
+ mkdir -p "$pkgdir/usr/share/xml/docbook/xml-dtd-$ver"
+ cp -dr docbook.cat *.dtd ent/ *.mod \
+ "$pkgdir/usr/share/xml/docbook/xml-dtd-$ver"
+ popd
- # V4.4
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook CALS Table Model V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/htmltblx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/soextblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Information Pool V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/dbpoolx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/dbhierx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Additional General Entities V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/dbgenent.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Notations V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/dbnotnx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook Character Entities V4.4//EN" \
- "http://www.oasis-open.org/docbook/xml/4.4/dbcentx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteSystem" \
- "http://www.oasis-open.org/docbook/xml/4.4" \
- "file:///usr/share/xml/docbook/xml-dtd-4.4" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteURI" \
- "http://www.oasis-open.org/docbook/xml/4.4" \
- "file:///usr/share/xml/docbook/xml-dtd-4.4" \
- "${pkgdir}/etc/xml/docbook-xml"
+ xml=
+ case $ver in
+ 4.1.2) xml=' XML' ;;&
+ *)
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/docbookx.dtd" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook$xml CALS Table Model V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/calstblx.dtd" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/soextblx.dtd" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook$xml Information Pool V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/dbpoolx.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook$xml Document Hierarchy V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/dbhierx.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook$xml Additional General Entities V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/dbgenent.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook$xml Notations V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/dbnotnx.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook$xml Character Entities V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/dbcentx.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ ;;&
+ 4.[45])
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V$ver//EN" \
+ "http://www.oasis-open.org/docbook/xml/$ver/htmltblx.mod" \
+ "$pkgdir/etc/xml/docbook-xml"
+ ;;&
+ *)
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://www.oasis-open.org/docbook/xml/$ver" \
+ "/usr/share/xml/docbook/xml-dtd-$ver" \
+ "$pkgdir/etc/xml/docbook-xml"
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://www.oasis-open.org/docbook/xml/$ver" \
+ "/usr/share/xml/docbook/xml-dtd-$ver" \
+ "$pkgdir/etc/xml/docbook-xml"
+ ;;&
+ esac
+ done
- # V4.5
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML V4.5//EN" \
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "public" \
- "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteSystem" \
- "http://www.oasis-open.org/docbook/xml/4.5" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5" \
- "${pkgdir}/etc/xml/docbook-xml"
- xmlcatalog --noout --add "rewriteURI" \
- "http://www.oasis-open.org/docbook/xml/4.5" \
- "file:///usr/share/xml/docbook/xml-dtd-4.5" \
- "${pkgdir}/etc/xml/docbook-xml"
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE
-# license
- install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ # Fix permissions
+ find "$pkgdir" -type f -exec chmod -c a-x {} +
+ chmod -Rc u=rwX,go=rX "$pkgdir"
}
+
+# vim:set sw=2 et:
diff --git a/abs/extra/docbook-xsl/765567_non-recursive_string_subst.patch b/abs/extra/docbook-xsl/765567_non-recursive_string_subst.patch
new file mode 100644
index 0000000..ae845ad
--- /dev/null
+++ b/abs/extra/docbook-xsl/765567_non-recursive_string_subst.patch
@@ -0,0 +1,32 @@
+Description: use EXSLT "replace" function when available
+ A recursive implementation of string.subst is problematic,
+ long strings with many matches will cause stack overflows.
+Author: Peter De Wachter <pdewacht@gmail.com>
+Bug-Debian: https://bugs.debian.org/750593
+
+--- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl
++++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl
+@@ -6,7 +6,11 @@
+
+ This module implements DTD-independent functions
+
+- ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++ ******************************************************************** -->
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++ xmlns:str="http://exslt.org/strings"
++ exclude-result-prefixes="str"
++ version="1.0">
+
+ <xsl:template name="dot.count">
+ <!-- Returns the number of "." characters in a string -->
+@@ -52,6 +56,9 @@
+ <xsl:param name="replacement"/>
+
+ <xsl:choose>
++ <xsl:when test="function-available('str:replace')">
++ <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++ </xsl:when>
+ <xsl:when test="contains($string, $target)">
+ <xsl:variable name="rest">
+ <xsl:call-template name="string.subst">
+
diff --git a/abs/extra/docbook-xsl/PKGBUILD b/abs/extra/docbook-xsl/PKGBUILD
index aef4b1e..51712c6 100644
--- a/abs/extra/docbook-xsl/PKGBUILD
+++ b/abs/extra/docbook-xsl/PKGBUILD
@@ -1,35 +1,42 @@
-# $Id: PKGBUILD 162687 2012-06-27 22:24:21Z tomegun $
-# Maintainer: Tom Gundersen <teg@jklm.no>
+# Maintainer: Antonio Rojas <arojas@archlinux.org>
+# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Sean Middleditch <elanthis@awesomeplay.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=docbook-xsl
-pkgver=1.77.1
-pkgrel=2
+pkgver=1.79.2
+pkgrel=4
pkgdesc='XML stylesheets for Docbook-xml transformations'
-arch=('any')
-license=('custom')
-url='http://docbook.sourceforge.net/'
-depends=('libxml2' 'libxslt' 'docbook-xml')
+arch=(any)
+license=(custom)
+url='https://docbook.org/'
+depends=(libxml2 libxslt docbook-xml sed)
install="$pkgname.install"
-source=("http://downloads.sourceforge.net/docbook/${pkgname}-${pkgver}.tar.bz2")
+source=("https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F$pkgver/docbook-xsl-nons-$pkgver.tar.gz"
+ 765567_non-recursive_string_subst.patch)
+sha256sums=('f89425b44e48aad24319a2f0d38e0cb6059fdc7dbaf31787c8346c748175ca8e'
+ '193ec26dcb37bdf12037ed4ea98d68bd550500c8e96b719685d76d7096c3f9b3')
+
+prepare() {
+ cd $pkgname-nons-$pkgver
+ patch -Np2 -i ../765567_non-recursive_string_subst.patch
+}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd $pkgname-nons-$pkgver
- _pkgroot=${pkgdir}/usr/share/xml/docbook/xsl-stylesheets-${pkgver}
+ _pkgroot="$pkgdir"/usr/share/xml/docbook/xsl-stylesheets-$pkgver
- install -dm755 ${_pkgroot}
- install -m644 VERSION VERSION.xsl ${_pkgroot}
+ install -dm755 ${_pkgroot}
+ install -m644 VERSION VERSION.xsl ${_pkgroot}
- for fn in assembly common eclipse epub epub3 fo highlighting html htmlhelp javahelp lib \
- manpages params profiling roundtrip template website xhtml xhtml-1_1 xhtml5; do
- install -dm755 ${_pkgroot}/${fn}
- install -m644 ${fn}/*.{xml,xsl,dtd,ent} ${_pkgroot}/${fn} || true # ignore missing files
- done
+ for fn in assembly common eclipse epub epub3 fo highlighting html htmlhelp javahelp lib \
+ manpages params profiling roundtrip template website xhtml xhtml-1_1 xhtml5; do
+ install -dm755 ${_pkgroot}/${fn}
+ install -m644 ${fn}/*.{xml,xsl,dtd,ent} ${_pkgroot}/${fn} || true # ignore missing files
+ done
- install -dm755 ${pkgdir}/etc/xml
- install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -dm755 "$pkgdir"/etc/xml
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-md5sums=('a88dbdc0cd74702656083b6e4e4241d8')
diff --git a/abs/extra/docbook-xsl/docbook-xsl.install b/abs/extra/docbook-xsl/docbook-xsl.install
index c84d929..aa386ec 100644
--- a/abs/extra/docbook-xsl/docbook-xsl.install
+++ b/abs/extra/docbook-xsl/docbook-xsl.install
@@ -5,19 +5,29 @@ post_install() {
_NEW=`echo $1 | sed 's|\(.*\)\-.*|\1|'`
xmlcatalog --noout --add "rewriteSystem" \
- "http://docbook.sourceforge.net/release/xsl/${_NEW}" \
+ "http://cdn.docbook.org/release/xsl/${_NEW}" \
"/usr/share/xml/docbook/xsl-stylesheets-${_NEW}" \
etc/xml/catalog
xmlcatalog --noout --add "rewriteURI" \
- "http://docbook.sourceforge.net/release/xsl/${_NEW}" \
+ "http://cdn.docbook.org/release/xsl/${_NEW}" \
"/usr/share/xml/docbook/xsl-stylesheets-${_NEW}" \
- etc/xml/catalog &&
+ etc/xml/catalog
+
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://cdn.docbook.org/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-${_NEW}" \
+ etc/xml/catalog
+
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://cdn.docbook.org/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-${_NEW}" \
+ etc/xml/catalog
xmlcatalog --noout --add "rewriteSystem" \
"http://docbook.sourceforge.net/release/xsl/current" \
"/usr/share/xml/docbook/xsl-stylesheets-${_NEW}" \
- etc/xml/catalog &&
+ etc/xml/catalog
xmlcatalog --noout --add "rewriteURI" \
"http://docbook.sourceforge.net/release/xsl/current" \
diff --git a/abs/extra/dune/PKGBUILD b/abs/extra/dune/PKGBUILD
new file mode 100644
index 0000000..90a7287
--- /dev/null
+++ b/abs/extra/dune/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Bruno Pagani <archange@archlinux.org>
+# Contributor: Jakob Gahde <j5lx@fmail.co.uk>
+
+pkgname=dune
+pkgver=1.7.1
+pkgrel=1
+pkgdesc="A composable build system for OCaml (formerly jbuilder)"
+arch=('x86_64')
+url="https://github.com/ocaml/dune"
+license=('Apache')
+depends=('glibc' 'ocaml' 'ocaml-findlib')
+provides=('jbuilder')
+conflicts=('jbuilder')
+replaces=('jbuilder')
+source=(${pkgname}-${pkgver}.tar.gz::"${url}/archive/${pkgver}.tar.gz")
+sha256sums=('b821a9aa08bb6a43ad77a1f5e51806129fd82e77af507df489ac95699451566b')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ make release
+}
+
+# Tests requires a bunch of (currently) unpackaged dependencies
+#check() {
+# cd ${pkgname}-${pkgver/b/-beta}
+# make test
+#}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" INSTALL_ARGS="--prefix=/usr --libdir='$(ocamlfind printconf destdir)'" install
+
+ # Fix doc and man install
+ rm -r "${pkgdir}"/usr/doc
+ install -dm755 "${pkgdir}"/usr/share
+ mv "${pkgdir}"/usr/{man,share/}
+}
diff --git a/abs/extra/egl-wayland/10_nvidia_wayland.json b/abs/extra/egl-wayland/10_nvidia_wayland.json
new file mode 100644
index 0000000..c08a641
--- /dev/null
+++ b/abs/extra/egl-wayland/10_nvidia_wayland.json
@@ -0,0 +1,6 @@
+{
+ "file_format_version" : "1.0.0",
+ "ICD" : {
+ "library_path" : "libnvidia-egl-wayland.so.1"
+ }
+}
diff --git a/abs/extra/egl-wayland/PKGBUILD b/abs/extra/egl-wayland/PKGBUILD
new file mode 100644
index 0000000..89eb37b
--- /dev/null
+++ b/abs/extra/egl-wayland/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=egl-wayland
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="EGLStream-based Wayland external platform"
+arch=(x86_64)
+url=https://github.com/NVIDIA/egl-wayland
+license=(MIT)
+depends=(wayland eglexternalplatform)
+makedepends=(meson git)
+_commit=c81f849fc08e36fc5b94031b6edc361ab5027fce # master
+source=("git+$url#commit=$_commit"
+ 10_nvidia_wayland.json)
+sha256sums=('SKIP'
+ '5cccf1905a266e8e34d5ad4aad4be85390e60b1a0850a29dd9d64adc641de412')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+ git tag -f 1.1.2 c81f849fc08e36fc5b94031b6edc361ab5027fce # Fixup missing tag
+}
+
+build() {
+ arch-meson $pkgname build
+ ninja -C build
+}
+
+check() {
+ cd build
+ meson test
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+ install -Dt "$pkgdir/usr/share/egl/egl_external_platform.d" -m644 10_nvidia_wayland.json
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgname/COPYING
+}
+
+# vim:set sw=2 et:
diff --git a/abs/extra/eglexternalplatform/PKGBUILD b/abs/extra/eglexternalplatform/PKGBUILD
new file mode 100644
index 0000000..c163baa
--- /dev/null
+++ b/abs/extra/eglexternalplatform/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=eglexternalplatform
+pkgver=1.0+3+g7c8f8e2
+pkgrel=1
+pkgdesc="EGL External Platform interface"
+url=https://github.com/NVIDIA/eglexternalplatform
+arch=(any)
+license=(MIT)
+depends=(mesa)
+makedepends=(git)
+_commit=7c8f8e2218e46b1a4aa9538520919747f1184d86 # master
+source=("git+$url#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+ git tag -f 1.0 53bf47ccd349b7525248687ba0058860168c8580 # Fixup missing tag
+}
+
+package() {
+ cd $pkgname
+ install -Dt "$pkgdir/usr/include/EGL" -m644 interface/*
+ install -Dt "$pkgdir/usr/share/pkgconfig" -m644 *.pc
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING
+}
+
+# vim:set sw=2 et:
diff --git a/abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch b/abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch
new file mode 100644
index 0000000..e171306
--- /dev/null
+++ b/abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch
@@ -0,0 +1,72 @@
+From f21fa142aca53e3de5783e1ce6fe1bf116174aeb Mon Sep 17 00:00:00 2001
+From: Robert Pluim <rpluim@gmail.com>
+Date: Tue, 3 Apr 2018 11:06:01 +0200
+Subject: [PATCH] Ignore color fonts when using Xft
+
+* src/font.c (syms_of_font): New configuration variable
+xft-ignore-color-fonts, default t.
+* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
+color fonts if xft-ignore-color-fonts is t. (Bug#30874, Bug#30045)
+* etc/NEWS: Document xft-ignore-color-fonts.
+---
+ etc/NEWS | 6 ++++++
+ src/font.c | 7 +++++++
+ src/ftfont.c | 7 +++++++
+ 3 files changed, 20 insertions(+)
+
+diff --git a/etc/NEWS b/etc/NEWS
+index 873e2dfd1d..2bec8de0ea 100644
+--- a/etc/NEWS
++++ b/etc/NEWS
+@@ -31,6 +31,12 @@ in its NEWS.)
+
+ * Changes in Emacs 26.2
+
++---
++** New variable 'xft-ignore-color-fonts'.
++Default t means don't try to load color fonts when using Xft, as they
++often cause crashes. Set it to nil if you really need those fonts.
++(Bug#30874)
++
+
+ * Editing Changes in Emacs 26.2
+
+diff --git a/src/font.c b/src/font.c
+index e53935a15c..305bb14576 100644
+--- a/src/font.c
++++ b/src/font.c
+@@ -5476,6 +5476,13 @@ Disabling compaction of font caches might enlarge the Emacs memory
+ footprint in sessions that use lots of different fonts. */);
+ inhibit_compacting_font_caches = 0;
+
++ DEFVAR_BOOL ("xft-ignore-color-fonts",
++ Vxft_ignore_color_fonts,
++ doc: /*
++Non-nil means don't query fontconfig for color fonts, since they often
++cause Xft crashes. Only has an effect in Xft builds. */);
++ Vxft_ignore_color_fonts = 1;
++
+ #ifdef HAVE_WINDOW_SYSTEM
+ #ifdef HAVE_FREETYPE
+ syms_of_ftfont ();
+diff --git a/src/ftfont.c b/src/ftfont.c
+index c2e093e633..24a92dd52e 100644
+--- a/src/ftfont.c
++++ b/src/ftfont.c
+@@ -764,6 +764,13 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
+ if (scalable >= 0
+ && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse))
+ goto err;
++#ifdef HAVE_XFT
++ /* We really don't like color fonts, they cause Xft crashes. See
++ Bug#30874. */
++ if (Vxft_ignore_color_fonts
++ && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse))
++ goto err;
++#endif
+
+ goto finish;
+
+--
+2.17.1
+
diff --git a/abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch b/abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
new file mode 100644
index 0000000..ba14df6
--- /dev/null
+++ b/abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
@@ -0,0 +1,32 @@
+From 97d61f878e6378efbde73923a36f71caac73a4a0 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 3 Apr 2018 08:12:41 -0700
+Subject: [PATCH] Port FC_COLOR change to older fontconfig
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by John ff in:
+https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
+* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
+Don’t use FC_COLOR on older fontconfigs that don’t have it.
+---
+ src/ftfont.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ftfont.c b/src/ftfont.c
+index 24a92dd52e..84e4a30389 100644
+--- a/src/ftfont.c
++++ b/src/ftfont.c
+@@ -764,7 +764,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
+ if (scalable >= 0
+ && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse))
+ goto err;
+-#ifdef HAVE_XFT
++#if defined HAVE_XFT && defined FC_COLOR
+ /* We really don't like color fonts, they cause Xft crashes. See
+ Bug#30874. */
+ if (Vxft_ignore_color_fonts
+--
+2.17.1
+
diff --git a/abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch b/abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
new file mode 100644
index 0000000..8cc1fcc
--- /dev/null
+++ b/abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
@@ -0,0 +1,25 @@
+From acaebed014951fdd13855aa7bba9aee60618785f Mon Sep 17 00:00:00 2001
+From: Eli Zaretskii <eliz@gnu.org>
+Date: Tue, 3 Apr 2018 19:59:40 +0300
+Subject: [PATCH] ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace.
+
+---
+ src/ftfont.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ftfont.c b/src/ftfont.c
+index 84e4a30389..8f048d2983 100644
+--- a/src/ftfont.c
++++ b/src/ftfont.c
+@@ -768,7 +768,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots
+ /* We really don't like color fonts, they cause Xft crashes. See
+ Bug#30874. */
+ if (Vxft_ignore_color_fonts
+- && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse))
++ && ! FcPatternAddBool (pattern, FC_COLOR, FcFalse))
+ goto err;
+ #endif
+
+--
+2.17.1
+
diff --git a/abs/extra/emacs-nox/PKGBUILD b/abs/extra/emacs-nox/PKGBUILD
new file mode 100644
index 0000000..512da23
--- /dev/null
+++ b/abs/extra/emacs-nox/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Chris Brannon <cmbrannon@cox.net>
+
+pkgname=emacs-nox
+pkgver=26.1
+pkgrel=1
+pkgdesc="The extensible, customizable, self-documenting real-time display editor, without X11 support"
+arch=('x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('dbus' 'ncurses' 'perl' 'libxml2' 'glib2' 'gnutls')
+provides=('emacs')
+conflicts=('emacs')
+changelog=$pkgname.changelog
+source=(ftp://ftp.gnu.org/gnu/emacs/emacs-$pkgver.tar.xz{,.sig}
+ 0001-Ignore-color-fonts-when-using-Xft.patch
+ 0001-Port-FC_COLOR-change-to-older-fontconfig.patch
+ 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch)
+validpgpkeys=('28D3BED851FDF3AB57FEF93C233587A47C207910')
+sha256sums=('1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c'
+ 'SKIP'
+ '5bc53171bbb82e6dea26950f14da6a06f4371162b3bccb624397365e6e02f480'
+ '6d16de2078108d742a8935044926f439869e231cc18ec23777bbed4857625f96'
+ 'ca48398d6a83e9a22a4117beca151f476e6286a9abbfddd0f7c0f187ebfc50d7')
+
+prepare() {
+ cd "${srcdir}"/emacs-$pkgver
+
+ patch -Np1 -i "${srcdir}/0001-Ignore-color-fonts-when-using-Xft.patch"
+ patch -Np1 -i "${srcdir}/0001-Port-FC_COLOR-change-to-older-fontconfig.patch"
+ patch -Np1 -i "${srcdir}/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch"
+}
+
+build() {
+ cd "${srcdir}"/emacs-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --without-x --without-sound --with-modules
+ make
+}
+
+package() {
+ cd "${srcdir}"/emacs-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+
+# remove conflict with ctags package
+ mv "${pkgdir}"/usr/bin/{ctags,ctags.emacs}
+ mv "${pkgdir}"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+
+# fix user/root permissions on usr/share files
+ find "${pkgdir}"/usr/share/emacs/$pkgver -exec chown root.root {} \;
+# remove .desktop file and icons
+ rm -rf "${pkgdir}"/usr/share/{applications,icons}
+}
diff --git a/abs/extra/emacs-nox/emacs-nox.changelog b/abs/extra/emacs-nox/emacs-nox.changelog
new file mode 100644
index 0000000..3c9ad91
--- /dev/null
+++ b/abs/extra/emacs-nox/emacs-nox.changelog
@@ -0,0 +1,56 @@
+2018-07-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 26.1-1
+
+2017-09-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 25.3-1
+
+2017-04-25 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 25.2-1
+
+2016-09-19 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 25.1-1
+
+2016-05-01 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.5-4 pacman hooks rebuild
+
+2016-01-24 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.5-3 FS#47841 fix
+
+2015-05-15 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.5-1
+
+2014-10-24 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.4-2 FS#42514 fix
+
+2014-10-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.4-1
+
+2013-04-20 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.3-1
+
+2012-09-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.2-1
+
+2012-06-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 24.1-1
+
+2011-03-13 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * emacs-nox 23.3-1
+
+2010-05-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * Update to major release 23.2
+
+2010-03-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * 23.1-2 - fix for FS#18688 - [emacs-nox] compiled with SSE2 instructions
+
+2009-12-18 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * Update to major release 23.1
+
+2008-11-01 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * New PKGBUILD/install method provided by Chris Brannon <cmbrannon@cox.net>
+ * => Added an install script
+ * => Info files are now installed using install-info
+
+2008-09-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * Package moved to [community]
+ * Update to major release 22.3
diff --git a/abs/extra/ffmpeg2.8/PKGBUILD b/abs/extra/ffmpeg2.8/PKGBUILD
index 155f869..af63a60 100644
--- a/abs/extra/ffmpeg2.8/PKGBUILD
+++ b/abs/extra/ffmpeg2.8/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg2.8
-pkgver=2.8.14
+pkgver=2.8.15
pkgrel=1
pkgdesc='Complete solution to record, convert and stream audio and video'
arch=('i686' 'x86_64')
@@ -103,7 +103,7 @@ package() {
# vim: ts=2 sw=2 et:
-md5sums=('f4cd8689ede550872a02802aecae8109'
+md5sums=('9c5f5d9a3aeaa6ff1f2514cc509d3f07'
'SKIP'
'83bc99a06f1ca6fd70ed35056937a522'
'6c1e7519c3b5d414ca98ad624691517d'
diff --git a/abs/extra/ffnvcodec-headers/PKGBUILD b/abs/extra/ffnvcodec-headers/PKGBUILD
new file mode 100644
index 0000000..c496cda
--- /dev/null
+++ b/abs/extra/ffnvcodec-headers/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Daniel Bermond <danielbermond@yahoo.com>
+
+pkgname=ffnvcodec-headers
+pkgver=8.2.15.6
+pkgrel=1
+pkgdesc='FFmpeg version of headers required to interface with Nvidias codec APIs'
+arch=('any')
+url='https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git'
+license=('MIT')
+makedepends=('git')
+source=("git+https://git.videolan.org/git/ffmpeg/nv-codec-headers.git#tag=n${pkgver}")
+sha256sums=('SKIP')
+
+build() {
+ make PREFIX='/usr' -C nv-codec-headers
+ sed -n '4,25p' nv-codec-headers/include/ffnvcodec/nvEncodeAPI.h > LICENSE # Extract license
+ sed -i '1,22s/^.\{,3\}//' LICENSE # Delete C comments
+}
+
+package() {
+ make PREFIX='/usr' DESTDIR="${pkgdir}" -C nv-codec-headers install
+ install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/ffnvcodec-headers/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/fmt/PKGBUILD b/abs/extra/fmt/PKGBUILD
new file mode 100644
index 0000000..2f41904
--- /dev/null
+++ b/abs/extra/fmt/PKGBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Mihai Bişog <mihai.bisog@gmail.com>
+pkgname=fmt
+pkgver=5.3.0
+pkgrel=1
+pkgdesc='Open-source formatting library for C++'
+arch=(x86_64)
+url='http://fmtlib.net'
+license=(BSD)
+makedepends=(
+ cmake
+ git
+ ninja
+)
+provides=(libfmt.so)
+
+source=(git+https://github.com/fmtlib/fmt.git#tag=${pkgver})
+sha256sums=(SKIP)
+
+prepare() {
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build
+}
+
+build() {
+ cd build
+
+ cmake ../fmt \
+ -G Ninja \
+ -DCMAKE_BUILD_TYPE='Release' \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DCMAKE_INSTALL_LIBDIR='/usr/lib' \
+ -DBUILD_SHARED_LIBS='1'
+ cmake --build .
+}
+
+check() {
+ cmake --build build --target test
+}
+
+package() {
+ DESTDIR="${pkgdir}" cmake --build build --target install
+ install -Dm 644 fmt/LICENSE.rst -t "${pkgdir}"/usr/share/licenses/fmt
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/gcab/PKGBUILD b/abs/extra/gcab/PKGBUILD
new file mode 100644
index 0000000..6eaa571
--- /dev/null
+++ b/abs/extra/gcab/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gcab
+pkgver=1.2
+pkgrel=1
+pkgdesc="A GObject library to create cabinet files"
+url="https://wiki.gnome.org/msitools"
+arch=(x86_64)
+license=(LGPL)
+depends=(glib2)
+makedepends=(gobject-introspection vala zlib git gtk-doc meson)
+_commit=8484568d2e5b55a87cb6d6925ccb2f655159cf99 # tags/v1.2^0
+source=("git+https://gitlab.gnome.org/GNOME/gcab.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+}
+
+build() {
+ arch-meson $pkgname build
+ ninja -C build
+}
+
+check() {
+ meson test -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+}
diff --git a/abs/extra/glances/PKGBUILD b/abs/extra/glances/PKGBUILD
index 16562fa..e2e29e1 100644
--- a/abs/extra/glances/PKGBUILD
+++ b/abs/extra/glances/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Francois Boulogne <fboulogne at april dot org>
pkgname=glances
-pkgver=3.0.2
+pkgver=3.1.0
pkgrel=1
pkgdesc='CLI curses-based monitoring tool'
arch=('any')
@@ -19,7 +19,7 @@ optdepends=('hddtemp: HDD temperature monitoring support'
'python-zeroconf: for the autodiscover mode')
source=("https://github.com/nicolargo/glances/archive/v${pkgver}.tar.gz"
'glances.service')
-sha512sums=('f86aa285e803c38a852eca6782642c0a854fdb14ae938e22482288d39045d2e6b42040409f5ba323784d3bd9a32386b90964b074d5a65cd03d904bde0ec941d3'
+sha512sums=('a888cafa5987ab7a88caa0248e0cb3d9f65466d71ee8f1ca63565c5a8a59282be77c14f29afb2302fba0e79294c39e96384791cd89d23aa7727bfd4f20e2814d'
'49f0d185a37a5c5837e5beb463770c943ede40b2f1b8405e338129e897e97d9fc58373a8586fabc506266e6343cfea3c91b9787ac6832cc97a1ab63d6ad058d4')
package() {
diff --git a/abs/extra/google-chrome/.SRCINFO b/abs/extra/google-chrome/.SRCINFO
new file mode 100644
index 0000000..c524c00
--- /dev/null
+++ b/abs/extra/google-chrome/.SRCINFO
@@ -0,0 +1,32 @@
+pkgbase = google-chrome
+ pkgdesc = The popular and trusted web browser by Google (Stable Channel)
+ pkgver = 72.0.3626.119
+ pkgrel = 1
+ url = https://www.google.com/chrome
+ install = google-chrome.install
+ arch = x86_64
+ license = custom:chrome
+ depends = alsa-lib
+ depends = gtk3
+ depends = libcups
+ depends = libxss
+ depends = libxtst
+ depends = nss
+ optdepends = kdialog: for file dialogs in KDE
+ optdepends = gnome-keyring: for storing passwords in GNOME keyring
+ optdepends = kwallet: for storing passwords in KWallet
+ optdepends = gtk3-print-backends: for printing
+ optdepends = libunity: for download progress on KDE
+ optdepends = ttf-liberation: fix fonts for some PDFs (CRBug #369991)
+ optdepends = xdg-utils
+ options = !emptydirs
+ options = !strip
+ source = google-chrome-stable_72.0.3626.119_amd64.deb::https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
+ source = eula_text.html
+ source = google-chrome-stable.sh
+ md5sums = 337c55d76bc54503cbadaa8d67e05446
+ md5sums = d50d8f0a6940791eabc41c4f64e6a3cf
+ md5sums = ed4cf73982461af7d0d944c1cbf9f4e8
+
+pkgname = google-chrome
+
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index 222c16a..f483bde 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -5,7 +5,7 @@
# or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }'
pkgname=google-chrome
-pkgver=70.0.3538.67
+pkgver=72.0.3626.119
pkgrel=1
pkgdesc="The popular and trusted web browser by Google (Stable Channel)"
arch=('x86_64')
@@ -55,6 +55,6 @@ package() {
rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/
rm "$pkgdir"/opt/google/chrome/product_logo_*.png
}
-md5sums=('297579a04aadce6ea9502e536e44edd3'
+md5sums=('337c55d76bc54503cbadaa8d67e05446'
'd50d8f0a6940791eabc41c4f64e6a3cf'
'ed4cf73982461af7d0d944c1cbf9f4e8')
diff --git a/abs/extra/google-chrome/update_version.sh b/abs/extra/google-chrome/update_version.sh
new file mode 100755
index 0000000..0a11328
--- /dev/null
+++ b/abs/extra/google-chrome/update_version.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+set -euxo pipefail
+
+# Get channel
+CHANNEL=$(awk -F '=' '/^_channel/{ print $2 }' PKGBUILD)
+PKG="google-chrome-${CHANNEL}"
+
+# Get latest version
+VER=$(curl -sL "https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz" | gzip -df |
+ tr ' ' '\n' | grep -e name= -e ver= | cut -d '"' -f2 | sed 'N;s/\n/ /' |
+ grep "${PKG}" | cut -d ' ' -f 2)
+
+# Insert latest version into PKGBUILD and update hashes
+sed -i \
+ -e "s/^pkgver=.*/pkgver=${VER}/" \
+ -e 's/pkgrel=.*/pkgrel=1/' \
+ PKGBUILD
+updpkgsums
+
+# Check whether this changed anything
+if (git diff --exit-code PKGBUILD); then
+ echo "Package ${PKG} has most recent version ${VER}"
+ exit 0
+fi
+
+# Update .SRCINFO
+makepkg --printsrcinfo >.SRCINFO
+
+# Commit changes
+git add PKGBUILD .SRCINFO
+git commit -m "${PKG} v${VER}"
diff --git a/abs/extra/gtk-doc/PKGBUILD b/abs/extra/gtk-doc/PKGBUILD
index 2f9a6f1..6d710d3 100644
--- a/abs/extra/gtk-doc/PKGBUILD
+++ b/abs/extra/gtk-doc/PKGBUILD
@@ -1,27 +1,43 @@
-# $Id: PKGBUILD 139346 2011-10-01 18:59:04Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gtk-doc
-pkgver=1.18
+pkgver=1.29
pkgrel=1
pkgdesc="Documentation tool for public library API"
-arch=('any')
-license=('GPL' 'FDL')
-depends=('docbook-xsl' 'gnome-doc-utils' 'perl')
-makedepends=('pkgconfig' 'jade')
-optdepends=('jade: SGML support')
-url="http://www.gtk.org/gtk-doc/"
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('785b591c561be1c8206f0d2575dc63558ea6199c3afe49cbc4efde94a6629a20')
+url="https://www.gtk.org/gtk-doc/"
+arch=(any)
+license=(GPL FDL)
+depends=(docbook-xsl docbook-xml source-highlight glib2-docs python-lxml
+ python-pygments python-anytree)
+makedepends=(dblatex git yelp-tools)
+checkdepends=(bc gtk3 python-six)
+optdepends=('dblatex: PDF support')
+_commit=7db567e83fe5d2d0659560c6dfb25ee27b338140 # tags/GTK_DOC_1_29^0
+source=("git+https://gitlab.gnome.org/GNOME/gtk-doc.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed -e 's/GTK_DOC_//' -e 's/_/\./g' -e 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- export PYTHON=/usr/bin/python2
- ./configure --prefix=/usr
+ cd $pkgname
+ ./configure --prefix=/usr --disable-static
make
}
+check() {
+ cd $pkgname
+ make check
+}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch b/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
deleted file mode 100644
index d187d40..0000000
--- a/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From affd6e70734d7897324409d6fc0beb7b4eb7235a Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Wed, 6 Jan 2016 14:54:33 -0500
-Subject: [PATCH 1/2] x11: Only do cursor name fallback for standard names
-
-Always returning a left_ptr if we can't find anything better
-broke firefox application-specific fallback for missing cursors.
-Keep that working by only doing the fallback for the CSS cursor
-names, not for things like hashes.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=760141
----
- gdk/x11/gdkcursor-x11.c | 24 ++++++++++++++++++++----
- 1 file changed, 20 insertions(+), 4 deletions(-)
-
-diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c
-index 540f48e..d619f58 100644
---- a/gdk/x11/gdkcursor-x11.c
-+++ b/gdk/x11/gdkcursor-x11.c
-@@ -611,17 +611,23 @@ static const struct {
- const gchar *css_name, *traditional_name;
- } name_map[] = {
- { "default", "left_ptr" },
-+ { "help", "left_ptr" },
-+ { "context-menu", "left_ptr" },
- { "pointer", "hand" },
- { "progress", "left_ptr_watch" },
- { "wait", "watch" },
- { "cell", "crosshair" },
- { "crosshair", "cross" },
- { "text", "xterm" },
-+ { "vertical-text","xterm" },
- { "alias", "dnd-link" },
- { "copy", "dnd-copy" },
-+ { "move", "dnd-move" },
- { "no-drop", "dnd-none" },
- { "not-allowed", "crossed_circle" },
- { "grab", "hand2" },
-+ { "grabbing", "hand2" },
-+ { "all-scroll", "left_ptr" },
- { "col-resize", "h_double_arrow" },
- { "row-resize", "v_double_arrow" },
- { "n-resize", "top_side" },
-@@ -636,6 +642,8 @@ static const struct {
- { "ns-resize", "v_double_arrow" },
- { "nesw-resize", "fd_double_arrow" },
- { "nwse-resize", "bd_double_arrow" },
-+ { "zoom-in", "left_ptr" },
-+ { "zoom-out", "left_ptr" },
- { NULL, NULL }
- };
-
-@@ -650,7 +658,7 @@ name_fallback (const gchar *name)
- return name_map[i].traditional_name;
- }
-
-- return "left_ptr";
-+ return NULL;
- }
-
- GdkCursor*
-@@ -683,9 +691,17 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
- xcursor = XcursorLibraryLoadCursor (xdisplay, name);
- if (xcursor == None)
-- xcursor = XcursorLibraryLoadCursor (xdisplay, name_fallback (name));
-- if (xcursor == None)
-- xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
-+ {
-+ const char *fallback;
-+
-+ fallback = name_fallback (name);
-+ if (fallback)
-+ {
-+ xcursor = XcursorLibraryLoadCursor (xdisplay, fallback);
-+ if (xcursor == None)
-+ xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
-+ }
-+ }
- if (xcursor == None)
- return NULL;
- }
---
-2.7.0
-
diff --git a/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch b/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
deleted file mode 100644
index 94b69fb..0000000
--- a/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 81a287478a4db9ce650cc764474b9c173b137dee Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Wed, 6 Jan 2016 14:56:06 -0500
-Subject: [PATCH 2/2] wayland: Only do cursor name fallback for standard names
-
-Always returning a left_ptr if we can't find anything better
-broke firefox application-specific fallback for missing cursors.
-Keep that working by only doing the fallback for the CSS cursor
-names, not for things like hashes.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=760141
----
- gdk/wayland/gdkcursor-wayland.c | 29 +++++++++++++++++++++--------
- 1 file changed, 21 insertions(+), 8 deletions(-)
-
-diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c
-index 8aee5ae..bdfa316 100644
---- a/gdk/wayland/gdkcursor-wayland.c
-+++ b/gdk/wayland/gdkcursor-wayland.c
-@@ -87,17 +87,23 @@ static const struct {
- const gchar *css_name, *traditional_name;
- } name_map[] = {
- { "default", "left_ptr" },
-+ { "help", "left_ptr" },
-+ { "context-menu", "left_ptr" },
- { "pointer", "hand" },
- { "progress", "left_ptr_watch" },
- { "wait", "watch" },
- { "cell", "crosshair" },
- { "crosshair", "cross" },
- { "text", "xterm" },
-+ { "vertical-text","xterm" },
- { "alias", "dnd-link" },
- { "copy", "dnd-copy" },
-+ { "move", "dnd-move" },
- { "no-drop", "dnd-none" },
- { "not-allowed", "crossed_circle" },
- { "grab", "hand2" },
-+ { "grabbing", "hand2" },
-+ { "all-scroll", "left_ptr" },
- { "col-resize", "h_double_arrow" },
- { "row-resize", "v_double_arrow" },
- { "n-resize", "top_side" },
-@@ -112,6 +118,8 @@ static const struct {
- { "ns-resize", "v_double_arrow" },
- { "nesw-resize", "fd_double_arrow" },
- { "nwse-resize", "bd_double_arrow" },
-+ { "zoom-in", "left_ptr" },
-+ { "zoom-out", "left_ptr" },
- { NULL, NULL }
- };
-
-@@ -126,7 +134,7 @@ name_fallback (const gchar *name)
- return name_map[i].traditional_name;
- }
-
-- return "left_ptr";
-+ return NULL;
- }
-
- static gboolean
-@@ -144,17 +152,22 @@ _gdk_wayland_cursor_update (GdkWaylandDisplay *wayland_display,
- cursor->scale);
- c = wl_cursor_theme_get_cursor (theme, cursor->name);
- if (!c)
-- c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
-+ {
-+ const char *fallback;
-+
-+ fallback = name_fallback (cursor->name);
-+ if (fallback)
-+ {
-+ c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
-+ if (!c)
-+ c = wl_cursor_theme_get_cursor (theme, "left_ptr");
-+ }
-+ }
-
- if (!c)
- {
- g_warning (G_STRLOC ": Unable to load %s from the cursor theme", cursor->name);
--
-- /* return the left_ptr cursor as a fallback */
-- c = wl_cursor_theme_get_cursor (theme, "left_ptr");
--
-- if (!c)
-- return FALSE;
-+ return FALSE;
- }
-
- cursor->wl_cursor = c;
---
-2.7.0
-
diff --git a/abs/extra/gtk3/PKGBUILD b/abs/extra/gtk3/PKGBUILD
index 15dc342..bd062d0 100644
--- a/abs/extra/gtk3/PKGBUILD
+++ b/abs/extra/gtk3/PKGBUILD
@@ -1,74 +1,82 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgbase=gtk3
pkgname=(gtk3 gtk-update-icon-cache)
-pkgver=3.18.6
-pkgrel=2
+pkgver=3.24.4+15+g80b5024239
+pkgrel=1
pkgdesc="GObject-based multi-platform GUI toolkit"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-depends=(atk cairo libcups libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2
- libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
- adwaita-icon-theme json-glib rest librsvg)
-makedepends=(gobject-introspection libcanberra)
+arch=(x86_64)
+url="https://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
+ cantarell-fonts colord rest libcups libcanberra)
+makedepends=(gobject-introspection gtk-doc git glib2-docs sassc)
license=(LGPL)
-source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
- 0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
- 0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
- settings.ini)
-sha256sums=('78cabf0fd5a662f8723f62d5ac633072c76c557c1d700454c9c3deaa37e441ef'
- '0402c3b7801810beb0f24ad20e4fb2eb7519cf3984f39e093a6e2752a0f7d9de'
- '94722b06284e76f628fc8933617ac19c14f6775a5250fe3c382defab63d7b10e'
- '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202')
+_commit=80b5024239ee358ede8203666dfe9ea790a29b70 # gtk-3-24
+source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"
+ settings.ini
+ gtk-query-immodules-3.0.hook
+ gtk-update-icon-cache.hook
+ gtk-update-icon-cache.script)
+sha256sums=('SKIP'
+ '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
+ 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
+ '496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
+ 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541')
-prepare() {
- cd gtk+-$pkgver
+pkgver() {
+ cd gtk
+ git describe --tags | sed 's/-/+/g'
+}
- # Fix zoom in/out cursors in GTK3 builds of Firefox
- # https://bugzilla.gnome.org/show_bug.cgi?id=760141
- patch -Np1 -i ../0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
- patch -Np1 -i ../0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
+prepare() {
+ cd gtk
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd "gtk+-$pkgver"
+ cd gtk
- CXX=/bin/false ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-schemas-compile \
- --enable-x11-backend \
- --enable-broadway-backend \
- --enable-wayland-backend
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-schemas-compile \
+ --enable-x11-backend \
+ --enable-broadway-backend \
+ --enable-wayland-backend \
+ --disable-gtk-doc
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- make
+ make
}
package_gtk3() {
- depends+=(gtk-update-icon-cache)
- optdepends=('libcanberra: gtk3-widget-factory demo')
- install=gtk3.install
+ depends+=(gtk-update-icon-cache)
+ provides=(gtk3-print-backends)
+ conflicts=(gtk3-print-backends)
+ replaces=("gtk3-print-backends<=3.22.26-1")
+ install=gtk3.install
+
+ DESTDIR="$pkgdir" make -C gtk install
- cd "gtk+-$pkgver"
- make DESTDIR="$pkgdir" install
- install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
+ install -Dt "$pkgdir/usr/share/gtk-3.0" -m644 settings.ini
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-query-immodules-3.0.hook
- # split this out to use with gtk2 too
- rm "$pkgdir/usr/bin/gtk-update-icon-cache"
+ # split this out to use with gtk2 too
+ mv "$pkgdir/usr/bin/gtk-update-icon-cache" "$srcdir"
}
package_gtk-update-icon-cache() {
- pkgdesc="GTK+ icon cache updater"
- depends=(gdk-pixbuf2 hicolor-icon-theme)
- install=gtk-update-icon-cache.install
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 librsvg hicolor-icon-theme)
- cd gtk+-$pkgver/gtk
- install -Dm755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+ install -Dt "$pkgdir/usr/bin" gtk-update-icon-cache
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-update-icon-cache.hook
+ install -D gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
}
-# vim:set et sw=4:
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/gtk3/gtk-query-immodules-3.0.hook b/abs/extra/gtk3/gtk-query-immodules-3.0.hook
new file mode 100644
index 0000000..c7703cf
--- /dev/null
+++ b/abs/extra/gtk3/gtk-query-immodules-3.0.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so
+
+[Action]
+Description = Probing GTK3 input method modules...
+When = PostTransaction
+Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache
diff --git a/abs/extra/gtk3/gtk-update-icon-cache.hook b/abs/extra/gtk3/gtk-update-icon-cache.hook
new file mode 100644
index 0000000..fca3fdc
--- /dev/null
+++ b/abs/extra/gtk3/gtk-update-icon-cache.hook
@@ -0,0 +1,13 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/icons/*/
+Target = !usr/share/icons/*/?*
+
+[Action]
+Description = Updating icon theme caches...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
+NeedsTargets
diff --git a/abs/extra/gtk3/gtk-update-icon-cache.install b/abs/extra/gtk3/gtk-update-icon-cache.install
deleted file mode 100644
index 1afcc72..0000000
--- a/abs/extra/gtk3/gtk-update-icon-cache.install
+++ /dev/null
@@ -1,3 +0,0 @@
-post_install() {
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
diff --git a/abs/extra/gtk3/gtk-update-icon-cache.script b/abs/extra/gtk3/gtk-update-icon-cache.script
new file mode 100644
index 0000000..ee0f1d1
--- /dev/null
+++ b/abs/extra/gtk3/gtk-update-icon-cache.script
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+while read -r f; do
+ if [[ -e ${f}index.theme ]]; then
+ gtk-update-icon-cache -q "$f"
+ elif [[ -d $f ]]; then
+ rm -f "${f}icon-theme.cache"
+ rmdir --ignore-fail-on-non-empty "$f"
+ fi
+done
diff --git a/abs/extra/gtk3/gtk3.install b/abs/extra/gtk3/gtk3.install
index f57b1bf..c0c4453 100644
--- a/abs/extra/gtk3/gtk3.install
+++ b/abs/extra/gtk3/gtk3.install
@@ -1,18 +1,3 @@
-post_install() {
- /usr/bin/gtk-query-immodules-3.0 --update-cache
- /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
- /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
pre_remove() {
rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
}
-
-post_remove() {
- /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
- /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD
index bf66a04..3b902e4 100644
--- a/abs/extra/handbrake/PKGBUILD
+++ b/abs/extra/handbrake/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id$
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sebastien Piccand <sebcactus gmail com>
pkgname=('handbrake' 'handbrake-cli')
-pkgver=1.0.7
-pkgrel=2
-arch=('i686' 'x86_64')
+pkgver=1.2.0
+pkgrel=1
+arch=('x86_64')
url="https://handbrake.fr/"
license=('GPL')
-makedepends=('intltool' 'python2' 'yasm' 'wget' 'cmake' 'bzip2' 'gcc-libs'
+makedepends=('intltool' 'python2' 'nasm' 'wget' 'cmake' 'bzip2' 'gcc-libs' 'xz'
'zlib' 'libnotify' 'gst-plugins-base' 'gtk3' 'dbus-glib' 'libass'
'lame' 'libxml2' 'opus' 'libvorbis' 'libtheora' 'libsamplerate'
- 'x264' 'libx264' 'jansson' 'librsvg' 'libgudev')
-source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2)
-sha256sums=('ffdee112f0288f0146b965107956cd718408406b75db71c44d2188f5296e677f')
+ 'speex' 'x264' 'jansson' 'librsvg' 'libgudev')
+source=(https://download.handbrake.fr/releases/$pkgver/HandBrake-$pkgver-source.tar.bz2
+ https://github.com/HandBrake/HandBrake/releases/download/$pkgver/HandBrake-$pkgver-source.tar.bz2.sig)
+sha256sums=('113b398a50147d48c8777e6ff2c4de6825af5f1079b3822e41bf0eacec9c940d'
+ 'SKIP')
+validpgpkeys+=('1629C061B3DDE7EB4AE34B81021DB8B44E4A8645') # HandBrake Team <developers@handbrake.fr>
build() {
cd "$srcdir/HandBrake-$pkgver"
@@ -26,8 +28,8 @@ build() {
package_handbrake() {
pkgdesc="Multithreaded video transcoder"
depends=('bzip2' 'gcc-libs' 'zlib' 'gst-plugins-base' 'libnotify' 'dbus-glib'
- 'gtk3' 'libass' 'lame' 'libxml2' 'opus' 'libvorbis' 'libtheora'
- 'libsamplerate' 'libx264' 'jansson' 'librsvg' 'libgudev'
+ 'gtk3' 'xz' 'libass' 'lame' 'libxml2' 'opus' 'libvorbis' 'libtheora'
+ 'libsamplerate' 'speex' 'x264' 'jansson' 'librsvg' 'libgudev'
'desktop-file-utils' 'hicolor-icon-theme')
optdepends=('gst-plugins-good: for video previews'
'gst-libav: for video previews'
@@ -41,8 +43,8 @@ package_handbrake() {
package_handbrake-cli() {
pkgdesc="Multithreaded video transcoder (CLI)"
- depends=('bzip2' 'gcc-libs' 'zlib' 'libass' 'lame' 'libxml2' 'opus'
- 'libvorbis' 'libtheora' 'libsamplerate' 'libx264' 'jansson')
+ depends=('bzip2' 'gcc-libs' 'zlib' 'xz' 'libass' 'lame' 'libxml2' 'opus'
+ 'libvorbis' 'libtheora' 'libsamplerate' 'speex' 'x264' 'jansson')
optdepends=('libdvdcss: for decoding encrypted DVDs')
cd "$srcdir/HandBrake-$pkgver/build"
diff --git a/abs/extra/java-common/PKGBUILD b/abs/extra/java-common/PKGBUILD
index 502622e..97f7585 100644
--- a/abs/extra/java-common/PKGBUILD
+++ b/abs/extra/java-common/PKGBUILD
@@ -1,26 +1,28 @@
# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
pkgname=('java-runtime-common' 'java-environment-common')
pkgbase=java-common
-pkgver=2
-pkgrel=2
+pkgver=3
+pkgrel=1
arch=('any')
-url='www.archlinux.org'
+url='https://www.archlinux.org/packages/extra/any/java-common/'
license=('GPL')
checkdepends=('wget')
+_shunitver=2.1.6
source=(profile_jre.csh
profile_jre.sh
bin_archlinux-java
test_archlinux-java
- https://shunit2.googlecode.com/files/shunit2-2.1.6.tgz)
+ shunit2-${_shunitver}.tar.gz::https://github.com/kward/shunit2/archive/source.tar.gz)
sha256sums=('9d25638cafc2fabd1ba6f2f26aa01233eccf3d31db003d956b571f0ab655dd23'
'519e9881a2a9f4fc3d581ea0ef0da594eedbfdfcf734f9fdc0bb595e8ac77e4c'
- '272296ec7ca673b4f9f59fb70565328b6daef682c29cd964c988c018090c3fc2'
- 'c2c413a6b2f8b88ed170a5b19f7cb620518e09686f0d286b4b27d30f571e5050'
- '65a313a76fd5cc1c58c9e19fbc80fc0e418a4cbfbd46d54b35ed5b6e0025d4ee')
+ '5101f9d3d42cd545843a537826451c1b2e0bf2b16aba4e36ac797d9ace16dc63'
+ '721b225f6eb420f7b173ba2db8c65688f50ffd5dad0960ecce4cfefdb57b26a2'
+ '6beca93d20b72b46083c8271c4cf1da21b45f250a92b401c2565c65e1d75138f')
check() {
cd "${srcdir}"
+ ln -s shunit2-source/${_shunitver} shunit2
./test_archlinux-java
}
@@ -46,7 +48,7 @@ package_java-runtime-common() {
# Official list of binaries that Java headless runtime packages MUST provide
# This list is based on Arch Linux' default Java implementation: "OpenJDK 7 Icedtea"
for b in \
- java keytool orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200;
+ java keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200;
do
ln -s /usr/lib/jvm/default-runtime/bin/${b} "${pkgdir}/usr/bin/${b}"
done
@@ -61,9 +63,9 @@ package_java-environment-common() {
# Official list of supplementary binaries that Java environment packages MUST provide
# This list is based on Arch Linux' default Java implementation: "OpenJDK 7 Icedtea"
for b in \
- appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jcmd \
- jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat \
- jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc;
+ jar jarsigner javac javadoc javah javap jcmd \
+ jconsole jdb jinfo jmap jps jstack jstat \
+ jstatd rmic schemagen serialver wsgen wsimport xjc;
do
ln -s /usr/lib/jvm/default/bin/${b} "${pkgdir}/usr/bin/${b}"
done
diff --git a/abs/extra/java-common/bin_archlinux-java b/abs/extra/java-common/bin_archlinux-java
index 453b0a4..5c5937b 100755
--- a/abs/extra/java-common/bin_archlinux-java
+++ b/abs/extra/java-common/bin_archlinux-java
@@ -44,7 +44,7 @@ get_default_java() {
get_installed_javas() {
if [ -d ${JVM_DIR} ]; then
for dir in $(find ${JVM_DIR} -mindepth 1 -maxdepth 1 -type d | sort); do
- if [ -x ${dir}/bin/javac ]; then
+ if [ -x ${dir}/bin/java ]; then
javas+=(${dir/${JVM_DIR}\/})
else
if [ -x ${dir}/jre/bin/java ]; then
@@ -68,10 +68,10 @@ set_default_link_to() {
ln -sf ${new_default} ${DEFAULT_PATH}
unlink ${DEFAULT_PATH_JRE} 2>/dev/null
- if [[ ${new_default} == */jre ]]; then
- ln -sf ${new_default} ${DEFAULT_PATH_JRE}
- else
+ if [[ -d ${new_default}/jre ]]; then
ln -sf ${new_default}/jre ${DEFAULT_PATH_JRE}
+ else
+ ln -sf ${new_default} ${DEFAULT_PATH_JRE}
fi
}
@@ -90,6 +90,7 @@ do_status() {
default_java=$(get_default_java)
echo 'Available Java environments:'
for java in ${installed_java[@]}; do
+ # We discoverd this Java env but its JRE is actually set as default
if [ "${java}/jre" = "${default_java}" ]; then
echo -e " ${java} (${java}/jre default)"
elif [ ${java} = "${default_java}" ]; then
@@ -135,6 +136,7 @@ do_unset() {
do_fix() {
default=$(get_default_java)
if is_java_valid ${default}; then
+ # If its parent is also a valid Java environment
if is_java_valid $(dirname ${default}); then
unset_default_link
set_default_link_to $(dirname ${default})
@@ -142,9 +144,13 @@ do_fix() {
else
prev=$(readlink ${DEFAULT_PATH})
unset_default_link
- prev_fix=("${prev/\/jre}" "${prev}/jre")
- openjdk7=('java-7-openjdk' 'java-7-openjdk/jre')
- to_check=(${prev_fix[@]} ${openjdk7[@]} $(get_installed_javas))
+ potential_fixes=("${prev/\/jre}" "${prev}/jre")
+ openjdk8=('java-8-openjdk' 'java-8-openjdk/jre')
+ # List of environments to check by order of preference:
+ # - first potential fixes of user choices,
+ # - then OpenJDK8 as it is considered a default in Arch Linux
+ # - finally, any installed environment
+ to_check=(${potential_fixes[@]} ${openjdk8[@]} $(get_installed_javas))
for java in ${to_check[@]}; do
if ! is_java_valid $(get_default_java) && is_java_valid ${java}; then
set_default_link_to ${java}
diff --git a/abs/extra/java-common/test_archlinux-java b/abs/extra/java-common/test_archlinux-java
index 867745d..d6c4bce 100755
--- a/abs/extra/java-common/test_archlinux-java
+++ b/abs/extra/java-common/test_archlinux-java
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# To run this script, ensure shunit2 (https://code.google.com/p/shunit2/)
+# To run this script, ensure shunit2 (https://github.com/kward/shunit2)
# is available on the local directory, then just run sh bin_archlinux-java_tests
#
# inotifywait -r -m -e MODIFY . | while read l; do sh bin_archlinux-java_tests; done
@@ -37,22 +37,32 @@ tearDown() {
}
# $1: path of Java environment to create
-create_valid_jre_env() {
- mkdir -p ${JVM_DIR}/$1/bin
- for binary in java keytool orbd; do
- touch ${JVM_DIR}/$1/bin/${binary}
- chmod +x ${JVM_DIR}/$1/bin/${binary}
- done
+create_raw_java_env() {
+ java_env_name=$1
+ bin_name=$2
+ mkdir -p ${JVM_DIR}/${java_env_name}/bin
+ touch ${JVM_DIR}/${java_env_name}/bin/$bin_name
+ chmod +x ${JVM_DIR}/${java_env_name}/bin/$bin_name
+}
+
+create_valid_jre8_env() {
+ create_raw_java_env "$1/jre" "java"
}
# $1: path of Java environment to create
-create_valid_jdk_env() {
- create_valid_jre_env "$1"
- for binary in javac javah jhat; do
- touch ${JVM_DIR}/$1/bin/${binary}
- chmod +x ${JVM_DIR}/$1/bin/${binary}
- done
- create_valid_jre_env "$1/jre"
+create_valid_jre8_jdk8_env() {
+ create_raw_java_env "$1" "java"
+ create_raw_java_env "$1" "javac"
+ create_valid_jre8_env "$1"
+}
+
+create_valid_jre9_env() {
+ create_raw_java_env "$1" "java"
+}
+
+create_valid_jre9_jdk9_env() {
+ create_raw_java_env "$1" "java"
+ create_raw_java_env "$1" "javac"
}
set_default_for_test() {
@@ -79,24 +89,78 @@ assertDefaultSetTo() {
# do_status
-test_do_status() {
+test_do_status_with_jre8_default() {
JAVA_NAME_1="a$(get_rand_str)"
JAVA_NAME_2="b$(get_rand_str)"
- create_valid_jre_env "${JAVA_NAME_1}/jre"
+ JAVA_NAME_3="c$(get_rand_str)"
+ create_valid_jre8_env "${JAVA_NAME_1}"
set_default_for_test "${JAVA_NAME_1}/jre"
- create_valid_jdk_env "${JAVA_NAME_2}"
- expected=$(echo -e "Available Java environments:\n ${JAVA_NAME_1}/jre (default)\n ${JAVA_NAME_2}")
+ create_valid_jre8_jdk8_env "${JAVA_NAME_2}"
+ create_valid_jre9_env "${JAVA_NAME_3}"
+ mess="Available Java environments:"
+ mess+="\n ${JAVA_NAME_1}/jre (default)"
+ mess+="\n ${JAVA_NAME_2}"
+ mess+="\n ${JAVA_NAME_3}"
+ expected=$(echo -e "${mess}")
+ assertEquals 'Wrong status output' "${expected}" "$(do_status)"
+}
+
+test_do_status_with_jre9_default() {
+ JAVA_NAME_1="a$(get_rand_str)"
+ JAVA_NAME_2="b$(get_rand_str)"
+ JAVA_NAME_3="c$(get_rand_str)"
+ create_valid_jre8_env "${JAVA_NAME_1}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME_2}"
+ create_valid_jre9_env "${JAVA_NAME_3}"
+ set_default_for_test "${JAVA_NAME_3}"
+ mess="Available Java environments:"
+ mess+="\n ${JAVA_NAME_1}/jre"
+ mess+="\n ${JAVA_NAME_2}"
+ mess+="\n ${JAVA_NAME_3} (default)"
+ expected=$(echo -e "${mess}")
+ assertEquals 'Wrong status output' "${expected}" "$(do_status)"
+}
+
+test_do_status_with_jdk9_default() {
+ JAVA_NAME_1="a$(get_rand_str)"
+ JAVA_NAME_2="b$(get_rand_str)"
+ JAVA_NAME_3="c$(get_rand_str)"
+ create_valid_jre8_env "${JAVA_NAME_1}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME_2}"
+ create_valid_jre9_jdk9_env "${JAVA_NAME_3}"
+ set_default_for_test "${JAVA_NAME_3}"
+ mess="Available Java environments:"
+ mess+="\n ${JAVA_NAME_1}/jre"
+ mess+="\n ${JAVA_NAME_2}"
+ mess+="\n ${JAVA_NAME_3} (default)"
+ expected=$(echo -e "${mess}")
assertEquals 'Wrong status output' "${expected}" "$(do_status)"
}
test_do_status_no_default() {
JAVA_NAME_1="a$(get_rand_str)"
JAVA_NAME_2="b$(get_rand_str)"
- create_valid_jre_env "${JAVA_NAME_1}/jre"
- create_valid_jdk_env "${JAVA_NAME_2}"
+ JAVA_NAME_3="c$(get_rand_str)"
+ JAVA_NAME_4="d$(get_rand_str)"
+ create_valid_jre8_env "${JAVA_NAME_1}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME_2}"
+ create_valid_jre9_env "${JAVA_NAME_3}"
+ create_valid_jre9_jdk9_env "${JAVA_NAME_4}"
mess="Available Java environments:"
mess+="\n ${JAVA_NAME_1}/jre"
mess+="\n ${JAVA_NAME_2}"
+ mess+="\n ${JAVA_NAME_3}"
+ mess+="\n ${JAVA_NAME_4}"
+ mess+="\nNo Java environment set as default"
+ expected=$(echo -e "${mess}")
+ assertEquals 'Wrong status output' "${expected}" "$(do_status)"
+}
+
+test_do_status_no_duplicate_entry_jre9_jdk9() {
+ JAVA_NAME_1="a$(get_rand_str)"
+ create_valid_jre9_jdk9_env "${JAVA_NAME_1}"
+ mess="Available Java environments:"
+ mess+="\n ${JAVA_NAME_1}"
mess+="\nNo Java environment set as default"
expected=$(echo -e "${mess}")
assertEquals 'Wrong status output' "${expected}" "$(do_status)"
@@ -107,7 +171,7 @@ test_do_status_no_javas() {
}
test_do_status_jre_but_jdk_exists() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}/jre"
mess="Available Java environments:"
mess+="\n ${JAVA_NAME} (${JAVA_NAME}/jre default)"
@@ -117,27 +181,35 @@ test_do_status_jre_but_jdk_exists() {
# do_get
-test_do_get_with_default() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_get_with_jdk8_default() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}"
assertEquals 'Wrong result' "${JAVA_NAME}" "$(do_get)"
assertDefaultSetTo "${JAVA_NAME}"
}
test_do_get_without_default() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "$(get_rand_str)"
+ create_valid_jre9_jdk9_env "$(get_rand_str)"
assertNull 'Wrong result' "$(do_get)"
}
-test_do_get_without_default() {
+test_do_get_with_initial_null() {
set_default_for_test "/dev/null"
assertNull 'Wrong result' "$(do_get)"
}
+test_do_get_with_jdk9_default() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ assertEquals 'Wrong result' "${JAVA_NAME}" "$(do_get)"
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
# do_set
test_do_set_new_invalid() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}"
output=$(do_set "INVALID")
assertEquals 'Wrong status returned' 1 $?
@@ -146,32 +218,66 @@ test_do_set_new_invalid() {
}
test_do_set_current_invalid() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "INVALID"
$(do_set "${JAVA_NAME}")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME}"
}
-test_do_set_with_default_already_set() {
- create_valid_jre_env "${JAVA_NAME}/jre"
+test_do_set_jre8_with_default_already_set_to_jre8() {
+ create_valid_jre8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}/jre"
JAVA_NAME_2="$(get_rand_str)"
- create_valid_jre_env "${JAVA_NAME_2}/jre"
+ create_valid_jre8_env "${JAVA_NAME_2}"
$(do_set "${JAVA_NAME_2}/jre")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME_2}/jre"
}
-test_do_set_no_default() {
- create_valid_jre_env "${JAVA_NAME}/jre"
+test_do_set_jre9_with_default_already_set_to_jre8() {
+ create_valid_jre8_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}/jre"
+ JAVA_NAME_2="$(get_rand_str)"
+ create_valid_jre9_env "${JAVA_NAME_2}"
+ $(do_set "${JAVA_NAME_2}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA_NAME_2}"
+}
+
+test_do_set_jdk9_with_default_already_set_to_jdk8() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ JAVA_NAME_2="$(get_rand_str)"
+ create_valid_jre9_jdk9_env "${JAVA_NAME_2}"
+ $(do_set "${JAVA_NAME_2}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA_NAME_2}"
+}
+
+test_do_set_jre8_no_previous_default() {
+ create_valid_jre8_env "${JAVA_NAME}"
$(do_set "${JAVA_NAME}/jre")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME}/jre"
}
-test_do_set_exists_jdk() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_set_jre9_no_previous_default() {
+ create_valid_jre9_env "${JAVA_NAME}"
+ $(do_set "${JAVA_NAME}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
+test_do_set_jdk9_no_previous_default() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ $(do_set "${JAVA_NAME}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
+test_do_set_jre8_while_jdk8_also_exists() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
output=$(do_set "${JAVA_NAME}/jre")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME}/jre"
@@ -181,33 +287,52 @@ test_do_set_exists_jdk() {
#assertEquals 'Wrong message' "${expected}" "${output}"
}
-test_do_set_cleanup_old_java_default() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_set_jdk8_cleanup_old_jre8_default() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}"
output=$(do_set "${JAVA_NAME}/jre")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME}/jre"
}
-test_do_set_devnull() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_set_jdk9_cleanup_old_jdk8_default() {
+ JAVA8_NAME=$(get_rand_str)
+ create_valid_jre8_jdk8_env "${JAVA8_NAME}"
+ set_default_for_test "${JAVA8_NAME}"
+ JAVA9_NAME=$(get_rand_str)
+ create_valid_jre9_jdk9_env "${JAVA9_NAME}"
+ output=$(do_set "${JAVA9_NAME}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA9_NAME}"
+}
+
+test_do_set_jdk8_devnull() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "/dev/null"
output=$(do_set "${JAVA_NAME}/jre")
assertEquals 'Wrong status returned' 0 $?
assertDefaultSetTo "${JAVA_NAME}/jre"
}
+test_do_set_jdk9_devnull() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ set_default_for_test "/dev/null"
+ output=$(do_set "${JAVA_NAME}")
+ assertEquals 'Wrong status returned' 0 $?
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
# do_unset
-test_do_unset_default_not_target() {
- create_valid_jre_env "${JAVA_NAME}/jre"
+test_do_unset_jre8() {
+ create_valid_jre8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}/jre"
do_unset
assertDefaultNotSet
}
test_do_unset_no_default_link() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}"
unlink ${DEFAULT_PATH}
do_unset
@@ -220,37 +345,90 @@ test_do_unset_devnull() {
assertDefaultNotSet
}
+test_do_unset_jre9() {
+ create_valid_jre9_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ do_unset
+ assertDefaultNotSet
+}
+
+test_do_unset_jdk9() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ do_unset
+ assertDefaultNotSet
+}
+
# do_fix
-test_do_fix_default_valid() {
- create_valid_jre_env "${JAVA_NAME}/jre"
+test_do_fix_default_valid_jre8() {
+ create_valid_jre8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}/jre"
do_fix
assertDefaultSetTo "${JAVA_NAME}/jre"
}
-test_do_fix_no_default() {
- create_valid_jre_env "${JAVA_NAME}/jre"
+test_do_fix_default_valid_jre9() {
+ create_valid_jre9_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ do_fix
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
+test_do_fix_default_valid_jdk9() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ set_default_for_test "${JAVA_NAME}"
+ do_fix
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
+test_do_fix_no_default_jre8() {
+ create_valid_jre8_env "${JAVA_NAME}"
do_fix
assertDefaultSetTo "${JAVA_NAME}/jre"
}
+test_do_fix_no_default_jre9() {
+ create_valid_jre9_env "${JAVA_NAME}"
+ do_fix
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
+test_do_fix_no_default_jdk9() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ do_fix
+ assertDefaultSetTo "${JAVA_NAME}"
+}
+
test_do_fix_default_invalid_openjdk7_jdk_installed() {
- create_valid_jdk_env "java-7-openjdk"
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "java-8-openjdk"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
+ do_fix
+ assertDefaultSetTo "java-8-openjdk"
+}
+
+test_do_fix_jdk8_not_default_but_openjdk7_jre_installed() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
+ create_valid_jre8_env "java-8-openjdk"
+ do_fix
+ assertDefaultSetTo "java-8-openjdk/jre"
+}
+
+test_do_fix_jdk9_not_default_but_openjdk7_jre_installed() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
+ create_valid_jre8_env "java-8-openjdk"
do_fix
- assertDefaultSetTo "java-7-openjdk"
+ assertDefaultSetTo "java-8-openjdk/jre"
}
-test_do_fix_default_invalid_openjdk7_jre_installed() {
- create_valid_jdk_env "${JAVA_NAME}"
- create_valid_jre_env "java-7-openjdk/jre"
+test_do_fix_default_invalid_random_java8_installed() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
do_fix
- assertDefaultSetTo "java-7-openjdk/jre"
+ assertDefaultSetTo "${JAVA_NAME}"
}
-test_do_fix_default_invalid_random_java_installed() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_fix_default_invalid_random_java9_installed() {
+ create_valid_jre9_jdk9_env "${JAVA_NAME}"
do_fix
assertDefaultSetTo "${JAVA_NAME}"
}
@@ -260,27 +438,28 @@ test_do_fix_default_invalid_no_java_installed() {
assertDefaultNotSet
}
-test_do_fix_jre_but_jdk_exists() {
- create_valid_jdk_env "${JAVA_NAME}"
+test_do_fix_jre8_but_jdk8_exists() {
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "${JAVA_NAME}/jre"
do_fix
assertDefaultSetTo "${JAVA_NAME}"
}
test_do_fix_jdk_but_jre_exists() {
- create_valid_jdk_env "java-7-openjdk"
- create_valid_jre_env "${JAVA_NAME}/jre"
+ create_valid_jre8_jdk8_env "java-7-openjdk"
+ create_valid_jre8_env "${JAVA_NAME}"
+ # Only JRE is installed but setting JDK as default
set_default_for_test "${JAVA_NAME}"
do_fix
assertDefaultSetTo "${JAVA_NAME}/jre"
}
test_do_fix_devnull() {
- create_valid_jdk_env "${JAVA_NAME}"
+ create_valid_jre8_jdk8_env "${JAVA_NAME}"
set_default_for_test "/dev/null"
do_fix
assertDefaultSetTo "${JAVA_NAME}"
}
# load shunit2
-. shunit2-2.1.6/src/shunit2
+. shunit2/src/shunit2
diff --git a/abs/extra/java-hamcrest/LICENSE.txt b/abs/extra/java-hamcrest/LICENSE.txt
new file mode 100644
index 0000000..5ebe92c
--- /dev/null
+++ b/abs/extra/java-hamcrest/LICENSE.txt
@@ -0,0 +1,27 @@
+BSD License
+
+Copyright (c) 2000-2006, www.hamcrest.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of Hamcrest nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/abs/extra/java-hamcrest/PKGBUILD b/abs/extra/java-hamcrest/PKGBUILD
new file mode 100644
index 0000000..f707fb0
--- /dev/null
+++ b/abs/extra/java-hamcrest/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+_libname=hamcrest
+pkgname=java-${_libname}
+pkgver=1.3
+pkgrel=4
+pkgdesc='Java matcher objects library'
+arch=('any')
+url='https://code.google.com/p/hamcrest'
+license=('BSD')
+depends=('java-runtime-headless')
+_url='https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hamcrest'
+source=(${_url}/${_libname}-core-${pkgver}.jar
+ ${_url}/${_libname}-library-${pkgver}.jar
+ ${_url}/${_libname}-generator-${pkgver}.jar
+ ${_url}/${_libname}-integration-${pkgver}.jar
+ LICENSE.txt)
+noextract=(${_libname}-core-${pkgver}.jar
+ ${_libname}-library-${pkgver}.jar
+ ${_libname}-generator-${pkgver}.jar
+ ${_libname}-integration-${pkgver}.jar)
+sha256sums=('66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9'
+ '711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c'
+ '84c810cafabd046d0e5599f9b5fc1514b2a6ce45313997e020a47076ba27d035'
+ '70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2'
+ '1cde867cab5c8e842929da5391cef98b4017314822270e934e8e2eef3767c666')
+
+package() {
+ cd "${srcdir}"
+
+ install -dm755 ${pkgdir}/usr/share/java/${_libname}
+ for j in core library generator integration; do
+ cp ${_libname}-${j}-${pkgver}.jar ${pkgdir}/usr/share/java/${_libname}/${j}-${pkgver}.jar
+ ln -s ${j}-${pkgver}.jar ${pkgdir}/usr/share/java/${_libname}/${j}.jar
+ ln -s ${_libname}/${j}-${pkgver}.jar ${pkgdir}/usr/share/java/${_libname}-${j}.jar
+ done
+
+ install -Dm644 LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/extra/java8-openjdk/PKGBUILD b/abs/extra/java8-openjdk/PKGBUILD
new file mode 100644
index 0000000..cec67b6
--- /dev/null
+++ b/abs/extra/java8-openjdk/PKGBUILD
@@ -0,0 +1,280 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+# Contributor: Boyan Ding <stu_dby@126.com>
+
+# TODO
+# once icedtea:
+# pulse
+# add policytool desktop files
+
+# Package 'openjfx' must be updated when this one is
+pkgname=('jre8-openjdk-headless' 'jre8-openjdk' 'jdk8-openjdk' 'openjdk8-src' 'openjdk8-doc')
+pkgbase=java8-openjdk
+_java_ver=8
+_jdk_update=202
+_jdk_build=26
+pkgver=${_java_ver}.u${_jdk_update}
+_repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build}
+pkgrel=1
+arch=('x86_64')
+url='http://openjdk.java.net/'
+license=('custom')
+makedepends=('jdk7-openjdk' 'ccache' 'cpio' 'unzip' 'zip'
+ 'libxrender' 'libxtst' 'fontconfig' 'libcups' 'alsa-lib')
+_url_src=http://hg.openjdk.java.net/jdk8u/jdk8u
+source=(jdk8u-${_repo_ver}.tar.gz::${_url_src}/archive/${_repo_ver}.tar.gz
+ corba-${_repo_ver}.tar.gz::${_url_src}/corba/archive/${_repo_ver}.tar.gz
+ hotspot-${_repo_ver}.tar.gz::${_url_src}/hotspot/archive/${_repo_ver}.tar.gz
+ jdk-${_repo_ver}.tar.gz::${_url_src}/jdk/archive/${_repo_ver}.tar.gz
+ jaxws-${_repo_ver}.tar.gz::${_url_src}/jaxws/archive/${_repo_ver}.tar.gz
+ jaxp-${_repo_ver}.tar.gz::${_url_src}/jaxp/archive/${_repo_ver}.tar.gz
+ langtools-${_repo_ver}.tar.gz::${_url_src}/langtools/archive/${_repo_ver}.tar.gz
+ nashorn-${_repo_ver}.tar.gz::${_url_src}/nashorn/archive/${_repo_ver}.tar.gz)
+
+sha256sums=('6c5b04dd4e5d73c6bc4c616d7be32b61cd3e8402dd7a259b26a44c8052f0a7a2'
+ '973e46b43ea16d76aa6d60db7d125ab456ae9808dcc7138005a7cfbac9e2c456'
+ 'ccc5fb49e46340b5068c6094810c3db29ac27a9f848314cfd29930e05a0924a7'
+ '584786a2ced9de3a1d3285e115efb252309348f1d2dcf63799a597c14891f7bb'
+ '1b3c71458e86235c39862248d9b56732293ee208395167eba32ba1d075b0d7f4'
+ 'cf6e5e825b0b7977733894e757ee41d7837fa63240be10556a7d2767ff98a742'
+ 'da08f0dccf4b88ea7dd651bdfe19bcd5ce737671a6a68d74c5af351715518e17'
+ 'e9331149c2d269e86ff1901d526c90c32a21cecfc3b13289d6c93b8e5508debf')
+
+case "${CARCH}" in
+ 'x86_64') _JARCH=amd64 ; _DOC_ARCH=x86_64 ;;
+ 'i686' ) _JARCH=i386 ; _DOC_ARCH=x86 ;;
+esac
+
+_jdkname=openjdk8
+_jvmdir=/usr/lib/jvm/java-8-openjdk
+_prefix="jdk8u-${_repo_ver}/image"
+_imgdir="${_prefix}/jvm/openjdk-1.8.0_$(printf '%.2d' ${_jdk_update})"
+_nonheadless=(bin/policytool
+ lib/${_JARCH}/libjsound.so
+ lib/${_JARCH}/libjsoundalsa.so
+ lib/${_JARCH}/libsplashscreen.so)
+
+prepare() {
+ cd jdk8u-${_repo_ver}
+ for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn; do
+ ln -s ../${subrepo}-${_repo_ver} ${subrepo}
+ done
+}
+
+build() {
+ cd jdk8u-${_repo_ver}
+
+ unset JAVA_HOME
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1346
+ export MAKEFLAGS=${MAKEFLAGS/-j*}
+
+ # We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
+ export CFLAGS="${CFLAGS//-O2/-O3} ${CPPFLAGS} -Wno-error=deprecated-declarations -Wno-error=stringop-overflow= -Wno-error=return-type -Wno-error=cpp -fno-lifetime-dse -fno-delete-null-pointer-checks"
+ export CXXFLAGS="${CXXFLAGS} ${CPPFLAGS}"
+
+ install -d -m 755 "${srcdir}/${_prefix}/"
+ sh configure \
+ --prefix="${srcdir}/${_prefix}" \
+ --with-update-version="${_jdk_update}" \
+ --with-build-number="b${_jdk_build}" \
+ --with-milestone="fcs" \
+ --enable-unlimited-crypto \
+ --with-zlib=system \
+ --with-extra-cflags="${CFLAGS}" \
+ --with-extra-cxxflags="${CXXFLAGS}" \
+ --with-extra-ldflags="${LDFLAGS}"
+
+ # TODO OpenJDK does not want last version of giflib (add 'giflib' as dependency once fixed)
+ #--with-giflib=system \
+
+ # These help to debug builds: LOG=trace HOTSPOT_BUILD_JOBS=1
+ # Without 'DEBUG_BINARIES', i686 won't build: http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019203.html
+ make
+ make docs
+
+ # FIXME sadly 'DESTDIR' is not used here!
+ make install
+
+ cd ../${_imgdir}
+
+ # A lot of build stuff were directly taken from
+ # http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec
+
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+ find . -iname '*.jar' -exec chmod ugo+r {} \;
+ chmod ugo+r lib/ct.sym
+
+ # remove redundant *diz and *debuginfo files
+ find . -iname '*.diz' -exec rm {} \;
+ find . -iname '*.debuginfo' -exec rm {} \;
+}
+
+check() {
+ cd jdk8u-${_repo_ver}
+ make -k test
+}
+
+package_jre8-openjdk-headless() {
+ pkgdesc='OpenJDK Java 8 headless runtime environment'
+ depends=('java-runtime-common' 'ca-certificates-utils' 'nss')
+ optdepends=('java-rhino: for some JavaScript support')
+ provides=('java-runtime-headless=8' 'java-runtime-headless-openjdk=8')
+ # Upstream config files that should go to etc and get backup
+ _backup_etc=(etc/java-8-openjdk/${_JARCH}/jvm.cfg
+ etc/java-8-openjdk/calendars.properties
+ etc/java-8-openjdk/content-types.properties
+ etc/java-8-openjdk/flavormap.properties
+ etc/java-8-openjdk/images/cursors/cursors.properties
+ etc/java-8-openjdk/logging.properties
+ etc/java-8-openjdk/management/jmxremote.access
+ etc/java-8-openjdk/management/jmxremote.password
+ etc/java-8-openjdk/management/management.properties
+ etc/java-8-openjdk/management/snmp.acl
+ etc/java-8-openjdk/net.properties
+ etc/java-8-openjdk/psfont.properties.ja
+ etc/java-8-openjdk/psfontj2d.properties
+ etc/java-8-openjdk/security/java.policy
+ etc/java-8-openjdk/security/java.security
+ etc/java-8-openjdk/sound.properties)
+ replaces=('jre8-openjdk-headless-wm')
+ backup=(${_backup_etc[@]})
+ install=install_jre8-openjdk-headless.sh
+
+ cd ${_imgdir}/jre
+
+ install -d -m 755 "${pkgdir}${_jvmdir}/jre/"
+ cp -a bin lib "${pkgdir}${_jvmdir}/jre"
+
+ # Set config files
+ mv "${pkgdir}${_jvmdir}"/jre/lib/management/jmxremote.password{.template,}
+ mv "${pkgdir}${_jvmdir}"/jre/lib/management/snmp.acl{.template,}
+
+ # Remove 'non-headless' lib files
+ for f in ${_nonheadless[@]}; do
+ rm "${pkgdir}${_jvmdir}/jre/${f}"
+ done
+
+ # Man pages
+ pushd "${pkgdir}${_jvmdir}/jre/bin"
+ install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/
+ for file in *; do
+ install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \
+ "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1"
+ install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \
+ "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1"
+ done
+ popd
+
+ # Link JKS keystore from ca-certificates-utils
+ rm -f "${pkgdir}${_jvmdir}/jre/lib/security/cacerts"
+ ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}${_jvmdir}/jre/lib/security/cacerts"
+
+ # Install license
+ install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/"
+ install -m 644 ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README \
+ "${pkgdir}/usr/share/licenses/${pkgbase}"
+ ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
+
+ # Move config files that were set in _backup_etc from ./lib to /etc
+ for file in ${_backup_etc[@]}; do
+ _filepkgpath=${_jvmdir}/jre/lib/${file#etc/java-8-openjdk/}
+ install -D -m 644 "${pkgdir}${_filepkgpath}" "${pkgdir}/${file}"
+ ln -sf /${file} "${pkgdir}${_filepkgpath}"
+ done
+}
+
+package_jre8-openjdk() {
+ pkgdesc='OpenJDK Java 8 full runtime environment'
+ depends=("jre8-openjdk-headless=${pkgver}-${pkgrel}" 'xdg-utils' 'hicolor-icon-theme')
+ optdepends=('icedtea-web: web browser plugin + Java Web Start'
+ 'alsa-lib: for basic sound support'
+ 'gtk2: for the Gtk+ look and feel - desktop usage'
+ 'java-openjfx: for JavaFX GUI components support')
+ # TODO when adding IcedTea: 'giflib: for gif format support'
+ # TODO when adding IcedTea: 'libpulse: for advanced sound support'
+ provides=('java-runtime=8' 'java-runtime-openjdk=8')
+ install=install_jre8-openjdk.sh
+ replaces=('jre8-openjdk-wm')
+
+ cd ${_imgdir}/jre
+
+ for f in ${_nonheadless[@]}; do
+ install -D ${f} "${pkgdir}${_jvmdir}/jre/${f}"
+ done
+
+ # Man pages
+ pushd "${pkgdir}${_jvmdir}/jre/bin"
+ install -d -m 755 "${pkgdir}"/usr/share/man/{,ja/}man1/
+ for file in *; do
+ install -m 644 "${srcdir}/${_imgdir}/man/man1/${file}.1" \
+ "${pkgdir}/usr/share/man/man1/${file}-${_jdkname}.1"
+ install -m 644 "${srcdir}/${_imgdir}/man/ja/man1/${file}.1" \
+ "${pkgdir}/usr/share/man/ja/man1/${file}-${_jdkname}.1"
+ done
+ popd
+
+ # Desktop files
+ # TODO add these when switching to IcedTea
+ #install -D -m 644 "${srcdir}/icedtea-${_icedtea_ver}/policytool.desktop" \
+ # "${pkgdir}/usr/share/applications/policytool.desktop"
+
+ # Install license
+ install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgbase}/"
+ ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+package_jdk8-openjdk() {
+ pkgdesc='OpenJDK Java 8 development kit'
+ depends=('java-environment-common' "jre8-openjdk=${pkgver}-${pkgrel}")
+ provides=('java-environment=8' 'java-environment-openjdk=8')
+ replaces=('jdk8-openjdk-wm')
+ install=install_jdk8-openjdk.sh
+
+ cd ${_imgdir}
+
+ # Main files
+ install -d -m 755 "${pkgdir}${_jvmdir}"
+
+ cp -a include lib "${pkgdir}${_jvmdir}"
+
+ # 'bin' files
+ pushd bin
+
+ # 'java-rmi.cgi' will be handled separately as it should not be in the PATH and has no man page
+ for b in $(ls | grep -v java-rmi.cgi); do
+ if [ -e ../jre/bin/${b} ]; then
+ # Provide a link of the jre binary in the jdk/bin/ directory
+ ln -s ../jre/bin/${b} "${pkgdir}${_jvmdir}/bin/${b}"
+ else
+ # Copy binary to jdk/bin/
+ install -D -m 755 ${b} "${pkgdir}${_jvmdir}/bin/${b}"
+ # Copy man page
+ install -D -m 644 ../man/man1/${b}.1 "${pkgdir}/usr/share/man/man1/${b}-${_jdkname}.1"
+ install -D -m 644 ../man/ja/man1/${b}.1 "${pkgdir}/usr/share/man/ja/man1/${b}-${_jdkname}.1"
+ fi
+ done
+ popd
+
+ # Handling 'java-rmi.cgi' separately
+ install -D -m 755 bin/java-rmi.cgi "${pkgdir}${_jvmdir}/bin/java-rmi.cgi"
+
+ # link license
+ install -d -m 755 "${pkgdir}/usr/share/licenses/"
+ ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+package_openjdk8-src() {
+ pkgdesc='OpenJDK Java 8 sources'
+
+ install -D "${srcdir}/${_imgdir}/src.zip" "${pkgdir}${_jvmdir}/src.zip"
+}
+
+package_openjdk8-doc() {
+ pkgdesc='OpenJDK Java 8 documentation'
+
+ install -d -m 755 "${pkgdir}/usr/share/doc/${pkgbase}/"
+ cp -r "${srcdir}"/jdk8u-${_repo_ver}/build/linux-${_DOC_ARCH}-normal-server-release/docs/* \
+ "${pkgdir}/usr/share/doc/${pkgbase}/"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/java8-openjdk/install_jdk8-openjdk.sh b/abs/extra/java8-openjdk/install_jdk8-openjdk.sh
new file mode 100644
index 0000000..faac872
--- /dev/null
+++ b/abs/extra/java8-openjdk/install_jdk8-openjdk.sh
@@ -0,0 +1,50 @@
+THIS_JDK='java-8-openjdk'
+
+fix_default() {
+ if [ ! -x /usr/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ echo ""
+ else
+ /usr/bin/archlinux-java get
+ fi
+}
+
+post_install() {
+ default=$(fix_default)
+ case ${default} in
+ "" | ${THIS_JDK}/jre)
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ ;;
+ ${THIS_JDK})
+ # Nothing
+ ;;
+ *)
+ echo "Default Java environment is already set to '${default}'"
+ echo "See 'archlinux-java help' to change it"
+ ;;
+ esac
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+post_upgrade() {
+ default=$(fix_default)
+ if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then
+ /usr/bin/archlinux-java set ${THIS_JDK}
+ fi
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+pre_remove() {
+ if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then
+ /usr/bin/archlinux-java unset
+ if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then
+ /usr/bin/archlinux-java set ${THIS_JDK}/jre
+ fi
+ fi
+}
diff --git a/abs/extra/java8-openjdk/install_jre8-openjdk-headless.sh b/abs/extra/java8-openjdk/install_jre8-openjdk-headless.sh
new file mode 100644
index 0000000..5d7a0de
--- /dev/null
+++ b/abs/extra/java8-openjdk/install_jre8-openjdk-headless.sh
@@ -0,0 +1,48 @@
+THIS_JRE='java-8-openjdk/jre'
+
+fix_default() {
+ if [ ! -x /usr/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ echo ""
+ else
+ /usr/bin/archlinux-java get
+ fi
+}
+
+post_install() {
+ default=$(fix_default)
+ case ${default} in
+ "")
+ /usr/bin/archlinux-java set ${THIS_JRE}
+ ;;
+ ${THIS_JRE} | ${THIS_JRE/\/jre})
+ # Nothing
+ ;;
+ *)
+ echo "Default Java environment is already set to '${default}'"
+ echo "See 'archlinux-java help' to change it"
+ ;;
+ esac
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+post_upgrade() {
+ if [ -z $(fix_default) ]; then
+ /usr/bin/archlinux-java set ${THIS_JRE}
+ fi
+
+ if [ ! -f /etc/ssl/certs/java/cacerts ]; then
+ /usr/bin/update-ca-trust
+ fi
+}
+
+pre_remove() {
+ default=$(fix_default)
+ if [ "x${default/\/jre}" = "x${THIS_JRE/\/jre}" ]; then
+ /usr/bin/archlinux-java unset
+ echo "No Java environment is set as default anymore"
+ fi
+}
diff --git a/abs/extra/java8-openjdk/install_jre8-openjdk.sh b/abs/extra/java8-openjdk/install_jre8-openjdk.sh
new file mode 100644
index 0000000..aef5858
--- /dev/null
+++ b/abs/extra/java8-openjdk/install_jre8-openjdk.sh
@@ -0,0 +1,42 @@
+THIS_JRE='java-8-openjdk/jre'
+
+fix_default() {
+ if [ ! -x /usr/bin/java ]; then
+ /usr/bin/archlinux-java unset
+ echo ""
+ else
+ /usr/bin/archlinux-java get
+ fi
+}
+
+post_install() {
+ default=$(fix_default)
+ case ${default} in
+ "")
+ /usr/bin/archlinux-java set ${THIS_JRE}
+ ;;
+ ${THIS_JRE} | ${THIS_JRE/\/jre})
+ # Nothing
+ ;;
+ *)
+ echo "Default Java environment is already set to '${default}'"
+ echo "See 'archlinux-java help' to change it"
+ ;;
+ esac
+
+ echo "when you use a non-reparenting window manager,"
+ echo "set _JAVA_AWT_WM_NONREPARENTING=1 in /etc/profile.d/jre.sh"
+}
+
+post_upgrade() {
+ if [ -z "$(fix_default)" ]; then
+ /usr/bin/archlinux-java set ${THIS_JRE}
+ fi
+}
+
+pre_remove() {
+ if [ "x$(fix_default)" = "x${THIS_JRE/\/jre}" ]; then
+ /usr/bin/archlinux-java unset
+ echo "No Java environment is set as default anymore"
+ fi
+}
diff --git a/abs/extra/json-glib/PKGBUILD b/abs/extra/json-glib/PKGBUILD
index 9ad0257..cf67fe9 100644
--- a/abs/extra/json-glib/PKGBUILD
+++ b/abs/extra/json-glib/PKGBUILD
@@ -1,30 +1,38 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname=json-glib
-pkgver=1.0.2
+pkgver=1.4.4
pkgrel=1
pkgdesc="JSON library built on GLib"
-arch=('i686' 'x86_64')
-url="http://live.gnome.org/JsonGlib"
-license=('GPL')
-depends=('glib2')
-makedepends=('gobject-introspection')
-source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver:0:3}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a')
+url="https://wiki.gnome.org/Projects/JsonGlib"
+arch=(x86_64)
+license=(GPL)
+depends=(glib2)
+makedepends=(gobject-introspection git gtk-doc meson)
+_commit=700a8bc414991d35ff3f79607547d4beedac8629 # tags/1.4.4^0
+source=("git+https://gitlab.gnome.org/GNOME/json-glib.git#commit=$_commit")
+sha256sums=('SKIP')
-build(){
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr
- make
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
}
-package(){
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+prepare() {
+ cd $pkgname
}
-check(){
- cd "${srcdir}/${pkgname}-${pkgver}"
- make check
+build() {
+ arch-meson $pkgname build -D docs=true -D man=true
+ ninja -C build
+}
+
+check() {
+ meson test -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+ rm -r "$pkgdir"/usr/{lib,share}/installed-tests
}
diff --git a/abs/extra/junit/PKGBUILD b/abs/extra/junit/PKGBUILD
new file mode 100644
index 0000000..1c846da
--- /dev/null
+++ b/abs/extra/junit/PKGBUILD
@@ -0,0 +1,16 @@
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+pkgname=junit
+pkgver=4.12
+pkgrel=2
+pkgdesc='Simple JVM framework to write repeatable tests'
+arch=('any')
+url='http://junit.org/'
+license=('EPL')
+depends=('java-environment' 'java-hamcrest')
+source=(http://search.maven.org/remotecontent?filepath=${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.jar)
+sha512sums=('5974670c3d178a12da5929ba5dd9b4f5ff461bdc1b92618c2c36d53e88650df7adbf3c1684017bb082b477cb8f40f15dcf7526f06f06183f93118ba9ebeaccce')
+
+package() {
+ install -D -m 644 ${srcdir}/${pkgname}-${pkgver}.jar ${pkgdir}/usr/share/java/${pkgname}-${pkgver}.jar
+ ln -s ${pkgname}-${pkgver}.jar ${pkgdir}/usr/share/java/${pkgname}.jar
+}
diff --git a/abs/extra/kodi-addon-inputstream-adaptive/PKGBUILD b/abs/extra/kodi-addon-inputstream-adaptive/PKGBUILD
new file mode 100644
index 0000000..ae29c1c
--- /dev/null
+++ b/abs/extra/kodi-addon-inputstream-adaptive/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+# Contributor: kevku <kevku@gmx.com>
+pkgname=kodi-addon-inputstream-adaptive
+pkgver=2.3.15
+pkgrel=1
+pkgdesc="InputStream client for adaptive streams for Kodi 17+"
+arch=('x86_64' 'i686')
+url="https://github.com/peak3d/inputstream.adaptive"
+license=('GPL2')
+makedepends=('kodi' 'cmake')
+depends=('kodi')
+conflicts=("${pkgname%-git}")
+source=("https://github.com/peak3d/inputstream.adaptive/archive/${pkgver}.tar.gz")
+
+
+build() {
+ cd "$srcdir/inputstream.adaptive-${pkgver}"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/inputstream.adaptive-${pkgver}"
+ make DESTDIR="$pkgdir/" install
+}
+md5sums=('cf98a561ee33d329522340fffb29b68e')
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD b/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
deleted file mode 100644
index cee5f2d..0000000
--- a/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Maintainer: Westin Miller <equinox.aur@gmail.com>
-# Contributor: Michael Lass <bevan@bi-co.net>
-
-pkgname=kodi-addon-pvr-mythtv-git
-pkgver=r543.fd91be1
-pkgrel=1
-API=16
-if [ -z "$API" ]; then
- error "No API Version Defined, defaulting to 16. 15 = Isengard, 16 = Jarvis, 99 = git master"
-fi
-API=${API:-16}
-
-_branch=$(
- case "${API}" in
- 15) echo "Isengard";;
- 16) echo "Jarvis";;
- 99) echo "master";;
- *) error "Unknown API version.";;
- esac
-)
-pkgdesc='MythTV PVR client addon for Kodi'
-arch=('armv7h' 'i686' 'x86_64')
-url="https://github.com/kodi-pvr/pvr.hts"
-license=('GPL')
-makedepends=('cmake' 'git' 'kodi-platform')
-if [ "$API" -eq "99" ]; then
- depends=("kodi-git")
-else
- depends=("kodi>=$API.0" "kodi<$[$API+1].0")
-fi
-provides=('kodi-addon-pvr-mythtv')
-conflicts=('kodi-addon-pvr-mythtv' 'kodi-pvr-addons')
-source=("${pkgname}::git+https://github.com/kodi-pvr/pvr.mythtv.git#branch=${_branch}"
- 'p8-platform.patch')
-
-pkgver() {
- cd "$pkgname"
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
-}
-
-build() {
- cd kodi-addon-pvr-mythtv-git/
- patch -p1 -i ${srcdir}/p8-platform.patch
- cd ..
-
- echo "API Version $API"
- echo "Branch version $_branch"
- mkdir -p "$pkgname/build"
- cd "$pkgname/build"
-
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib/kodi \
- -DCMAKE_BUILD_TYPE=Release \
- ..
- make
-}
-
-package() {
- cd "$pkgname/build"
- make DESTDIR="$pkgdir" install
-}
-md5sums=('SKIP'
- 'a3cf865a74564f1c07b16c20265174d2')
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/__changelog b/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
deleted file mode 100644
index 2094284..0000000
--- a/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-PKGBUILD:
- - Add p8-platform.patch
- - force API=16
- - change dep kodi-platform-git to kodi-platform
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch b/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
deleted file mode 100644
index 87fb73f..0000000
--- a/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
+++ /dev/null
@@ -1,509 +0,0 @@
-From 5aaf171deb1e31c7e3df173d109eb114499e5f45 Mon Sep 17 00:00:00 2001
-From: "h.udo" <hudokkow@gmail.com>
-Date: Wed, 6 Jan 2016 15:08:54 +0000
-Subject: [PATCH 1/2] [src] Update to p8-platform
-
----
- src/categories.cpp | 2 +-
- src/cppmyth/MythScheduleHelper75.cpp | 2 +-
- src/cppmyth/MythScheduleHelperNoHelper.cpp | 10 +++++-----
- src/cppmyth/MythScheduleHelperNoHelper.h | 2 +-
- src/cppmyth/MythScheduleManager.cpp | 2 +-
- src/cppmyth/MythScheduleManager.h | 4 ++--
- src/demux.cpp | 4 ++--
- src/demux.h | 12 ++++++------
- src/demuxer/tsDemuxer.cpp | 26 +++++++++++++-------------
- src/demuxer/tsDemuxer.h | 4 ++--
- src/fileOps.cpp | 2 +-
- src/fileOps.h | 8 ++++----
- src/filestreaming.cpp | 2 +-
- src/pvrclient-mythtv.cpp | 2 +-
- src/pvrclient-mythtv.h | 8 ++++----
- src/tools.h | 2 +-
- 16 files changed, 46 insertions(+), 46 deletions(-)
-
-diff --git a/src/categories.cpp b/src/categories.cpp
-index 1a10f9c..03d1867 100644
---- a/src/categories.cpp
-+++ b/src/categories.cpp
-@@ -22,7 +22,7 @@
-
- #include "categories.h"
- #include "client.h"
--#include <platform/os.h>
-+#include <p8-platform/os.h>
-
- #define CATEGORIES_FILENAME "eit_categories.txt"
- #define CATEGORIES_MAXLINESIZE 255
-diff --git a/src/cppmyth/MythScheduleHelper75.cpp b/src/cppmyth/MythScheduleHelper75.cpp
-index 58f0a87..be8beb9 100644
---- a/src/cppmyth/MythScheduleHelper75.cpp
-+++ b/src/cppmyth/MythScheduleHelper75.cpp
-@@ -34,7 +34,7 @@ using namespace ADDON;
-
- MythTimerTypeList MythScheduleHelper75::GetTimerTypes() const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- if (!m_timerTypeListInit)
- {
- m_timerTypeListInit = true;
-diff --git a/src/cppmyth/MythScheduleHelperNoHelper.cpp b/src/cppmyth/MythScheduleHelperNoHelper.cpp
-index 26358fc..751b895 100644
---- a/src/cppmyth/MythScheduleHelperNoHelper.cpp
-+++ b/src/cppmyth/MythScheduleHelperNoHelper.cpp
-@@ -40,7 +40,7 @@ MythScheduleHelperNoHelper::MythScheduleHelperNoHelper()
-
- MythTimerTypeList MythScheduleHelperNoHelper::GetTimerTypes() const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- return m_timerTypeList;
- }
-
-@@ -103,7 +103,7 @@ static inline uint32_t expiration_key(const MythScheduleHelperNoHelper::RuleExpi
-
- int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expiration) const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- if (!m_expirationByKeyInit)
- {
- m_expirationByKeyInit = true;
-@@ -119,7 +119,7 @@ int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expira
-
- MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleExpiration(int id) const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- static RuleExpiration _empty(false, 0, false);
- RuleExpirationMap::const_iterator it = GetRuleExpirationMap().find(id);
- if (it != m_expirationMap.end())
-@@ -129,7 +129,7 @@ MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleEx
-
- int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name) const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- if (!m_recGroupByNameInit)
- {
- m_recGroupByNameInit = true;
-@@ -145,7 +145,7 @@ int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name)
-
- std::string MythScheduleHelperNoHelper::GetRuleRecordingGroupName(int id) const
- {
-- PLATFORM::CLockObject lock(m_lock);
-+ P8PLATFORM::CLockObject lock(m_lock);
- static std::string _empty = "";
- if (!m_recGroupByIdInit)
- {
-diff --git a/src/cppmyth/MythScheduleHelperNoHelper.h b/src/cppmyth/MythScheduleHelperNoHelper.h
-index 686c770..e3ec012 100644
---- a/src/cppmyth/MythScheduleHelperNoHelper.h
-+++ b/src/cppmyth/MythScheduleHelperNoHelper.h
-@@ -73,7 +73,7 @@ class MythScheduleHelperNoHelper : public MythScheduleManager::VersionHelper
- virtual const MythTimerType::AttributeList& GetRuleExpirationNameList() const;
- virtual const MythTimerType::AttributeList& GetRuleRecordingGroupList() const;
-
-- mutable PLATFORM::CMutex m_lock;
-+ mutable P8PLATFORM::CMutex m_lock;
-
- mutable bool m_timerTypeListInit;
- mutable MythTimerTypeList m_timerTypeList;
-diff --git a/src/cppmyth/MythScheduleManager.cpp b/src/cppmyth/MythScheduleManager.cpp
-index 3381496..7466ac6 100644
---- a/src/cppmyth/MythScheduleManager.cpp
-+++ b/src/cppmyth/MythScheduleManager.cpp
-@@ -32,7 +32,7 @@
- #include <math.h>
-
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
-
- enum
- {
-diff --git a/src/cppmyth/MythScheduleManager.h b/src/cppmyth/MythScheduleManager.h
-index 00b0b6b..3106c2d 100644
---- a/src/cppmyth/MythScheduleManager.h
-+++ b/src/cppmyth/MythScheduleManager.h
-@@ -26,7 +26,7 @@
- #include "MythChannel.h"
-
- #include <kodi/xbmc_pvr_types.h>
--#include <platform/threads/mutex.h>
-+#include <p8-platform/threads/mutex.h>
-
- #include <vector>
- #include <list>
-@@ -209,7 +209,7 @@ class MythScheduleManager
- static uint32_t MakeIndex(const MythRecordingRule& rule);
-
- private:
-- mutable PLATFORM::CMutex m_lock;
-+ mutable P8PLATFORM::CMutex m_lock;
- Myth::Control *m_control;
-
- int m_protoVersion;
-diff --git a/src/demux.cpp b/src/demux.cpp
-index 452f786..98243fb 100644
---- a/src/demux.cpp
-+++ b/src/demux.cpp
-@@ -20,7 +20,7 @@
- *
- */
-
--#include <platform/os.h>
-+#include <p8-platform/os.h>
- #include <kodi/libXBMC_pvr.h>
- #include <kodi/xbmc_codec_types.h>
-
-@@ -34,7 +34,7 @@
- #define READAV_TIMEOUT 10000 // 10 secs
-
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
-
- void DemuxLog(int level, char *msg)
- {
-diff --git a/src/demux.h b/src/demux.h
-index f86e27a..b84c1bc 100644
---- a/src/demux.h
-+++ b/src/demux.h
-@@ -25,9 +25,9 @@
- #include "client.h"
-
- #include <mythstream.h>
--#include <platform/threads/threads.h>
--#include <platform/threads/mutex.h>
--#include <platform/util/buffer.h>
-+#include <p8-platform/threads/threads.h>
-+#include <p8-platform/threads/mutex.h>
-+#include <p8-platform/util/buffer.h>
- #include <kodi/xbmc_stream_utils.hpp>
-
- #include <map>
-@@ -35,7 +35,7 @@
-
- #define AV_BUFFER_SIZE 131072
-
--class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
-+class Demux : public TSDemux::TSDemuxer, P8PLATFORM::CThread
- {
- public:
- Demux(Myth::Stream *file);
-@@ -56,8 +56,8 @@ class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
- private:
- Myth::Stream *m_file;
- uint16_t m_channel;
-- PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
-- PLATFORM::CMutex m_mutex;
-+ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
-+ P8PLATFORM::CMutex m_mutex;
- ADDON::XbmcStreamProperties m_streams;
-
- bool get_stream_data(TSDemux::STREAM_PKT* pkt);
-diff --git a/src/demuxer/tsDemuxer.cpp b/src/demuxer/tsDemuxer.cpp
-index 00e40c1..fc283a8 100644
---- a/src/demuxer/tsDemuxer.cpp
-+++ b/src/demuxer/tsDemuxer.cpp
-@@ -56,7 +56,7 @@ AVContext::AVContext(TSDemuxer* const demux, uint64_t pos, uint16_t channel)
-
- void AVContext::Reset(void)
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- pid = 0xffff;
- transport_error = false;
-@@ -75,7 +75,7 @@ uint16_t AVContext::GetPID() const
-
- PACKET_TYPE AVContext::GetPIDType() const
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- if (packet)
- return packet->packet_type;
-@@ -84,7 +84,7 @@ PACKET_TYPE AVContext::GetPIDType() const
-
- uint16_t AVContext::GetPIDChannel() const
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- if (packet)
- return packet->channel;
-@@ -93,7 +93,7 @@ uint16_t AVContext::GetPIDChannel() const
-
- bool AVContext::HasPIDStreamData() const
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- // PES packets append frame buffer of elementary stream until next start of unit
- // On new unit start, flag is held
-@@ -109,7 +109,7 @@ bool AVContext::HasPIDPayload() const
-
- ElementaryStream* AVContext::GetPIDStream()
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- if (packet && packet->packet_type == PACKET_TYPE_PES)
- return packet->stream;
-@@ -118,7 +118,7 @@ ElementaryStream* AVContext::GetPIDStream()
-
- std::vector<ElementaryStream*> AVContext::GetStreams()
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- std::vector<ElementaryStream*> v;
- for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
-@@ -129,7 +129,7 @@ std::vector<ElementaryStream*> AVContext::GetStreams()
-
- void AVContext::StartStreaming(uint16_t pid)
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- std::map<uint16_t, Packet>::iterator it = packets.find(pid);
- if (it != packets.end())
-@@ -138,7 +138,7 @@ void AVContext::StartStreaming(uint16_t pid)
-
- void AVContext::StopStreaming(uint16_t pid)
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- std::map<uint16_t, Packet>::iterator it = packets.find(pid);
- if (it != packets.end())
-@@ -147,7 +147,7 @@ void AVContext::StopStreaming(uint16_t pid)
-
- ElementaryStream* AVContext::GetStream(uint16_t pid) const
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
- if (it != packets.end())
-@@ -157,7 +157,7 @@ ElementaryStream* AVContext::GetStream(uint16_t pid) const
-
- uint16_t AVContext::GetChannel(uint16_t pid) const
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
- if (it != packets.end())
-@@ -167,7 +167,7 @@ uint16_t AVContext::GetChannel(uint16_t pid) const
-
- void AVContext::ResetPackets()
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
- {
-@@ -391,7 +391,7 @@ uint64_t AVContext::GetPosition() const
- */
- int AVContext::ProcessTSPacket()
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- int ret = AVCONTEXT_CONTINUE;
- std::map<uint16_t, Packet>::iterator it;
-@@ -516,7 +516,7 @@ int AVContext::ProcessTSPacket()
- */
- int AVContext::ProcessTSPayload()
- {
-- PLATFORM::CLockObject lock(mutex);
-+ P8PLATFORM::CLockObject lock(mutex);
-
- if (!this->packet)
- return AVCONTEXT_CONTINUE;
-diff --git a/src/demuxer/tsDemuxer.h b/src/demuxer/tsDemuxer.h
-index 2efbb58..ebb779e 100644
---- a/src/demuxer/tsDemuxer.h
-+++ b/src/demuxer/tsDemuxer.h
-@@ -24,7 +24,7 @@
-
- #include "tsPacket.h"
- #include "elementaryStream.h"
--#include <platform/threads/mutex.h>
-+#include <p8-platform/threads/mutex.h>
-
- #include <map>
- #include <vector>
-@@ -102,7 +102,7 @@ namespace TSDemux
- int parse_ts_pes();
-
- // Critical section
-- mutable PLATFORM::CMutex mutex;
-+ mutable P8PLATFORM::CMutex mutex;
-
- // AV stream owner
- TSDemuxer* m_demux;
-diff --git a/src/fileOps.cpp b/src/fileOps.cpp
-index 80d6462..71a71f9 100644
---- a/src/fileOps.cpp
-+++ b/src/fileOps.cpp
-@@ -34,7 +34,7 @@
- #define FILEOPS_RECORDING_DUMMY_ICON "recording.png"
-
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
-
- FileOps::FileOps(FileConsumer *consumer, const std::string& server, unsigned wsapiport, const std::string& wsapiSecurityPin)
- : CThread()
-diff --git a/src/fileOps.h b/src/fileOps.h
-index 58081f4..90c023b 100644
---- a/src/fileOps.h
-+++ b/src/fileOps.h
-@@ -25,7 +25,7 @@
- #include "cppmyth/MythProgramInfo.h"
-
- #include <mythwsapi.h>
--#include <platform/threads/threads.h>
-+#include <p8-platform/threads/threads.h>
-
- #include <string>
- #include <vector>
-@@ -39,7 +39,7 @@ class FileConsumer
- virtual void HandleCleanedCache() = 0;
- };
-
--class FileOps : public PLATFORM::CThread
-+class FileOps : public P8PLATFORM::CThread
- {
- public:
- enum FileType
-@@ -152,7 +152,7 @@ class FileOps : public PLATFORM::CThread
- int m_errorCount;
- };
-
-- PLATFORM::CMutex m_lock;
-- PLATFORM::CEvent m_queueContent;
-+ P8PLATFORM::CMutex m_lock;
-+ P8PLATFORM::CEvent m_queueContent;
- std::list<FileOps::JobItem> m_jobQueue;
- };
-diff --git a/src/filestreaming.cpp b/src/filestreaming.cpp
-index d25680e..eeaa672 100644
---- a/src/filestreaming.cpp
-+++ b/src/filestreaming.cpp
-@@ -22,7 +22,7 @@
-
- #include "filestreaming.h"
- #include "client.h"
--#include <platform/os.h>
-+#include <p8-platform/os.h>
-
- #define MAX_READ_SIZE 131072
-
-diff --git a/src/pvrclient-mythtv.cpp b/src/pvrclient-mythtv.cpp
-index 5901d55..f0ed353 100644
---- a/src/pvrclient-mythtv.cpp
-+++ b/src/pvrclient-mythtv.cpp
-@@ -31,7 +31,7 @@
- #include <cassert>
-
- using namespace ADDON;
--using namespace PLATFORM;
-+using namespace P8PLATFORM;
-
- PVRClientMythTV::PVRClientMythTV()
- : m_connectionError(CONN_ERROR_NO_ERROR)
-diff --git a/src/pvrclient-mythtv.h b/src/pvrclient-mythtv.h
-index e9efc64..561fee3 100644
---- a/src/pvrclient-mythtv.h
-+++ b/src/pvrclient-mythtv.h
-@@ -28,7 +28,7 @@
- #include "filestreaming.h"
-
- #include <kodi/xbmc_pvr_types.h>
--#include <platform/threads/mutex.h>
-+#include <p8-platform/threads/mutex.h>
- #include <mythsharedptr.h>
- #include <mythcontrol.h>
- #include <mytheventhandler.h>
-@@ -162,7 +162,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
- // Backend
- FileOps *m_fileOps;
- MythScheduleManager *m_scheduleManager;
-- PLATFORM::CMutex m_lock;
-+ P8PLATFORM::CMutex m_lock;
-
- // Categories
- Categories m_categories;
-@@ -182,7 +182,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
- PVRChannelGroupMap m_PVRChannelGroups;
- typedef std::map<unsigned int, unsigned int> PVRChannelMap;
- PVRChannelMap m_PVRChannelUidById;
-- mutable PLATFORM::CMutex m_channelsLock;
-+ mutable P8PLATFORM::CMutex m_channelsLock;
- int FillChannelsAndChannelGroups();
- MythChannel FindChannel(uint32_t channelId) const;
- int FindPVRChannelUid(uint32_t channelId) const;
-@@ -192,7 +192,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
-
- // Recordings
- ProgramInfoMap m_recordings;
-- mutable PLATFORM::CMutex m_recordingsLock;
-+ mutable P8PLATFORM::CMutex m_recordingsLock;
- unsigned m_recordingChangePinCount;
- bool m_recordingsAmountChange;
- int m_recordingsAmount;
-diff --git a/src/tools.h b/src/tools.h
-index 45666bf..7ad3af9 100644
---- a/src/tools.h
-+++ b/src/tools.h
-@@ -21,7 +21,7 @@
- *
- */
-
--#include <platform/os.h>
-+#include <p8-platform/os.h>
- #include <math.h>
-
- #ifdef __WINDOWS__
-
-From 960830c023c74b54883ed558763275877088be90 Mon Sep 17 00:00:00 2001
-From: "h.udo" <hudokkow@gmail.com>
-Date: Wed, 6 Jan 2016 15:21:40 +0000
-Subject: [PATCH 2/2] [cmake] Update to p8-platform
-
----
- CMakeLists.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 79d1b98..95fdbbb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,10 +9,10 @@ enable_language(C)
-
- find_package(kodi REQUIRED)
- find_package(kodiplatform REQUIRED)
--find_package(platform REQUIRED)
-+find_package(p8-platform REQUIRED)
-
- include_directories(${kodiplatform_INCLUDE_DIRS}
-- ${platform_INCLUDE_DIRS}
-+ ${p8-platform_INCLUDE_DIRS}
- ${KODI_INCLUDE_DIR}
- ${PROJECT_SOURCE_DIR}/lib/cppmyth/src)
-
-@@ -54,7 +54,7 @@ set(MYTHTV_SOURCES src/avinfo.cpp
-
- add_subdirectory(lib/cppmyth)
-
--set(DEPLIBS ${platform_LIBRARIES} cppmyth)
-+set(DEPLIBS ${p8-platform_LIBRARIES} cppmyth)
- if(WIN32)
- list(APPEND DEPLIBS ws2_32)
- else()
diff --git a/abs/extra/kodi-addon-pvr-mythtv/PKGBUILD b/abs/extra/kodi-addon-pvr-mythtv/PKGBUILD
new file mode 100644
index 0000000..484b97d
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Jameson Pugh <imntreal@gmail.com>
+
+pkgname=kodi-addon-pvr-mythtv
+pkgver=5.10.6
+_kodiver=18.1
+_codename=Leia
+pkgrel=1
+pkgdesc='MythTV PVR client addon for Kodi'
+arch=('armv7h' 'i686' 'x86_64')
+url="http://janbar.github.io/pvr.mythtv/"
+license=('GPL')
+makedepends=('cmake' 'git')
+depends=("kodi")
+source=("https://github.com/janbar/pvr.mythtv/archive/${pkgver}-$_codename.tar.gz"
+ "https://github.com/xbmc/xbmc/archive/${_kodiver}-$_codename.tar.gz")
+
+build() {
+ mkdir -p "pvr.mythtv-${pkgver}/build"
+ cd "pvr.mythtv-${pkgver}/build"
+
+ cmake \
+ -DADDONS_TO_BUILD=pvr.mythtv \
+ -DADDONS_SRC_PREFIX=../.. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=./addons \
+ ../../xbmc-${_kodiver}-$_codename/cmake/addons
+ make
+}
+
+package() {
+ cd "pvr.mythtv-${pkgver}/build/build/depends"
+ install -d "${pkgdir}/usr/lib/kodi/addons/"
+ cp -r ./lib/kodi/addons/pvr.mythtv "${pkgdir}/usr/lib/kodi/addons"
+ install -d "${pkgdir}/usr/share/kodi/addons/"
+ cp -r ./share/kodi/addons/pvr.mythtv "${pkgdir}/usr/share/kodi/addons"
+}
+
+# vim:set ts=2 sw=2 et:
+
+md5sums=('a375711e6e34ef33cc8161059bb55f30'
+ '02062e4de4e3e6d540793e211812ebf3')
diff --git a/abs/extra/kodi/10160.patch b/abs/extra/kodi/10160.patch
deleted file mode 100644
index 73923ea..0000000
--- a/abs/extra/kodi/10160.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/xbmc/filesystem/DllLibCurl.h b/xbmc/filesystem/DllLibCurl.h
-index 1bdaae1..9e78a91 100644
---- a/xbmc/filesystem/DllLibCurl.h
-+++ b/xbmc/filesystem/DllLibCurl.h
-@@ -52,7 +52,7 @@ namespace XCURL
- virtual CURLMcode multi_fdset(CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)=0;
- virtual CURLMcode multi_timeout(CURLM *multi_handle, long *timeout)=0;
- virtual CURLMsg* multi_info_read(CURLM *multi_handle, int *msgs_in_queue)=0;
-- virtual void multi_cleanup(CURL_HANDLE * handle )=0;
-+ virtual CURLMcode multi_cleanup(CURLM * handle )=0;
- virtual struct curl_slist* slist_append(struct curl_slist *, const char *)=0;
- virtual void slist_free_all(struct curl_slist *)=0;
- };
-@@ -77,7 +77,7 @@ namespace XCURL
- DEFINE_METHOD5(CURLMcode, multi_fdset, (CURLM *p1, fd_set *p2, fd_set *p3, fd_set *p4, int *p5))
- DEFINE_METHOD2(CURLMcode, multi_timeout, (CURLM *p1, long *p2))
- DEFINE_METHOD2(CURLMsg*, multi_info_read, (CURLM *p1, int *p2))
-- DEFINE_METHOD1(void, multi_cleanup, (CURLM *p1))
-+ DEFINE_METHOD1(CURLMcode, multi_cleanup, (CURLM *p1))
- DEFINE_METHOD2(struct curl_slist*, slist_append, (struct curl_slist * p1, const char * p2))
- DEFINE_METHOD1(void, slist_free_all, (struct curl_slist * p1))
- DEFINE_METHOD1(const char *, easy_strerror, (CURLcode p1))
diff --git a/abs/extra/kodi/10775.patch b/abs/extra/kodi/10775.patch
deleted file mode 100644
index 6188484..0000000
--- a/abs/extra/kodi/10775.patch
+++ /dev/null
@@ -1,839 +0,0 @@
-From cc3ae0339faf2b669bee20cb360c526410910f42 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Fri, 11 Nov 2016 10:09:36 +0100
-Subject: [PATCH 1/4] [cec] bump to libCEC 4.0.0
-
----
- .../resource.language.en_gb/resources/strings.po | 5 -
- configure.ac | 4 +-
- project/BuildDependencies/scripts/0_package.list | 2 +-
- project/cmake/modules/FindCEC.cmake | 2 +-
- system/peripherals.xml | 1 -
- tools/depends/target/Makefile | 5 +-
- tools/depends/target/libcec/Makefile | 4 +-
- tools/depends/target/p8-platform/Makefile | 34 ++++
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 192 +++++++++------------
- xbmc/peripherals/devices/PeripheralCecAdapter.h | 17 +-
- 10 files changed, 138 insertions(+), 128 deletions(-)
- create mode 100644 tools/depends/target/p8-platform/Makefile
-
-diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po
-index e3f8a37..e482196 100644
---- a/addons/resource.language.en_gb/resources/strings.po
-+++ b/addons/resource.language.en_gb/resources/strings.po
-@@ -16376,11 +16376,6 @@ msgctxt "#36021"
- msgid "Physical address (overrules HDMI port)"
- msgstr ""
-
--#: system/peripherals.xml
--msgctxt "#36022"
--msgid "COM port (leave empty unless needed)"
--msgstr ""
--
- #: xbmc/peripherals/devices/peripheralcecadapter.cpp
- msgctxt "#36023"
- msgid "Configuration updated"
-diff --git a/configure.ac b/configure.ac
-index e61d4ae..34fe643 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1453,9 +1453,9 @@ if test "x$use_libcec" != "xno"; then
- # libcec is dyloaded, so we need to check for its headers and link any depends.
- if test "x$use_libcec" != "xno"; then
- if test "x$use_libcec" != "xauto"; then
-- PKG_CHECK_MODULES([CEC],[libcec >= 3.0.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
-+ PKG_CHECK_MODULES([CEC],[libcec >= 4.0.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
- else
-- PKG_CHECK_MODULES([CEC],[libcec >= 3.0.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
-+ PKG_CHECK_MODULES([CEC],[libcec >= 4.0.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
- fi
-
- if test "x$use_libcec" != "xno"; then
-diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list
-index 9a5bccb..7b6ec1a 100644
---- a/project/BuildDependencies/scripts/0_package.list
-+++ b/project/BuildDependencies/scripts/0_package.list
-@@ -19,7 +19,7 @@ jsonschemabuilder-1.0.0-win32-3.7z
- libass-0.12.1-win32.7z
- libbluray-0.8.1-win32-vc120.7z
- libcdio-0.83-win32-2.7z
--libcec-3.0.0-win32-2.7z
-+libcec-4.0.0-win32-vc140.7z
- libexpat_2.0.1-win32.7z
- libflac-1.2.1-win32.7z
- libfribidi-0.19.2-win32.7z
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index f939c0b..58a9d24 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -24,7 +24,6 @@
- <setting key="connected_device" type="enum" label="36019" value="36037" lvalues="36037|36038" order="12" />
- <setting key="cec_hdmi_port" type="int" value="1" min="1" max="15" label="36015" order="13" />
- <setting key="physical_address" type="string" label="36021" value="0" order="14" />
-- <setting key="port" type="string" value="" label="36022" order="15" />
-
- <setting key="tv_vendor" type="int" value="0" configurable="0" />
- <setting key="device_name" type="string" value="Kodi" configurable="0" />
-diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile
-index 9bca188..82b378d 100644
---- a/tools/depends/target/Makefile
-+++ b/tools/depends/target/Makefile
-@@ -15,7 +15,7 @@
- python26 libshairplay \
- libplist libcec libbluray boost tinyxml dummy-libxbmc \
- libamplayer libssh taglib libusb libnfs \
-- pythonmodule-pil libxslt ffmpeg platform crossguid libdcadec giflib
-+ pythonmodule-pil libxslt ffmpeg platform crossguid libdcadec giflib p8-platform
-
- FFMPEG_DEPENDS = gnutls libdcadec
-
-@@ -101,7 +101,8 @@ pythonmodule-setuptools: python27
- libsdl2: $(LINUX_SYSTEM_LIBS)
- libxslt: libgcrypt
- ffmpeg: $(ICONV) $(ZLIB) bzip2 libvorbis $(FFMPEG_DEPENDS)
--libcec: platform
-+platform: p8-platform
-+libcec: p8-platform
- crossguid: $(CROSSGUID_DEPS)
-
- .installed-$(PLATFORM): $(DEPENDS)
-diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
-index f54af9e..c75b300 100644
---- a/tools/depends/target/libcec/Makefile
-+++ b/tools/depends/target/libcec/Makefile
-@@ -3,12 +3,12 @@ DEPS= ../../Makefile.include Makefile
-
- # lib name, version
- LIBNAME=libcec
--VERSION_MAJOR=3
-+VERSION_MAJOR=4
- VERSION_MINOR=0
- VERSION_PATCH=0
-
- VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
--SOURCE=$(LIBNAME)-$(VERSION)-6
-+SOURCE=$(LIBNAME)-$(VERSION)
- ARCHIVE=$(SOURCE).tar.gz
-
- LIBDYLIB=$(PLATFORM)/build/src/$(LIBNAME).la
-diff --git a/tools/depends/target/p8-platform/Makefile b/tools/depends/target/p8-platform/Makefile
-new file mode 100644
-index 0000000..d5918d7
---- /dev/null
-+++ b/tools/depends/target/p8-platform/Makefile
-@@ -0,0 +1,34 @@
-+include ../../Makefile.include
-+DEPS= ../../Makefile.include Makefile
-+
-+# lib name, version
-+LIBNAME=p8-platform
-+VERSION=2.1.0.1
-+SOURCE=$(LIBNAME)-$(VERSION)
-+ARCHIVE=$(SOURCE).tar.gz
-+
-+LIBDYLIB=$(PLATFORM)/build/src/$(LIBNAME).a
-+
-+all: .installed-$(PLATFORM)
-+
-+$(TARBALLS_LOCATION)/$(ARCHIVE):
-+ cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-+
-+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
-+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
-+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
-+ cd $(PLATFORM)/build; $(CMAKE) -DBUILD_SHARED_LIBS=0 -DCMAKE_INSTALL_LIBDIR=$(PREFIX)/lib ..
-+
-+$(LIBDYLIB): $(PLATFORM)
-+ $(MAKE) -C $(PLATFORM)/build
-+
-+.installed-$(PLATFORM): $(LIBDYLIB)
-+ $(MAKE) -C $(PLATFORM)/build install
-+ touch $@
-+
-+clean:
-+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
-+
-+distclean::
-+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
-+
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index e6bcbce..a71dc4b 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -43,7 +43,7 @@ using namespace PERIPHERALS;
- using namespace ANNOUNCEMENT;
- using namespace CEC;
-
--#define CEC_LIB_SUPPORTED_VERSION LIBCEC_VERSION_TO_UINT(3, 0, 0)
-+#define CEC_LIB_SUPPORTED_VERSION LIBCEC_VERSION_TO_UINT(4, 0, 0)
-
- /* time in seconds to ignore standby commands from devices after the screensaver has been activated */
- #define SCREENSAVER_TIMEOUT 20
-@@ -119,25 +119,30 @@ void CPeripheralCecAdapter::ResetMembers(void)
- m_dll->CECDestroy(m_cecAdapter);
- m_cecAdapter = NULL;
- delete m_dll;
-- m_dll = NULL;
-- m_bStarted = false;
-- m_bHasButton = false;
-- m_bIsReady = false;
-- m_bHasConnectedAudioSystem = false;
-- m_strMenuLanguage = "???";
-- m_lastKeypress = 0;
-- m_lastChange = VOLUME_CHANGE_NONE;
-- m_iExitCode = EXITCODE_QUIT;
-- m_bIsMuted = false; // TODO fetch the correct initial value when system audiostatus is implemented in libCEC
-- m_bGoingToStandby = false;
-- m_bIsRunning = false;
-- m_bDeviceRemoved = false;
-- m_bActiveSourcePending = false;
-- m_bStandbyPending = false;
-+ m_dll = NULL;
-+ m_bStarted = false;
-+ m_bHasButton = false;
-+ m_bIsReady = false;
-+ m_bHasConnectedAudioSystem = false;
-+ m_strMenuLanguage = "???";
-+ m_lastKeypress = 0;
-+ m_lastChange = VOLUME_CHANGE_NONE;
-+ m_iExitCode = EXITCODE_QUIT;
-+ m_bIsMuted = false; //! @todo fetch the correct initial value when system audiostatus is implemented in libCEC
-+ m_bGoingToStandby = false;
-+ m_bIsRunning = false;
-+ m_bDeviceRemoved = false;
-+ m_bActiveSourcePending = false;
-+ m_bStandbyPending = false;
- m_bActiveSourceBeforeStandby = false;
-- m_bOnPlayReceived = false;
-- m_bPlaybackPaused = false;
-- m_queryThread = NULL;
-+ m_bOnPlayReceived = false;
-+ m_bPlaybackPaused = false;
-+ m_queryThread = NULL;
-+ m_bPowerOnScreensaver = false;
-+ m_bUseTVMenuLanguage = false;
-+ m_bSendInactiveSource = false;
-+ m_bPowerOffScreensaver = false;
-+ m_bShutdownOnStandby = false;
-
- m_currentButton.iButton = 0;
- m_currentButton.iDuration = 0;
-@@ -166,8 +171,8 @@ void CPeripheralCecAdapter::Announce(AnnouncementFlag flag, const char *sender,
- if (bIgnoreDeactivate)
- CLog::Log(LOGDEBUG, "%s - ignoring OnScreensaverDeactivated for power action", __FUNCTION__);
- }
-- if (m_configuration.bPowerOnScreensaver == 1 && !bIgnoreDeactivate &&
-- m_configuration.bActivateSource == 1)
-+ if (m_bPowerOnScreensaver && !bIgnoreDeactivate &&
-+ m_configuration.bActivateSource)
- {
- ActivateSource();
- }
-@@ -175,7 +180,7 @@ void CPeripheralCecAdapter::Announce(AnnouncementFlag flag, const char *sender,
- else if (flag == GUI && !strcmp(sender, "xbmc") && !strcmp(message, "OnScreensaverActivated") && m_bIsReady)
- {
- // Don't put devices to standby if application is currently playing
-- if ((!g_application.m_pPlayer->IsPlaying() && !g_application.m_pPlayer->IsPaused()) && m_configuration.bPowerOffScreensaver == 1)
-+ if (!g_application.m_pPlayer->IsPlaying() && m_bPowerOffScreensaver)
- {
- // only power off when we're the active source
- if (m_cecAdapter->IsLibCECActiveSource())
-@@ -241,14 +246,14 @@ bool CPeripheralCecAdapter::InitialiseFeature(const PeripheralFeature feature)
-
- SetConfigurationFromSettings();
- m_callbacks.Clear();
-- m_callbacks.CBCecLogMessage = &CecLogMessage;
-- m_callbacks.CBCecKeyPress = &CecKeyPress;
-- m_callbacks.CBCecCommand = &CecCommand;
-- m_callbacks.CBCecConfigurationChanged = &CecConfiguration;
-- m_callbacks.CBCecAlert = &CecAlert;
-- m_callbacks.CBCecSourceActivated = &CecSourceActivated;
-- m_configuration.callbackParam = this;
-- m_configuration.callbacks = &m_callbacks;
-+ m_callbacks.logMessage = &CecLogMessage;
-+ m_callbacks.keyPress = &CecKeyPress;
-+ m_callbacks.commandReceived = &CecCommand;
-+ m_callbacks.configurationChanged = &CecConfiguration;
-+ m_callbacks.alert = &CecAlert;
-+ m_callbacks.sourceActivated = &CecSourceActivated;
-+ m_configuration.callbackParam = this;
-+ m_configuration.callbacks = &m_callbacks;
-
- m_dll = new DllLibCEC;
- if (m_dll->Load() && m_dll->IsLoaded())
-@@ -414,7 +419,7 @@ void CPeripheralCecAdapter::Process(void)
- m_standbySent = CDateTime::GetCurrentDateTime();
- m_cecAdapter->StandbyDevices();
- }
-- else if (m_configuration.bSendInactiveSource == 1)
-+ else if (m_bSendInactiveSource)
- {
- CLog::Log(LOGDEBUG, "%s - sending inactive source commands", __FUNCTION__);
- m_cecAdapter->SetInactiveView();
-@@ -614,43 +619,43 @@ void CPeripheralCecAdapter::SetMenuLanguage(const char *strLanguage)
- CLog::Log(LOGWARNING, "%s - TV menu language set to unknown value '%s'", __FUNCTION__, strLanguage);
- }
-
--int CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command command)
-+void CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command* command)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
- if (!adapter)
-- return 0;
-+ return;
-
- if (adapter->m_bIsReady)
- {
-- switch (command.opcode)
-+ switch (command->opcode)
- {
- case CEC_OPCODE_STANDBY:
- /* a device was put in standby mode */
-- if (command.initiator == CECDEVICE_TV &&
-- (adapter->m_configuration.bPowerOffOnStandby == 1 || adapter->m_configuration.bShutdownOnStandby == 1) &&
-+ if (command->initiator == CECDEVICE_TV &&
-+ (adapter->m_configuration.bPowerOffOnStandby == 1 || adapter->m_bShutdownOnStandby) &&
- (!adapter->m_standbySent.IsValid() || CDateTime::GetCurrentDateTime() - adapter->m_standbySent > CDateTimeSpan(0, 0, 0, SCREENSAVER_TIMEOUT)))
- {
- adapter->m_bStarted = false;
- if (adapter->m_configuration.bPowerOffOnStandby == 1)
- g_application.ExecuteXBMCAction("Suspend");
-- else if (adapter->m_configuration.bShutdownOnStandby == 1)
-+ else if (adapter->m_bShutdownOnStandby)
- g_application.ExecuteXBMCAction("Shutdown");
- }
- break;
- case CEC_OPCODE_SET_MENU_LANGUAGE:
-- if (adapter->m_configuration.bUseTVMenuLanguage == 1 && command.initiator == CECDEVICE_TV && command.parameters.size == 3)
-+ if (adapter->m_bUseTVMenuLanguage == 1 && command->initiator == CECDEVICE_TV && command->parameters.size == 3)
- {
- char strNewLanguage[4];
- for (int iPtr = 0; iPtr < 3; iPtr++)
-- strNewLanguage[iPtr] = command.parameters[iPtr];
-+ strNewLanguage[iPtr] = command->parameters[iPtr];
- strNewLanguage[3] = 0;
- adapter->SetMenuLanguage(strNewLanguage);
- }
- break;
- case CEC_OPCODE_DECK_CONTROL:
-- if (command.initiator == CECDEVICE_TV &&
-- command.parameters.size == 1 &&
-- command.parameters[0] == CEC_DECK_CONTROL_MODE_STOP)
-+ if (command->initiator == CECDEVICE_TV &&
-+ command->parameters.size == 1 &&
-+ command->parameters[0] == CEC_DECK_CONTROL_MODE_STOP)
- {
- cec_keypress key;
- key.duration = 500;
-@@ -659,17 +664,17 @@ int CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command command)
- }
- break;
- case CEC_OPCODE_PLAY:
-- if (command.initiator == CECDEVICE_TV &&
-- command.parameters.size == 1)
-+ if (command->initiator == CECDEVICE_TV &&
-+ command->parameters.size == 1)
- {
-- if (command.parameters[0] == CEC_PLAY_MODE_PLAY_FORWARD)
-+ if (command->parameters[0] == CEC_PLAY_MODE_PLAY_FORWARD)
- {
- cec_keypress key;
- key.duration = 500;
- key.keycode = CEC_USER_CONTROL_CODE_PLAY;
- adapter->PushCecKeypress(key);
- }
-- else if (command.parameters[0] == CEC_PLAY_MODE_PLAY_STILL)
-+ else if (command->parameters[0] == CEC_PLAY_MODE_PLAY_STILL)
- {
- cec_keypress key;
- key.duration = 500;
-@@ -682,25 +687,23 @@ int CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command command)
- break;
- }
- }
-- return 1;
- }
-
--int CPeripheralCecAdapter::CecConfiguration(void *cbParam, const libcec_configuration config)
-+void CPeripheralCecAdapter::CecConfiguration(void *cbParam, const libcec_configuration* config)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
- if (!adapter)
-- return 0;
-+ return;
-
- CSingleLock lock(adapter->m_critSection);
-- adapter->SetConfigurationFromLibCEC(config);
-- return 1;
-+ adapter->SetConfigurationFromLibCEC(*config);
- }
-
--int CPeripheralCecAdapter::CecAlert(void *cbParam, const libcec_alert alert, const libcec_parameter data)
-+void CPeripheralCecAdapter::CecAlert(void *cbParam, const libcec_alert alert, const libcec_parameter data)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
- if (!adapter)
-- return 0;
-+ return;
-
- bool bReopenConnection(false);
- int iAlertString(0);
-@@ -743,18 +746,13 @@ int CPeripheralCecAdapter::CecAlert(void *cbParam, const libcec_alert alert, con
-
- if (bReopenConnection)
- adapter->ReopenConnection();
--
-- return 1;
- }
-
--int CPeripheralCecAdapter::CecKeyPress(void *cbParam, const cec_keypress key)
-+void CPeripheralCecAdapter::CecKeyPress(void *cbParam, const cec_keypress* key)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-- if (!adapter)
-- return 0;
--
-- adapter->PushCecKeypress(key);
-- return 1;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
-+ if (!!adapter)
-+ adapter->PushCecKeypress(*key);
- }
-
- void CPeripheralCecAdapter::GetNextKey(void)
-@@ -1154,7 +1152,7 @@ void CPeripheralCecAdapter::OnSettingChanged(const std::string &strChangedSettin
-
- void CPeripheralCecAdapter::CecSourceActivated(void *cbParam, const CEC::cec_logical_address address, const uint8_t activated)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
- if (!adapter)
- return;
-
-@@ -1196,14 +1194,14 @@ void CPeripheralCecAdapter::CecSourceActivated(void *cbParam, const CEC::cec_log
- }
- }
-
--int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message message)
-+void CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message* message)
- {
-- CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
-+ CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
- if (!adapter)
-- return 0;
-+ return;
-
- int iLevel = -1;
-- switch (message.level)
-+ switch (message->level)
- {
- case CEC_LOG_ERROR:
- iLevel = LOGERROR;
-@@ -1223,9 +1221,7 @@ int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message me
- }
-
- if (iLevel >= CEC_LOG_NOTICE || (iLevel >= 0 && CLog::IsLogLevelLogged(LOGDEBUG) && g_advancedSettings.CanLogComponent(LOGCEC)))
-- CLog::Log(iLevel, "%s - %s", __FUNCTION__, message.message);
--
-- return 1;
-+ CLog::Log(iLevel, "%s - %s", __FUNCTION__, message->message);
- }
-
- void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configuration &config)
-@@ -1270,35 +1266,18 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
- bChanged |= WriteLogicalAddresses(config.powerOffDevices, "standby_devices", "standby_devices_advanced");
-
- // set the boolean settings
-- m_configuration.bUseTVMenuLanguage = config.bUseTVMenuLanguage;
-- bChanged |= SetSetting("use_tv_menu_language", m_configuration.bUseTVMenuLanguage == 1);
--
- m_configuration.bActivateSource = config.bActivateSource;
- bChanged |= SetSetting("activate_source", m_configuration.bActivateSource == 1);
-
-- m_configuration.bPowerOffScreensaver = config.bPowerOffScreensaver;
-- bChanged |= SetSetting("cec_standby_screensaver", m_configuration.bPowerOffScreensaver == 1);
--
-- m_configuration.bPowerOnScreensaver = config.bPowerOnScreensaver;
-- bChanged |= SetSetting("cec_wake_screensaver", m_configuration.bPowerOnScreensaver == 1);
--
- m_configuration.bPowerOffOnStandby = config.bPowerOffOnStandby;
-
-- m_configuration.bSendInactiveSource = config.bSendInactiveSource;
-- bChanged |= SetSetting("send_inactive_source", m_configuration.bSendInactiveSource == 1);
--
- m_configuration.iFirmwareVersion = config.iFirmwareVersion;
-- m_configuration.bShutdownOnStandby = config.bShutdownOnStandby;
-
- memcpy(m_configuration.strDeviceLanguage, config.strDeviceLanguage, 3);
- m_configuration.iFirmwareBuildDate = config.iFirmwareBuildDate;
-
- SetVersionInfo(m_configuration);
-
-- bChanged |= SetSetting("standby_pc_on_tv_standby",
-- m_configuration.bPowerOffOnStandby == 1 ? 13011 :
-- m_configuration.bShutdownOnStandby == 1 ? 13005 : 36028);
--
- if (bChanged)
- CLog::Log(LOGDEBUG, "SetConfigurationFromLibCEC - settings updated by libCEC");
- }
-@@ -1306,7 +1285,7 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
- void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- {
- // client version matches the version of libCEC that we originally used the API from
-- m_configuration.clientVersion = LIBCEC_VERSION_TO_UINT(3, 0, 0);
-+ m_configuration.clientVersion = LIBCEC_VERSION_TO_UINT(4, 0, 0);
-
- // device name 'XBMC'
- snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
-@@ -1373,16 +1352,16 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- ReadLogicalAddresses(GetSettingInt("standby_devices"), m_configuration.powerOffDevices);
-
- // read the boolean settings
-- m_configuration.bUseTVMenuLanguage = GetSettingBool("use_tv_menu_language") ? 1 : 0;
-+ m_bUseTVMenuLanguage = GetSettingBool("use_tv_menu_language") ? 1 : 0;
- m_configuration.bActivateSource = GetSettingBool("activate_source") ? 1 : 0;
-- m_configuration.bPowerOffScreensaver = GetSettingBool("cec_standby_screensaver") ? 1 : 0;
-- m_configuration.bPowerOnScreensaver = GetSettingBool("cec_wake_screensaver") ? 1 : 0;
-- m_configuration.bSendInactiveSource = GetSettingBool("send_inactive_source") ? 1 : 0;
-+ m_bPowerOffScreensaver = GetSettingBool("cec_standby_screensaver") ? 1 : 0;
-+ m_bPowerOnScreensaver = GetSettingBool("cec_wake_screensaver") ? 1 : 0;
-+ m_bSendInactiveSource = GetSettingBool("send_inactive_source") ? 1 : 0;
-
- // read the mutually exclusive boolean settings
- int iStandbyAction(GetSettingInt("standby_pc_on_tv_standby"));
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
-- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-+ m_bShutdownOnStandby = iStandbyAction == 13005;
-
- #if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
- // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-@@ -1529,14 +1508,11 @@ bool CPeripheralCecAdapterUpdateThread::WaitReady(void)
- void CPeripheralCecAdapterUpdateThread::UpdateMenuLanguage(void)
- {
- // request the menu language of the TV
-- if (m_configuration.bUseTVMenuLanguage == 1)
-+ if (m_adapter->m_bUseTVMenuLanguage == 1)
- {
- CLog::Log(LOGDEBUG, "%s - requesting the menu language of the TV", __FUNCTION__);
-- cec_menu_language language;
-- if (m_adapter->m_cecAdapter->GetDeviceMenuLanguage(CECDEVICE_TV, &language))
-- m_adapter->SetMenuLanguage(language.language);
-- else
-- CLog::Log(LOGDEBUG, "%s - unknown menu language", __FUNCTION__);
-+ std::string language(m_adapter->m_cecAdapter->GetDeviceMenuLanguage(CECDEVICE_TV));
-+ m_adapter->SetMenuLanguage(language.c_str());
- }
- else
- {
-@@ -1553,9 +1529,9 @@ std::string CPeripheralCecAdapterUpdateThread::UpdateAudioSystemStatus(void)
- if (m_adapter->m_cecAdapter->IsActiveDeviceType(CEC_DEVICE_TYPE_AUDIO_SYSTEM))
- {
- // request the OSD name of the amp
-- cec_osd_name ampName = m_adapter->m_cecAdapter->GetDeviceOSDName(CECDEVICE_AUDIOSYSTEM);
-- CLog::Log(LOGDEBUG, "%s - CEC capable amplifier found (%s). volume will be controlled on the amp", __FUNCTION__, ampName.name);
-- strAmpName += StringUtils::Format("%s", ampName.name);
-+ std::string ampName(m_adapter->m_cecAdapter->GetDeviceOSDName(CECDEVICE_AUDIOSYSTEM));
-+ CLog::Log(LOGDEBUG, "%s - CEC capable amplifier found (%s). volume will be controlled on the amp", __FUNCTION__, ampName.c_str());
-+ strAmpName += StringUtils::Format("%s", ampName.c_str());
-
- // set amp present
- m_adapter->SetAudioSystemConnected(true);
-@@ -1592,8 +1568,8 @@ bool CPeripheralCecAdapterUpdateThread::SetInitialConfiguration(void)
-
- // request the OSD name of the TV
- std::string strNotification;
-- cec_osd_name tvName = m_adapter->m_cecAdapter->GetDeviceOSDName(CECDEVICE_TV);
-- strNotification = StringUtils::Format("%s: %s", g_localizeStrings.Get(36016).c_str(), tvName.name);
-+ std::string tvName(m_adapter->m_cecAdapter->GetDeviceOSDName(CECDEVICE_TV));
-+ strNotification = StringUtils::Format("%s: %s", g_localizeStrings.Get(36016).c_str(), tvName.c_str());
-
- std::string strAmpName = UpdateAudioSystemStatus();
- if (!strAmpName.empty())
-@@ -1766,7 +1742,7 @@ void CPeripheralCecAdapter::ProcessStandbyDevices(void)
- m_standbySent = CDateTime::GetCurrentDateTime();
- m_cecAdapter->StandbyDevices(CECDEVICE_BROADCAST);
- }
-- else if (m_configuration.bSendInactiveSource == 1)
-+ else if (m_bSendInactiveSource == 1)
- {
- CLog::Log(LOGDEBUG, "%s - sending inactive source commands", __FUNCTION__);
- m_cecAdapter->SetInactiveView();
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.h b/xbmc/peripherals/devices/PeripheralCecAdapter.h
-index e7f769f..30b22c9 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.h
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.h
-@@ -146,12 +146,12 @@ namespace PERIPHERALS
- void SetMenuLanguage(const char *strLanguage);
-
- // callbacks from libCEC
-- static int CecLogMessage(void *cbParam, const CEC::cec_log_message message);
-- static int CecCommand(void *cbParam, const CEC::cec_command command);
-- static int CecConfiguration(void *cbParam, const CEC::libcec_configuration config);
-- static int CecAlert(void *cbParam, const CEC::libcec_alert alert, const CEC::libcec_parameter data);
-+ static void CecLogMessage(void *cbParam, const CEC::cec_log_message* message);
-+ static void CecCommand(void *cbParam, const CEC::cec_command* command);
-+ static void CecConfiguration(void *cbParam, const CEC::libcec_configuration* config);
-+ static void CecAlert(void *cbParam, const CEC::libcec_alert alert, const CEC::libcec_parameter data);
- static void CecSourceActivated(void *param, const CEC::cec_logical_address address, const uint8_t activated);
-- static int CecKeyPress(void *cbParam, const CEC::cec_keypress key);
-+ static void CecKeyPress(void *cbParam, const CEC::cec_keypress* key);
-
- DllLibCEC* m_dll;
- CEC::ICECAdapter* m_cecAdapter;
-@@ -181,7 +181,12 @@ namespace PERIPHERALS
- bool m_bActiveSourceBeforeStandby;
- bool m_bOnPlayReceived;
- bool m_bPlaybackPaused;
-- std::string m_strComPort;
-+ std::string m_strComPort;
-+ bool m_bPowerOnScreensaver;
-+ bool m_bUseTVMenuLanguage;
-+ bool m_bSendInactiveSource;
-+ bool m_bPowerOffScreensaver;
-+ bool m_bShutdownOnStandby;
- };
-
- class CPeripheralCecAdapterUpdateThread : public CThread
-
-From 82fe52deb8c11df31fbdf8c298b28a5e1a1491aa Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Fri, 11 Nov 2016 10:09:48 +0100
-Subject: [PATCH 2/4] [cec] Added advanced settings for action when TV goes
- standby
-
-Added advances settings for action when TV goes standby : Pause
-playback, Stop playback, Exit Kodi
----
- system/peripherals.xml | 2 +-
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 47 ++++++++++++++++++-----
- xbmc/peripherals/devices/PeripheralCecAdapter.h | 1 +
- 3 files changed, 39 insertions(+), 11 deletions(-)
-
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 58a9d24..1fa31e1 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -16,7 +16,7 @@
- <setting key="send_inactive_source" type="bool" value="1" label="36025" order="5" />
- <setting key="cec_standby_screensaver" type="bool" value="0" label="36009" order="6" />
- <setting key="cec_wake_screensaver" type="bool" value="1" label="36010" order="7" />
-- <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="8" lvalues="36028|13005|13011" />
-+ <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="8" lvalues="36028|13005|13011|13009|36043|36045" />
- <setting key="standby_tv_on_pc_standby" type="bool" value="1" label="36026" order="9" />
- <setting key="use_tv_menu_language" type="bool" value="1" label="36018" order="10" />
- <setting key="pause_playback_on_deactivate" type="bool" value="1" label="36033" configurable="0" />
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index a71dc4b..1b7c38e 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -55,6 +55,10 @@ using namespace CEC;
- #define LOCALISED_ID_TV_AVR 36039
- #define LOCALISED_ID_STOP 36044
- #define LOCALISED_ID_PAUSE 36045
-+#define LOCALISED_ID_POWEROFF 13005
-+#define LOCALISED_ID_SUSPEND 13011
-+#define LOCALISED_ID_QUIT 13009
-+#define LOCALISED_ID_IGNORE 36028
-
- #define LOCALISED_ID_NONE 231
-
-@@ -619,6 +623,35 @@ void CPeripheralCecAdapter::SetMenuLanguage(const char *strLanguage)
- CLog::Log(LOGWARNING, "%s - TV menu language set to unknown value '%s'", __FUNCTION__, strLanguage);
- }
-
-+void CPeripheralCecAdapter::OnTvStandby(void)
-+{
-+ int iActionOnTvStandby = GetSettingInt("standby_pc_on_tv_standby");
-+ switch (iActionOnTvStandby)
-+ {
-+ case LOCALISED_ID_POWEROFF:
-+ m_bStarted = false;
-+ g_application.ExecuteXBMCAction("Shutdown");
-+ break;
-+ case LOCALISED_ID_SUSPEND:
-+ m_bStarted = false;
-+ g_application.ExecuteXBMCAction("Suspend");
-+ break;
-+ case LOCALISED_ID_QUIT:
-+ m_bStarted = false;
-+ g_application.ExecuteXBMCAction("Quit");
-+ break;
-+ case LOCALISED_ID_PAUSE:
-+ g_application.OnAction(CAction(ACTION_PAUSE));
-+ break;
-+ case LOCALISED_ID_STOP:
-+ g_application.StopPlaying();
-+ break;
-+ default:
-+ CLog::Log(LOGERROR, "%s - Unexpected [standby_pc_on_tv_standby] setting value", __FUNCTION__);
-+ break;
-+ }
-+}
-+
- void CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command* command)
- {
- CPeripheralCecAdapter *adapter = static_cast<CPeripheralCecAdapter *>(cbParam);
-@@ -630,16 +663,10 @@ void CPeripheralCecAdapter::CecCommand(void *cbParam, const cec_command* command
- switch (command->opcode)
- {
- case CEC_OPCODE_STANDBY:
-- /* a device was put in standby mode */
- if (command->initiator == CECDEVICE_TV &&
-- (adapter->m_configuration.bPowerOffOnStandby == 1 || adapter->m_bShutdownOnStandby) &&
- (!adapter->m_standbySent.IsValid() || CDateTime::GetCurrentDateTime() - adapter->m_standbySent > CDateTimeSpan(0, 0, 0, SCREENSAVER_TIMEOUT)))
- {
-- adapter->m_bStarted = false;
-- if (adapter->m_configuration.bPowerOffOnStandby == 1)
-- g_application.ExecuteXBMCAction("Suspend");
-- else if (adapter->m_bShutdownOnStandby)
-- g_application.ExecuteXBMCAction("Shutdown");
-+ adapter->OnTvStandby();
- }
- break;
- case CEC_OPCODE_SET_MENU_LANGUAGE:
-@@ -1360,8 +1387,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
-
- // read the mutually exclusive boolean settings
- int iStandbyAction(GetSettingInt("standby_pc_on_tv_standby"));
-- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
-- m_bShutdownOnStandby = iStandbyAction == 13005;
-+ m_configuration.bPowerOffOnStandby = iStandbyAction == LOCALISED_ID_SUSPEND ? 1 : 0;
-+ m_bShutdownOnStandby = iStandbyAction == LOCALISED_ID_POWEROFF;
-
- #if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
- // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-@@ -1373,7 +1400,7 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
-
- if (GetSettingBool("pause_playback_on_deactivate"))
- {
-- SetSetting("pause_or_stop_playback_on_deactivate", 36045);
-+ SetSetting("pause_or_stop_playback_on_deactivate", LOCALISED_ID_PAUSE);
- SetSetting("pause_playback_on_deactivate", false);
- }
- }
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.h b/xbmc/peripherals/devices/PeripheralCecAdapter.h
-index 30b22c9..9274eab 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.h
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.h
-@@ -144,6 +144,7 @@ namespace PERIPHERALS
-
- void SetAudioSystemConnected(bool bSetTo);
- void SetMenuLanguage(const char *strLanguage);
-+ void OnTvStandby(void);
-
- // callbacks from libCEC
- static void CecLogMessage(void *cbParam, const CEC::cec_log_message* message);
-
-From f0e1725617e41e841c9c24a20f1fc9b37347c8c3 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Fri, 11 Nov 2016 10:09:56 +0100
-Subject: [PATCH 3/4] [cec] add CEC IMX adapter as known type and set no
- polling.
-
-that eliminates extensive periodic /sys walkthrough
-
-(this is reused Lars's commit e59d7e028288464e6890141a830e4a83d4b9d065)
----
- xbmc/peripherals/PeripheralTypes.h | 5 +++++
- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 6 ++++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/xbmc/peripherals/PeripheralTypes.h b/xbmc/peripherals/PeripheralTypes.h
-index 34ce2ef..c87242f 100644
---- a/xbmc/peripherals/PeripheralTypes.h
-+++ b/xbmc/peripherals/PeripheralTypes.h
-@@ -38,7 +38,8 @@
- PERIPHERAL_BUS_USB,
- PERIPHERAL_BUS_PCI,
- PERIPHERAL_BUS_RPI,
-- PERIPHERAL_BUS_CEC
-+ PERIPHERAL_BUS_CEC,
-+ PERIPHERAL_BUS_IMX
- };
-
- enum PeripheralFeature
-@@ -173,6 +174,8 @@ namespace PERIPHERALS
- return "pci";
- case PERIPHERAL_BUS_RPI:
- return "rpi";
-+ case PERIPHERAL_BUS_IMX:
-+ return "imx";
- case PERIPHERAL_BUS_CEC:
- return "cec";
- case PERIPHERAL_BUS_ADDON:
-@@ -197,6 +200,8 @@ namespace PERIPHERALS
- return PERIPHERAL_BUS_PCI;
- else if (strTypeLowerCase == "rpi")
- return PERIPHERAL_BUS_RPI;
-+ else if (strTypeLowerCase == "imx")
-+ return PERIPHERAL_BUS_IMX;
- else if (strTypeLowerCase == "cec")
- return PERIPHERAL_BUS_CEC;
- else if (strTypeLowerCase == "addon")
-diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-index b04fe00..abd0a6b 100644
---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-@@ -102,6 +102,12 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
- /** the Pi's adapter cannot be removed, no need to rescan */
- m_bNeedsPolling = false;
- break;
-+#if defined(HAS_IMXVPU)
-+ case ADAPTERTYPE_IMX:
-+ result.m_mappedBusType = PERIPHERAL_BUS_IMX;
-+ m_bNeedsPolling = false;
-+ break;
-+#endif
- default:
- break;
- }
-
-From cfcfb4c98cf1a6d756fc3962e6d803c297917684 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Fri, 11 Nov 2016 10:10:07 +0100
-Subject: [PATCH 4/4] [cec] added: setting to make libCEC wake up the AVR
- explicitly when activating the source.
-
-ref: https://github.com/Pulse-Eight/libcec/issues/156
----
- addons/resource.language.en_gb/resources/strings.po | 7 ++++++-
- system/peripherals.xml | 3 ++-
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 1 +
- 3 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 1fa31e1..ed707b6 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -16,7 +16,7 @@
- <setting key="send_inactive_source" type="bool" value="1" label="36025" order="5" />
- <setting key="cec_standby_screensaver" type="bool" value="0" label="36009" order="6" />
- <setting key="cec_wake_screensaver" type="bool" value="1" label="36010" order="7" />
-- <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="8" lvalues="36028|13005|13011|13009|36043|36045" />
-+ <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="8" lvalues="36028|13005|13011|13009|36044|36046" />
- <setting key="standby_tv_on_pc_standby" type="bool" value="1" label="36026" order="9" />
- <setting key="use_tv_menu_language" type="bool" value="1" label="36018" order="10" />
- <setting key="pause_playback_on_deactivate" type="bool" value="1" label="36033" configurable="0" />
-@@ -24,6 +24,7 @@
- <setting key="connected_device" type="enum" label="36019" value="36037" lvalues="36037|36038" order="12" />
- <setting key="cec_hdmi_port" type="int" value="1" min="1" max="15" label="36015" order="13" />
- <setting key="physical_address" type="string" label="36021" value="0" order="14" />
-+ <setting key="power_avr_on_as" type="bool" label="36045" value="0" order="15" />
-
- <setting key="tv_vendor" type="int" value="0" configurable="0" />
- <setting key="device_name" type="string" value="Kodi" configurable="0" />
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 1b7c38e..d032ffd 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1384,6 +1384,7 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_bPowerOffScreensaver = GetSettingBool("cec_standby_screensaver") ? 1 : 0;
- m_bPowerOnScreensaver = GetSettingBool("cec_wake_screensaver") ? 1 : 0;
- m_bSendInactiveSource = GetSettingBool("send_inactive_source") ? 1 : 0;
-+ m_configuration.bAutoWakeAVR = GetSettingBool("power_avr_on_as") ? 1 : 0;
-
- // read the mutually exclusive boolean settings
- int iStandbyAction(GetSettingInt("standby_pc_on_tv_standby"));
diff --git a/abs/extra/kodi/9703.patch b/abs/extra/kodi/9703.patch
deleted file mode 100644
index 9c96dfa..0000000
--- a/abs/extra/kodi/9703.patch
+++ /dev/null
@@ -1,1432 +0,0 @@
-From 8f82e51563f0e1bc9b7a8adf669ad2b66e7ce3e5 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Thu, 28 Apr 2016 17:17:40 +0200
-Subject: [PATCH] lib/cximage-6.0: fix compilation with gcc6
-
-For a quick fix I renamed min() to cxmin() and max() to cxmax() to
-prevent the conflict with the gcc definition.
-
-Forum thread for reference:
-http://forum.kodi.tv/showthread.php?tid=263884
----
- lib/cximage-6.0/CxImage/ximabmp.cpp | 6 +-
- lib/cximage-6.0/CxImage/ximadef.h | 8 +-
- lib/cximage-6.0/CxImage/ximadsp.cpp | 182 +++++++++++++++++------------------
- lib/cximage-6.0/CxImage/ximage.cpp | 4 +-
- lib/cximage-6.0/CxImage/ximagif.cpp | 6 +-
- lib/cximage-6.0/CxImage/ximahist.cpp | 12 +--
- lib/cximage-6.0/CxImage/ximaint.cpp | 8 +-
- lib/cximage-6.0/CxImage/ximaiter.h | 4 +-
- lib/cximage-6.0/CxImage/ximajbg.cpp | 2 +-
- lib/cximage-6.0/CxImage/ximapal.cpp | 14 +--
- lib/cximage-6.0/CxImage/ximapng.cpp | 12 +--
- lib/cximage-6.0/CxImage/ximaraw.cpp | 4 +-
- lib/cximage-6.0/CxImage/ximasel.cpp | 50 +++++-----
- lib/cximage-6.0/CxImage/ximath.cpp | 8 +-
- lib/cximage-6.0/CxImage/ximatif.cpp | 6 +-
- lib/cximage-6.0/CxImage/ximatran.cpp | 138 +++++++++++++-------------
- lib/cximage-6.0/CxImage/ximawnd.cpp | 16 +--
- 17 files changed, 236 insertions(+), 244 deletions(-)
-
-diff --git a/lib/cximage-6.0/CxImage/ximabmp.cpp b/lib/cximage-6.0/CxImage/ximabmp.cpp
-index 726ff91..55842b1 100644
---- a/lib/cximage-6.0/CxImage/ximabmp.cpp
-+++ b/lib/cximage-6.0/CxImage/ximabmp.cpp
-@@ -46,7 +46,7 @@ bool CxImageBMP::Encode(CxFile * hFile)
- bihtoh(&infohdr);
-
- // Write the file header
-- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1);
-+ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1);
- hFile->Write(&infohdr,sizeof(BITMAPINFOHEADER),1);
- //and DIB+ALPHA interlaced
- BYTE *srcalpha = AlphaGetPointer();
-@@ -64,7 +64,7 @@ bool CxImageBMP::Encode(CxFile * hFile)
- #endif //CXIMAGE_SUPPORT_ALPHA
- {
- // Write the file header
-- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1);
-+ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1);
- //copy attributes
- memcpy(pDib,&head,sizeof(BITMAPINFOHEADER));
- bihtoh((BITMAPINFOHEADER*)pDib);
-@@ -86,7 +86,7 @@ bool CxImageBMP::Decode(CxFile * hFile)
- BITMAPFILEHEADER bf;
- DWORD off = hFile->Tell(); //<CSC>
- cx_try {
-- if (hFile->Read(&bf,min(14,sizeof(bf)),1)==0) cx_throw("Not a BMP");
-+ if (hFile->Read(&bf,cxmin(14,sizeof(bf)),1)==0) cx_throw("Not a BMP");
-
- bf.bfSize = my_ntohl(bf.bfSize);
- bf.bfOffBits = my_ntohl(bf.bfOffBits);
-diff --git a/lib/cximage-6.0/CxImage/ximadef.h b/lib/cximage-6.0/CxImage/ximadef.h
-index fe383bf..53ea452 100644
---- a/lib/cximage-6.0/CxImage/ximadef.h
-+++ b/lib/cximage-6.0/CxImage/ximadef.h
-@@ -53,12 +53,8 @@
- #define CXIMAGE_SUPPORT_WINDOWS 0
- #endif
-
--#ifndef min
--#define min(a,b) (((a)<(b))?(a):(b))
--#endif
--#ifndef max
--#define max(a,b) (((a)>(b))?(a):(b))
--#endif
-+#define cxmin(a,b) (((a)<(b))?(a):(b))
-+#define cxmax(a,b) (((a)>(b))?(a):(b))
-
- #ifndef PI
- #define PI 3.141592653589793f
-diff --git a/lib/cximage-6.0/CxImage/ximadsp.cpp b/lib/cximage-6.0/CxImage/ximadsp.cpp
-index 8425bb2..813253b 100644
---- a/lib/cximage-6.0/CxImage/ximadsp.cpp
-+++ b/lib/cximage-6.0/CxImage/ximadsp.cpp
-@@ -389,8 +389,8 @@ RGBQUAD CxImage::RGBtoHSL(RGBQUAD lRGBColor)
- G = lRGBColor.rgbGreen;
- B = lRGBColor.rgbBlue;
-
-- cMax = max( max(R,G), B); /* calculate lightness */
-- cMin = min( min(R,G), B);
-+ cMax = cxmax( cxmax(R,G), B); /* calculate lightness */
-+ cMin = cxmin( cxmin(R,G), B);
- L = (BYTE)((((cMax+cMin)*HSLMAX)+RGBMAX)/(2*RGBMAX));
-
- if (cMax==cMin){ /* r=g=b --> achromatic case */
-@@ -489,9 +489,9 @@ RGBQUAD CxImage::YUVtoRGB(RGBQUAD lYUVColor)
- G = (int)( Y - 0.344f * U - 0.714f * V);
- B = (int)( Y + 1.770f * U);
-
-- R= min(255,max(0,R));
-- G= min(255,max(0,G));
-- B= min(255,max(0,B));
-+ R= cxmin(255,cxmax(0,R));
-+ G= cxmin(255,cxmax(0,G));
-+ B= cxmin(255,cxmax(0,B));
- RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
- return rgb;
- }
-@@ -510,9 +510,9 @@ RGBQUAD CxImage::RGBtoYUV(RGBQUAD lRGBColor)
- U = (int)((B-Y) * 0.565f + 128);
- V = (int)((R-Y) * 0.713f + 128);
-
-- Y= min(255,max(0,Y));
-- U= min(255,max(0,U));
-- V= min(255,max(0,V));
-+ Y= cxmin(255,cxmax(0,Y));
-+ U= cxmin(255,cxmax(0,U));
-+ V= cxmin(255,cxmax(0,V));
- RGBQUAD yuv={(BYTE)V,(BYTE)U,(BYTE)Y,0};
- return yuv;
- }
-@@ -528,9 +528,9 @@ RGBQUAD CxImage::YIQtoRGB(RGBQUAD lYIQColor)
- G = (int)( Y - 0.273f * I - 0.647f * Q);
- B = (int)( Y - 1.104f * I + 1.701f * Q);
-
-- R= min(255,max(0,R));
-- G= min(255,max(0,G));
-- B= min(255,max(0,B));
-+ R= cxmin(255,cxmax(0,R));
-+ G= cxmin(255,cxmax(0,G));
-+ B= cxmin(255,cxmax(0,B));
- RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
- return rgb;
- }
-@@ -546,9 +546,9 @@ RGBQUAD CxImage::RGBtoYIQ(RGBQUAD lRGBColor)
- I = (int)( 0.5960f * R - 0.2742f * G - 0.3219f * B + 128);
- Q = (int)( 0.2109f * R - 0.5229f * G + 0.3120f * B + 128);
-
-- Y= min(255,max(0,Y));
-- I= min(255,max(0,I));
-- Q= min(255,max(0,Q));
-+ Y= cxmin(255,cxmax(0,Y));
-+ I= cxmin(255,cxmax(0,I));
-+ Q= cxmin(255,cxmax(0,Q));
- RGBQUAD yiq={(BYTE)Q,(BYTE)I,(BYTE)Y,0};
- return yiq;
- }
-@@ -565,9 +565,9 @@ RGBQUAD CxImage::XYZtoRGB(RGBQUAD lXYZColor)
- G = (int)( -0.969256f * X + 1.875992f * Y + 0.041556f * Z * k);
- B = (int)( 0.055648f * X - 0.204043f * Y + 1.057311f * Z * k);
-
-- R= min(255,max(0,R));
-- G= min(255,max(0,G));
-- B= min(255,max(0,B));
-+ R= cxmin(255,cxmax(0,R));
-+ G= cxmin(255,cxmax(0,G));
-+ B= cxmin(255,cxmax(0,B));
- RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
- return rgb;
- }
-@@ -583,9 +583,9 @@ RGBQUAD CxImage::RGBtoXYZ(RGBQUAD lRGBColor)
- Y = (int)( 0.212671f * R + 0.715160f * G + 0.072169f * B);
- Z = (int)((0.019334f * R + 0.119193f * G + 0.950227f * B)*0.918483657f);
-
-- //X= min(255,max(0,X));
-- //Y= min(255,max(0,Y));
-- //Z= min(255,max(0,Z));
-+ //X= cxmin(255,cxmax(0,X));
-+ //Y= cxmin(255,cxmax(0,Y));
-+ //Z= cxmin(255,cxmax(0,Z));
- RGBQUAD xyz={(BYTE)Z,(BYTE)Y,(BYTE)X,0};
- return xyz;
- }
-@@ -707,7 +707,7 @@ bool CxImage::Light(long brightness, long contrast)
-
- BYTE cTable[256]; //<nipper>
- for (int i=0;i<256;i++) {
-- cTable[i] = (BYTE)max(0,min(255,(int)((i-128)*c + brightness + 0.5f)));
-+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)((i-128)*c + brightness + 0.5f)));
- }
-
- return Lut(cTable);
-@@ -830,11 +830,11 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset)
- }
- }
- if (Kfactor==0 || ksumcur==0){
-- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b + Koffset)));
-+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset)));
- } else if (ksumtot == ksumcur) {
-- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset)));
-+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset)));
- } else {
-- cPtr2[iY1] = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-+ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
- }
- }
- }
-@@ -863,17 +863,17 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset)
- }
- }
- if (Kfactor==0 || ksumcur==0){
-- c.rgbRed = (BYTE)min(255, max(0,(int)(r + Koffset)));
-- c.rgbGreen = (BYTE)min(255, max(0,(int)(g + Koffset)));
-- c.rgbBlue = (BYTE)min(255, max(0,(int)(b + Koffset)));
-+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r + Koffset)));
-+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g + Koffset)));
-+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset)));
- } else if (ksumtot == ksumcur) {
-- c.rgbRed = (BYTE)min(255, max(0,(int)(r/Kfactor + Koffset)));
-- c.rgbGreen = (BYTE)min(255, max(0,(int)(g/Kfactor + Koffset)));
-- c.rgbBlue = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset)));
-+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r/Kfactor + Koffset)));
-+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g/Kfactor + Koffset)));
-+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset)));
- } else {
-- c.rgbRed = (BYTE)min(255, max(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-- c.rgbGreen = (BYTE)min(255, max(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-- c.rgbBlue = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-+ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-+ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset)));
-+ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
- }
- tmp.BlindSetPixelColor(x,y,c);
- }
-@@ -1078,8 +1078,8 @@ bool CxImage::Edge(long Ksize)
- //
- void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffset, bool bMixAlpha)
- {
-- long lWide = min(GetWidth(),imgsrc2.GetWidth()-lXOffset);
-- long lHeight = min(GetHeight(),imgsrc2.GetHeight()-lYOffset);
-+ long lWide = cxmin(GetWidth(),imgsrc2.GetWidth()-lXOffset);
-+ long lHeight = cxmin(GetHeight(),imgsrc2.GetHeight()-lYOffset);
-
- bool bEditAlpha = imgsrc2.AlphaIsValid() & bMixAlpha;
-
-@@ -1112,16 +1112,16 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse
- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)((rgb1.rgbReserved+rgb2.rgbReserved)/2);
- break;
- case OpAdd:
-- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue+rgb2.rgbBlue));
-- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen+rgb2.rgbGreen));
-- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed+rgb2.rgbRed));
-- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved+rgb2.rgbReserved));
-+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue+rgb2.rgbBlue));
-+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen+rgb2.rgbGreen));
-+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed+rgb2.rgbRed));
-+ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved+rgb2.rgbReserved));
- break;
- case OpSub:
-- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue-rgb2.rgbBlue));
-- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen-rgb2.rgbGreen));
-- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed-rgb2.rgbRed));
-- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved-rgb2.rgbReserved));
-+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue-rgb2.rgbBlue));
-+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen-rgb2.rgbGreen));
-+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed-rgb2.rgbRed));
-+ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved-rgb2.rgbReserved));
- break;
- case OpAnd:
- rgbDest.rgbBlue = (BYTE)(rgb1.rgbBlue&rgb2.rgbBlue);
-@@ -1202,11 +1202,11 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse
- double dSmallAmt = dSmall*((double)rgb2.rgbBlue);
-
- if( lAverage < lThresh+1){
-- rgbDest.rgbBlue = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbBlue) +
-+ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbBlue) +
- dSmallAmt)));
-- rgbDest.rgbGreen = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbGreen) +
-+ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbGreen) +
- dSmallAmt)));
-- rgbDest.rgbRed = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbRed) +
-+ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbRed) +
- dSmallAmt)));
- }
- else
-@@ -1274,9 +1274,9 @@ bool CxImage::ShiftRGB(long r, long g, long b)
- #endif //CXIMAGE_SUPPORT_SELECTION
- {
- color = BlindGetPixelColor(x,y);
-- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + r)));
-- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + g)));
-- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + b)));
-+ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + r)));
-+ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + g)));
-+ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + b)));
- BlindSetPixelColor(x,y,color);
- }
- }
-@@ -1284,9 +1284,9 @@ bool CxImage::ShiftRGB(long r, long g, long b)
- } else {
- for(DWORD j=0; j<head.biClrUsed; j++){
- color = GetPaletteColor((BYTE)j);
-- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + r)));
-- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + g)));
-- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + b)));
-+ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + r)));
-+ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + g)));
-+ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + b)));
- SetPaletteColor((BYTE)j,color);
- }
- }
-@@ -1310,7 +1310,7 @@ bool CxImage::Gamma(float gamma)
-
- BYTE cTable[256]; //<nipper>
- for (int i=0;i<256;i++) {
-- cTable[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
-+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
- }
-
- return Lut(cTable);
-@@ -1337,21 +1337,21 @@ bool CxImage::GammaRGB(float gammaR, float gammaG, float gammaB)
- dMax = pow(255.0, dinvgamma) / 255.0;
- BYTE cTableR[256];
- for (i=0;i<256;i++) {
-- cTableR[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
-+ cTableR[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
- }
-
- dinvgamma = 1/gammaG;
- dMax = pow(255.0, dinvgamma) / 255.0;
- BYTE cTableG[256];
- for (i=0;i<256;i++) {
-- cTableG[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
-+ cTableG[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
- }
-
- dinvgamma = 1/gammaB;
- dMax = pow(255.0, dinvgamma) / 255.0;
- BYTE cTableB[256];
- for (i=0;i<256;i++) {
-- cTableB[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
-+ cTableB[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
- }
-
- return Lut(cTableR, cTableG, cTableB);
-@@ -1442,11 +1442,11 @@ bool CxImage::Noise(long level)
- {
- color = BlindGetPixelColor(x,y);
- n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
-- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + n)));
-+ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + n)));
- n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
-- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + n)));
-+ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + n)));
- n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
-- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + n)));
-+ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + n)));
- BlindSetPixelColor(x,y,color);
- }
- }
-@@ -1561,8 +1561,8 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
-
- //DFT buffers
- double *real2,*imag2;
-- real2 = (double*)malloc(max(w,h) * sizeof(double));
-- imag2 = (double*)malloc(max(w,h) * sizeof(double));
-+ real2 = (double*)malloc(cxmax(w,h) * sizeof(double));
-+ imag2 = (double*)malloc(cxmax(w,h) * sizeof(double));
-
- /* Transform the rows */
- real = (double *)malloc(w * sizeof(double));
-@@ -1617,7 +1617,7 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
-
- /* converting from double to byte, there is a HUGE loss in the dynamics
- "nn" tries to keep an acceptable SNR, but 8bit=48dB: don't ask more */
-- double nn=pow((double)2,(double)log((double)max(w,h))/(double)log((double)2)-4);
-+ double nn=pow((double)2,(double)log((double)cxmax(w,h))/(double)log((double)2)-4);
- //reversed gain for reversed transform
- if (direction==-1) nn=1/nn;
- //bMagnitude : just to see it on the screen
-@@ -1626,15 +1626,15 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
- for (j=0;j<h;j++) {
- for (k=0;k<w;k++) {
- if (bMagnitude){
-- tmpReal->SetPixelIndex(k,j,(BYTE)max(0,min(255,(nn*(3+log(_cabs(grid[k][j])))))));
-+ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(nn*(3+log(_cabs(grid[k][j])))))));
- if (grid[k][j].x==0){
-- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/0.0000000001)*nn)))));
-+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/0.0000000001)*nn)))));
- } else {
-- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn)))));
-+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn)))));
- }
- } else {
-- tmpReal->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].x*nn))));
-- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].y*nn))));
-+ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].x*nn))));
-+ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].y*nn))));
- }
- }
- }
-@@ -1922,7 +1922,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
-
- correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
-
-- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
-+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
- }
- }
-
-@@ -1943,7 +1943,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
-
- correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
-
-- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
-+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
- }
- }
- for (x=0;x<=w;x+=w){
-@@ -1963,7 +1963,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
-
- correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
-
-- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
-+ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
- }
- }
-
-@@ -2621,8 +2621,8 @@ bool CxImage::SelectiveBlur(float radius, BYTE threshold, CxImage* iDst)
- }
-
- //build the difference mask
-- BYTE thresh_dw = (BYTE)max( 0 ,(int)(128 - threshold));
-- BYTE thresh_up = (BYTE)min(255,(int)(128 + threshold));
-+ BYTE thresh_dw = (BYTE)cxmax( 0 ,(int)(128 - threshold));
-+ BYTE thresh_up = (BYTE)cxmin(255,(int)(128 + threshold));
- long kernel[]={-100,-100,-100,-100,801,-100,-100,-100,-100};
- if (!Tmp.Filter(kernel,3,800,128)){
- delete [] pPalette;
-@@ -2755,7 +2755,7 @@ bool CxImage::UnsharpMask(float radius /*= 5.0*/, float amount /*= 0.5*/, int th
- if (abs(diff) < threshold){
- dest_row[z] = cur_row[z];
- } else {
-- dest_row[z] = (BYTE)min(255, max(0,(int)(cur_row[z] + amount * diff)));
-+ dest_row[z] = (BYTE)cxmin(255, cxmax(0,(int)(cur_row[z] + amount * diff)));
- }
- }
- }
-@@ -2952,7 +2952,7 @@ bool CxImage::RedEyeRemove(float strength)
- float a = 1.0f-5.0f*((float)((x-0.5f*(xmax+xmin))*(x-0.5f*(xmax+xmin))+(y-0.5f*(ymax+ymin))*(y-0.5f*(ymax+ymin))))/((float)((xmax-xmin)*(ymax-ymin)));
- if (a<0) a=0;
- color = BlindGetPixelColor(x,y);
-- color.rgbRed = (BYTE)(a*min(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed);
-+ color.rgbRed = (BYTE)(a*cxmin(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed);
- BlindSetPixelColor(x,y,color);
- }
- }
-@@ -2990,7 +2990,7 @@ bool CxImage::Saturate(const long saturation, const long colorspace)
- case 1:
- {
- for (int i=0;i<256;i++) {
-- cTable[i] = (BYTE)max(0,min(255,(int)(i + saturation)));
-+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)(i + saturation)));
- }
- for(long y=ymin; y<ymax; y++){
- info.nProgress = (long)(100*(y-ymin)/(ymax-ymin));
-@@ -3012,7 +3012,7 @@ bool CxImage::Saturate(const long saturation, const long colorspace)
- case 2:
- {
- for (int i=0;i<256;i++) {
-- cTable[i] = (BYTE)max(0,min(255,(int)((i-128)*(100 + saturation)/100.0f + 128.5f)));
-+ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)((i-128)*(100 + saturation)/100.0f + 128.5f)));
- }
- for(long y=ymin; y<ymax; y++){
- info.nProgress = (long)(100*(y-ymin)/(ymax-ymin));
-@@ -3242,10 +3242,10 @@ int CxImage::OptimalThreshold(long method, RECT * pBox, CxImage* pContrastMask)
-
- long xmin,xmax,ymin,ymax;
- if (pBox){
-- xmin = max(pBox->left,0);
-- xmax = min(pBox->right,head.biWidth);
-- ymin = max(pBox->bottom,0);
-- ymax = min(pBox->top,head.biHeight);
-+ xmin = cxmax(pBox->left,0);
-+ xmax = cxmin(pBox->right,head.biWidth);
-+ ymin = cxmax(pBox->bottom,0);
-+ ymax = cxmin(pBox->top,head.biHeight);
- } else {
- xmin = ymin = 0;
- xmax = head.biWidth; ymax=head.biHeight;
-@@ -3463,7 +3463,7 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa
- r.top = r.bottom + nBoxSize;
- int threshold = OptimalThreshold(method, &r, pContrastMask);
- if (threshold <0) return false;
-- mask.SetPixelIndex(x,y,(BYTE)max(0,min(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold))));
-+ mask.SetPixelIndex(x,y,(BYTE)cxmax(0,cxmin(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold))));
- }
- }
-
-@@ -3490,10 +3490,6 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa
- * Note: nOpacity=0 && bSelectFilledArea=true act as a "magic wand"
- * \return true if everything is ok
- */
--#if defined(XBMC) && !defined(_WIN32)
--int max(int a, int b) { return a > b ? a : b; }
--int min(int a, int b) { return a < b ? a : b; }
--#endif
-
- bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFillColor, const BYTE nTolerance,
- BYTE nOpacity, const bool bSelectFilledArea, const BYTE nSelectionLevel)
-@@ -3538,8 +3534,8 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil
- if (IsIndexed()){ //--- Generic indexed image, no tolerance OR Grayscale image with tolerance
- BYTE idxRef = GetPixelIndex(xStart,yStart);
- BYTE idxFill = GetNearestIndex(cFillColor);
-- BYTE idxMin = (BYTE)min(255, max(0,(int)(idxRef - nTolerance)));
-- BYTE idxMax = (BYTE)min(255, max(0,(int)(idxRef + nTolerance)));
-+ BYTE idxMin = (BYTE)cxmin(255, cxmax(0,(int)(idxRef - nTolerance)));
-+ BYTE idxMax = (BYTE)cxmin(255, cxmax(0,(int)(idxRef + nTolerance)));
-
- while(!q.empty())
- {
-@@ -3575,12 +3571,12 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil
- } else { //--- RGB image
- RGBQUAD cRef = GetPixelColor(xStart,yStart);
- RGBQUAD cRefMin, cRefMax;
-- cRefMin.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed - nTolerance)));
-- cRefMin.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen - nTolerance)));
-- cRefMin.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue - nTolerance)));
-- cRefMax.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed + nTolerance)));
-- cRefMax.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen + nTolerance)));
-- cRefMax.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue + nTolerance)));
-+ cRefMin.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed - nTolerance)));
-+ cRefMin.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen - nTolerance)));
-+ cRefMin.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue - nTolerance)));
-+ cRefMax.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed + nTolerance)));
-+ cRefMax.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen + nTolerance)));
-+ cRefMax.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue + nTolerance)));
-
- while(!q.empty())
- {
-diff --git a/lib/cximage-6.0/CxImage/ximage.cpp b/lib/cximage-6.0/CxImage/ximage.cpp
-index e81d3c6..26c6993 100644
---- a/lib/cximage-6.0/CxImage/ximage.cpp
-+++ b/lib/cximage-6.0/CxImage/ximage.cpp
-@@ -460,7 +460,7 @@ bool CxImage::CreateFromArray(BYTE* pArray,DWORD dwWidth,DWORD dwHeight,DWORD dw
- src+=4;
- }
- } else {
-- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline));
-+ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline));
- }
- }
- return true;
-@@ -500,7 +500,7 @@ bool CxImage::CreateFromMatrix(BYTE** ppMatrix,DWORD dwWidth,DWORD dwHeight,DWOR
- src+=4;
- }
- } else {
-- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline));
-+ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline));
- }
- }
- }
-diff --git a/lib/cximage-6.0/CxImage/ximagif.cpp b/lib/cximage-6.0/CxImage/ximagif.cpp
-index b89e061..64b1ccc 100644
---- a/lib/cximage-6.0/CxImage/ximagif.cpp
-+++ b/lib/cximage-6.0/CxImage/ximagif.cpp
-@@ -478,7 +478,7 @@ bool CxImageGIF::Encode(CxFile * fp, CxImage ** pImages, int pagecount, bool bLo
- ghost.EncodeHeader(fp);
-
- if (m_loops!=1){
-- ghost.SetLoops(max(0,m_loops-1));
-+ ghost.SetLoops(cxmax(0,m_loops-1));
- ghost.EncodeLoopExtension(fp);
- }
-
-@@ -1340,10 +1340,10 @@ void CxImageGIF::GetComment(char* sz_comment_out)
- ////////////////////////////////////////////////////////////////////////////////
- void CxImageGIF::GifMix(CxImage & imgsrc2, struct_image & imgdesc)
- {
-- long ymin = max(0,(long)(GetHeight()-imgdesc.t - imgdesc.h));
-+ long ymin = cxmax(0,(long)(GetHeight()-imgdesc.t - imgdesc.h));
- long ymax = GetHeight()-imgdesc.t;
- long xmin = imgdesc.l;
-- long xmax = min(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w));
-+ long xmax = cxmin(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w));
-
- long ibg2= imgsrc2.GetTransIndex();
- BYTE i2;
-diff --git a/lib/cximage-6.0/CxImage/ximahist.cpp b/lib/cximage-6.0/CxImage/ximahist.cpp
-index a2aed03..5391107 100644
---- a/lib/cximage-6.0/CxImage/ximahist.cpp
-+++ b/lib/cximage-6.0/CxImage/ximahist.cpp
-@@ -110,7 +110,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- // calculate LUT
- BYTE lut[256];
- for (x = 0; x <256; x++){
-- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
-+ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
- }
-
- for (y=0; y<head.biHeight; y++) {
-@@ -152,7 +152,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- // calculate LUT
- BYTE lut[256];
- for (x = 0; x <256; x++){
-- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
-+ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
- }
-
- // normalize image
-@@ -225,7 +225,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- BYTE range = maxR - minR;
- if (range != 0) {
- for (x = 0; x <256; x++){
-- lutR[x] = (BYTE)max(0,min(255,(255 * (x - minR) / range)));
-+ lutR[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minR) / range)));
- }
- } else lutR[minR] = minR;
-
-@@ -233,7 +233,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- range = maxG - minG;
- if (range != 0) {
- for (x = 0; x <256; x++){
-- lutG[x] = (BYTE)max(0,min(255,(255 * (x - minG) / range)));
-+ lutG[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minG) / range)));
- }
- } else lutG[minG] = minG;
-
-@@ -241,7 +241,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- range = maxB - minB;
- if (range != 0) {
- for (x = 0; x <256; x++){
-- lutB[x] = (BYTE)max(0,min(255,(255 * (x - minB) / range)));
-+ lutB[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minB) / range)));
- }
- } else lutB[minB] = minB;
-
-@@ -292,7 +292,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
- // calculate LUT
- BYTE lut[256];
- for (x = 0; x <256; x++){
-- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
-+ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
- }
-
- for(y=0; y<head.biHeight; y++){
-diff --git a/lib/cximage-6.0/CxImage/ximaint.cpp b/lib/cximage-6.0/CxImage/ximaint.cpp
-index 989d76c..5d49213 100644
---- a/lib/cximage-6.0/CxImage/ximaint.cpp
-+++ b/lib/cximage-6.0/CxImage/ximaint.cpp
-@@ -26,8 +26,8 @@ void CxImage::OverflowCoordinates(long &x, long &y, OverflowMethod const ofMetho
- switch (ofMethod) {
- case OM_REPEAT:
- //clip coordinates
-- x=max(x,0); x=min(x, head.biWidth-1);
-- y=max(y,0); y=min(y, head.biHeight-1);
-+ x=cxmax(x,0); x=cxmin(x, head.biWidth-1);
-+ y=cxmax(y,0); y=cxmin(y, head.biHeight-1);
- break;
- case OM_WRAP:
- //wrap coordinates
-@@ -59,8 +59,8 @@ void CxImage::OverflowCoordinates(float &x, float &y, OverflowMethod const ofMet
- switch (ofMethod) {
- case OM_REPEAT:
- //clip coordinates
-- x=max(x,0); x=min(x, head.biWidth-1);
-- y=max(y,0); y=min(y, head.biHeight-1);
-+ x=cxmax(x,0); x=cxmin(x, head.biWidth-1);
-+ y=cxmax(y,0); y=cxmin(y, head.biHeight-1);
- break;
- case OM_WRAP:
- //wrap coordinates
-diff --git a/lib/cximage-6.0/CxImage/ximaiter.h b/lib/cximage-6.0/CxImage/ximaiter.h
-index 9788919..01a720b 100644
---- a/lib/cximage-6.0/CxImage/ximaiter.h
-+++ b/lib/cximage-6.0/CxImage/ximaiter.h
-@@ -140,7 +140,7 @@ inline void CImageIterator::SetY(int y)
- inline void CImageIterator::SetRow(BYTE *buf, int n)
- {
- if (n<0) n = (int)ima->GetEffWidth();
-- else n = min(n,(int)ima->GetEffWidth());
-+ else n = cxmin(n,(int)ima->GetEffWidth());
-
- if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0)) memcpy(IterImage,buf,n);
- }
-@@ -148,7 +148,7 @@ inline void CImageIterator::SetRow(BYTE *buf, int n)
- inline void CImageIterator::GetRow(BYTE *buf, int n)
- {
- if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0))
-- memcpy(buf,IterImage,min(n,(int)ima->GetEffWidth()));
-+ memcpy(buf,IterImage,cxmin(n,(int)ima->GetEffWidth()));
- }
- /////////////////////////////////////////////////////////////////////
- inline BYTE* CImageIterator::GetRow()
-diff --git a/lib/cximage-6.0/CxImage/ximajbg.cpp b/lib/cximage-6.0/CxImage/ximajbg.cpp
-index 06fb9bf..8a01e28 100644
---- a/lib/cximage-6.0/CxImage/ximajbg.cpp
-+++ b/lib/cximage-6.0/CxImage/ximajbg.cpp
-@@ -145,7 +145,7 @@ bool CxImageJBG::Encode(CxFile * hFile)
- jbg_enc_init(&jbig_state, w, h, planes, &buffer, jbig_data_out, hFile);
-
- //jbg_enc_layers(&jbig_state, 2);
-- //jbg_enc_lrlmax(&jbig_state, 800, 600);
-+ //jbg_enc_lrlcxmax(&jbig_state, 800, 600);
-
- // Specify a few other options (each is ignored if negative)
- int dl = -1, dh = -1, d = -1, l0 = -1, mx = -1;
-diff --git a/lib/cximage-6.0/CxImage/ximapal.cpp b/lib/cximage-6.0/CxImage/ximapal.cpp
-index b3bd3da..3788c98 100644
---- a/lib/cximage-6.0/CxImage/ximapal.cpp
-+++ b/lib/cximage-6.0/CxImage/ximapal.cpp
-@@ -398,8 +398,8 @@ void CxImage::RGBtoBGR(BYTE *buffer, int length)
- {
- if (buffer && (head.biClrUsed==0)){
- BYTE temp;
-- length = min(length,(int)info.dwEffWidth);
-- length = min(length,(int)(3*head.biWidth));
-+ length = cxmin(length,(int)info.dwEffWidth);
-+ length = cxmin(length,(int)(3*head.biWidth));
- for (int i=0;i<length;i+=3){
- temp = buffer[i]; buffer[i] = buffer[i+2]; buffer[i+2] = temp;
- }
-@@ -444,7 +444,7 @@ void CxImage::SetPalette(DWORD n, BYTE *r, BYTE *g, BYTE *b)
- if (!g) g = r;
- if (!b) b = g;
- RGBQUAD* ppal=GetPalette();
-- DWORD m=min(n,head.biClrUsed);
-+ DWORD m=cxmin(n,head.biClrUsed);
- for (DWORD i=0; i<m;i++){
- ppal[i].rgbRed=r[i];
- ppal[i].rgbGreen=g[i];
-@@ -457,7 +457,7 @@ void CxImage::SetPalette(rgb_color *rgb,DWORD nColors)
- {
- if ((!rgb)||(pDib==NULL)||(head.biClrUsed==0)) return;
- RGBQUAD* ppal=GetPalette();
-- DWORD m=min(nColors,head.biClrUsed);
-+ DWORD m=cxmin(nColors,head.biClrUsed);
- for (DWORD i=0; i<m;i++){
- ppal[i].rgbRed=rgb[i].r;
- ppal[i].rgbGreen=rgb[i].g;
-@@ -469,7 +469,7 @@ void CxImage::SetPalette(rgb_color *rgb,DWORD nColors)
- void CxImage::SetPalette(RGBQUAD* pPal,DWORD nColors)
- {
- if ((pPal==NULL)||(pDib==NULL)||(head.biClrUsed==0)) return;
-- memcpy(GetPalette(),pPal,min(GetPaletteSize(),nColors*sizeof(RGBQUAD)));
-+ memcpy(GetPalette(),pPal,cxmin(GetPaletteSize(),nColors*sizeof(RGBQUAD)));
- info.last_c_isvalid = false;
- }
- ////////////////////////////////////////////////////////////////////////////////
-@@ -654,10 +654,10 @@ void CxImage::SetClrImportant(DWORD ncolors)
-
- switch(head.biBitCount){
- case 1:
-- head.biClrImportant = min(ncolors,2);
-+ head.biClrImportant = cxmin(ncolors,2);
- break;
- case 4:
-- head.biClrImportant = min(ncolors,16);
-+ head.biClrImportant = cxmin(ncolors,16);
- break;
- case 8:
- head.biClrImportant = ncolors;
-diff --git a/lib/cximage-6.0/CxImage/ximapng.cpp b/lib/cximage-6.0/CxImage/ximapng.cpp
-index a58441c..4b5cc50 100644
---- a/lib/cximage-6.0/CxImage/ximapng.cpp
-+++ b/lib/cximage-6.0/CxImage/ximapng.cpp
-@@ -206,9 +206,9 @@ bool CxImagePNG::Decode(CxFile *hFile)
- } else SetGrayPalette(); //<DP> needed for grayscale PNGs
-
- #ifdef USE_NEW_LIBPNG_API
-- int nshift = max(0,(_bit_depth>>3)-1)<<3;
-+ int nshift = cxmax(0,(_bit_depth>>3)-1)<<3;
- #else
-- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3;
-+ int nshift = cxmax(0,(info_ptr->bit_depth>>3)-1)<<3;
- #endif
-
- #ifdef USE_NEW_LIBPNG_API
-@@ -255,10 +255,10 @@ bool CxImagePNG::Decode(CxFile *hFile)
- if (pal){
- DWORD ip;
- #ifdef USE_NEW_LIBPNG_API
-- for (ip=0;ip<min(head.biClrUsed,(unsigned long)_num_trans);ip++)
-+ for (ip=0;ip<cxmin(head.biClrUsed,(unsigned long)_num_trans);ip++)
- pal[ip].rgbReserved=_trans_alpha[ip];
- #else
-- for (ip=0;ip<min(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
-+ for (ip=0;ip<cxmin(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
- #if PNG_LIBPNG_VER > 10399
- pal[ip].rgbReserved=info_ptr->trans_alpha[ip];
- #else
-@@ -737,9 +737,9 @@ bool CxImagePNG::Encode(CxFile *hFile)
- #endif // CXIMAGE_SUPPORT_ALPHA // <vho>
-
- #ifdef USE_NEW_LIBPNG_API
-- int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8));
-+ int row_size = cxmax(info.dwEffWidth, (_width * _channels * _bit_depth / 8));
- #else
-- int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8));
-+ int row_size = cxmax(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8));
- info_ptr->rowbytes = row_size;
- #endif
- BYTE *row_pointers = new BYTE[row_size];
-diff --git a/lib/cximage-6.0/CxImage/ximaraw.cpp b/lib/cximage-6.0/CxImage/ximaraw.cpp
-index fd86f96..52d964d 100644
---- a/lib/cximage-6.0/CxImage/ximaraw.cpp
-+++ b/lib/cximage-6.0/CxImage/ximaraw.cpp
-@@ -216,7 +216,7 @@ bool CxImageRAW::Decode(CxFile *hFile)
-
- DWORD size = dcr.width * (dcr.colors*dcr.opt.output_bps/8);
- RGBtoBGR(ppm,size);
-- memcpy(GetBits(dcr.height - 1 - row), ppm, min(size,GetEffWidth()));
-+ memcpy(GetBits(dcr.height - 1 - row), ppm, cxmin(size,GetEffWidth()));
- }
- free (ppm);
-
-@@ -298,7 +298,7 @@ bool CxImageRAW::GetExifThumbnail(const char *filename, const char *outname, int
- // Resizing.
- if (image.GetWidth() > 256 || image.GetHeight() > 256)
- {
-- float amount = 256.0f / max(image.GetWidth(), image.GetHeight());
-+ float amount = 256.0f / cxmax(image.GetWidth(), image.GetHeight());
- image.Resample((long)(image.GetWidth() * amount), (long)(image.GetHeight() * amount), 0);
- }
-
-diff --git a/lib/cximage-6.0/CxImage/ximasel.cpp b/lib/cximage-6.0/CxImage/ximasel.cpp
-index 3a7c9a1..37cd10f 100644
---- a/lib/cximage-6.0/CxImage/ximasel.cpp
-+++ b/lib/cximage-6.0/CxImage/ximasel.cpp
-@@ -113,15 +113,15 @@ bool CxImage::SelectionAddRect(RECT r, BYTE level)
- if (r.left<r.right) {r2.left=r.left; r2.right=r.right; } else {r2.left=r.right ; r2.right=r.left; }
- if (r.bottom<r.top) {r2.bottom=r.bottom; r2.top=r.top; } else {r2.bottom=r.top ; r2.top=r.bottom; }
-
-- if (info.rSelectionBox.top <= r2.top) info.rSelectionBox.top = max(0L,min(head.biHeight,r2.top+1));
-- if (info.rSelectionBox.left > r2.left) info.rSelectionBox.left = max(0L,min(head.biWidth,r2.left));
-- if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = max(0L,min(head.biWidth,r2.right+1));
-- if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = max(0L,min(head.biHeight,r2.bottom));
-+ if (info.rSelectionBox.top <= r2.top) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,r2.top+1));
-+ if (info.rSelectionBox.left > r2.left) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,r2.left));
-+ if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,r2.right+1));
-+ if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,r2.bottom));
-
-- long ymin = max(0L,min(head.biHeight,r2.bottom));
-- long ymax = max(0L,min(head.biHeight,r2.top+1));
-- long xmin = max(0L,min(head.biWidth,r2.left));
-- long xmax = max(0L,min(head.biWidth,r2.right+1));
-+ long ymin = cxmax(0L,cxmin(head.biHeight,r2.bottom));
-+ long ymax = cxmax(0L,cxmin(head.biHeight,r2.top+1));
-+ long xmin = cxmax(0L,cxmin(head.biWidth,r2.left));
-+ long xmax = cxmax(0L,cxmin(head.biWidth,r2.right+1));
-
- for (long y=ymin; y<ymax; y++)
- memset(pSelection + xmin + y * head.biWidth, level, xmax-xmin);
-@@ -144,18 +144,18 @@ bool CxImage::SelectionAddEllipse(RECT r, BYTE level)
- long xcenter = (r.right + r.left)/2;
- long ycenter = (r.top + r.bottom)/2;
-
-- if (info.rSelectionBox.left > (xcenter - xradius)) info.rSelectionBox.left = max(0L,min(head.biWidth,(xcenter - xradius)));
-- if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = max(0L,min(head.biWidth,(xcenter + xradius + 1)));
-- if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = max(0L,min(head.biHeight,(ycenter - yradius)));
-- if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = max(0L,min(head.biHeight,(ycenter + yradius + 1)));
-+ if (info.rSelectionBox.left > (xcenter - xradius)) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,(xcenter - xradius)));
-+ if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,(xcenter + xradius + 1)));
-+ if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,(ycenter - yradius)));
-+ if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,(ycenter + yradius + 1)));
-
-- long xmin = max(0L,min(head.biWidth,xcenter - xradius));
-- long xmax = max(0L,min(head.biWidth,xcenter + xradius + 1));
-- long ymin = max(0L,min(head.biHeight,ycenter - yradius));
-- long ymax = max(0L,min(head.biHeight,ycenter + yradius + 1));
-+ long xmin = cxmax(0L,cxmin(head.biWidth,xcenter - xradius));
-+ long xmax = cxmax(0L,cxmin(head.biWidth,xcenter + xradius + 1));
-+ long ymin = cxmax(0L,cxmin(head.biHeight,ycenter - yradius));
-+ long ymax = cxmax(0L,cxmin(head.biHeight,ycenter + yradius + 1));
-
- long y,yo;
-- for (y=ymin; y<min(ycenter,ymax); y++){
-+ for (y=ymin; y<cxmin(ycenter,ymax); y++){
- for (long x=xmin; x<xmax; x++){
- yo = (long)(ycenter - yradius * sqrt(1-pow((float)(x - xcenter)/(float)xradius,2)));
- if (yo<y) pSelection[x + y * head.biWidth] = level;
-@@ -268,10 +268,10 @@ bool CxImage::SelectionAddPolygon(POINT *points, long npoints, BYTE level)
- RECT r2;
- if (current->x < next->x) {r2.left=current->x; r2.right=next->x; } else {r2.left=next->x ; r2.right=current->x; }
- if (current->y < next->y) {r2.bottom=current->y; r2.top=next->y; } else {r2.bottom=next->y ; r2.top=current->y; }
-- if (localbox.top < r2.top) localbox.top = max(0L,min(head.biHeight-1,r2.top+1));
-- if (localbox.left > r2.left) localbox.left = max(0L,min(head.biWidth-1,r2.left-1));
-- if (localbox.right < r2.right) localbox.right = max(0L,min(head.biWidth-1,r2.right+1));
-- if (localbox.bottom > r2.bottom) localbox.bottom = max(0L,min(head.biHeight-1,r2.bottom-1));
-+ if (localbox.top < r2.top) localbox.top = cxmax(0L,cxmin(head.biHeight-1,r2.top+1));
-+ if (localbox.left > r2.left) localbox.left = cxmax(0L,cxmin(head.biWidth-1,r2.left-1));
-+ if (localbox.right < r2.right) localbox.right = cxmax(0L,cxmin(head.biWidth-1,r2.right+1));
-+ if (localbox.bottom > r2.bottom) localbox.bottom = cxmax(0L,cxmin(head.biHeight-1,r2.bottom-1));
-
- i++;
- }
-@@ -385,10 +385,10 @@ bool CxImage::SelectionAddPolygon(POINT *points, long npoints, BYTE level)
- for (x=localbox.left; x<=localbox.right; x++)
- if (plocal[x + yoffset]!=1) pSelection[x + yoffset]=level;
- }
-- if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = min(head.biHeight,localbox.top + 1);
-- if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = min(head.biWidth,localbox.left);
-- if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = min(head.biWidth,localbox.right + 1);
-- if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = min(head.biHeight,localbox.bottom);
-+ if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = cxmin(head.biHeight,localbox.top + 1);
-+ if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = cxmin(head.biWidth,localbox.left);
-+ if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = cxmin(head.biWidth,localbox.right + 1);
-+ if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = cxmin(head.biHeight,localbox.bottom);
-
- free(plocal);
- free(pix);
-diff --git a/lib/cximage-6.0/CxImage/ximath.cpp b/lib/cximage-6.0/CxImage/ximath.cpp
-index 37533e2..f84eb72 100644
---- a/lib/cximage-6.0/CxImage/ximath.cpp
-+++ b/lib/cximage-6.0/CxImage/ximath.cpp
-@@ -64,10 +64,10 @@ CxRect2 CxRect2::CrossSection(CxRect2 const &r2) const
- */
- {
- CxRect2 cs;
-- cs.botLeft.x=max(botLeft.x, r2.botLeft.x);
-- cs.botLeft.y=max(botLeft.y, r2.botLeft.y);
-- cs.topRight.x=min(topRight.x, r2.topRight.x);
-- cs.topRight.y=min(topRight.y, r2.topRight.y);
-+ cs.botLeft.x=cxmax(botLeft.x, r2.botLeft.x);
-+ cs.botLeft.y=cxmax(botLeft.y, r2.botLeft.y);
-+ cs.topRight.x=cxmin(topRight.x, r2.topRight.x);
-+ cs.topRight.y=cxmin(topRight.y, r2.topRight.y);
- if (cs.botLeft.x<=cs.topRight.x && cs.botLeft.y<=cs.topRight.y) {
- return cs;
- } else {
-diff --git a/lib/cximage-6.0/CxImage/ximatif.cpp b/lib/cximage-6.0/CxImage/ximatif.cpp
-index 658392a..002766c 100644
---- a/lib/cximage-6.0/CxImage/ximatif.cpp
-+++ b/lib/cximage-6.0/CxImage/ximatif.cpp
-@@ -470,9 +470,9 @@ bool CxImageTIF::Decode(CxFile * hFile)
- if ( cb > 0.00304 ) cb = 1.055 * pow(cb,0.41667) - 0.055;
- else cb = 12.92 * cb;
-
-- c.rgbRed =(BYTE)max(0,min(255,(int)(cr*255)));
-- c.rgbGreen=(BYTE)max(0,min(255,(int)(cg*255)));
-- c.rgbBlue =(BYTE)max(0,min(255,(int)(cb*255)));
-+ c.rgbRed =(BYTE)cxmax(0,cxmin(255,(int)(cr*255)));
-+ c.rgbGreen=(BYTE)cxmax(0,cxmin(255,(int)(cg*255)));
-+ c.rgbBlue =(BYTE)cxmax(0,cxmin(255,(int)(cb*255)));
-
- SetPixelColor(xi,yi,c);
- #if CXIMAGE_SUPPORT_ALPHA
-diff --git a/lib/cximage-6.0/CxImage/ximatran.cpp b/lib/cximage-6.0/CxImage/ximatran.cpp
-index 64a71e7..84d5e03 100644
---- a/lib/cximage-6.0/CxImage/ximatran.cpp
-+++ b/lib/cximage-6.0/CxImage/ximatran.cpp
-@@ -302,12 +302,12 @@ bool CxImage::RotateLeft(CxImage* iDst)
- for (ys = 0; ys < newHeight; ys+=RBLOCK) {
- if (head.biBitCount==24) {
- //RGB24 optimized pixel access:
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ //do rotation
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ //do rotation
- info.nProgress = (long)(100*x/newWidth);
- x2=newWidth-x-1;
- dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(x,ys);
- srcPtr = (BYTE*) BlindGetPixelPointer(ys, x2);
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- //imgDest.SetPixelColor(x, y, GetPixelColor(y, x2));
- *(dstPtr) = *(srcPtr);
- *(dstPtr+1) = *(srcPtr+1);
-@@ -318,19 +318,19 @@ bool CxImage::RotateLeft(CxImage* iDst)
- }//for x
- } else {
- //anything else than 24bpp (and 1bpp): palette
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- info.nProgress = (long)(100*x/newWidth); //<Anatoly Ivasyuk>
- x2=newWidth-x-1;
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y, x2));
- }//for y
- }//for x
- }//if (version selection)
- #if CXIMAGE_SUPPORT_ALPHA
- if (AlphaIsValid()) {
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- x2=newWidth-x-1;
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- imgDest.AlphaSet(x,y,BlindAlphaGet(y, x2));
- }//for y
- }//for x
-@@ -343,9 +343,9 @@ bool CxImage::RotateLeft(CxImage* iDst)
- imgDest.info.rSelectionBox.right = newWidth-info.rSelectionBox.bottom;
- imgDest.info.rSelectionBox.bottom = info.rSelectionBox.left;
- imgDest.info.rSelectionBox.top = info.rSelectionBox.right;
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- x2=newWidth-x-1;
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- imgDest.SelectionSet(x,y,BlindSelectionGet(y, x2));
- }//for y
- }//for x
-@@ -447,12 +447,12 @@ bool CxImage::RotateRight(CxImage* iDst)
- for (ys = 0; ys < newHeight; ys+=RBLOCK) {
- if (head.biBitCount==24) {
- //RGB24 optimized pixel access:
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- info.nProgress = (long)(100*y/newHeight); //<Anatoly Ivasyuk>
- y2=newHeight-y-1;
- dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(xs,y);
- srcPtr = (BYTE*) BlindGetPixelPointer(y2, xs);
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- //imgDest.SetPixelColor(x, y, GetPixelColor(y2, x));
- *(dstPtr) = *(srcPtr);
- *(dstPtr+1) = *(srcPtr+1);
-@@ -463,19 +463,19 @@ bool CxImage::RotateRight(CxImage* iDst)
- }//for y
- } else {
- //anything else than BW & RGB24: palette
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- info.nProgress = (long)(100*y/newHeight); //<Anatoly Ivasyuk>
- y2=newHeight-y-1;
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y2, x));
- }//for x
- }//for y
- }//if
- #if CXIMAGE_SUPPORT_ALPHA
- if (AlphaIsValid()){
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- y2=newHeight-y-1;
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- imgDest.AlphaSet(x,y,BlindAlphaGet(y2, x));
- }//for x
- }//for y
-@@ -488,9 +488,9 @@ bool CxImage::RotateRight(CxImage* iDst)
- imgDest.info.rSelectionBox.right = info.rSelectionBox.top;
- imgDest.info.rSelectionBox.bottom = newHeight-info.rSelectionBox.right;
- imgDest.info.rSelectionBox.top = newHeight-info.rSelectionBox.left;
-- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
-+ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
- y2=newHeight-y-1;
-- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
-+ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
- imgDest.SelectionSet(x,y,BlindSelectionGet(y2, x));
- }//for x
- }//for y
-@@ -608,10 +608,10 @@ bool CxImage::Rotate(float angle, CxImage* iDst)
- newP4.x = (float)(p4.x*cos_angle - p4.y*sin_angle);
- newP4.y = (float)(p4.x*sin_angle + p4.y*cos_angle);
-
-- leftTop.x = min(min(newP1.x,newP2.x),min(newP3.x,newP4.x));
-- leftTop.y = min(min(newP1.y,newP2.y),min(newP3.y,newP4.y));
-- rightBottom.x = max(max(newP1.x,newP2.x),max(newP3.x,newP4.x));
-- rightBottom.y = max(max(newP1.y,newP2.y),max(newP3.y,newP4.y));
-+ leftTop.x = cxmin(cxmin(newP1.x,newP2.x),cxmin(newP3.x,newP4.x));
-+ leftTop.y = cxmin(cxmin(newP1.y,newP2.y),cxmin(newP3.y,newP4.y));
-+ rightBottom.x = cxmax(cxmax(newP1.x,newP2.x),cxmax(newP3.x,newP4.x));
-+ rightBottom.y = cxmax(cxmax(newP1.y,newP2.y),cxmax(newP3.y,newP4.y));
- leftBottom.x = leftTop.x;
- leftBottom.y = rightBottom.y;
- rightTop.x = rightBottom.x;
-@@ -740,10 +740,10 @@ bool CxImage::Rotate2(float angle,
- }//if
-
- //(read new dimensions from location of corners)
-- float minx = (float) min(min(newp[0].x,newp[1].x),min(newp[2].x,newp[3].x));
-- float miny = (float) min(min(newp[0].y,newp[1].y),min(newp[2].y,newp[3].y));
-- float maxx = (float) max(max(newp[0].x,newp[1].x),max(newp[2].x,newp[3].x));
-- float maxy = (float) max(max(newp[0].y,newp[1].y),max(newp[2].y,newp[3].y));
-+ float minx = (float) cxmin(cxmin(newp[0].x,newp[1].x),cxmin(newp[2].x,newp[3].x));
-+ float miny = (float) cxmin(cxmin(newp[0].y,newp[1].y),cxmin(newp[2].y,newp[3].y));
-+ float maxx = (float) cxmax(cxmax(newp[0].x,newp[1].x),cxmax(newp[2].x,newp[3].x));
-+ float maxy = (float) cxmax(cxmax(newp[0].y,newp[1].y),cxmax(newp[2].y,newp[3].y));
- int newWidth = (int) floor(maxx-minx+0.5f);
- int newHeight= (int) floor(maxy-miny+0.5f);
- float ssx=((maxx+minx)- ((float) newWidth-1))/2.0f; //start for x
-@@ -1003,12 +1003,12 @@ bool CxImage::Resample(long newx, long newy, int mode, CxImage* iDst)
- if (info.nEscape) break;
- fY = y * yScale;
- ifY = (int)fY;
-- ifY1 = min(ymax, ifY+1);
-+ ifY1 = cxmin(ymax, ifY+1);
- dy = fY - ifY;
- for(long x=0; x<newx; x++){
- fX = x * xScale;
- ifX = (int)fX;
-- ifX1 = min(xmax, ifX+1);
-+ ifX1 = cxmin(xmax, ifX+1);
- dx = fX - ifX;
- // Interpolate using the four nearest pixels in the source
- if (head.biClrUsed){
-@@ -1328,9 +1328,9 @@ bool CxImage::DecreaseBpp(DWORD nbit, bool errordiffusion, RGBQUAD* ppal, DWORD
- eb=(long)c.rgbBlue - (long)ce.rgbBlue;
-
- c = GetPixelColor(x+1,y);
-- c.rgbRed = (BYTE)min(255L,max(0L,(long)c.rgbRed + ((er*7)/16)));
-- c.rgbGreen = (BYTE)min(255L,max(0L,(long)c.rgbGreen + ((eg*7)/16)));
-- c.rgbBlue = (BYTE)min(255L,max(0L,(long)c.rgbBlue + ((eb*7)/16)));
-+ c.rgbRed = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbRed + ((er*7)/16)));
-+ c.rgbGreen = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbGreen + ((eg*7)/16)));
-+ c.rgbBlue = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbBlue + ((eb*7)/16)));
- SetPixelColor(x+1,y,c);
- int coeff=1;
- for(int i=-1; i<2; i++){
-@@ -1343,9 +1343,9 @@ bool CxImage::DecreaseBpp(DWORD nbit, bool errordiffusion, RGBQUAD* ppal, DWORD
- coeff=1; break;
- }
- c = GetPixelColor(x+i,y+1);
-- c.rgbRed = (BYTE)min(255L,max(0L,(long)c.rgbRed + ((er * coeff)/16)));
-- c.rgbGreen = (BYTE)min(255L,max(0L,(long)c.rgbGreen + ((eg * coeff)/16)));
-- c.rgbBlue = (BYTE)min(255L,max(0L,(long)c.rgbBlue + ((eb * coeff)/16)));
-+ c.rgbRed = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbRed + ((er * coeff)/16)));
-+ c.rgbGreen = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbGreen + ((eg * coeff)/16)));
-+ c.rgbBlue = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbBlue + ((eb * coeff)/16)));
- SetPixelColor(x+i,y+1,c);
- }
- }
-@@ -1566,10 +1566,10 @@ bool CxImage::Dither(long method)
- }
-
- nlevel = GetPixelIndex(x + 1, y) + (error * 8) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 1, y, level);
- nlevel = GetPixelIndex(x + 2, y) + (error * 4) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 2, y, level);
- int i;
- for (i = -2; i < 3; i++) {
-@@ -1591,7 +1591,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 1, level);
- }
- }
-@@ -1620,10 +1620,10 @@ bool CxImage::Dither(long method)
- }
-
- nlevel = GetPixelIndex(x + 1, y) + (error * 8) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 1, y, level);
- nlevel = GetPixelIndex(x + 2, y) + (error * 4) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 2, y, level);
- int i;
- for (i = -2; i < 3; i++) {
-@@ -1645,7 +1645,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 1, level);
- }
- for (i = -2; i < 3; i++) {
-@@ -1667,7 +1667,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 2, level);
- }
- }
-@@ -1696,10 +1696,10 @@ bool CxImage::Dither(long method)
- }
-
- nlevel = GetPixelIndex(x + 1, y) + (error * 7) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 1, y, level);
- nlevel = GetPixelIndex(x + 2, y) + (error * 5) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 2, y, level);
- int i;
- for (i = -2; i < 3; i++) {
-@@ -1721,7 +1721,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 1, level);
- }
- for (i = -2; i < 3; i++) {
-@@ -1743,7 +1743,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 2, level);
- }
- }
-@@ -1772,10 +1772,10 @@ bool CxImage::Dither(long method)
- }
-
- nlevel = GetPixelIndex(x + 1, y) + (error * 5) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 1, y, level);
- nlevel = GetPixelIndex(x + 2, y) + (error * 3) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + 2, y, level);
- int i;
- for (i = -2; i < 3; i++) {
-@@ -1797,7 +1797,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 1, level);
- }
- for (i = -1; i < 2; i++) {
-@@ -1813,7 +1813,7 @@ bool CxImage::Dither(long method)
- break;
- }
- nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(x + i, y + 2, level);
- }
- }
-@@ -1845,76 +1845,76 @@ bool CxImage::Dither(long method)
- int tmp_index_y = y;
- int tmp_coeff = 32;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x - 3;
- tmp_index_y = y + 1;
- tmp_coeff = 12;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x - 1;
- tmp_coeff = 26;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x + 1;
- tmp_coeff = 30;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x + 3;
- tmp_coeff = 16;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x - 2;
- tmp_index_y = y + 2;
- tmp_coeff = 12;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x;
- tmp_coeff = 26;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x + 2;
- tmp_coeff = 12;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x - 3;
- tmp_index_y = y + 3;
- tmp_coeff = 5;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x - 1;
- tmp_coeff = 12;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x + 1;
- tmp_coeff = 12;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
-
- tmp_index_x = x + 3;
- tmp_coeff = 5;
- nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
-- level = (BYTE)min(255, max(0, (int)nlevel));
-+ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
- SetPixelIndex(tmp_index_x, tmp_index_y, level);
- }
- }
-@@ -1941,7 +1941,7 @@ bool CxImage::Dither(long method)
- Bmatrix[i] = (BYTE)(dither);
- }
-
-- int scale = max(0,(8-2*order));
-+ int scale = cxmax(0,(8-2*order));
- int level;
- for (long y=0;y<head.biHeight;y++){
- info.nProgress = (long)(100*y/head.biHeight);
-@@ -1981,7 +1981,7 @@ bool CxImage::Dither(long method)
- }
-
- nlevel = GetPixelIndex(x+1,y) + (error * 7)/16;
-- level = (BYTE)min(255,max(0,(int)nlevel));
-+ level = (BYTE)cxmin(255,cxmax(0,(int)nlevel));
- SetPixelIndex(x+1,y,level);
- for(int i=-1; i<2; i++){
- switch(i){
-@@ -1993,7 +1993,7 @@ bool CxImage::Dither(long method)
- coeff=1; break;
- }
- nlevel = GetPixelIndex(x+i,y+1) + (error * coeff)/16;
-- level = (BYTE)min(255,max(0,(int)nlevel));
-+ level = (BYTE)cxmin(255,cxmax(0,(int)nlevel));
- SetPixelIndex(x+i,y+1,level);
- }
- }
-@@ -2031,7 +2031,7 @@ bool CxImage::CropRotatedRectangle( long topx, long topy, long width, long heigh
- if ( fabs(angle)<0.0002 )
- return Crop( topx, topy, topx+width, topy+height, iDst);
-
-- startx = min(topx, topx - (long)(sin_angle*(double)height));
-+ startx = cxmin(topx, topx - (long)(sin_angle*(double)height));
- endx = topx + (long)(cos_angle*(double)width);
- endy = topy + (long)(cos_angle*(double)height + sin_angle*(double)width);
- // check: corners of the rectangle must be inside
-@@ -2079,10 +2079,10 @@ bool CxImage::Crop(long left, long top, long right, long bottom, CxImage* iDst)
- {
- if (!pDib) return false;
-
-- long startx = max(0L,min(left,head.biWidth));
-- long endx = max(0L,min(right,head.biWidth));
-- long starty = head.biHeight - max(0L,min(top,head.biHeight));
-- long endy = head.biHeight - max(0L,min(bottom,head.biHeight));
-+ long startx = cxmax(0L,cxmin(left,head.biWidth));
-+ long endx = cxmax(0L,cxmin(right,head.biWidth));
-+ long starty = head.biHeight - cxmax(0L,cxmin(top,head.biHeight));
-+ long endy = head.biHeight - cxmax(0L,cxmin(bottom,head.biHeight));
-
- if (startx==endx || starty==endy) return false;
-
-@@ -2443,8 +2443,8 @@ bool CxImage::CircleTransform(int type,long rmax,float Koeff)
- nx=x+(x%32)-16;
- ny=y;
- }
--// nx=max(xmin,min(nx,xmax));
--// ny=max(ymin,min(ny,ymax));
-+// nx=cxmax(xmin,cxmin(nx,xmax));
-+// ny=cxmax(ymin,cxmin(ny,ymax));
- }
- else { nx=-1;ny=-1;}
- if (head.biClrUsed==0){
-diff --git a/lib/cximage-6.0/CxImage/ximawnd.cpp b/lib/cximage-6.0/CxImage/ximawnd.cpp
-index 2ae2f93..7029cc7 100644
---- a/lib/cximage-6.0/CxImage/ximawnd.cpp
-+++ b/lib/cximage-6.0/CxImage/ximawnd.cpp
-@@ -682,10 +682,10 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
- RECT clipbox,paintbox;
- GetClipBox(hdc,&clipbox);
-
-- paintbox.top = min(clipbox.bottom,max(clipbox.top,y));
-- paintbox.left = min(clipbox.right,max(clipbox.left,x));
-- paintbox.right = max(clipbox.left,min(clipbox.right,x+cx));
-- paintbox.bottom = max(clipbox.top,min(clipbox.bottom,y+cy));
-+ paintbox.top = cxmin(clipbox.bottom,cxmax(clipbox.top,y));
-+ paintbox.left = cxmin(clipbox.right,cxmax(clipbox.left,x));
-+ paintbox.right = cxmax(clipbox.left,cxmin(clipbox.right,x+cx));
-+ paintbox.bottom = cxmax(clipbox.top,cxmin(clipbox.bottom,y+cy));
-
- long destw = paintbox.right - paintbox.left;
- long desth = paintbox.bottom - paintbox.top;
-@@ -730,12 +730,12 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
-
- for(yy=0;yy<desth;yy++){
- dy = head.biHeight-(ymax-yy-y)*fy;
-- sy = max(0L,(long)floor(dy));
-+ sy = cxmax(0L,(long)floor(dy));
- psrc = info.pImage+sy*info.dwEffWidth;
- pdst = pbase+yy*ew;
- for(xx=0;xx<destw;xx++){
- dx = (xx+xmin-x)*fx;
-- sx = max(0L,(long)floor(dx));
-+ sx = cxmax(0L,(long)floor(dx));
- #if CXIMAGE_SUPPORT_INTERPOLATION
- if (bSmooth){
- if (fx > 1 && fy > 1) {
-@@ -813,7 +813,7 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
-
- for(yy=0;yy<desth;yy++){
- dy = head.biHeight-(ymax-yy-y)*fy;
-- sy = max(0L,(long)floor(dy));
-+ sy = cxmax(0L,(long)floor(dy));
-
- alphaoffset = sy*head.biWidth;
- pdst = pbase + yy*ew;
-@@ -821,7 +821,7 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
-
- for(xx=0;xx<destw;xx++){
- dx = (xx+xmin-x)*fx;
-- sx = max(0L,(long)floor(dx));
-+ sx = cxmax(0L,(long)floor(dx));
-
- if (bAlpha) a=pAlpha[alphaoffset+sx]; else a=255;
- a =(BYTE)((a*(1+info.nAlphaMax))>>8);
diff --git a/abs/extra/kodi/PKGBUILD b/abs/extra/kodi/PKGBUILD
index 14c19f9..3f2fcd2 100644
--- a/abs/extra/kodi/PKGBUILD
+++ b/abs/extra/kodi/PKGBUILD
@@ -2,154 +2,122 @@
# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
-# Contributor: graysky <graysky AT archlinux DOT us>
-# Contributor: DonVla <donvla@users.sourceforge.net>
-# Contributor: Ulf Winkelvos <ulf [at] winkelvos [dot] de>
-# Contributor: Ralf Barth <archlinux dot org at haggy dot org>
-# Contributor: B & monty - Thanks for your hints :)
-# Contributor: marzoul
-# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
+# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@gmail.com>
-#
-# Original credits go to Edgar Hucek <gimli at dark-green dot com>
-# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD
pkgbase=kodi
pkgname=('kodi' 'kodi-eventclients' 'kodi-tools-texturepacker' 'kodi-dev')
-pkgver=17.6
-_codename=Krypton
-pkgrel=5
+pkgver=18.1
+_codename=Leia
+pkgrel=0
arch=('x86_64')
url="http://kodi.tv"
license=('GPL2')
makedepends=(
- 'afpfs-ng' 'bluez-libs' 'cmake' 'curl' 'doxygen' 'glew'
+ 'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'fmt' 'doxygen' 'git' 'glew'
'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
'libbluray' 'libcdio' 'libcec' 'libgl' 'libmysqlclient' 'libmicrohttpd'
'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libssh' 'libva'
- 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'mesa' 'nasm' 'nss-mdns'
- 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump'
- 'shairplay' 'smbclient' 'speex' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower'
- 'yajl' 'zip' 'git' 'giflib'
+ 'libvdpau' 'libxrandr' 'libxslt' 'lirc' 'lzo' 'mesa' 'nasm' 'nss-mdns'
+ 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rapidjson' 'rtmpdump' 'sdl2'
+ 'sdl_image' 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower'
+ 'yajl' 'zip' 'mesa' 'dcadec' 'libcrossguid' 'giflib' 'ghostscript'
)
-_libdvdcss_commit="2f12236bc1c92f73c21e973363f79eb300de603f"
-_libdvdnav_commit="981488f7f27554b103cca10c1fbeba027396c94a"
-_libdvdread_commit="17d99db97e7b8f23077b342369d3c22a6250affd"
-_ffmpeg_version="3.1.11-$_codename-17.5"
source=(
- "$pkgbase-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
- "$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_commit.tar.gz"
- "$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_commit.tar.gz"
- "$pkgbase-libdvdread-$_libdvdread_commit.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_commit.tar.gz"
- "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz::https://github.com/xbmc/FFmpeg/archive/$_ffmpeg_version.tar.gz"
- 'fix-python-lib-path.patch'
- 'cheat-sse-build.patch'
- 'cpuinfo'
+ "xbmc-$pkgver$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
'kodi.sh'
'kodi_lib.conf'
+ 'kodi.install'
)
-noextract=(
- "$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz"
- "$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz"
- "$pkgbase-libdvdread-$_libdvdread_commit.tar.gz"
- "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz"
-)
-sha512sums=('1f1ba91e6129ab423f9ad47b63d7bb75775dbf18638a96413a572aaa790f4f0d738ca35486513e158a7f55d501f78f08dd9d68aabe2fbb80a729c6091b264111'
- '12ba7aa653fcb26d5336bf2a8110c924d634cec79f684bbf19dc38ea33f69fb68c22c97f4c09e5ca7c35f95f6c324a6d70ccc2c501a99122a9321cafd33b2cd9'
- '005355da5e3d34f69737f7c3fe7884e82ffdc8f654f337e97d4a4d1e486c9f346f63b4dee74de2765e7a8d94925de5d25c3c82da732d2e8d4f58fcfeb9dd2586'
- 'e59ae0bfdc62698e407e3d70503c6a7c5e308545c9dae7843e25db3b5b62d9b26256be77ef4e884263add6b4abec3438c324bfd5715f6ca2ce7fa5962d43a6c2'
- 'b28bb6970c6767213f34e5f4f3e48ad5219a6c668a5264ff7de0a42712cb7393f389ddd88f56785a2dc8089f8231ae5fd05adfa10dbf15ea3e0ad7bc2ccd4d73'
- '0f41604e38648969572a66d1124d6e090c3bfca4f9d8ccabcd1806254c38b178ee08df35e1bbbd1228f820729df52353321b3257122af601c3233dbc6405c6d2'
- 'be8d6b77088373d0173dee6434ebd04c9382fb00190641b392a6f9f5338b35d186f6d871aaea4a01908f283a452b23de3a1113947d9070e77fde531e32458f7e'
- '539b33f30f6735caaf57fb9f19de449b8a8902362ae9e66a6fceabd530d02888533d2ab262fb187670780c997e5c1d23bd715a3c6860fd50280c1031f47865f7'
- '554a2f1f82fdf93f6b2f0c0bd3947e17660d728a0d53fcb3592fb0dfb992c9174ad741e3aa1c04ae0ec534a6c4b78423effc39428a58cab8750663644679b988'
- 'f4085fbc75c0a0df4ca4cdd5356e6214f2a2e81895d410a8c3181708b91bd34de64719e4cac1e9fe3496b82e950839937ec0438a9cf6ce91cb3eacc29f81cb3b')
+
prepare() {
- [[ -d kodi-build ]] && rm -rf kodi-build
- mkdir kodi-build
-
- cd "xbmc-$pkgver-$_codename"
- patch -p1 -i "$srcdir/fix-python-lib-path.patch"
- # detect if building in arch chroot
- if [[ "$srcdir" =~ ^\/build.* ]]; then
- patch -p1 -i "$srcdir/cheat-sse-build.patch"
- fi
+ cd "$srcdir/xbmc-$pkgver-$_codename"
+
+ find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
+# sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
+ sed 's/python/python2/' -i tools/Linux/kodi.sh.in
+# sed 's/shell python/shell python2/' -i tools/EventClients/Makefile.in
+
}
build() {
- cd kodi-build
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ cd "$srcdir/xbmc-$pkgver-$_codename"
+
+ # Bootstrapping
+ # MAKEFLAGS=-j1 ./bootstrap
+
+ #./configure --help
+ #return 1
+
+ # Configuring XBMC
+ export PYTHON_VERSION=2 # external python v2
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DENABLE_EVENTCLIENTS=ON \
-DLIRC_DEVICE=/run/lirc/lircd \
- -Dlibdvdcss_URL="$srcdir/$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz" \
- -Dlibdvdnav_URL="$srcdir/$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz" \
- -Dlibdvdread_URL="$srcdir/$pkgbase-libdvdread-$_libdvdread_commit.tar.gz" \
- -DFFMPEG_URL="$srcdir/$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz" \
- ../"xbmc-$pkgver-$_codename"/project/cmake
- make
+ -DENABLE_AIRTUNES=off \
+ -DENABLE_INTERNAL_FFMPEG=on \
+ -DENABLE_INTERNAL_FMT=on \
+ -DENABLE_INTERNAL_FSTRCMP=1 \
+ -DENABLE_INTERNAL_FLATBUFFERS=on \
+ .
+ make VERBOSE=1
make preinstall
}
-# kodi
-# components: kodi, kodi-bin
-
package_kodi() {
pkgdesc="A software media player and entertainment hub for digital media"
+
+ # depends expected for kodi plugins:
+ # 'python2-pillow' 'python2-pybluez' 'python2-simplejson'
+ # depends expeced in FEH.py
+ # 'mesa-demos' 'xorg-xdpyinfo'
depends=(
- 'bluez-libs' 'desktop-file-utils' 'freetype2' 'fribidi'
- 'hicolor-icon-theme' 'libass' 'libcdio' 'libjpeg-turbo' 'libmariadbclient'
- 'libmicrohttpd' 'libssh' 'libva' 'libvdpau' 'libxrandr'
- 'libxslt' 'lzo' 'mesa' 'python2-pillow' 'python2-simplejson' 'smbclient'
- 'speex' 'taglib' 'tinyxml' 'xorg-xdpyinfo' 'yajl'
+ 'python2-pillow' 'python2-pybluez' 'python2-simplejson'
+ 'mesa-demos' 'xorg-xdpyinfo' 'lirc'
+ 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libass' 'libcdio'
+ 'libjpeg-turbo' 'libmysqlclient' 'libmicrohttpd' 'libnfs' 'libssh'
+ 'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml'
+ 'yajl' 'mesa' 'dcadec' 'desktop-file-utils'
)
optdepends=(
'afpfs-ng: Apple shares support'
'bluez: Blutooth support'
- 'python2-pybluez: Bluetooth support'
- 'libnfs: NFS shares support'
'libplist: AirPlay support'
'libcec: Pulse-Eight USB-CEC adapter support'
'lirc: Remote controller support'
- 'lsb-release: log distro information in crashlog'
'shairplay: AirPlay support'
+ 'udisks: Automount external drives'
'unrar: Archives support'
'unzip: Archives support'
'upower: Display battery level'
+ 'lsb-release: log distro information in crashlog'
)
install="kodi.install"
provides=('xbmc')
conflicts=('xbmc')
replaces=('xbmc')
- _components=(
- 'kodi'
- 'kodi-bin'
- )
+ cd "$srcdir/xbmc-$pkgver-$_codename"
+ # Running make install
+ make DESTDIR="$pkgdir" install
- cd kodi-build
- # install eventclients
- for _cmp in ${_components[@]}; do
- DESTDIR="$pkgdir" /usr/bin/cmake \
- -DCMAKE_INSTALL_COMPONENT="$_cmp" \
- -P cmake_install.cmake
- done
+ # We will no longer support the xbmc name
+ #rm "$pkgdir/usr/share/xsessions/xbmc.desktop"
+ #rm "$pkgdir/usr/bin/"xbmc{,-standalone}
+ # we will leave /usr/{include,lib,share}/xbmc for now
# Licenses
- install -dm755 "$pkgdir/usr/share/licenses/$pkgname"
- for licensef in LICENSE.GPL copying.txt; do
- mv "$pkgdir/usr/share/doc/kodi/$licensef" \
- "$pkgdir/usr/share/licenses/$pkgname"
+ install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
+ for licensef in LICENSE.md ; do
+ mv ${pkgdir}/usr/share/doc/kodi/${licensef} \
+ ${pkgdir}/usr/share/licenses/${pkgname}
done
- # python2 is being used
- cd "$pkgdir"
- grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
-
# LinHES stuff
mkdir -p ${pkgdir}/usr/LH/bin
install -D -m 0755 ${srcdir}/kodi.sh ${pkgdir}/usr/LH/bin
@@ -159,19 +127,18 @@ package_kodi() {
# kodi-eventclients
# components: kodi-eventclients-common kodi-eventclients-ps3 kodi-eventclients-wiiremote kodi-eventclients-xbmc-send
-
package_kodi-eventclients() {
pkgdesc="Kodi Event Clients"
- conflicts=('kodi-eventclients')
- optdepends=('python2: most eventclients are implemented in python2')
+ depends=('cwiid')
_components=(
- 'kodi-eventclients-common'
- 'kodi-eventclients-ps3'
- 'kodi-eventclients-xbmc-send'
- )
+ 'kodi-eventclients-common'
+ 'kodi-eventclients-ps3'
+ 'kodi-eventclients-wiiremote'
+ 'kodi-eventclients-xbmc-send'
+ )
- cd kodi-build
+ cd "$srcdir/xbmc-$pkgver-$_codename"
# install eventclients
for _cmp in ${_components[@]}; do
DESTDIR="$pkgdir" /usr/bin/cmake \
@@ -186,16 +153,13 @@ package_kodi-eventclients() {
# kodi-tools-texturepacker
# components: kodi-tools-texturepacker
-
package_kodi-tools-texturepacker() {
pkgdesc="Kodi Texturepacker tool"
- depends=('libpng' 'giflib' 'libjpeg-turbo' 'lzo')
+ depends=('giflib' 'libjpeg-turbo' 'libpng' 'lzo')
- _components=(
- 'kodi-tools-texturepacker'
- )
+ _components=('kodi-tools-texturepacker')
- cd kodi-build
+ cd "$srcdir/xbmc-$pkgver-$_codename"
# install eventclients
for _cmp in ${_components[@]}; do
DESTDIR="$pkgdir" /usr/bin/cmake \
@@ -206,24 +170,23 @@ package_kodi-tools-texturepacker() {
# kodi-dev
# components: kodi-addon-dev kodi-audio-dev kodi-eventclients-dev kodi-game-dev kodi-inputstream-dev kodi-peripheral-dev kodi-pvr-dev kodi-screensaver-dev kodi-visualization-dev
-
package_kodi-dev() {
pkgdesc="Kodi dev files"
depends=('kodi')
_components=(
- 'kodi-addon-dev'
- 'kodi-audio-dev'
- 'kodi-eventclients-dev'
- 'kodi-game-dev'
- 'kodi-inputstream-dev'
- 'kodi-peripheral-dev'
- 'kodi-pvr-dev'
- 'kodi-screensaver-dev'
- 'kodi-visualization-dev'
- )
-
- cd kodi-build
+ 'kodi-addon-dev'
+ 'kodi-audio-dev'
+ 'kodi-eventclients-dev'
+ 'kodi-game-dev'
+ 'kodi-inputstream-dev'
+ 'kodi-peripheral-dev'
+ 'kodi-pvr-dev'
+ 'kodi-screensaver-dev'
+ 'kodi-visualization-dev'
+ )
+
+ cd "$srcdir/xbmc-$pkgver-$_codename"
# install eventclients
for _cmp in ${_components[@]}; do
DESTDIR="$pkgdir" /usr/bin/cmake \
@@ -235,3 +198,8 @@ package_kodi-dev() {
cd "$pkgdir"
grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
}
+
+md5sums=('02062e4de4e3e6d540793e211812ebf3'
+ 'f6adc8e06d7076143ca2ad118126b158'
+ 'f04d1c89f5108c6aba36cf708a74cc95'
+ 'b86ef98474057727194f5863985b5967')
diff --git a/abs/extra/kodi/__changelog b/abs/extra/kodi/__changelog
index 6069eb3..9d078ea 100644
--- a/abs/extra/kodi/__changelog
+++ b/abs/extra/kodi/__changelog
@@ -3,3 +3,4 @@ PKGBUILD - Add /usr/LH/bin/kodi.sh
PKGBUILD - Add /etc/gen_lib_xml.d/kodi_lib.conf
kodi.install - add gen_lib_xml.py to post_install and post_remove
PKGBUILD - change dep libmariadbclient to libmysqlclient
+PKGBUILD - add lirc to makedepends and depends
diff --git a/abs/extra/kodi/cheat-sse-build.patch b/abs/extra/kodi/cheat-sse-build.patch
deleted file mode 100644
index 8b4b3b1..0000000
--- a/abs/extra/kodi/cheat-sse-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/project/cmake/modules/FindSSE.cmake 2017-08-22 09:29:22.000000000 +0200
-+++ b/project/cmake/modules/FindSSE.cmake 2018-01-06 19:36:32.716303559 +0100
-@@ -4,7 +4,7 @@
-
- if(CMAKE_SYSTEM_NAME MATCHES "Linux")
- if(CPU MATCHES "x86_64" OR CPU MATCHES "i.86")
-- exec_program(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO)
-+ exec_program(cat ARGS "/build/kodi/src/cpuinfo" OUTPUT_VARIABLE CPUINFO)
-
- string(REGEX REPLACE "^.*(sse).*$" "\\1" _SSE_THERE ${CPUINFO})
- string(COMPARE EQUAL "sse" "${_SSE_THERE}" _SSE_TRUE)
diff --git a/abs/extra/kodi/cpuinfo b/abs/extra/kodi/cpuinfo
deleted file mode 100644
index b0884ec..0000000
--- a/abs/extra/kodi/cpuinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-processor : 1
-vendor_id : KodiCheat
-model name : KodiCheat SSE
-flags : sse sse2 pni ssse3 sse4_1 sse4_2 avx avx2
diff --git a/abs/extra/kodi/fix-ftpparse.patch b/abs/extra/kodi/fix-ftpparse.patch
deleted file mode 100644
index feec949..0000000
--- a/abs/extra/kodi/fix-ftpparse.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- a/xbmc/filesystem/FTPParse.cpp 2017-05-24 22:49:32.000000000 +0200
-+++ b/xbmc/filesystem/FTPParse.cpp 2017-07-15 14:15:54.908823456 +0200
-@@ -34,7 +34,7 @@
- m_time = 0;
- }
-
--string CFTPParse::getName()
-+std::string CFTPParse::getName()
- {
- return m_name;
- }
-@@ -59,16 +59,16 @@
- return m_time;
- }
-
--void CFTPParse::setTime(string str)
-+void CFTPParse::setTime(std::string str)
- {
- /* Variables used to capture patterns via the regexes */
-- string month;
-- string day;
-- string year;
-- string hour;
-- string minute;
-- string second;
-- string am_or_pm;
-+ std::string month;
-+ std::string day;
-+ std::string year;
-+ std::string hour;
-+ std::string minute;
-+ std::string second;
-+ std::string am_or_pm;
-
- /* time struct used to set the time_t variable */
- struct tm time_struct = {};
-@@ -338,21 +338,21 @@
- return day_of_week;
- }
-
--int CFTPParse::FTPParse(string str)
-+int CFTPParse::FTPParse(std::string str)
- {
- /* Various variable to capture patterns via the regexes */
-- string permissions;
-- string link_count;
-- string owner;
-- string group;
-- string size;
-- string date;
-- string name;
-- string type;
-- string stuff;
-- string facts;
-- string version;
-- string file_id;
-+ std::string permissions;
-+ std::string link_count;
-+ std::string owner;
-+ std::string group;
-+ std::string size;
-+ std::string date;
-+ std::string name;
-+ std::string type;
-+ std::string stuff;
-+ std::string facts;
-+ std::string version;
-+ std::string file_id;
-
- /* Regex for standard Unix listing formats */
- pcrecpp::RE unix_re("^([-bcdlps])" // type
diff --git a/abs/extra/kodi/fix-python-lib-path.patch b/abs/extra/kodi/fix-python-lib-path.patch
deleted file mode 100644
index 3956580..0000000
--- a/abs/extra/kodi/fix-python-lib-path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/project/cmake/scripts/linux/Install.cmake 2017-03-20 17:17:49.000000000 +0100
-+++ b/project/cmake/scripts/linux/Install.cmake 2017-05-20 15:42:09.608550173 +0200
-@@ -199,7 +199,7 @@
- install(PROGRAMS ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/__init__.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/bt.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/hid.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/bt
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}/bt
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common PS3 python files
-@@ -208,7 +208,7 @@
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixaxis.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixpair.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixwatch.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/ps3
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}/ps3
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common python files
-@@ -218,7 +218,7 @@
- "${CORE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py"
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py
- ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py
-- DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}
-+ DESTINATION lib/python2.7/site-packages/${APP_NAME_LC}
- COMPONENT kodi-eventclients-common)
-
- # Install kodi-eventclients-common icons
diff --git a/abs/extra/kodi/kodi.install b/abs/extra/kodi/kodi.install
index e271256..5d7ea46 100644
--- a/abs/extra/kodi/kodi.install
+++ b/abs/extra/kodi/kodi.install
@@ -3,6 +3,7 @@ post_install() {
}
post_upgrade() {
+ /usr/bin/true
}
post_remove() {
diff --git a/abs/extra/libbluray/PKGBUILD b/abs/extra/libbluray/PKGBUILD
index d596927..61077e3 100644
--- a/abs/extra/libbluray/PKGBUILD
+++ b/abs/extra/libbluray/PKGBUILD
@@ -1,28 +1,35 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Andrew Cook <ariscop@gmail.com>
pkgname=libbluray
-pkgver=0.9.2
-pkgrel=1
+pkgver=1.0.2
+pkgrel=2
pkgdesc='Library to access Blu-Ray disks for video playback'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://www.videolan.org/developers/libbluray.html'
license=('LGPL2.1')
-depends=('libxml2' 'freetype2' 'fontconfig')
-makedepends=('apache-ant')
-optdepends=('java-environment: for BD-J library')
+depends=('fontconfig' 'libxml2'
+ 'libfreetype.so')
+makedepends=('apache-ant' 'java-environment=8')
+optdepends=('java-runtime=8: BD-J library')
provides=('libbluray.so')
-source=(ftp://ftp.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('836b2de16547776bf2726166cf796f13')
+source=("https://download.videolan.org/pub/videolan/libbluray/${pkgver}/libbluray-${pkgver}.tar.bz2")
+sha256sums=('6d9e7c4e416f664c330d9fa5a05ad79a3fb39b95adfc3fd6910cbed503b7aeff')
build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr
+ cd libbluray-${pkgver}
+
+ ./configure \
+ --prefix='/usr'
make
}
package() {
- make DESTDIR="$pkgdir" -C $pkgname-$pkgver install
+ cd libbluray-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/libdvdcss/PKGBUILD b/abs/extra/libdvdcss/PKGBUILD
index 010e6d7..4270cb3 100644
--- a/abs/extra/libdvdcss/PKGBUILD
+++ b/abs/extra/libdvdcss/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
-# Maintainer:
+# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: arjan <arjan@archlinux.org>
# Contributor Sarah Hay <sarahhay@mb.sympatico.ca>
pkgname=libdvdcss
-pkgver=1.3.0
+pkgver=1.4.2
pkgrel=1
pkgdesc="Portable abstraction library for DVD decryption"
-url="http://www.videolan.org/libdvdcss"
-arch=('i686' 'x86_64')
+url="https://www.videolan.org/developers/libdvdcss.html"
+arch=('x86_64')
license=('GPL')
depends=('glibc')
options=('!docs' '!emptydirs')
-source=(http://download.videolan.org/pub/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
-sha1sums=('b3ccd70a510aa04d644f32b398489a3122a7e11a')
+source=(https://download.videolan.org/pub/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
+sha256sums=('78c2ed77ec9c0d8fbed7bf7d3abc82068b8864be494cfad165821377ff3f2575')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/libepoxy/PKGBUILD b/abs/extra/libepoxy/PKGBUILD
index 5ba5cf8..213ccfe 100644
--- a/abs/extra/libepoxy/PKGBUILD
+++ b/abs/extra/libepoxy/PKGBUILD
@@ -1,35 +1,43 @@
-# $Id$
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
pkgname=libepoxy
-pkgver=1.2
-pkgrel=2
-pkgdesc="A library for handling OpenGL function pointer management for you"
+pkgver=1.5.3
+pkgrel=1
+pkgdesc="Library handling OpenGL function pointer management"
url="https://github.com/anholt/libepoxy"
-arch=('i686' 'x86_64')
+arch=(x86_64)
license=(MIT)
-depends=('glibc')
-makedepends=('xorg-util-macros' 'python2' 'mesa-libgl')
-options=('!libtool')
-source=(${pkgname}-${pkgver}.tar.gz::https://github.com/anholt/${pkgname}/archive/v${pkgver}.tar.gz)
-md5sums=('12d6b7621f086c0c928887c27d90bc30')
+depends=(glibc)
+makedepends=(python mesa-libgl git meson doxygen graphviz)
+_commit=16b1481e00084682d5ae5d38178e3e418976dfae # tags/1.5.3^0
+source=("git+https://github.com/anholt/libepoxy#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
-build() {
- cd "${pkgname}-${pkgver}"
+prepare() {
+ cd $pkgname
+ # Reduce docs size
+ printf '%s\n' >>doc/Doxyfile.in \
+ HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes
+}
- ./autogen.sh --prefix=/usr
+build() {
+ arch-meson $pkgname build \
+ -D docs=true
+ ninja -C build
}
check() {
- cd "${pkgname}-${pkgver}"
-
- make -k check
+ meson test -C build
}
package() {
- cd "${pkgname}-${pkgver}"
-
- make DESTDIR="$pkgdir" install
- install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+ DESTDIR="$pkgdir" meson install -C build
+ install -Dm644 $pkgname/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+# vim:set sw=2 et:
diff --git a/abs/extra/libepoxy/__changelog b/abs/extra/libepoxy/__changelog
deleted file mode 100644
index 00bdcfb..0000000
--- a/abs/extra/libepoxy/__changelog
+++ /dev/null
@@ -1 +0,0 @@
--PKGBUILD: change dep python to python2
diff --git a/abs/extra/libsass/PKGBUILD b/abs/extra/libsass/PKGBUILD
new file mode 100644
index 0000000..f649ce7
--- /dev/null
+++ b/abs/extra/libsass/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Jerome Leclanche <jerome@leclan.ch>
+# Contributor: Isaac Dupree <antispam@idupree.com>
+
+pkgname=libsass
+pkgver=3.5.5
+pkgrel=1
+pkgdesc="C implementation of Sass CSS preprocessor (library)."
+arch=("x86_64")
+url="http://libsass.org/"
+license=("MIT")
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sass/$pkgname/archive/$pkgver.tar.gz")
+sha256sums=('487ca58f1dfdc4055079af04f0ad120747385d3b3926b1c8f46e4b00540fdb70')
+
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ autoreconf -i
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libsoup/PKGBUILD b/abs/extra/libsoup/PKGBUILD
index ee50628..ff6678a 100644
--- a/abs/extra/libsoup/PKGBUILD
+++ b/abs/extra/libsoup/PKGBUILD
@@ -1,36 +1,38 @@
-# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libsoup
-pkgver=2.48.0
+pkgver=2.64.2
pkgrel=1
-pkgdesc="GNOME HTTP Library"
-arch=(i686 x86_64)
+pkgdesc="HTTP client/server library for GNOME"
+url="https://wiki.gnome.org/Projects/libsoup"
+arch=(x86_64)
license=(LGPL)
-url="http://www.gnome.org"
-depends=(glib2 libxml2 glib-networking sqlite)
-makedepends=(intltool gobject-introspection python2)
-checkdepends=(apache php php-apache)
-provides=("libsoup-gnome=$pkgver-$pkgrel")
-conflicts=(libsoup-gnome)
-replaces=(libsoup-gnome)
-options=('!emptydirs')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('ea34dd64fe44343445daf6dd690d0691e9d973468de44878da97371c16d89784')
+depends=(glib2 libxml2 glib-networking sqlite krb5 libpsl)
+makedepends=(gobject-introspection python vala git gtk-doc meson)
+checkdepends=(apache php-apache)
+_commit=b25faf59f1bb782e95be94f70a98a369846d1524 # tags/2.64.2^0
+source=("git+https://gitlab.gnome.org/GNOME/libsoup.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+}
build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --disable-static
- make
+ arch-meson $pkgname build -D doc=true -D vapi=true
+ ninja -C build
}
check() {
- cd $pkgname-$pkgver
- make check
+ meson test -C build
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" meson install -C build
}
diff --git a/abs/extra/libsoup/__changelog b/abs/extra/libsoup/__changelog
deleted file mode 100644
index 29f2771..0000000
--- a/abs/extra/libsoup/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove python from deps
diff --git a/abs/extra/libstemmer/PKGBUILD b/abs/extra/libstemmer/PKGBUILD
new file mode 100644
index 0000000..ccee9fd
--- /dev/null
+++ b/abs/extra/libstemmer/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgbase=snowball
+pkgname=(snowball libstemmer)
+pkgver=0+337
+pkgrel=3
+pkgdesc="String processing language for creating stemming algorithms"
+arch=(x86_64)
+url="http://snowballstem.org/"
+license=(BSD)
+depends=(glibc)
+makedepends=(git)
+_commit=fc2adaa96b0561506e6c1a80d73de7f4e0fa9663
+source=("git+https://github.com/snowballstem/snowball#commit=$_commit"
+ dynamiclib.patch)
+sha256sums=('SKIP'
+ '99511a11cdeeb1ef1eaa9d7b777f6934693d4696ba9523de40b886f7d898058e')
+
+prepare() {
+ cd $pkgbase
+ patch -Np1 -i ../dynamiclib.patch
+}
+
+pkgver() {
+ cd $pkgbase
+ echo "0+$(git rev-list --count HEAD)"
+}
+
+build() {
+ cd $pkgbase
+ make
+}
+
+check() {
+ cd $pkgbase
+ # Disabled - needs external test data
+ #make check
+}
+
+package_snowball() {
+ cd $pkgbase
+ install -d "$pkgdir/usr/bin"
+ install -t "$pkgdir/usr/bin" snowball stemwords
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/snowball/LICENSE"
+}
+
+package_libstemmer() {
+ pkgdesc="Stemming library supporting several languages"
+ cd $pkgbase
+ install -Dm644 {.,"$pkgdir"/usr}/include/libstemmer.h
+ install -D {.,"$pkgdir"/usr/lib}/libstemmer.so.0.0.0
+ ln -s libstemmer.so.0.0.0 "$pkgdir/usr/lib/libstemmer.so.0"
+ ln -s libstemmer.so.0 "$pkgdir/usr/lib/libstemmer.so"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/libstemmer/LICENSE"
+}
diff --git a/abs/extra/libstemmer/dynamiclib.patch b/abs/extra/libstemmer/dynamiclib.patch
new file mode 100644
index 0000000..7d86cde
--- /dev/null
+++ b/abs/extra/libstemmer/dynamiclib.patch
@@ -0,0 +1,39 @@
+diff --git c/GNUmakefile i/GNUmakefile
+index 1693f5a..b33a42e 100644
+--- c/GNUmakefile
++++ i/GNUmakefile
+@@ -112,10 +112,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CFLAGS=-O2 -fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
+ CPPFLAGS=-Iinclude
+
+-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball libstemmer.o libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+
+ clean:
+ rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
+@@ -158,6 +158,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
+ libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ $(AR) -cru $@ $^
+
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
++
+ stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+ $(CC) -o $@ $^
+
+diff --git c/libstemmer/symbol.map i/libstemmer/symbol.map
+new file mode 100644
+index 0000000..7a3d423
+--- /dev/null
++++ i/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++ global:
++ sb_stemmer_*;
++ local:
++ *;
++};
diff --git a/abs/extra/libva-intel-driver/427.patch b/abs/extra/libva-intel-driver/427.patch
new file mode 100644
index 0000000..906fa8c
--- /dev/null
+++ b/abs/extra/libva-intel-driver/427.patch
@@ -0,0 +1,65 @@
+From 0abb7a1c938437000bfca1a9b3706884467c681e Mon Sep 17 00:00:00 2001
+From: Haihao Xiang <haihao.xiang@intel.com>
+Date: Fri, 7 Dec 2018 13:31:43 +0800
+Subject: [PATCH] Check the interface from libva first
+
+This fixes https://github.com/intel/intel-vaapi-driver/issues/419
+
+Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
+---
+ src/i965_output_wayland.c | 27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c
+index 122db953..a637552e 100644
+--- a/src/i965_output_wayland.c
++++ b/src/i965_output_wayland.c
+@@ -397,6 +397,7 @@ i965_output_wayland_init(VADriverContextP ctx)
+ struct i965_driver_data * const i965 = i965_driver_data(ctx);
+ struct dso_handle *dso_handle;
+ struct wl_vtable *wl_vtable;
++ struct VADriverVTableWayland * const vtable = ctx->vtable_wayland;
+
+ static const struct dso_symbol libegl_symbols[] = {
+ {
+@@ -465,25 +466,29 @@ i965_output_wayland_init(VADriverContextP ctx)
+ if (!i965->wl_output)
+ goto error;
+
+- i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
+- if (!i965->wl_output->libegl_handle) {
+- i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
+- if (!i965->wl_output->libegl_handle)
++ wl_vtable = &i965->wl_output->vtable;
++
++ if (vtable->wl_interface)
++ wl_vtable->drm_interface = vtable->wl_interface;
++ else {
++ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
++ if (!i965->wl_output->libegl_handle) {
++ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
++ if (!i965->wl_output->libegl_handle)
++ goto error;
++ }
++
++ dso_handle = i965->wl_output->libegl_handle;
++ if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
++ libegl_symbols))
+ goto error;
+ }
+
+- dso_handle = i965->wl_output->libegl_handle;
+- wl_vtable = &i965->wl_output->vtable;
+- if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+- libegl_symbols))
+- goto error;
+-
+ i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME);
+ if (!i965->wl_output->libwl_client_handle)
+ goto error;
+
+ dso_handle = i965->wl_output->libwl_client_handle;
+- wl_vtable = &i965->wl_output->vtable;
+ if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+ libwl_client_symbols))
+ goto error;
diff --git a/abs/extra/libva-intel-driver/PKGBUILD b/abs/extra/libva-intel-driver/PKGBUILD
index 1166e5e..f699b3b 100644
--- a/abs/extra/libva-intel-driver/PKGBUILD
+++ b/abs/extra/libva-intel-driver/PKGBUILD
@@ -1,35 +1,44 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libva-intel-driver
-pkgver=1.7.3
-pkgrel=1
+pkgver=2.3.0
+pkgrel=2
pkgdesc='VA-API implementation for Intel G45 and HD Graphics family'
-arch=('i686' 'x86_64')
-url='http://freedesktop.org/wiki/Software/vaapi'
+arch=('x86_64')
+url='https://01.org/linuxmedia/vaapi'
license=('MIT')
-depends=('libva')
+depends=('libva' 'libdrm')
+makedepends=('git' 'meson')
replaces=('libva-driver-intel')
-source=(https://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
-sha1sums=('5100f187afc4e39fce5664b96fe11a38faa9afaa')
+source=("git+https://github.com/intel/intel-vaapi-driver.git#tag=${pkgver}"
+ 427.patch)
+sha256sums=('SKIP'
+ 'e51eaf65b1bb09bf62a1b78668da0c268722387cb8eb3c05ec2d7462c651d1c0')
prepare() {
- cd $pkgname-$pkgver
+ cd intel-vaapi-driver
+
+ # https://github.com/intel/intel-vaapi-driver/issues/419
+ patch -Np1 -i ../427.patch
# Only relevant if intel-gpu-tools is installed,
# since then the shaders will be recompiled
sed -i '1s/python$/&2/' src/shaders/gpp.py
+
+ # Fix undefined variable in src/meson.build
+ sed -i 's/2.2.0/2.2.0.0/' meson.build
}
build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr
- make
+ arch-meson intel-vaapi-driver build
+ ninja -C build
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+ DESTDIR="${pkgdir}" meson install -C build
+ install -Dm 644 intel-vaapi-driver/COPYING -t "${pkgdir}"/usr/share/licenses/libva-intel-driver
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/libva/PKGBUILD b/abs/extra/libva/PKGBUILD
index b8037c6..a044c09 100644
--- a/abs/extra/libva/PKGBUILD
+++ b/abs/extra/libva/PKGBUILD
@@ -1,36 +1,56 @@
-# $Id$
# Maintainer: Maxime Gauduin <alucryd@archlonux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname=libva
-pkgver=2.1.0
+pkgver=2.4.0
pkgrel=1
pkgdesc='Video Acceleration (VA) API for Linux'
-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')
-source=("https://github.com/01org/libva/releases/download/${pkgver}/libva-${pkgver}.tar.bz2")
-sha256sums=('f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f')
+arch=(x86_64)
+url=https://01.org/linuxmedia/vaapi
+license=(MIT)
+depends=(
+ libdrm
+ libgl
+ libx11
+ libxext
+ libxfixes
+ wayland
+)
+makedepends=(
+ git
+ libglvnd
+ mesa
+ meson
+)
+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
+)
+backup=(etc/libva.conf)
+source=(git+https://github.com/intel/libva.git#tag=${pkgver})
+sha256sums=(SKIP)
build() {
- cd libva-${pkgver}
-
- ./configure \
- --prefix='/usr'
- make
+ CFLAGS+=" -DENABLE_VA_MESSAGING" # Option missing
+ arch-meson libva build
+ ninja -C build
}
package() {
- cd libva-${pkgver}
+ DESTDIR="${pkgdir}" meson install -C build
+ install -Dm 644 libva/COPYING -t "${pkgdir}"/usr/share/licenses/libva
- make DESTDIR="${pkgdir}" install
- install -Dm 644 COPYING -t "${pkgdir}"/usr/share/licenses/libva
+ install -Dm 644 /dev/stdin "${pkgdir}"/etc/libva.conf <<END
+LIBVA_MESSAGING_LEVEL=1
+END
}
# vim: ts=2 sw=2 et:
diff --git a/abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch b/abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch
deleted file mode 100644
index 4041e6c..0000000
--- a/abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From b832b37c6a6f7ff69a4ea4656007827a1b7e67e8 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 15 Feb 2017 15:18:44 +0100
-Subject: [PATCH] Wayland-drm: Fix not finding wl_drm_interface on systems with
- libglvnd
-
-We do not want just any libEGL.so.1 we want mesa's libEGL.so.1 as that
-is the only way which defines the wl_drm_interface symbol we need,
-one systems with libglvnd libEGL.so.1 is a dispatcher library provided
-by libglvnd and the actual mesa libEGL we want is named libEGL_mesa.so.0
-so try that first.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- va/wayland/va_wayland_drm.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/va/wayland/va_wayland_drm.c b/va/wayland/va_wayland_drm.c
-index 958ea85..2ff19f5 100644
---- a/va/wayland/va_wayland_drm.c
-+++ b/va/wayland/va_wayland_drm.c
-@@ -38,7 +38,10 @@
- #include "wayland-drm-client-protocol.h"
-
- /* XXX: Wayland/DRM support currently lives in Mesa libEGL.so.* library */
--#define LIBWAYLAND_DRM_NAME "libEGL.so.1"
-+/* First try the soname of a glvnd enabled mesa build */
-+#define LIBWAYLAND_DRM_NAME "libEGL_mesa.so.0"
-+/* Then fallback to plain libEGL.so.1 (which might not be mesa) */
-+#define LIBWAYLAND_DRM_NAME_FALLBACK "libEGL.so.1"
-
- typedef struct va_wayland_drm_context {
- struct va_wayland_context base;
-@@ -207,8 +210,11 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
- vtable->has_prime_sharing = 0;
-
- wl_drm_ctx->handle = dlopen(LIBWAYLAND_DRM_NAME, RTLD_LAZY|RTLD_LOCAL);
-- if (!wl_drm_ctx->handle)
-- return false;
-+ if (!wl_drm_ctx->handle) {
-+ wl_drm_ctx->handle = dlopen(LIBWAYLAND_DRM_NAME_FALLBACK, RTLD_LAZY|RTLD_LOCAL);
-+ if (!wl_drm_ctx->handle)
-+ return false;
-+ }
-
- wl_drm_ctx->drm_interface =
- dlsym(wl_drm_ctx->handle, "wl_drm_interface");
-
diff --git a/abs/extra/libvpx/PKGBUILD b/abs/extra/libvpx/PKGBUILD
index 17af63a..b82ff78 100644
--- a/abs/extra/libvpx/PKGBUILD
+++ b/abs/extra/libvpx/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libvpx
-pkgver=1.6.1
+pkgver=1.7.0
pkgrel=1
pkgdesc='VP8 and VP9 codec'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://www.webmproject.org/'
license=('BSD')
depends=('glibc' 'gcc-libs')
makedepends=('yasm' 'git')
provides=('libvpx.so')
source=("libvpx-${pkgver}.tar.gz::https://github.com/webmproject/libvpx/archive/v${pkgver}.tar.gz")
-sha256sums=('cda8bb6f0e4848c018177d3a576fa83ed96d762554d7010fe4cfb9d70c22e588')
+sha256sums=('1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238')
build() {
cd libvpx-${pkgver}
diff --git a/abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch b/abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
deleted file mode 100644
index 7398b50..0000000
--- a/abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From fedcf1d9691bf669d8cd771a032e851d8247aff9 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Thu, 6 Jul 2017 18:53:05 +0300
-Subject: [PATCH 1/2] GCC compatibility: Ignore the -fno-plt flag
-
----
- include/clang/Driver/Options.td | 1 +
- test/Driver/clang_f_opts.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
-index 05dc9d7eb3..c93e6cc08c 100644
---- a/include/clang/Driver/Options.td
-+++ b/include/clang/Driver/Options.td
-@@ -2505,6 +2505,7 @@ defm ivopts : BooleanFFlag<"ivopts">, Group<clang_ignored_gcc_optimization_f_Gro
- defm non_call_exceptions : BooleanFFlag<"non-call-exceptions">, Group<clang_ignored_f_Group>;
- defm peel_loops : BooleanFFlag<"peel-loops">, Group<clang_ignored_gcc_optimization_f_Group>;
- defm permissive : BooleanFFlag<"permissive">, Group<clang_ignored_f_Group>;
-+defm plt : BooleanFFlag<"plt">, Group<clang_ignored_f_Group>;
- defm prefetch_loop_arrays : BooleanFFlag<"prefetch-loop-arrays">, Group<clang_ignored_gcc_optimization_f_Group>;
- defm printf : BooleanFFlag<"printf">, Group<clang_ignored_f_Group>;
- defm profile : BooleanFFlag<"profile">, Group<clang_ignored_f_Group>;
-diff --git a/test/Driver/clang_f_opts.c b/test/Driver/clang_f_opts.c
-index c17cec6eba..d9480c915e 100644
---- a/test/Driver/clang_f_opts.c
-+++ b/test/Driver/clang_f_opts.c
-@@ -277,6 +277,7 @@
- // RUN: -fno-caller-saves -fcaller-saves \
- // RUN: -fno-reorder-blocks -freorder-blocks \
- // RUN: -fno-schedule-insns2 -fschedule-insns2 \
-+// RUN: -fno-plt -fplt \
- // RUN: -fno-stack-check \
- // RUN: -fno-check-new -fcheck-new \
- // RUN: -ffriend-injection \
---
-2.14.1
-
diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD
index 64ba5b2..d6e630c 100644
--- a/abs/extra/llvm/PKGBUILD
+++ b/abs/extra/llvm/PKGBUILD
@@ -1,80 +1,45 @@
-# $Id$
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Contributor: Sebastian Nowicki <sebnow@gmail.com>
-# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
-# Contributor: Tobias Kieslich <tobias@justdreams.de>
-# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
-# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
-# Contributor: Roberto Alsina <ralsina@kde.org>
-# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lld' 'lldb' 'clang' 'clang-tools-extra')
-pkgver=5.0.1
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
+pkgver=7.0.1
pkgrel=2
-_ocaml_ver=4.06.0
+_ocaml_ver=4.07.1
arch=('x86_64')
-url="http://llvm.org/"
+url="https://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('cmake' 'libffi' 'python2' "ocaml=$_ocaml_ver" 'python-sphinx'
- 'ocaml-ctypes' 'ocaml-findlib' 'libedit' 'swig')
-# Build 32-bit compiler-rt libraries on x86_64 (FS#41911)
-makedepends_x86_64=('lib32-gcc-libs')
+makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2' 'python-sphinx'
+ "ocaml=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib')
options=('staticlibs')
source=(https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
- https://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
- https://releases.llvm.org/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
- https://releases.llvm.org/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
- https://releases.llvm.org/$pkgver/lld-$pkgver.src.tar.xz{,.sig}
- https://releases.llvm.org/$pkgver/lldb-$pkgver.src.tar.xz{,.sig}
- 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
- 0002-Enable-SSP-and-PIE-by-default.patch
- disable-llvm-symbolizer-test.patch
+ rusty-discriminator-thingy.patch
+ add-discriminator-to-debuginfo-test.patch
llvm-config.h)
-sha256sums=('5fa7489fc0225b11821cab0362f5813a05f2bcf2533e8a4ea9c9c860168807b0'
+sha256sums=('a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b'
'SKIP'
- '135f6c9b0cd2da1aff2250e065946258eb699777888df39ca5a5b4fe5e23d0ff'
- 'SKIP'
- '9aada1f9d673226846c3399d13fab6bba4bfd38bcfe8def5ee7b0ec24f8cd225'
- 'SKIP'
- '4edd1417f457a9b3f0eb88082530490edf3cf6a7335cdce8ecbc5d3e16a895da'
- 'SKIP'
- 'd5b36c0005824f07ab093616bdff247f3da817cae2c51371e1d1473af717d895'
- 'SKIP'
- 'b7c1c9e67975ca219089a3a6a9c77c2d102cead2dc38264f2524aa3326da376a'
- 'SKIP'
- 'a1ba7fb859ac157c4b4342435cd656e29b1e1d9bddcb8ae0158a91c0a8ba6203'
- '186f2d10b013395f2dd6e1fd3baf4961a2e40c403f115517c9b253682934f50f'
- '6fff47ab5ede79d45fe64bb4903b7dfc27212a38e6cd5d01e60ebd24b7557359'
+ '4abaef845abb899628deb62a3f184fb8433555620648150dc346a74ef134fd68'
+ '1d2ea3a07e94f4c826706a452e93ed8a2301b5eed5715d22eab19a5ea3f3d0a7'
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
-validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D'
- '11E521D646982372EB577A1F8F0871F202119294')
+validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org>
+validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com>
prepare() {
cd "$srcdir/llvm-$pkgver.src"
mkdir build
- mv "$srcdir/cfe-$pkgver.src" tools/clang
- mv "$srcdir/clang-tools-extra-$pkgver.src" tools/clang/tools/extra
- mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
- mv "$srcdir/lld-$pkgver.src" tools/lld
- mv "$srcdir/lldb-$pkgver.src" tools/lldb
-
- # Disable test that fails when compiled as PIE
- # https://bugs.llvm.org/show_bug.cgi?id=31870
- patch -Np1 <../disable-llvm-symbolizer-test.patch
-
- # Enable SSP and PIE by default
- patch -Np1 -d tools/clang <../0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
- patch -Np1 -d tools/clang <../0002-Enable-SSP-and-PIE-by-default.patch
+ # Fix rust 1.32 segfaults with LTO being enabled
+ # https://github.com/rust-lang/rust/issues/54614
+ patch -Np1 -i ../rusty-discriminator-thingy.patch
+ patch -Np1 -i ../add-discriminator-to-debuginfo-test.patch
}
build() {
cd "$srcdir/llvm-$pkgver.src/build"
- cmake \
+ cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_HOST_TRIPLE=$CHOST \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_INSTALL_UTILS=ON \
@@ -86,30 +51,28 @@ build() {
-DLLVM_ENABLE_DOXYGEN=OFF \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
- -DLLVM_BINUTILS_INCDIR=/usr/include \
- ..
-
- make
- make ocaml_doc
-
- # Disable automatic installation of components that go into subpackages
- sed -i '/\(clang\|lld\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake
- sed -i '/extra\/cmake_install.cmake/d' tools/clang/tools/cmake_install.cmake
- sed -i '/compiler-rt\/cmake_install.cmake/d' projects/cmake_install.cmake
+ -DLLVM_BINUTILS_INCDIR=/usr/include
+ ninja all ocaml_doc
}
check() {
cd "$srcdir/llvm-$pkgver.src/build"
- make check-{llvm,clang,clang-tools,lld}
+ ninja check
}
package_llvm() {
- pkgdesc="Low Level Virtual Machine"
+ pkgdesc="Collection of modular and reusable compiler and toolchain technologies"
depends=('llvm-libs' 'perl')
+ optdepends=('python-setuptools: for using lit (LLVM Integrated Tester)')
- cd "$srcdir/llvm-$pkgver.src"
+ cd "$srcdir/llvm-$pkgver.src/build"
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja install
+
+ # Include lit for running lit-based tests in other projects
+ pushd ../utils/lit
+ python3 setup.py install --root="$pkgdir" -O1
+ popd
# Remove documentation sources
rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
@@ -130,12 +93,12 @@ package_llvm() {
cp "$srcdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config.h"
fi
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-libs() {
- pkgdesc="Low Level Virtual Machine (runtime libraries)"
- depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses')
+ pkgdesc="LLVM runtime libraries"
+ depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses' 'libxml2')
install -d "$pkgdir/usr/lib"
cp -P \
@@ -156,111 +119,11 @@ package_llvm-ocaml() {
pkgdesc="OCaml bindings for LLVM"
depends=('llvm' "ocaml=$_ocaml_ver" 'ocaml-ctypes')
- cd "$srcdir/llvm-$pkgver.src"
-
install -d "$pkgdir"/{usr/lib,usr/share/doc/$pkgname}
cp -a "$srcdir/ocaml.lib" "$pkgdir/usr/lib/ocaml"
cp -a "$srcdir/ocaml.doc" "$pkgdir/usr/share/doc/$pkgname/html"
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_lld() {
- pkgdesc="Linker from the LLVM project"
- url="http://lld.llvm.org/"
- depends=('llvm-libs')
-
- cd "$srcdir/llvm-$pkgver.src"
-
- make -C build/tools/lld DESTDIR="$pkgdir" install
-
- # Remove documentation sources
- rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
-
- install -Dm644 tools/$pkgname/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_lldb() {
- pkgdesc="Next generation, high-performance debugger"
- url="http://lldb.llvm.org/"
- depends=('llvm-libs' 'libxml2' 'python2' 'python2-six')
-
- cd "$srcdir/llvm-$pkgver.src"
-
- make -C build/tools/lldb DESTDIR="$pkgdir" install
-
- # https://bugs.archlinux.org/task/50759
- sed -i "/import_module('_lldb')/s/_lldb/lldb.&/" \
- "$pkgdir/usr/lib/python2.7/site-packages/lldb/__init__.py"
-
- # Remove bundled six library
- rm "$pkgdir/usr/lib/python2.7/site-packages/six.py"
-
- # Compile Python scripts
- python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
- python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
-
- install -Dm644 tools/$pkgname/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_clang() {
- pkgdesc="C language family frontend for LLVM"
- url="http://clang.llvm.org/"
- depends=('llvm-libs' 'gcc' 'libxml2')
- optdepends=('openmp: OpenMP support in clang with -fopenmp'
- 'python2: for scan-view and git-clang-format')
- provides=("clang-analyzer=$pkgver")
- conflicts=('clang-analyzer')
- replaces=('clang-analyzer')
-
- cd "$srcdir/llvm-$pkgver.src"
-
- make -C build/tools/clang DESTDIR="$pkgdir" install
- make -C build/projects/compiler-rt DESTDIR="$pkgdir" install
-
- # Remove documentation sources
- rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
-
- # Move analyzer scripts out of /usr/libexec
- mv "$pkgdir"/usr/libexec/{ccc,c++}-analyzer "$pkgdir/usr/lib/clang/"
- rmdir "$pkgdir/usr/libexec"
- sed -i 's|libexec|lib/clang|' "$pkgdir/usr/bin/scan-build"
-
- # Install Python bindings
- install -d "$pkgdir/usr/lib/python2.7/site-packages"
- cp -a tools/clang/bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
-
- # Use Python 2
- sed -i 's|/usr/bin/env python|&2|' \
- "$pkgdir/usr/bin/scan-view" \
- "$pkgdir/usr/bin/git-clang-format" \
- "$pkgdir/usr/share/$pkgname/clang-format-diff.py"
-
- # Compile Python scripts
- python2 -m compileall "$pkgdir"
- python2 -O -m compileall "$pkgdir"
-
- install -Dm644 tools/$pkgname/LICENSE.TXT \
- "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_clang-tools-extra() {
- pkgdesc="Extra tools built using clang's tooling APIs"
- url="http://clang.llvm.org/"
- depends=('clang')
-
- cd "$srcdir/llvm-$pkgver.src"
-
- make -C build/tools/clang/tools/extra DESTDIR="$pkgdir" install
-
- # Remove documentation sources
- rm -r "$pkgdir"/usr/share/doc/clang-tools/html/{_sources,.buildinfo}
-
- # Use Python 2
- sed -i 's|/usr/bin/env python|&2|' \
- "$pkgdir"/usr/share/clang/{clang-tidy-diff,run-clang-tidy,run-find-all-symbols}.py
-
- install -Dm644 tools/clang/tools/extra/LICENSE.TXT \
+ install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/extra/llvm/add-discriminator-to-debuginfo-test.patch b/abs/extra/llvm/add-discriminator-to-debuginfo-test.patch
new file mode 100644
index 0000000..aa67d52
--- /dev/null
+++ b/abs/extra/llvm/add-discriminator-to-debuginfo-test.patch
@@ -0,0 +1,25 @@
+From cc1f2a595ead516812a6c50398f0f3480ebe031f Mon Sep 17 00:00:00 2001
+From: Jonas Devlieghere <jonas@devlieghere.com>
+Date: Fri, 21 Sep 2018 12:28:44 +0000
+Subject: [PATCH] [test] Fix Assembler/debug-info.ll
+
+Update Assembler/debug-info.ll to contain discriminator.
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342727 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ test/Assembler/debug-info.ll | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/Assembler/debug-info.ll b/test/Assembler/debug-info.ll
+index 4404b741d343..d54dba07ac1e 100644
+--- a/test/Assembler/debug-info.ll
++++ b/test/Assembler/debug-info.ll
+@@ -83,7 +83,7 @@
+ ; CHECK-NEXT: !32 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f")
+ !35 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f")
+
+-; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64)
++; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64, discriminator: !34)
+ ; CHECK-NEXT: !34 = !DIDerivedType(tag: DW_TAG_member, scope: !33, baseType: !35, size: 64, align: 64, flags: DIFlagArtificial)
+ ; CHECK-NEXT: !35 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
+ !36 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !16, size: 64, discriminator: !37)
diff --git a/abs/extra/llvm/disable-llvm-symbolizer-test.patch b/abs/extra/llvm/disable-llvm-symbolizer-test.patch
deleted file mode 100644
index f949169..0000000
--- a/abs/extra/llvm/disable-llvm-symbolizer-test.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: Silent a test failing on yakkety amd64
- /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input
- // CHECK: inc
- ^
- <stdin>:1:1: note: scanning from here
- _fini
- ^
- <stdin>:1:3: note: possible intended match here
- _fini
- ^
-Author: Sylvestre <sylvestre@debian.org>
-Last-Update: 2016-08-26
-
-Index: llvm-toolchain-3.9-3.9~+rc1/test/tools/llvm-symbolizer/print_context.c
-===================================================================
---- llvm-toolchain-3.9-3.9~+rc1.orig/test/tools/llvm-symbolizer/print_context.c
-+++ llvm-toolchain-3.9-3.9~+rc1/test/tools/llvm-symbolizer/print_context.c
-@@ -1,7 +1,7 @@
- // REQUIRES: x86_64-linux
- // RUN: %host_cc -O0 -g %s -o %t 2>&1
- // RUN: %t 2>&1 | llvm-symbolizer -print-source-context-lines=5 -obj=%t | FileCheck %s
--
-+// XFAIL: *
- #include <stdio.h>
-
- int inc(int a) {
diff --git a/abs/extra/llvm/rusty-discriminator-thingy.patch b/abs/extra/llvm/rusty-discriminator-thingy.patch
new file mode 100644
index 0000000..fb7ef03
--- /dev/null
+++ b/abs/extra/llvm/rusty-discriminator-thingy.patch
@@ -0,0 +1,57 @@
+From da1fb72bb305d6bc1f3899d541414146934bf80f Mon Sep 17 00:00:00 2001
+From: Jonas Devlieghere <jonas@devlieghere.com>
+Date: Fri, 21 Sep 2018 12:03:14 +0000
+Subject: [PATCH] Ensure that variant part discriminator is read by
+ MetadataLoader
+
+https://reviews.llvm.org/D42082 introduced variant parts to debug info
+in LLVM. Subsequent work on the Rust compiler has found a bug in that
+patch; namely, there is a path in MetadataLoader that fails to restore
+the discriminator.
+
+This patch fixes the bug.
+
+Patch by: Tom Tromey
+
+Differential revision: https://reviews.llvm.org/D52340
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342725 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/Bitcode/Reader/MetadataLoader.cpp | 2 +-
+ test/Assembler/debug-variant-discriminator.ll | 14 ++++++++++++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+ create mode 100644 test/Assembler/debug-variant-discriminator.ll
+
+diff --git a/lib/Bitcode/Reader/MetadataLoader.cpp b/lib/Bitcode/Reader/MetadataLoader.cpp
+index 3fe7d2205631..4781cfe3dea6 100644
+--- a/lib/Bitcode/Reader/MetadataLoader.cpp
++++ b/lib/Bitcode/Reader/MetadataLoader.cpp
+@@ -1313,7 +1313,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata(
+ (Context, Tag, Name, File, Line, Scope, BaseType,
+ SizeInBits, AlignInBits, OffsetInBits, Flags,
+ Elements, RuntimeLang, VTableHolder, TemplateParams,
+- Identifier));
++ Identifier, Discriminator));
+ if (!IsNotUsedInTypeRef && Identifier)
+ MetadataList.addTypeRef(*Identifier, *cast<DICompositeType>(CT));
+
+diff --git a/test/Assembler/debug-variant-discriminator.ll b/test/Assembler/debug-variant-discriminator.ll
+new file mode 100644
+index 000000000000..5be001cad6be
+--- /dev/null
++++ b/test/Assembler/debug-variant-discriminator.ll
+@@ -0,0 +1,14 @@
++; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
++; RUN: verify-uselistorder %s
++
++; CHECK: !named = !{!0, !1, !2}
++!named = !{!0, !1, !2}
++
++; CHECK: !0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer")
++; CHECK-NEXT: !1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2)
++; CHECK-NEXT: !2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial)
++; CHECK-NEXT: !3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
++!0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer")
++!1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2)
++!2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial)
++!3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
diff --git a/abs/extra/mercurial/PKGBUILD b/abs/extra/mercurial/PKGBUILD
new file mode 100644
index 0000000..d485183
--- /dev/null
+++ b/abs/extra/mercurial/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=mercurial
+pkgver=4.8.2
+pkgrel=1
+pkgdesc='A scalable distributed SCM tool'
+arch=(x86_64)
+url="https://www.mercurial-scm.org/"
+license=(GPL)
+depends=(python2)
+optdepends=('tk: for the hgk GUI')
+backup=(etc/mercurial/hgrc)
+validpgpkeys=(2BCCE14F5C6725AA2EA8AEB7B9C9DC824AA5BDD5
+ 3A8155163D0E20A530FCB78647A67FFAA346AACE)
+source=(https://www.mercurial-scm.org/release/${pkgname}-${pkgver}.tar.gz{,.asc}
+ mercurial.profile)
+sha256sums=('6c202cb9cf05e63b86477ebf84d6475eb10b4022ac2cd3a7481fb36d9c45fdb2'
+ 'SKIP'
+ '87427151713e689cd87dc50d50c048e0e58285815e4eb61962b50583532cbde5')
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i -e 's#env python#env python2#' mercurial/lsprof.py
+}
+
+build() {
+ cd $pkgname-$pkgver/contrib/chg
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -d "$pkgdir/usr/share/man/"{man1,man5}
+ install -m644 doc/hg.1 "$pkgdir/usr/share/man/man1"
+ install -m644 doc/{hgrc.5,hgignore.5} "$pkgdir/usr/share/man/man5"
+ install -m755 contrib/hgk "$pkgdir/usr/bin"
+ install -m644 -D contrib/zsh_completion "$pkgdir/usr/share/zsh/site-functions/_hg"
+ install -m644 -D contrib/bash_completion "$pkgdir/usr/share/bash-completion/completions/hg"
+ install -d "$pkgdir/usr/share/emacs/site-lisp"
+ install -m644 contrib/{mq.el,mercurial.el} "$pkgdir/usr/share/emacs/site-lisp"
+
+ install -Dm644 contrib/vim/HGAnnotate.vim \
+ "$pkgdir/usr/share/vim/vimfiles/syntax/HGAnnotate.vim"
+
+ # set some variables
+ install -m755 -d "$pkgdir/etc/profile.d"
+ install -m755 "$srcdir/mercurial.profile" "$pkgdir/etc/profile.d/mercurial.sh"
+
+ # FS#38825 - Add certs config to package
+ install -m755 -d "$pkgdir/etc/mercurial"
+ cat <<-EOF > "$pkgdir/etc/mercurial/hgrc"
+ [web]
+ cacerts = /etc/ssl/certs/ca-certificates.crt
+ EOF
+
+ cd contrib/chg
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
diff --git a/abs/extra/mercurial/mercurial.profile b/abs/extra/mercurial/mercurial.profile
new file mode 100644
index 0000000..fc96182
--- /dev/null
+++ b/abs/extra/mercurial/mercurial.profile
@@ -0,0 +1 @@
+export HG=/usr/bin/hg
diff --git a/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch b/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
deleted file mode 100644
index 973912b..0000000
--- a/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 89d4decc9cdda01590c2a734c0f58924bcf30777 Mon Sep 17 00:00:00 2001
-Message-Id: <89d4decc9cdda01590c2a734c0f58924bcf30777.1517146929.git.jan.steffens@gmail.com>
-From: Dylan Baker <dylan@pnwbakers.com>
-Date: Tue, 19 Dec 2017 20:05:24 -0800
-Subject: [PATCH 1/2] tests: skip objc nsstring test if gnustep is not
- installed
-
----
- test cases/objc/2 nsstring/meson.build | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/test cases/objc/2 nsstring/meson.build b/test cases/objc/2 nsstring/meson.build
-index a877d746..7f2483f4 100644
---- a/test cases/objc/2 nsstring/meson.build
-+++ b/test cases/objc/2 nsstring/meson.build
-@@ -5,7 +5,10 @@ if host_machine.system() == 'darwin'
- elif host_machine.system() == 'cygwin'
- error('MESON_SKIP_TEST GNUstep is not packaged for Cygwin.')
- else
-- dep = dependency('gnustep')
-+ dep = dependency('gnustep', required : false)
-+ if not dep.found()
-+ error('MESON_SKIP_TEST: GNUstep is not installed')
-+ endif
- if host_machine.system() == 'linux' and meson.get_compiler('objc').get_id() == 'clang'
- error('MESON_SKIP_TEST: GNUstep is broken on Linux with Clang')
- endif
---
-2.16.1
-
diff --git a/abs/extra/meson/4878.patch b/abs/extra/meson/4878.patch
new file mode 100644
index 0000000..4c85552
--- /dev/null
+++ b/abs/extra/meson/4878.patch
@@ -0,0 +1,26 @@
+From c5544aea8d8480262b9792ac85b8e61d1fb08f74 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Corentin=20No=C3=ABl?= <corentin.noel@collabora.com>
+Date: Mon, 4 Feb 2019 13:49:01 +0100
+Subject: [PATCH] vala: Support position-independent executables
+
+---
+ mesonbuild/compilers/vala.py | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/mesonbuild/compilers/vala.py b/mesonbuild/compilers/vala.py
+index e64d57f366..5303298a62 100644
+--- a/mesonbuild/compilers/vala.py
++++ b/mesonbuild/compilers/vala.py
+@@ -49,6 +49,12 @@ def get_compile_only_args(self):
+ def get_pic_args(self):
+ return []
+
++ def get_pie_args(self):
++ return []
++
++ def get_pie_link_args(self):
++ return []
++
+ def get_always_args(self):
+ return ['-C']
+
diff --git a/abs/extra/meson/PKGBUILD b/abs/extra/meson/PKGBUILD
index 4f93834..dd5e7ef 100644
--- a/abs/extra/meson/PKGBUILD
+++ b/abs/extra/meson/PKGBUILD
@@ -3,33 +3,35 @@
# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
pkgname=meson
-pkgver=0.44.1
-pkgrel=1
+pkgver=0.49.2
+pkgrel=2
pkgdesc='High productivity build system'
-url='http://mesonbuild.com/'
+url='https://mesonbuild.com/'
arch=('any')
license=('Apache')
-depends=('python' 'ninja')
-makedepends=('python-setuptools')
-checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt4' 'qt5-base' 'git'
- 'cython' 'gtkmm3' 'gtest' 'gmock' 'protobuf' 'wxgtk' 'python-gobject' 'gobject-introspection'
+depends=('python-setuptools' 'ninja')
+checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt4' 'qt5-base' 'git' 'cython'
+ 'gtkmm3' 'gtest' 'gmock' 'protobuf' 'wxgtk' 'python-gobject' 'gobject-introspection'
'itstool' 'gtk3' 'java-environment=8' 'gtk-doc' 'llvm' 'clang' 'sdl2' 'graphviz'
- 'doxygen' 'vulkan-validation-layers' 'openmpi' 'openssh' 'mercurial' 'gtk-sharp-2'
- 'qt5-tools' 'libwmf' 'dmd' 'valgrind')
+ 'doxygen' 'vulkan-validation-layers' 'openssh' 'mercurial' 'gtk-sharp-2' 'qt5-tools'
+ 'libwmf' 'dmd' 'valgrind')
source=(https://github.com/mesonbuild/meson/releases/download/${pkgver}/meson-${pkgver}.tar.gz{,.asc}
- 0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
+ 4878.patch
arch-meson)
-sha512sums=('1ecccccfa24ec2c5c144f8c13fd95d250b59cb22b79676a2a1a6f9ed30a7b08adb71d5882b2d4421d07689ad6dd6d6aef139ac33f628e55a1d428cbc40b4d93e'
+sha512sums=('d07a5dfd699f1e4b00af39c377ec186c91718d9595cb0ab506b4b40c0c63ddd14eccbe8afb446635272c431e2a78032888be0bc8f6064044da53e8c0b5f7be3f'
'SKIP'
- '04a0f113ba5f1ae57591fad3f5ecf812ef88b8809b4ffe063e82f6548e728a1a7bd51c171a948873884c2631fc10a9cd141f56de22cd7cf766cdb74996840eec'
- 'e901f87f3ee1baa7b9aedb79bd5c9e50898a5695ac938f7f8420d8e81f526a09f07ceedadb65975437efa5a68fcf581110a040f579f2530437d1e6eb5addea76')
+ 'ff1326c7b56da98eab615b40e07cba86d6ceee18d29e8b5c57ccf73980a7a466c8e5695cc0b96a36330cd0d51e52b8fed08456ebea6763edb736ae7116be2f4b'
+ 'f451f8a7ef9cf1dd724c2ce20bb85a3f1611b87b2e7a17ef0fdbe8ab82a67389f818ea30a5adfe8413143e4eac77ea2e0b8234b5b2466b41a892e2bd0435376c')
validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen <jpakkane@gmail.com>
prepare() {
cd ${pkgname}-${pkgver}
- # Skip gnustep tests
- patch -Np1 -i ../0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
+ # https://github.com/mesonbuild/meson/issues/4884
+ patch -Np1 -i ../4878.patch
+
+ # Succeeds for us?
+ mv 'test cases/failing/85 gtest dependency with version' 'test cases/frameworks/'
}
build() {
@@ -40,9 +42,6 @@ build() {
check() (
cd ${pkgname}-${pkgver}
- # --as-needed breaks openmpi linking
- LDFLAGS="${LDFLAGS/,--as-needed/}"
-
# set for debug output
#export MESON_PRINT_TEST_OUTPUT=1
@@ -54,9 +53,9 @@ package() {
cd ${pkgname}-${pkgver}
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- for _f in data/syntax-highlighting/vim/*/*; do
- install -Dt "${pkgdir}/usr/share/vim/vimfiles/$(basename "$(dirname "$_f")")" -m644 "$_f"
- done
+ install -d "${pkgdir}/usr/share/vim/vimfiles"
+ cp -rt "${pkgdir}/usr/share/vim/vimfiles" data/syntax-highlighting/vim/*/
+
install -Dt "${pkgdir}/usr/share/emacs/site-lisp" -m644 data/syntax-highlighting/emacs/*
install -Dt "${pkgdir}/usr/share/zsh/site-functions" -m644 data/shell-completions/zsh/*
diff --git a/abs/extra/meson/arch-meson b/abs/extra/meson/arch-meson
index c4a9e7c..695a947 100644
--- a/abs/extra/meson/arch-meson
+++ b/abs/extra/meson/arch-meson
@@ -1,21 +1,13 @@
#!/bin/bash -ex
-# Meson wrapper for Arch Linux packaging
+# Highly opinionated wrapper for Arch Linux packaging
exec meson setup \
- --prefix /usr \
- --libdir /usr/lib \
- --libexecdir /usr/lib \
- --bindir /usr/bin \
- --sbindir /usr/bin \
- --includedir /usr/include \
- --datadir /usr/share \
- --mandir /usr/share/man \
- --infodir /usr/share/info \
- --localedir /usr/share/locale \
- --sysconfdir /etc \
- --localstatedir /var \
- --sharedstatedir /var/lib \
- --buildtype release \
- --wrap-mode nofallback \
- "$@" \
- -D b_lto=true
+ --prefix /usr \
+ --libexecdir lib \
+ --sbindir bin \
+ --buildtype plain \
+ --auto-features enabled \
+ --wrap-mode nodownload \
+ -D b_lto=true \
+ -D b_pie=true \
+ "$@"
diff --git a/abs/extra/ninja/PKGBUILD b/abs/extra/ninja/PKGBUILD
index ba37b3f..bc91cad 100644
--- a/abs/extra/ninja/PKGBUILD
+++ b/abs/extra/ninja/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor: Filip Brcic <brcha@gna.org>
# Contributor: Mika Fischer <mika.fischer@zoopnet.de>
# Contributor: Gergely Imreh <imrehgATgmailDOTcom>
pkgname=ninja
-pkgver=1.8.2
+pkgver=1.9.0
pkgrel=1
pkgdesc='Small build system with a focus on speed'
-arch=(i686 x86_64)
+arch=(x86_64)
url='https://ninja-build.org/'
license=(Apache)
depends=(gcc-libs)
-makedepends=(python2 re2c emacs)
+makedepends=(python2 re2c emacs-nox)
source=($pkgname-$pkgver.zip::https://github.com/martine/ninja/archive/v$pkgver.zip)
-sha1sums=('7d252d8deeefd6972080f146a528fad76698616c')
+sha1sums=('8dc0fe67796e1c50a00f9542af41021286977bde')
build() {
cd ninja-$pkgver
@@ -28,7 +27,6 @@ check() {
python2 ./configure.py
./ninja ninja_test
- ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
}
package() {
diff --git a/abs/extra/nvidia-settings/PKGBUILD b/abs/extra/nvidia-settings/PKGBUILD
deleted file mode 100644
index a9f8744..0000000
--- a/abs/extra/nvidia-settings/PKGBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# Maintainer: Felix Yan <felixonmars@archlinux.org>
-# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
-
-pkgbase=nvidia-settings
-pkgname=('nvidia-settings' 'libxnvctrl')
-pkgver=390.48
-pkgrel=1
-pkgdesc='Tool for configuring the NVIDIA graphics driver'
-url='https://github.com/NVIDIA/nvidia-settings'
-arch=('x86_64')
-license=('GPL2')
-makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxext')
-options=('staticlibs')
-source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz
- libxnvctrl_so.patch)
-sha512sums=('5f8a6403edf8636cfb2aec8f01fb160030a2538140fe3d10a71863fd1f793eea3f8a6f1bc55baa7dff047bd1bef9c3bd579cf818af38b535fa172b3aaf122e55'
- 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8')
-
-prepare() {
- export PREFIX=/usr
- export NV_USE_BUNDLED_LIBJANSSON=0
- cd ${pkgbase}-${pkgver}
- patch -p1 < "${srcdir}/libxnvctrl_so.patch"
-}
-
-build() {
- cd ${pkgbase}-${pkgver}
- make
- make -C src/libXNVCtrl
-}
-
-package_nvidia-settings() {
- depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxnvctrl')
-
- cd ${pkgbase}-${pkgver}
- make DESTDIR="${pkgdir}" install
-
- install -D -m644 doc/nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
- install -D -m644 doc/nvidia-settings.png "${pkgdir}/usr/share/pixmaps/nvidia-settings.png"
- sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
-
- rm "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver"
-}
-
-package_libxnvctrl() {
- depends=('libxext')
- pkgdesc='NVIDIA NV-CONTROL X extension'
-
- cd ${pkgbase}-${pkgver}
- install -Dm 644 doc/{NV-CONTROL-API.txt,FRAMELOCK.txt} -t "${pkgdir}/usr/share/doc/${pkgname}"
- install -Dm 644 samples/{Makefile,README,*.c,*.h,*.mk} -t "${pkgdir}/usr/share/doc/${pkgname}/samples"
-
- cd src/libXNVCtrl
- install -Dm 644 *.h -t "${pkgdir}/usr/include/NVCtrl"
- install -Dm 644 libXNVCtrl.a -t "${pkgdir}/usr/lib"
- install -Dm 755 libXNVCtrl.so.0.0.0 -t "${pkgdir}/usr/lib"
- ln -s libXNVCtrl.so.0.0.0 "${pkgdir}/usr/lib/libXNVCtrl.so.0"
- ln -s libXNVCtrl.so.0 "${pkgdir}/usr/lib/libXNVCtrl.so"
-}
-
-# vim: ts=2 sw=2 et:
diff --git a/abs/extra/nvidia-settings/libxnvctrl_so.patch b/abs/extra/nvidia-settings/libxnvctrl_so.patch
deleted file mode 100644
index 724064e..0000000
--- a/abs/extra/nvidia-settings/libxnvctrl_so.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -106,6 +106,8 @@
- XNVCTRL_DIR ?= libXNVCtrl
- XNVCTRL_MAKEFILE ?= Makefile
- XNVCTRL_ARCHIVE ?= $(XNVCTRL_DIR)/libXNVCtrl.a
-+XNVCTRL_SHARED ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0
-+XNVCTRL_LIB ?= $(XNVCTRL_SHARED)
- XCONFIG_PARSER_DIR ?= XF86Config-parser
- COMMON_UTILS_DIR ?= common-utils
- COMMON_UNIX_DIR ?= common-unix
-@@ -280,15 +282,18 @@
- $(MKDIR) $(BINDIR)
- $(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<)
-
-+$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED):
-+ $(MAKE) -C $(XNVCTRL_DIR)
-+
- $(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS)))
--$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE)
-+$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_LIB)
- $(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
-- -rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS)
-+ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS)
-
- $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
- $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
- $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
-- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \
-+ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \
- -Wl,--unresolved-symbols=ignore-all -o $@ \
- -Wl,-soname -Wl,$(GTK2LIB_SONAME) \
- $(GTK2_OBJS) $(XCP_OBJS)
-@@ -297,7 +302,7 @@
- $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
- $(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK)
- $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
-- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \
-+ $(XNVCTRL_LIB) $(LIBS) $(GTK3_LIBS) \
- -Wl,--unresolved-symbols=ignore-all -o $@ \
- -Wl,-soname -Wl,$(GTK3LIB_SONAME) \
- $(GTK3_OBJS) $(XCP_OBJS)
---- a/src/libXNVCtrl/Makefile
-+++ b/src/libXNVCtrl/Makefile
-@@ -55,10 +55,17 @@
- .PHONY: clean
-
- all: $(LIBXNVCTRL)
-+all: libXNVCtrl.so
-
- $(LIBXNVCTRL) : $(OBJS)
- $(AR) ru $@ $(OBJS)
-
-+libXNVCtrl.so: $(OBJS)
-+ $(RM) $@ $@.*
-+ $(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
-+ ln -s $@.0.0.0 $@.0
-+ ln -s $@.0 $@
-+
- # define the rule to build each object file
- $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src))))
-
-@@ -68,3 +75,4 @@
- clean:
- rm -rf $(LIBXNVCTRL) *~ $(STAMP_C) \
- $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
-+ rm -f libXNVCtrl.so libXNVCtrl.so.*
diff --git a/abs/extra/ocaml-ctypes/PKGBUILD b/abs/extra/ocaml-ctypes/PKGBUILD
index df374a8..d348803 100644
--- a/abs/extra/ocaml-ctypes/PKGBUILD
+++ b/abs/extra/ocaml-ctypes/PKGBUILD
@@ -1,19 +1,18 @@
-# $Id$
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Armin K. <krejzi at email dot com>
pkgname=ocaml-ctypes
-pkgver=0.11.5
+pkgver=0.14.0
pkgrel=2
pkgdesc="Library for binding to C libraries using pure OCaml"
arch=('x86_64')
url="https://github.com/ocamllabs/ocaml-ctypes"
license=('MIT')
-depends=('ocaml=4.06.0' 'libffi')
+depends=('ocaml>=4.07.0' 'libffi' 'ocaml-integers')
makedepends=('ocaml-findlib' 'ocaml-compiler-libs')
options=('!strip' '!makeflags')
source=($pkgname-$pkgver.tar.gz::https://github.com/ocamllabs/ocaml-ctypes/archive/$pkgver.tar.gz)
-sha256sums=('ee0f9a61cdc9bd3de7dc6f605d556533536e27694f5e2ea9bf25f76f74f68f98')
+sha256sums=('e97aea533b3ce254747dcec39c92f0ca74859b9fe29533d2f391598105693a7f')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/extra/ocaml-findlib/PKGBUILD b/abs/extra/ocaml-findlib/PKGBUILD
index efe122f..110dff0 100644
--- a/abs/extra/ocaml-findlib/PKGBUILD
+++ b/abs/extra/ocaml-findlib/PKGBUILD
@@ -1,4 +1,3 @@
-# $Id$
# Maintainer: Alexander F Rødseth <xyproto@archlinux.org>
# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Thomas S Hatch <thatch45@gmail.com>
@@ -8,16 +7,15 @@
# Contributor: Alif <alive4ever@live.com>
pkgname=ocaml-findlib
-pkgver=1.7.1
-pkgrel=1
+pkgver=1.8.0
+pkgrel=3
pkgdesc='OCaml package manager'
-arch=('x86_64' 'i686')
+arch=('x86_64')
url='http://projects.camlcity.org/projects/findlib.html'
license=('MIT')
-depends=('ocaml')
-makedepends=('setconf')
+depends=('ocaml-compiler-libs')
source=("http://download.camlcity.org/download/findlib-$pkgver.tar.gz")
-sha256sums=('5d4b9a79e9abf8be0b509f6b8cf5696221cbe14fa2fbb2bb352342755fd15eef')
+sha256sums=('2b7b7d6d65bb0f3f8a2c51c63c02b0bcf1fea4c23513f866140dc7dc24fe27ad')
options=('staticlibs' '!strip' 'zipman' '!makeflags')
build() {
@@ -36,11 +34,8 @@ package () {
make prefix="$pkgdir" install
- # Add a directory to the path for compatibility with old-style packages
- #setconf "$pkgdir/etc/findlib.conf" path='"/usr/lib/ocaml:/usr/lib/ocaml-site-lib"'
-
- install -m755 src/findlib/ocamlfind_opt "$pkgdir/usr/bin/"
+ install -Dm755 src/findlib/ocamlfind_opt "$pkgdir/usr/bin/ocamlfind_opt"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-# vim:set ts=2 sw=2 et:
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/ocaml-findlib/externalmeta6.patch b/abs/extra/ocaml-findlib/externalmeta6.patch
new file mode 100644
index 0000000..7dbe9aa
--- /dev/null
+++ b/abs/extra/ocaml-findlib/externalmeta6.patch
@@ -0,0 +1,13 @@
+Index: findlib-1.7.2/configure
+===================================================================
+--- findlib-1.7.2.orig/configure
++++ findlib-1.7.2/configure
+@@ -557,7 +557,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink graphics $lnum str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="$ldbm dynlink graphics $lnum str threads unix stdlib bigarray ocamldoc $lcomplibs $lbytes $lspacetime"
+
+ for dir in site-lib-src/*; do
+ # We do not really know if $dir is a directory.
diff --git a/abs/extra/ocaml-findlib/makefile.patch b/abs/extra/ocaml-findlib/makefile.patch
deleted file mode 100644
index 0e21a2d..0000000
--- a/abs/extra/ocaml-findlib/makefile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: b/Makefile
-===================================================================
---- a/Makefile
-+++ b/Makefile
-@@ -71,7 +71,7 @@ findlib.conf: findlib.conf.in
-
- .PHONY: install-doc
- install-doc:
-- mkdir -p "$(prefix)$(OCAMLFIND_MAN)/man1" "$(prefix)$(OCAMLFIND_MAN)/man3 $(prefix)$(OCAMLFIND_MAN)/man5"
-+ mkdir -p "$(prefix)$(OCAMLFIND_MAN)/man1" "$(prefix)$(OCAMLFIND_MAN)/man3" "$(prefix)$(OCAMLFIND_MAN)/man5"
- -cp doc/ref-man/ocamlfind.1 "$(prefix)$(OCAMLFIND_MAN)/man1"
- -cp doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "$(prefix)$(OCAMLFIND_MAN)/man5"
-
diff --git a/abs/extra/ocaml-integers/PKGBUILD b/abs/extra/ocaml-integers/PKGBUILD
new file mode 100644
index 0000000..52f6d29
--- /dev/null
+++ b/abs/extra/ocaml-integers/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Jürgen Hötzel <juergen@archlinux.org>
+
+pkgname=ocaml-integers
+pkgver=0.2.2
+pkgrel=2
+pkgdesc='Library for binding to C libraries using pure OCaml'
+arch=('i686' 'x86_64')
+url=https://github.com/ocamllabs/ocaml-integers
+license=('custom')
+options=('!strip')
+makedepends=('ocaml-topkg' 'ocaml-findlib' 'ocaml-compiler-libs' 'ocamlbuild' 'opam')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/ocamllabs/$pkgname/archive/v$pkgver.tar.gz")
+md5sums=('f966342ad19682d4d5ade1e202388a81')
+
+
+build() {
+ cd ${pkgname}-$pkgver
+ make
+}
+
+package() {
+ cd ${pkgname}-$pkgver
+
+ opam-installer --prefix="${pkgdir}/usr" \
+ --libdir="${pkgdir}$(ocamlc -where)" \
+ --docdir="${pkgdir}/usr/share/doc" \
+ --stubsdir="${pkgdir}$(ocamlc -where)/stublibs"
+
+ install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}"/LICENSE.md
+}
diff --git a/abs/extra/ocaml-result/PKGBUILD b/abs/extra/ocaml-result/PKGBUILD
new file mode 100644
index 0000000..fe58323
--- /dev/null
+++ b/abs/extra/ocaml-result/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Jürgen Hötzel <juergen@archlinux.org>
+
+_pkgname=result
+pkgname=ocaml-${_pkgname}
+pkgver=1.3
+pkgrel=2
+pkgdesc="Compatibility Result module"
+arch=('i686' 'x86_64' 'armv7h')
+url="https://github.com/janestreet/result"
+license=('BSD')
+depends=('ocaml')
+makedepends=('ocaml-findlib' 'dune')
+options=('!strip')
+source=("https://github.com/janestreet/result/archive/${pkgver}.tar.gz")
+sha256sums=('47a4a7abca084ac844716b047d4b26eacbd96174034c8836f35cd400e84c8db4')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ jbuilder build
+}
+
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ install -dm755 "${pkgdir}$(ocamlfind printconf destdir)"
+ jbuilder install --prefix "${pkgdir}/usr" \
+ --libdir "${pkgdir}$(ocamlfind printconf destdir)"
+
+ install -Dm644 "LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md"
+ mv "${pkgdir}/usr/doc" "${pkgdir}/usr/share/"
+}
diff --git a/abs/extra/ocaml-topkg/PKGBUILD b/abs/extra/ocaml-topkg/PKGBUILD
new file mode 100644
index 0000000..333d708
--- /dev/null
+++ b/abs/extra/ocaml-topkg/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Jürgen Hötzel <juergen@archlinux.org>
+pkgname=ocaml-topkg
+pkgver=0.9.1
+pkgrel=2
+pkgdesc="A packager for distributing OCaml software"
+arch=('x86_64')
+url="http://erratique.ch/software/topkg"
+license=('BSD')
+depends=('ocaml' 'ocaml-result')
+makedepends=('ocaml-findlib' 'ocamlbuild' 'opam' 'ocaml-compiler-libs')
+source=("http://erratique.ch/software/topkg/releases/topkg-${pkgver}.tbz")
+md5sums=('8978a0595db1a22e4251ec62735d4b84')
+
+build() {
+ cd "${srcdir}/topkg-${pkgver}"
+
+ pkg/pkg.ml build --pkg-name topkg
+}
+
+package() {
+ cd "${srcdir}/topkg-${pkgver}"
+
+ opam-installer --prefix="${pkgdir}/usr" \
+ --libdir="${pkgdir}$(ocamlc -where)" \
+ --docdir="${pkgdir}/usr/share/doc"
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ mv "${pkgdir}/usr/share/doc/topkg/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md"
+}
diff --git a/abs/extra/ocaml/PKGBUILD b/abs/extra/ocaml/PKGBUILD
index 2527a98..f6b0fa9 100644
--- a/abs/extra/ocaml/PKGBUILD
+++ b/abs/extra/ocaml/PKGBUILD
@@ -1,10 +1,9 @@
-# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgbase='ocaml'
pkgname=('ocaml' 'ocaml-compiler-libs')
-pkgver=4.06.0
-pkgrel=2
+pkgver=4.07.1
+pkgrel=1
pkgdesc="A functional language with OO extensions"
arch=('x86_64')
license=('LGPL2.1' 'custom: QPL-1.0')
@@ -13,7 +12,7 @@ depends=('gdbm')
makedepends=('tk>=8.6.0' 'ncurses>=5.6-7' 'libx11')
optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features')
source=(http://caml.inria.fr/distrib/ocaml-${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha1sums=('831fab643feb0f78bd206f0a9a09a92df58838e7')
+sha1sums=('4f6457627a034e3b58c88a5ee6cc69aebd306746')
options=('!makeflags' '!emptydirs' 'staticlibs')
build() {
diff --git a/abs/extra/ocamlbuild/PKGBUILD b/abs/extra/ocamlbuild/PKGBUILD
index 25fa398..eacd3b4 100644
--- a/abs/extra/ocamlbuild/PKGBUILD
+++ b/abs/extra/ocamlbuild/PKGBUILD
@@ -1,27 +1,26 @@
-# $Id$
# Maintainer: Jürgen Hötzel <juergen@hoetzel.info>
pkgname=ocamlbuild
-pkgver=0.9.3
-pkgrel=1
+pkgver=0.13.1
+pkgrel=2
pkgdesc='Build tool, that has built-in rules for building OCaml library and programs'
-arch=('x86_64' 'i686')
+arch=('x86_64')
license=('GPL2')
url='https://github.com/ocaml/ocamlbuild/releases'
depends=('ocaml>=4.04.0')
options=('!makeflags')
source=("https://github.com/ocaml/${pkgname}/archive/$pkgver.tar.gz")
-sha1sums=('16d15d90689b3748a2727e02e03c99a8c2d9ccc7')
+sha1sums=('092907719d184ca5ada87958eea1866e83b0fd51')
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make configure
make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir/" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/extra/opam/PKGBUILD b/abs/extra/opam/PKGBUILD
new file mode 100644
index 0000000..0db29ee
--- /dev/null
+++ b/abs/extra/opam/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
+# Contributor: Vincent B. <vb@luminar.eu.org>
+
+pkgname=opam
+pkgver=2.0.3
+pkgrel=1
+pkgdesc='OCaml package manager'
+arch=(x86_64)
+url='https://opam.ocaml.org/'
+license=(GPL)
+depends=(bubblewrap ocaml-compiler-libs unzip)
+optdepends=('darcs: For downloading packages with darcs'
+ 'git: For downloading packages with git'
+ 'mercurial: For downloading packages with mercurial'
+ 'rsync: For downloading packages with rsync')
+source=("https://github.com/ocaml/opam/releases/download/$pkgver/opam-full-$pkgver.tar.gz")
+sha256sums=('0589da4da184584a5445d59385009536534f60bc0e27772245b2f49e5fa8f0e2')
+
+build() {
+ cd "opam-full-$pkgver"
+ ./configure --prefix=/usr
+ make lib-ext all -j1 \
+ OCAMLC='ocamlc -unsafe-string' \
+ OCAMLOPT='ocamlopt -unsafe-string'
+}
+
+package() {
+ make -C "opam-full-$pkgver" DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/usr/share/doc"
+ mv "$pkgdir/usr/doc/opam-installer" "$pkgdir/usr/share/doc/opam"
+ rmdir "$pkgdir/usr/doc"
+}
+
+# getver: opam.ocaml.org
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD
index 21eb1d3..36a5b72 100644
--- a/abs/extra/openpht/PKGBUILD
+++ b/abs/extra/openpht/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=openpht
pkgver=1.8.0.148
_pkghash=573b6d73
-pkgrel=3
+pkgrel=4
pkgdesc='OpenPHT is a community driven fork of Plex Home Theater'
arch=('i686' 'x86_64')
url='https://github.com/RasPlex/OpenPHT/'
diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD
index f305dd3..8122125 100644
--- a/abs/extra/plex-media-server/PKGBUILD
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -7,8 +7,8 @@
# Contributor: Praekon <praekon@googlemail.com>
pkgname=plex-media-server
-pkgver=1.13.8.5395
-_pkgsum=10d48da0d
+pkgver=1.14.1.5488
+_pkgsum=cc260c476
pkgrel=1
pkgdesc='Plex Media Server'
arch=('x86_64')
@@ -45,4 +45,4 @@ md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc'
'97241861f2c0b7c82d1945a6c5de8e35'
'506ec15815bba749a743780edd2323c8'
'af6d0a81c7821b2eddb1bc137310ca1b'
- 'f47d1da2bd2150bccdb283cea21d4e9a')
+ 'fafb64a6cc876478964e563af35ea1bd')
diff --git a/abs/extra/rapidjson/PKGBUILD b/abs/extra/rapidjson/PKGBUILD
new file mode 100644
index 0000000..27612a6
--- /dev/null
+++ b/abs/extra/rapidjson/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Jonathan Steel <jsteel at archlinux.org>
+# Contributor: Yunhui Fu <yhfudev@gmail.com>
+
+pkgname=rapidjson
+pkgver=1.1.0
+pkgrel=3
+pkgdesc="A fast JSON parser/generator for C++ with both SAX/DOM style API"
+arch=('any')
+url="https://github.com/miloyip/rapidjson"
+license=('MIT')
+makedepends=('gcc' 'cmake')
+source=($pkgname-$pkgver.tar.gz::https://github.com/miloyip/$pkgname/archive/v$pkgver.tar.gz)
+md5sums=('badd12c511e081fec6c89c43a7027bce')
+
+prepare() {
+ cd $pkgname-$pkgver
+ find -name CMakeLists.txt | xargs sed -e 's|-Werror||' -i # Don't use -Werror
+}
+
+build () {
+ cd $pkgname-$pkgver
+
+ mkdir -p build
+ cd build
+
+ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver/build
+
+ DESTDIR="$pkgdir" make install
+
+ install -Dm644 ../license.txt "$pkgdir"/usr/share/licenses/$pkgname/license.txt
+}
diff --git a/abs/extra/sassc/PKGBUILD b/abs/extra/sassc/PKGBUILD
new file mode 100644
index 0000000..eb1ecaf
--- /dev/null
+++ b/abs/extra/sassc/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Jerome Leclanche <jerome@leclan.ch>
+# Contributor: Isaac Dupree <antispam@idupree.com>
+
+pkgname=sassc
+pkgver=3.5.0
+pkgrel=2
+pkgdesc="C implementation of Sass CSS preprocessor."
+arch=("x86_64")
+url="http://libsass.org/"
+license=("MIT")
+depends=("libsass")
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sass/$pkgname/archive/$pkgver.tar.gz")
+sha256sums=("26f54e31924b83dd706bc77df5f8f5553a84d51365f0e3c566df8de027918042")
+
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ autoreconf -i
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/screen/PKGBUILD b/abs/extra/screen/PKGBUILD
index 3413734..a360b2f 100644
--- a/abs/extra/screen/PKGBUILD
+++ b/abs/extra/screen/PKGBUILD
@@ -1,48 +1,52 @@
-# $Id: PKGBUILD 147962 2012-01-29 04:41:21Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Committer: dorphell <dorphell@gmx.net>
pkgname=screen
-pkgver=4.0.3
-pkgrel=13
-_ptygroup=5 #the UID of our PTY/TTY group
-pkgdesc="Full-screen window manager that multiplexes a physical terminal"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/screen/"
+pkgver=4.6.2
+pkgrel=1
+pkgdesc='Full-screen window manager that multiplexes a physical terminal'
+url='https://www.gnu.org/software/screen/'
+arch=('x86_64')
license=('GPL')
depends=('ncurses' 'pam')
+source=("https://ftp.gnu.org/gnu/screen/screen-${pkgver}.tar.gz"
+ 'tmpfiles.d'
+ 'pam.d')
+sha256sums=('1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a'
+ '1f33ce4faca7bd05dd80403411af31e682d5d23e79558e884ae5a35f1dd96223'
+ '971c25929ea97422c09e10679ab98e9e6c59295aae1a4a9970909d2206e23090')
+
backup=('etc/screenrc' 'etc/pam.d/screen')
options=('!makeflags')
-install=screen.install
-source=(ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-${pkgver}.tar.gz
- screen-4.0.3-long-term.patch
- screen-4.0.3-caption-colors.patch
- screen.pam)
-md5sums=('8506fd205028a96c741e4037de6e3c42'
- '2723c3e71d5a2e5a74b6ddbc5215ef0f'
- '191b6ced695ce2ae3a65bf02c2d4220f'
- '74f7919d7b65436cc2ea5341fa8ca374')
+
+_ptygroup=5 #the UID of our PTY/TTY group
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i $srcdir/screen-4.0.3-long-term.patch
- patch -Np2 -i $srcdir/screen-4.0.3-caption-colors.patch
-
- ./configure --prefix=/usr --enable-pam \
- --with-sys-screenrc=/etc/screenrc --enable-colors256 \
- --enable-rxvt_osc --enable-telnet \
- --with-pty-group=$_ptygroup \
- --mandir=/usr/share/man --infodir=/usr/share/info
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-colors256 \
+ --enable-pam \
+ --enable-rxvt_osc \
+ --enable-telnet \
+ --with-pty-group=$_ptygroup \
+ --with-socket-dir=/run/screens \
+ --with-sys-screenrc=/etc/screenrc \
+
+ make
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
- install -Dm644 ${srcdir}/screen.pam ${pkgdir}/etc/pam.d/screen
+ install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/screen
+ install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/screen.conf
- install -Dm644 etc/completer.zsh ${pkgdir}/usr/share/zsh/site-functions/screen
- install -Dm644 etc/etcscreenrc ${pkgdir}/etc/screenrc
- install -Dm644 etc/screenrc ${pkgdir}/etc/skel/.screenrc
+ install -Dm644 etc/etcscreenrc "${pkgdir}"/etc/screenrc
+ install -Dm644 etc/screenrc "${pkgdir}"/etc/skel/.screenrc
}
diff --git a/abs/extra/screen/screen.pam b/abs/extra/screen/pam.d
index 07c42ad..07c42ad 100644
--- a/abs/extra/screen/screen.pam
+++ b/abs/extra/screen/pam.d
diff --git a/abs/extra/screen/screen-4.0.3-caption-colors.patch b/abs/extra/screen/screen-4.0.3-caption-colors.patch
deleted file mode 100644
index c92cb0c..0000000
--- a/abs/extra/screen/screen-4.0.3-caption-colors.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From e6a28cf8bfdac15faa6c267bf476ddcaddf48d67 Mon Sep 17 00:00:00 2001
-From: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
-Date: Tue, 26 Jan 2010 20:17:26 +0000
-Subject: Accommodate more color changes in the caption.
-
----
-diff --git a/src/screen.c b/src/screen.c
-index b1c3dfb..2cceae0 100644
---- a/src/screen.c
-+++ b/src/screen.c
-@@ -2204,7 +2204,7 @@ static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
- #endif
-
- static char winmsg_buf[MAXSTR];
--#define MAX_WINMSG_REND 16 /* rendition changes */
-+#define MAX_WINMSG_REND 256 /* rendition changes */
- static int winmsg_rend[MAX_WINMSG_REND];
- static int winmsg_rendpos[MAX_WINMSG_REND];
- static int winmsg_numrend;
---
-cgit v0.8.3.4
diff --git a/abs/extra/screen/screen-4.0.3-long-term.patch b/abs/extra/screen/screen-4.0.3-long-term.patch
deleted file mode 100644
index 3e66acd..0000000
--- a/abs/extra/screen/screen-4.0.3-long-term.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur screen-4.0.3-orig//display.h screen-4.0.3/display.h
---- screen-4.0.3-orig//display.h 2003-07-02 00:01:42.000000000 +1000
-+++ screen-4.0.3/display.h 2010-12-03 20:19:23.826671689 +1000
-@@ -85,7 +85,7 @@
- struct win *d_other; /* pointer to other window */
- int d_nonblock; /* -1 don't block if obufmax reached */
- /* >0: block after nonblock secs */
-- char d_termname[20 + 1]; /* $TERM */
-+ char d_termname[40 + 1]; /* $TERM */
- char *d_tentry; /* buffer for tgetstr */
- char d_tcinited; /* termcap inited flag */
- int d_width, d_height; /* width/height of the screen */
-diff -Naur screen-4.0.3-orig//screen.h screen-4.0.3/screen.h
---- screen-4.0.3-orig//screen.h 2003-08-22 22:28:43.000000000 +1000
-+++ screen-4.0.3/screen.h 2010-12-03 20:19:43.163338333 +1000
-@@ -202,7 +202,7 @@
- char preselect[20];
- int esc; /* his new escape character unless -1 */
- int meta_esc; /* his new meta esc character unless -1 */
-- char envterm[20 + 1]; /* terminal type */
-+ char envterm[40 + 1]; /* terminal type */
- int encoding; /* encoding of display */
- }
- attach;
diff --git a/abs/extra/screen/screen.install b/abs/extra/screen/screen.install
deleted file mode 100644
index 9340e60..0000000
--- a/abs/extra/screen/screen.install
+++ /dev/null
@@ -1,21 +0,0 @@
-infodir=usr/share/info
-filelist=(screen.info screen.info-1 screen.info-2 screen.info-3 screen.info-4 screen.info-5)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
diff --git a/abs/extra/screen/tmpfiles.d b/abs/extra/screen/tmpfiles.d
new file mode 100644
index 0000000..2273828
--- /dev/null
+++ b/abs/extra/screen/tmpfiles.d
@@ -0,0 +1 @@
+d /run/screens 0755 root root -
diff --git a/abs/extra/source-highlight/PKGBUILD b/abs/extra/source-highlight/PKGBUILD
index 6c1ae0c..250ab53 100644
--- a/abs/extra/source-highlight/PKGBUILD
+++ b/abs/extra/source-highlight/PKGBUILD
@@ -1,18 +1,24 @@
-# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=source-highlight
pkgver=3.1.8
-pkgrel=14
+pkgrel=18
pkgdesc="Convert source code to syntax highlighted document"
arch=('x86_64')
url="http://www.gnu.org/software/src-highlite/"
license=('GPL')
depends=('bash' 'boost-libs')
makedepends=('ctags' 'boost')
-source=("ftp://ftp.gnu.org/gnu/src-highlite/${pkgname}-${pkgver}.tar.gz")
-md5sums=('3243470706ef5fefdc3e43b5306a4e41')
+source=("ftp://ftp.gnu.org/gnu/src-highlite/${pkgname}-${pkgver}.tar.gz"
+ "fix-zsh-highlighting-hangups.patch")
+md5sums=('3243470706ef5fefdc3e43b5306a4e41'
+ '5b6129bca6fcd0ea252fa31bf7a988fa')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -Np1 -i "${srcdir}/fix-zsh-highlighting-hangups.patch"
+}
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/source-highlight/fix-zsh-highlighting-hangups.patch b/abs/extra/source-highlight/fix-zsh-highlighting-hangups.patch
new file mode 100644
index 0000000..200c9f8
--- /dev/null
+++ b/abs/extra/source-highlight/fix-zsh-highlighting-hangups.patch
@@ -0,0 +1,13 @@
+diff --git a/src/zsh.lang b/src/zsh.lang
+index 69542a7..a0bac36 100644
+--- a/src/zsh.lang
++++ b/src/zsh.lang
+@@ -35,7 +35,7 @@ keyword = "alias|always|autoload|bg|bindkey|break|builtin",
+ "unlimit|unset|unsetopt|until|vared|wait|whence",
+ "where|which|while|zcompile|zformat|zftp|zle",
+ "zmodload|zparseopts|zprof|zpty|zregexparse",
+- "zsocket|zstyle|ztcp|"
++ "zsocket|zstyle|ztcp"
+
+ variable = '\$\{([^[:blank:]]+)\}'
+ variable = '\$\(([^[:blank:]]+)\)'
diff --git a/abs/extra/ttf-google-fonts-git/PKGBUILD b/abs/extra/ttf-google-fonts-git/PKGBUILD
deleted file mode 100644
index a4e60a2..0000000
--- a/abs/extra/ttf-google-fonts-git/PKGBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# Maintainer: Sebastian Stammler <stammler.s@gmail.com>
-#
-# Now pacman 4.1 ready!
-# For improvements/fixes to this package, please send me a
-# pull request on github: https://github.com/sebastianst/aur-packages
-#
-# Contributor: Sarkasper <echo a2FzcGVyLm1lbnRlbkBnbXguY29tCg== | base64 -d>
-# Contributor: Daniel Micay <danielmicay@gmail.com>
-# Contributor: Michalis Georgiou <mechmg93@gmail.comr>
-# Contributor: Alexander De Sousa <archaur.xandy21@spamgourmet.com>
-
-pkgname=ttf-google-fonts-git
-pkgver=20130818
-pkgrel=1
-pkgdesc="Google Fonts catalogue."
-arch=('any')
-url="https://github.com/w0ng/googlefontdirectory"
-license=('various')
-depends=('fontconfig' 'xorg-fonts-encodings')
-makedepends=(git)
-conflicts=('googlefontdirectory'
- 'jsmath-fonts'
- 'lohit-fonts'
- 'oldstand-font'
- 'otf-goudy'
- 'ttf-andika'
- 'ttf-anonymous-pro'
- 'ttf-cantarell'
- 'ttf-cardo'
- 'ttf-chromeos-fonts'
- 'ttf-droid'
- 'ttf-google-webfonts-hg'
- 'ttf-inconsolata'
- 'ttf-kimberly_geswein_print'
- 'ttf-nova'
- 'ttf-oldstandard'
- 'ttf-pt-mono'
- 'ttf-pt-sans'
- 'ttf-ptsans'
- 'ttf-roboto'
- 'ttf-sil-fonts'
- 'ttf-sortsmillgoudy'
- 'ttf-source-code-pro'
- 'ttf-source-sans-pro'
- 'ttf-ubuntu-font-family'
- 'ttf-vollkorn'
- 'ttf-google-webfonts'
- 'ttf-oxygen'
- 'ttf-opensans'
- 'ttf-medievalsharp'
- 'ttf-google-webfonts-git'
- 'cantarell-fonts'
- 'ttf-comfortaa')
-provides=("${conflicts[@]}")
-source=("git://github.com/w0ng/googlefontdirectory.git")
-md5sums=('SKIP')
-install=font.install
-
-# git variables
-_gitname="googlefontdirectory"
-
-pkgver() {
- cd "$srcdir/$_gitname"
- git log -1 --format="%cd" --date=short | sed 's|-||g'
-}
-
-package() {
- cd "$srcdir"
- install -dm755 "$pkgdir/usr/share/fonts/TTF"
- find . -type f -name \*.ttf -exec install -Dm644 '{}' \
- "$pkgdir/usr/share/fonts/TTF" \;
-}
diff --git a/abs/extra/ttf-google-fonts-git/font.install b/abs/extra/ttf-google-fonts-git/font.install
deleted file mode 100644
index faf717e..0000000
--- a/abs/extra/ttf-google-fonts-git/font.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- echo -n "Updating font cache... "
- fc-cache -fs > /dev/null
- mkfontscale /usr/share/fonts/TTF
- mkfontdir /usr/share/fonts/TTF
- echo "done"
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install $1
-} \ No newline at end of file
diff --git a/abs/extra/wayland-protocols/PKGBUILD b/abs/extra/wayland-protocols/PKGBUILD
index 88b7dd1..2c721cc 100644
--- a/abs/extra/wayland-protocols/PKGBUILD
+++ b/abs/extra/wayland-protocols/PKGBUILD
@@ -1,8 +1,7 @@
-# $Id$
# Maintainer: Sébastien Luttringer <seblu@seblu.net>
pkgname=wayland-protocols
-pkgver=1.12
+pkgver=1.17
pkgrel=1
pkgdesc='Specifications of extended Wayland protocols'
arch=('any')
@@ -12,9 +11,13 @@ makedepends=('wayland')
validpgpkeys=('8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A' # Jonas Ådahl
'A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone
source=("https://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.sig})
-sha1sums=('ac908e91c6c5e7802c0af48f55725ad683017e72'
+sha1sums=('7d2569c838c776545e3eb1b1049b9c37178aae24'
'SKIP')
+prepare() {
+ cd $pkgname-$pkgver
+}
+
build() {
cd $pkgname-$pkgver
@@ -22,11 +25,17 @@ build() {
make
}
+check() {
+ cd $pkgname-$pkgver
+
+ make check
+}
+
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
- install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m 644 COPYING
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/wayland/PKGBUILD b/abs/extra/wayland/PKGBUILD
index 48713fd..b5a7bcf 100644
--- a/abs/extra/wayland/PKGBUILD
+++ b/abs/extra/wayland/PKGBUILD
@@ -1,35 +1,62 @@
-# $Id$
# Maintainer: Tom Gundersen <teg@jklm.no>
# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
# Contributor: Joel Teichroeb <joel@teichroeb.net>
-pkgname=wayland
-pkgver=1.14.0
+pkgbase=wayland
+pkgname=(wayland wayland-docs)
+pkgver=1.16.0
pkgrel=1
pkgdesc='A computer display server protocol'
arch=('x86_64')
url='https://wayland.freedesktop.org/'
license=('MIT')
depends=('glibc' 'libffi' 'expat' 'libxml2')
-validpgpkeys=('C7223EBE4EF66513B892598911A30156E0E67611') # Bryce Harrington
-source=("https://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.sig})
-sha1sums=('53a443be3bafe73209bbc49ef2cb134ed16e0141'
+makedepends=('libxslt' 'doxygen' 'xmlto' 'graphviz' 'docbook-xsl')
+validpgpkeys=('C7223EBE4EF66513B892598911A30156E0E67611' # Bryce Harrington
+ 'C0066D7DB8E9AC6844D728715E54498E697F11D7') # Derek Foreman
+source=("https://wayland.freedesktop.org/releases/$pkgbase-$pkgver.tar.xz"{,.sig})
+sha1sums=('24c63a5045c653dcfa24efd10fa7c7de89aca9ef'
'SKIP')
+prepare() {
+ cd $pkgbase-$pkgver
+}
+
build() {
- cd $pkgname-$pkgver
+ cd $pkgbase-$pkgver
./configure \
--prefix=/usr \
- --disable-documentation \
--disable-static
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
-package() {
- cd $pkgname-$pkgver
+check() {
+ cd $pkgbase-$pkgver
+
+ make check
+}
+
+package_wayland() {
+ cd $pkgbase-$pkgver
make DESTDIR="$pkgdir" install
+
+ mkdir -p "$srcdir/docs/share"
+ mv "$pkgdir"/usr/share/{doc,man} "$srcdir/docs/share"
+
+ install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+package_wayland-docs() {
+ pkgdesc+=" (documentation)"
+ depends=()
+
+ cd $pkgbase-$pkgver
+
+ mv "$srcdir/docs" "$pkgdir/usr"
+
install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}
diff --git a/abs/extra/yelp-tools/PKGBUILD b/abs/extra/yelp-tools/PKGBUILD
index a5fba2f..c8859ed 100644
--- a/abs/extra/yelp-tools/PKGBUILD
+++ b/abs/extra/yelp-tools/PKGBUILD
@@ -1,26 +1,35 @@
-# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=yelp-tools
-pkgver=3.18.0
+pkgver=3.28.0
pkgrel=1
-pkgdesc="Tools for creating Yelp documentation"
-arch=('any')
-depends=('yelp-xsl' 'libxslt' 'libxml2' 'itstool')
-license=('GPL')
-options=('!emptydirs')
-url="http://www.gnome.org"
-source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('c6c1d65f802397267cdc47aafd5398c4b60766e0a7ad2190426af6c0d0716932')
+pkgdesc="Collection of tools for building and converting documentation"
+url="https://gitlab.gnome.org/GNOME/yelp-tools"
+arch=(any)
+depends=(yelp-xsl libxslt libxml2 itstool docbook-xsl)
+makedepends=(git)
+license=(GPL)
+_commit=54a1bd6142d367b18a36d1ba96705840042747be # tags/3.28.0^0
+source=("git+https://gitlab.gnome.org/GNOME/yelp-tools.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
build() {
- cd $pkgname-$pkgver
+ cd $pkgname
./configure --prefix=/usr
make
}
package() {
- cd $pkgname-$pkgver
+ cd $pkgname
make DESTDIR="$pkgdir" install
}