diff options
Diffstat (limited to 'abs/extra')
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 } |