diff options
author | Britney Fransen <brfransen@gmail.com> | 2018-09-06 16:35:27 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2018-09-06 16:35:27 (GMT) |
commit | 5669815ec3a539cf7b5ac7d8da2cbba3aeff44be (patch) | |
tree | f13051093a52f47f5954c2ee2a783bc2f0f62f96 /abs/extra | |
parent | 8d35f28049488f2585ef765bf48e7a58958fd587 (diff) | |
parent | 04697136037cb5341ee6c051f8aaa265c0400c82 (diff) | |
download | linhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.zip linhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.tar.gz linhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.tar.bz2 |
Merge branch 'testing'
Diffstat (limited to 'abs/extra')
341 files changed, 18670 insertions, 10189 deletions
diff --git a/abs/extra/asciidoctor/PKGBUILD b/abs/extra/asciidoctor/PKGBUILD new file mode 100644 index 0000000..ae4f5d6 --- /dev/null +++ b/abs/extra/asciidoctor/PKGBUILD @@ -0,0 +1,35 @@ +# $Id$ +# Maintainer: Christian Rebischke <chris.rebischke@archlinux.org> +# Contributor: Stefan Tatschner <rumpelsepp@sevenbyte.org> +# Contributor: Nick Østergaard <oe.nick at gmail dot com> +# Contributor: Nicolas Bigaouette <nbigaouette@chemcomp.com> + +pkgname=asciidoctor +pkgver=1.5.6.1 +pkgrel=3 +pkgdesc='An implementation of AsciiDoc in Ruby' +arch=('any') +url='http://asciidoctor.org' +license=('MIT') +makedepends=('ruby-rdoc') +depends=('ruby') +options=(!emptydirs) +source=(https://rubygems.org/downloads/${pkgname}-${pkgver}.gem) +noextract=($pkgname-$pkgver.gem) +sha512sums=('cb23ab539b16b064e4a21575420abdaab34e20b7650a43b47df68ded1a424d1ab265c88102d4f3d3422bd30952fd93db7de254d61fdc253d17ffd93f1345bcdf') + +package() { + local _gemdir="$(ruby -e 'puts Gem.default_dir')" + + gem install --ignore-dependencies --no-user-install --verbose \ + -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" \ + "$pkgname-$pkgver.gem" + + install -Dm644 "$pkgdir/$_gemdir/gems/$pkgname-$pkgver/LICENSE.adoc" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE.adoc" + install -Dm644 "$pkgdir/$_gemdir/gems/$pkgname-$pkgver/man/asciidoctor.1" \ + "$pkgdir/usr/share/man/man1/asciidoctor.1" + + rm "$pkgdir/$_gemdir/cache/$pkgname-$pkgver.gem" + rm -rf "$pkgdir/$_gemdir/gems/$pkgname-$pkgver/man" +} diff --git a/abs/extra/assimp/PKGBUILD b/abs/extra/assimp/PKGBUILD new file mode 100644 index 0000000..77f57da --- /dev/null +++ b/abs/extra/assimp/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: jepaan <jepaan at hotmail dot com> + +pkgname=assimp +pkgver=4.1.0 +pkgrel=1 +pkgdesc="Library to import various well-known 3D model formats in an uniform manner" +arch=('x86_64') +license=('BSD') +depends=('zlib' 'gcc-libs' 'boost-libs') +makedepends=('cmake' 'boost') +url='http://assimp.sourceforge.net/index.html' +source=("$pkgname-$pkgver.tar.gz::https://github.com/assimp/assimp/archive/v${pkgver}.tar.gz") +md5sums=('83b53a10c38d964bd1e69da0606e2727') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + mkdir build && cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DASSIMP_BUILD_SAMPLES=OFF + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver}/build + + make DESTDIR=$pkgdir install + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/abs/extra/bash-completion/PKGBUILD b/abs/extra/bash-completion/PKGBUILD index 575e523..a2b3d9c 100644 --- a/abs/extra/bash-completion/PKGBUILD +++ b/abs/extra/bash-completion/PKGBUILD @@ -2,33 +2,33 @@ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=bash-completion -pkgver=2.4 -pkgrel=1 -pkgdesc="Programmable completion for the bash shell" +pkgver=2.7 +pkgrel=2 +pkgdesc='Programmable completion for the bash shell' arch=('any') -url="https://github.com/scop/bash-completion" -license=('GPL2') -depends=('bash') -options=('!emptydirs' '!makeflags') -source=("https://github.com/scop/bash-completion/releases/download/$pkgver/$pkgname-$pkgver.tar.xz") -sha1sums=('c02fb9c0f669d178f678c291ea17ddadfd011250') +url='https://github.com/scop/bash-completion' +license=(GPL2) +depends=(bash) +options=(!emptydirs !makeflags) +source=($url/releases/download/$pkgver/$pkgname-$pkgver.tar.xz) +sha1sums=('2260342127086cfedd4801f796fdaaa051411a14') build() { - cd ${pkgname}-${pkgver} + cd $pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc make } package() { - cd ${pkgname}-${pkgver} - make DESTDIR="${pkgdir}" install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install -# bash-completion is sourced in /etc/bash.bashrc so that non-bash shell don't source it - rm "${pkgdir}/etc/profile.d/bash_completion.sh" + # bash-completion is sourced in /etc/bash.bashrc so that non-bash shell don't source it + rm "$pkgdir/etc/profile.d/bash_completion.sh" -# remove Slackware's makepkg completion - rm "${pkgdir}/usr/share/bash-completion/completions/makepkg" + # remove Slackware's makepkg completion + rm "$pkgdir/usr/share/bash-completion/completions/makepkg" -# remove completions which overlap with util-linux - rm "${pkgdir}/usr/share/bash-completion/completions"/{u,}mount + # remove completions which overlap with util-linux + rm "$pkgdir/usr/share/bash-completion/completions"/{{u,}mount,rfkill} } diff --git a/abs/extra/bind/127.0.0.zone b/abs/extra/bind/127.0.0.zone new file mode 100644 index 0000000..3c5c964 --- /dev/null +++ b/abs/extra/bind/127.0.0.zone @@ -0,0 +1,10 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +1.0.0.127.in-addr.arpa. 1D IN PTR localhost. diff --git a/abs/extra/bind/PKGBUILD b/abs/extra/bind/PKGBUILD new file mode 100644 index 0000000..3b18703 --- /dev/null +++ b/abs/extra/bind/PKGBUILD @@ -0,0 +1,134 @@ +# $Id: PKGBUILD 113060 2014-06-12 10:51:06Z seblu $ +# Maintainer: Sébastien Luttringer +# Contributor: Gaetan Bisson <bisson@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> +# Contributor: Mario Vazquez <mario_vazq@hotmail.com> + +pkgbase=bind +pkgname=(bind bind-tools) +_pkgver=9.12.0 +pkgver=${_pkgver//-/.} +pkgrel=1 +url='https://www.isc.org/software/bind/' +license=('MPL2') +arch=('x86_64') +options=('!emptydirs') +makedepends=('libcap' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' 'openssl' 'readline' + 'idnkit' 'geoip' 'dnssec-anchors' 'python' 'json-c' 'python-ply' 'libseccomp') +validpgpkeys=('2B48A38AE1CF9886435F89EE45AC7857189CDBC5' + 'ADBE9446286C794905F1E0756FA6EBC9911A4C02' #ISC, Inc) + 'BE0E9748B718253A28BB89FFF1B11BF05CF02E57' #Internet Systems Consortium, Inc. + ) +source=("https://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"{,.asc} + 'tmpfiles.conf' + 'sysusers.conf' + 'named.conf' + 'named.service' + 'localhost.zone' + 'localhost.ip6.zone' + '127.0.0.zone' + 'empty.zone') +sha1sums=('55015312b571dd4f6e8ef7a054b6937378e092c4' + 'SKIP' + 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11' + '9537f4835a1f736788d0733c7996a10db2d4eee4' + 'c017aae379c32c7cb1aa1ad84776b83e3a5c139f' + '62b06487323dd0d515a4dc659b8ecd193c29107b' + '6704303a6ed431a29b1d8fe7b12decd4d1f2f50f' + '52da8f1c0247a11b16daa4e03d920e8f09315cbe' + '9c33726088342207ad06d33b2c13408290a0c8ad' + '4f4457b310cbbeadca2272eced062a9c2b2b42fe') + +prepare() { + msg2 'Getting a fresh version of root DNS' + # no more using source array, lack of versioning. + curl -o root.hint https://www.internic.net/zones/named.root + [[ -s root.hint ]] + cd bind-$_pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done +} + +build() { + cd bind-$_pkgver + export CFLAGS+=' -DDIG_SIGCHASE' + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --disable-static \ + --enable-ipv6 \ + --enable-filter-aaaa \ + --enable-fixed-rrset \ + --enable-seccomp \ + --enable-full-report \ + --with-python=/usr/bin/python \ + --with-geoip \ + --with-idn \ + --with-openssl \ + --with-libjson \ + --with-libxml2 \ + --with-libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package_bind() { + pkgdesc='The ISC DNS Server' + provides=('dns-server') + depends=('glibc' 'libxml2' 'libcap' 'libseccomp' 'openssl' 'geoip' 'json-c' + 'bind-tools') + backup=('etc/named.conf' + 'var/named/127.0.0.zone' + 'var/named/localhost.zone' + 'var/named/localhost.ip6.zone' + 'var/named/empty.zone') + + cd "bind-$_pkgver" + install -dm755 "$pkgdir/usr/share/licenses/$pkgname/" + install -Dm644 LICENSE COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/" + for _d in bin/{check,confgen,named,rndc}; do + (cd "$_d" && make DESTDIR="$pkgdir" install) + done + + cd "$srcdir" + install -D -m644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + install -D -m644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + + install -D -m644 named.service "$pkgdir/usr/lib/systemd/system/named.service" + install -D -m640 -o 0 -g 40 named.conf "$pkgdir/etc/named.conf" + + install -d -m770 -o 0 -g 40 "$pkgdir/var/named" + install -m640 -o 0 -g 40 root.hint "$pkgdir/var/named" + install -m640 -o 0 -g 40 localhost.zone "$pkgdir/var/named" + install -m640 -o 0 -g 40 localhost.ip6.zone "$pkgdir/var/named" + install -m640 -o 0 -g 40 127.0.0.zone "$pkgdir/var/named" + install -m640 -o 0 -g 40 empty.zone "$pkgdir/var/named" +} + +package_bind-tools() { + pkgdesc='The ISC DNS tools' + depends=('glibc' 'libcap' 'libseccomp' 'libxml2' 'zlib' 'krb5' 'e2fsprogs' + 'openssl' 'readline' 'geoip' 'idnkit' 'dnssec-anchors' 'json-c') + optdepends=('python: for python scripts') + conflicts=('dnsutils') + replaces=('dnsutils' 'host') + provides=("dnsutils=$pkgver") + + cd "bind-$_pkgver" + install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + make DESTDIR="$pkgdir" SUBDIRS="" install + (cd lib && make DESTDIR="$pkgdir" install) + for _d in bin/{dig,dnssec,delv,nsupdate,python,tools}; do + (cd "$_d" && make DESTDIR="$pkgdir" install) + done +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/bind/empty.zone b/abs/extra/bind/empty.zone new file mode 100644 index 0000000..7501c74 --- /dev/null +++ b/abs/extra/bind/empty.zone @@ -0,0 +1,8 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. diff --git a/abs/extra/bind/localhost.ip6.zone b/abs/extra/bind/localhost.ip6.zone new file mode 100644 index 0000000..c021a28 --- /dev/null +++ b/abs/extra/bind/localhost.ip6.zone @@ -0,0 +1,10 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. 1D IN PTR localhost. diff --git a/abs/extra/bind/localhost.zone b/abs/extra/bind/localhost.zone new file mode 100644 index 0000000..e87274d --- /dev/null +++ b/abs/extra/bind/localhost.zone @@ -0,0 +1,11 @@ +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (yyyymmdd##) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum ttl + + 1D IN NS localhost. + +localhost. 1D IN A 127.0.0.1 +localhost. 1D IN AAAA ::1 diff --git a/abs/extra/bind/named.conf b/abs/extra/bind/named.conf new file mode 100644 index 0000000..827445d --- /dev/null +++ b/abs/extra/bind/named.conf @@ -0,0 +1,72 @@ +// vim:set ts=4 sw=4 et: + +options { + directory "/var/named"; + pid-file "/run/named/named.pid"; + + // Uncomment these to enable IPv6 connections support + // IPv4 will still work: + // listen-on-v6 { any; }; + // Add this for no IPv4: + // listen-on { none; }; + + allow-recursion { 127.0.0.1; }; + allow-transfer { none; }; + allow-update { none; }; + + version none; + hostname none; + server-id none; +}; + +zone "localhost" IN { + type master; + file "localhost.zone"; +}; + +zone "0.0.127.in-addr.arpa" IN { + type master; + file "127.0.0.zone"; +}; + +zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" { + type master; + file "localhost.ip6.zone"; +}; + +zone "255.in-addr.arpa" IN { + type master; + file "empty.zone"; +}; + +zone "0.in-addr.arpa" IN { + type master; + file "empty.zone"; +}; + +zone "." IN { + type hint; + file "root.hint"; +}; + +//zone "example.org" IN { +// type slave; +// file "example.zone"; +// masters { +// 192.168.1.100; +// }; +// allow-query { any; }; +// allow-transfer { any; }; +//}; + +//logging { +// channel xfer-log { +// file "/var/log/named.log"; +// print-category yes; +// print-severity yes; +// severity info; +// }; +// category xfer-in { xfer-log; }; +// category xfer-out { xfer-log; }; +// category notify { xfer-log; }; +//}; diff --git a/abs/extra/bind/named.service b/abs/extra/bind/named.service new file mode 100644 index 0000000..e8625b1 --- /dev/null +++ b/abs/extra/bind/named.service @@ -0,0 +1,10 @@ +[Unit] +Description=Internet domain name server +After=network.target + +[Service] +ExecStart=/usr/bin/named -f -u named +ExecReload=/usr/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/bind/sysusers.conf b/abs/extra/bind/sysusers.conf new file mode 100644 index 0000000..b02acb1 --- /dev/null +++ b/abs/extra/bind/sysusers.conf @@ -0,0 +1 @@ +u named 40 "BIND DNS Server" - diff --git a/abs/extra/bind/tmpfiles.conf b/abs/extra/bind/tmpfiles.conf new file mode 100644 index 0000000..1cfc82d --- /dev/null +++ b/abs/extra/bind/tmpfiles.conf @@ -0,0 +1 @@ +d /run/named 0750 named named - diff --git a/abs/extra/blas/Makefile.blas b/abs/extra/blas/Makefile.blas deleted file mode 100644 index 0c6cd06..0000000 --- a/abs/extra/blas/Makefile.blas +++ /dev/null @@ -1,149 +0,0 @@ -include ../../make.inc - -####################################################################### -# This is the makefile to create a library for the BLAS. -# The files are grouped as follows: -# -# SBLAS1 -- Single precision real BLAS routines -# CBLAS1 -- Single precision complex BLAS routines -# DBLAS1 -- Double precision real BLAS routines -# ZBLAS1 -- Double precision complex BLAS routines -# -# CB1AUX -- Real BLAS routines called by complex routines -# ZB1AUX -- D.P. real BLAS routines called by d.p. complex -# routines -# -# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS -# -# SBLAS2 -- Single precision real BLAS2 routines -# CBLAS2 -- Single precision complex BLAS2 routines -# DBLAS2 -- Double precision real BLAS2 routines -# ZBLAS2 -- Double precision complex BLAS2 routines -# -# SBLAS3 -- Single precision real BLAS3 routines -# CBLAS3 -- Single precision complex BLAS3 routines -# DBLAS3 -- Double precision real BLAS3 routines -# ZBLAS3 -- Double precision complex BLAS3 routines -# -# The library can be set up to include routines for any combination -# of the four precisions. To create or add to the library, enter make -# followed by one or more of the precisions desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Note that these commands are not safe for parallel builds. -# -# Alternatively, the commands -# make all -# or -# make -# without any arguments creates a library of all four precisions. -# The name of the library is held in BLASLIB, which is set in the -# top-level make.inc -# -# To remove the object files after the library is created, enter -# make clean -# To force the source files to be recompiled, enter, for example, -# make single FRC=FRC -# -#--------------------------------------------------------------------- -# -# Edward Anderson, University of Tennessee -# March 26, 1990 -# Susan Ostrouchov, Last updated September 30, 1994 -# ejr, May 2006. -# -####################################################################### - -all: $(BLASLIB) - -#--------------------------------------------------------- -# Comment out the next 6 definitions if you already have -# the Level 1 BLAS. -#--------------------------------------------------------- -SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \ - srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o -$(SBLAS1): $(FRC) - -CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \ - cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o -$(CBLAS1): $(FRC) - -DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \ - drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o -$(DBLAS1): $(FRC) - -ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \ - zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o -$(ZBLAS1): $(FRC) - -CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o -$(CB1AUX): $(FRC) - -ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o -$(ZB1AUX): $(FRC) - -#--------------------------------------------------------------------- -# The following line defines auxiliary routines needed by both the -# Level 2 and Level 3 BLAS. Comment it out only if you already have -# both the Level 2 and 3 BLAS. -#--------------------------------------------------------------------- -ALLBLAS = lsame.o xerbla.o xerbla_array.o -$(ALLBLAS) : $(FRC) - -#--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 2 BLAS. -#--------------------------------------------------------- -SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \ - strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \ - sger.o ssyr.o sspr.o ssyr2.o sspr2.o -$(SBLAS2): $(FRC) - -CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \ - ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \ - cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o -$(CBLAS2): $(FRC) - -DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \ - dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \ - dger.o dsyr.o dspr.o dsyr2.o dspr2.o -$(DBLAS2): $(FRC) - -ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \ - ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \ - zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o -$(ZBLAS2): $(FRC) - -#--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 3 BLAS. -#--------------------------------------------------------- -SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o -$(SBLAS3): $(FRC) - -CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \ - chemm.o cherk.o cher2k.o -$(CBLAS3): $(FRC) - -DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o -$(DBLAS3): $(FRC) - -ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \ - zhemm.o zherk.o zher2k.o -$(ZBLAS3): $(FRC) - -ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ - $(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \ - $(ZBLAS2) $(ZBLAS3) $(ALLBLAS) - -clean: - rm -f *.o libblas.a libblas.so* - -static: $(ALLOBJ) - ar ruv libblas.a $(ALLOBJ) - ranlib libblas.a - -shared: $(ALLOBJ) - cc $(CFLAGS) -shared -Wl,-soname,libblas.so.3 -o libblas.so.3.4.0 $(ALLOBJ) -lm -lgfortran -lc - diff --git a/abs/extra/blas/PKGBUILD b/abs/extra/blas/PKGBUILD deleted file mode 100755 index 94dd1c4..0000000 --- a/abs/extra/blas/PKGBUILD +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: PKGBUILD 130989 2011-07-09 12:22:58Z ronald $ -# Maintainer: Ronald van Haren <ronald.archlinux.org> -# Contributor: Jan de Groot <jgc@archlinux.org> -# Contributor: damir <damir@archlinux.org> -# Contributor: Jason Taylor <jftaylor21@gmail.com> - -pkgname=blas -pkgver=3.4.0 -pkgrel=1 -url="http://www.netlib.org/blas" -makedepends=('gcc-fortran') -depends=('gcc-libs') -pkgdesc="Basic Linear Algebra Subprograms" -arch=('i686' 'x86_64') -license=("custom") -source=(http://www.netlib.org/lapack/lapack-${pkgver}.tgz - Makefile.blas - LICENSE.blas) -sha1sums=('910109a931524f8dcc2734ce23fe927b00ca199f' - '85996f56c13991fc69481c0e88ef905a0dcefb49' - '2491a151a37f0162b25fc4e4e9a8ac444b574a76') - -build() { - cd "${srcdir}/lapack-${pkgver}" - cp -f "${srcdir}/Makefile.blas" BLAS/SRC/Makefile - cp -f INSTALL/make.inc.gfortran make.inc - - export FC=gfortran - - pushd BLAS/SRC - make clean - FFLAGS="${CFLAGS/-O?/-O0}" make dcabs1.o - FFLAGS="${CFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" make shared - cp libblas.so.${pkgver} "${srcdir}/lapack-${pkgver}/" - - popd - ln -s libblas.so.${pkgver} libblas.so - -} - -package_blas() { - install -m755 -d "${pkgdir}/usr/lib" - install -m755 "${srcdir}/lapack-${pkgver}/libblas.so.${pkgver}" \ - "${pkgdir}/usr/lib/" - ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so" - ln -sf libblas.so.${pkgver} "${pkgdir}/usr/lib/libblas.so.3" - - install -m755 -d "${pkgdir}/usr/share/licenses/blas" - install -m644 "${srcdir}/LICENSE.blas" \ - "${pkgdir}/usr/share/licenses/blas/LICENSE" -} - diff --git a/abs/extra/blas/lapack-3.1.1-make.inc.patch b/abs/extra/blas/lapack-3.1.1-make.inc.patch deleted file mode 100644 index c807ccb..0000000 --- a/abs/extra/blas/lapack-3.1.1-make.inc.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- lapack-3.1.1/INSTALL/make.inc.gfortran.BAD 2007-05-25 15:34:55.000000000 -0500 -+++ lapack-3.1.1/INSTALL/make.inc.gfortran 2007-05-25 15:35:51.000000000 -0500 -@@ -8,7 +8,7 @@ SHELL = /bin/sh - # - # The machine (platform) identifier to append to the library names - # --PLAT = _LINUX -+PLAT = - # - # Modify the FORTRAN and OPTS definitions to refer to the - # compiler and desired compiler options for your machine. NOOPT -@@ -17,9 +17,9 @@ PLAT = _LINUX - # desired load options for your machine. - # - FORTRAN = gfortran --OPTS = -O2 -+#OPTS = -O2 - DRVOPTS = $(OPTS) --NOOPT = -O0 -+NOOPT = - LOADER = gfortran - LOADOPTS = - # diff --git a/abs/extra/boost/PKGBUILD b/abs/extra/boost/PKGBUILD index cb7b3b7..648711b 100644 --- a/abs/extra/boost/PKGBUILD +++ b/abs/extra/boost/PKGBUILD @@ -1,5 +1,6 @@ # $Id$ # Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Marius Knaust <marius.knaust@gmail.com> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: kevin <kevin@archlinux.org> @@ -9,23 +10,15 @@ pkgbase=boost pkgname=('boost-libs' 'boost') -pkgver=1.60.0 +pkgver=1.66.0 _boostver=${pkgver//./_} -pkgrel=2 +pkgrel=1 url='http://www.boost.org/' -arch=('i686' 'x86_64') +arch=('x86_64') license=('custom') -makedepends=('icu>=55.1' 'python2' 'bzip2' 'zlib' 'openmpi') -source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2 - cuda_float128.patch::"https://github.com/boostorg/config/commit/a332112317450457c715675686386ec81214b863.patch") -sha1sums=('7f56ab507d3258610391b47fef6b11635861175a' - 'bdc6486e0d90368bbfd872fed8ee3d3c73483933') - -prepare() { - cd ${pkgbase}_${_boostver} - # fix https://svn.boost.org/trac/boost/ticket/11852 - patch -p2 -i ../cuda_float128.patch -} +makedepends=('icu>=55.1' 'python' 'python2' 'python-numpy' 'python2-numpy' 'bzip2' 'zlib' 'openmpi') +source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2) +sha256sums=('5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9') build() { export _stagedir="${srcdir}/stagedir" @@ -39,11 +32,6 @@ build() { [[ "${CARCH}" = "x86_64" ]] && _bindir="bin.linuxx86_64" install -Dm755 tools/build/src/engine/$_bindir/b2 "${_stagedir}"/bin/b2 - # Add an extra python version. This does not replace anything and python 2.x - # need to be the default. - #echo "using python : 3.5 : /usr/bin/python3 : /usr/include/python3.5m : /usr/lib ;" \ - # >> project-config.jam - # Support for OpenMPI echo "using mpi ;" >> project-config.jam @@ -65,10 +53,40 @@ build() { link=shared,static \ toolset=gcc \ python=2.7 \ - cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" linkflags="${LDFLAGS}" \ + cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" \ + cxxflags="${CPPFLAGS} ${CXXFLAGS} -std=c++14 -fPIC -O3" \ + linkflags="${LDFLAGS}" \ --layout=system \ + ${JOBS} \ + \ --prefix="${_stagedir}" \ + install + + # because b2 in boost 1.62.0 doesn't seem to respect python parameter, we + # need another run for liboost_python3.so + sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} ;@' \ + -i bootstrap.sh + + ./bootstrap.sh --with-toolset=gcc --with-icu --with-python=/usr/bin/python3 \ + --with-libraries=python + + "${_stagedir}"/bin/b2 clean + "${_stagedir}"/bin/b2 \ + variant=release \ + debug-symbols=off \ + threading=multi \ + runtime-link=shared \ + link=shared,static \ + toolset=gcc \ + python=3.6 \ + cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" \ + cxxflags="${CPPFLAGS} ${CXXFLAGS} -std=c++14 -fPIC -O3" \ + linkflags="${LDFLAGS}" \ + --layout=system \ ${JOBS} \ + \ + --prefix="${_stagedir}/python3" \ + --with-python \ install } @@ -76,8 +94,7 @@ package_boost() { pkgdesc='Free peer-reviewed portable C++ source libraries - development headers' depends=("boost-libs=${pkgver}") optdepends=('python: for python bindings' - 'python2: for python2 bindings' - 'boost-build: to use boost jam for building your project.') + 'python2: for python2 bindings') options=('staticlibs') install -dm755 "${pkgdir}"/usr @@ -89,6 +106,9 @@ package_boost() { install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \ "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt + install -Dm644 "${_stagedir}"/python3/lib/libboost_*.a \ + "${pkgdir}"/usr/lib/ + ln -s /usr/bin/b2 "$pkgdir"/usr/bin/bjam } @@ -97,8 +117,12 @@ package_boost-libs() { depends=('bzip2' 'zlib' 'icu') optdepends=('openmpi: for mpi support') + # powerdns-recursor keeps being rebuild against outdated boost-libs + provides=('libboost_context.so') + install -dm755 "${pkgdir}"/usr cp -a "${_stagedir}"/lib "${pkgdir}"/usr + cp -a "${_stagedir}"/python3/lib/libboost_* "${pkgdir}"/usr/lib rm "${pkgdir}"/usr/lib/*.a install -Dm644 "${srcdir}/"${pkgbase}_${_boostver}/LICENSE_1_0.txt \ diff --git a/abs/extra/boost/__changelog b/abs/extra/boost/__changelog deleted file mode 100644 index f11e775..0000000 --- a/abs/extra/boost/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD: remove python dep and comment out python 3.5 line diff --git a/abs/extra/clisp/PKGBUILD b/abs/extra/clisp/PKGBUILD new file mode 100644 index 0000000..9a133f2 --- /dev/null +++ b/abs/extra/clisp/PKGBUILD @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: Juergen Hoetzel <juergen@archlinux.org> +pkgname=clisp +pkgver=2.49 +pkgrel=6 +pkgdesc="ANSI Common Lisp interpreter, compiler and debugger" +arch=('x86_64') +license=('GPL') +url="http://clisp.cons.org/" +depends=('readline' 'libsigsegv') +provides=('common-lisp') +makedepends=('ffcall') +options=('!makeflags' '!emptydirs') +source=("http://downloads.sourceforge.net/sourceforge/clisp/clisp-${pkgver}.tar.bz2" + "clisp-gcc5.patch" + "patch-modules_readline_readline.lisp") +md5sums=('1962b99d5e530390ec3829236d168649' + 'e3008f96f6cd3059717d4a930b8c0e9c' + '5b29c9301ab7c1b683da70c2f805609f') + +prepare() { + cd $srcdir/${pkgname}-${pkgver} + patch -Np1 -i ../clisp-gcc5.patch + patch -Np0 -i ../patch-modules_readline_readline.lisp + + # https://sourceforge.net/p/clisp/clisp/ci/cebd289dfc19de4aa504113dfcb0284657787430/ + # http://hg.slitaz.org/wok/rev/d5a39f30f9f1#l2.28 + sed -i 's/clisp\.cons\.org/clisp.org/' src/cfgunix.lisp +} + +build() { + cd $srcdir/${pkgname}-${pkgver} + ./configure --prefix=/usr --with-readline --with-ffcall src + cd src + ./makemake --prefix=/usr --with-readline --with-ffcall --with-dynamic-ffi > Makefile + make + sed -i 's,http://www.lisp.org/HyperSpec/,http://www.lispworks.com/reference/HyperSpec/,g' config.lisp + make +} + +check() { + cd $srcdir/${pkgname}-${pkgver}/src + make check +} + +package() { + cd $srcdir/${pkgname}-${pkgver}/src + make DESTDIR=$pkgdir install +} diff --git a/abs/extra/clisp/clisp-gcc5.patch b/abs/extra/clisp/clisp-gcc5.patch new file mode 100644 index 0000000..79ffa74 --- /dev/null +++ b/abs/extra/clisp/clisp-gcc5.patch @@ -0,0 +1,38 @@ +--- ./src/makemake.in.orig 2013-02-16 15:26:28.000000000 -0700 ++++ ./src/makemake.in 2015-02-11 17:20:00.000000000 -0700 +@@ -1217,7 +1217,7 @@ if [ $XCC_GCC = true ] ; then + if [ $CROSS = false ] ; then + case "$XCC_GCC_VERSION" in + # gcc 2.7 introduced an annoying warning, but gcc 2.8 has a workaround: +- 2.[8-9]* | 3.* | 4.* | egcs-2.*) ++ 2.[8-9]* | 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | egcs-2.*) + XCFLAGS=$XCFLAGS' -Wno-sign-compare -Wno-format-nonliteral' + ;; + * ) ;; +@@ -1226,7 +1226,7 @@ if [ $XCC_GCC = true ] ; then + if [ $CROSS = false -a $CC_CPLUSPLUS = true ] ; then + case "$XCC_GCC_VERSION" in + # g++ 3.4 introduced an annoying warning, but has a workaround: +- 3.[4-9]* | 4.*) ++ 3.[4-9]* | 4.* | 5.* | 6.* | 7.* | 8.*) + XCFLAGS=$XCFLAGS' -Wno-invalid-offsetof' + ;; + * ) ;; +@@ -1241,7 +1241,7 @@ if [ $XCC_GCC = true ] ; then + # gcc-2.7.2 has a strength-reduction bug (fixed in gcc-2.7.2.1, + # also fixed through the specs file of some Linux distributions). + XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations -fno-strength-reduce' ;; +- 2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | egcs-2.*) ++ 2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | egcs-2.*) + XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations' ;; + * ) + XCFLAGS=$XCFLAGS' -O' ;; +@@ -1295,7 +1295,7 @@ if [ $XCC_GCC = true ] ; then + esac + fi # with_debug + case "$XCC_GCC_VERSION" in +- 3* | 4*) ++ 3* | 4* | 5* | 6* | 7* | 8*) + # When not optimizing on linux, or with Apple's gcc 4 on MacOS X, + # or with GCC 4 when "gcc -Os" is used: + # C_CODE_ALIGNMENT is wrong. &EVAL-WHEN = 0x806D512 diff --git a/abs/extra/clisp/patch-modules_readline_readline.lisp b/abs/extra/clisp/patch-modules_readline_readline.lisp new file mode 100644 index 0000000..19c54f9 --- /dev/null +++ b/abs/extra/clisp/patch-modules_readline_readline.lisp @@ -0,0 +1,15 @@ +$NetBSD: patch-modules_readline_readline.lisp,v 1.1 2016/09/20 14:10:25 wiz Exp $ + +rl_readline_state changed from int to unsigned long in readline-7.0. + +--- modules/readline/readline.lisp.orig 2010-01-06 22:18:03.000000000 +0000 ++++ modules/readline/readline.lisp +@@ -424,7 +424,7 @@ name in ~/.inputrc. This is preferred wa + "The version of this incarnation of the readline library, e.g., 0x0402.")) + (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int) + (:documentation "True if this is real GNU readline.")) +-(def-c-var readline-state (:name "rl_readline_state") (:type int) ++(def-c-var readline-state (:name "rl_readline_state") (:type ulong) + (:documentation "Flags word encapsulating the current readline state.")) + (def-c-var editing-mode (:name "rl_editing_mode") (:type int) + (:documentation "Says which editing mode readline is currently using. diff --git a/abs/extra/cmark/PKGBUILD b/abs/extra/cmark/PKGBUILD new file mode 100644 index 0000000..d73ca57 --- /dev/null +++ b/abs/extra/cmark/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: Veeti Paananen <veeti.paananen@rojekti.fi> + +pkgname=cmark +pkgver=0.28.3 +pkgrel=1 +pkgdesc="CommonMark parsing and rendering library and program in C" +arch=('x86_64') +url="https://github.com/jgm/cmark" +license=('custom:BSD2') +depends=('glibc') +makedepends=('cmake' 'python') +source=("$pkgname-$pkgver.tar.gz::https://github.com/jgm/cmark/archive/$pkgver.tar.gz") +sha512sums=('409105a3228a8ae22ba6acf95cd99bc9a2c20f8603aa0e803a33172eb6ef53f80f8f0262d2258b77f9fd6e1f2e9017a6c906b88f761e053c09ef88c9ffab7d29') + +prepare() { + mkdir -p build +} + +build() { + cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib ../cmark-$pkgver + make +} + +check() { + cd build + make test +} + +package() { + cd build + make install DESTDIR="$pkgdir" + + install -D -m 644 "$srcdir"/cmark-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} diff --git a/abs/extra/cmocka/PKGBUILD b/abs/extra/cmocka/PKGBUILD index fc28878..381d2ba 100644 --- a/abs/extra/cmocka/PKGBUILD +++ b/abs/extra/cmocka/PKGBUILD @@ -1,31 +1,42 @@ -# $Id$ -# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com> pkgname=cmocka -url='http://cmocka.org/' -pkgver=0.4.1 +pkgver=1.1.1 pkgrel=1 -pkgdesc='an elegant unit testing framework for C with support for mock objects' -arch=(i686 x86_64) -license=(GPL) -depends=(glibc) -makedepends=(cmake) -source=(http://git.cryptomilk.org/projects/cmocka.git/snapshot/cmocka-$pkgver.tar.bz2) -sha1sums=('215378198f489033d982122e34168d9d225e2f5b') +pkgdesc='Elegant unit testing framework for C with support for mock objects' +url='https://cmocka.org/' +arch=('x86_64') +license=('Apache') +depends=('glibc') +makedepends=('cmake') +source=(https://cmocka.org/files/1.1/cmocka-${pkgver}.tar.{xz,asc}) +sha512sums=('801c4a3e1bb9047241b1cb5a90c1cbdee1b0aff5e3d0a84ec8b2dbaee79274618c24fbe5e9fedbf0b3ee18c6c98b55d93e135d037ac33ab872edc7665af41577' + 'SKIP') +validpgpkeys=('8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D') # Andreas Schneider <asn@cryptomilk.org> + +prepare() { + cd ${pkgname}-${pkgver} + mkdir build +} build() { - rm -rf build; mkdir build - cd build - cmake ../$pkgname-$pkgver -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUNIT_TESTING=ON + cd ${pkgname}-${pkgver}/build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DUNIT_TESTING=ON make } check() { - cd build + cd ${pkgname}-${pkgver}/build make test } package() { - cd build - make install DESTDIR="$pkgdir" + cd ${pkgname}-${pkgver}/build + make install DESTDIR="${pkgdir}" } + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/community/gstreamer0.10-base/PKGBUILD b/abs/extra/community/gstreamer0.10-base/PKGBUILD deleted file mode 100644 index bc63724..0000000 --- a/abs/extra/community/gstreamer0.10-base/PKGBUILD +++ /dev/null @@ -1,74 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgbase=('gstreamer0.10-base') -pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins') -pkgver=0.10.36 -pkgrel=3 -arch=('i686' 'x86_64') -license=('LGPL') -makedepends=('pkgconfig' 'gstreamer0.10>=0.10.36' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection' 'git') -options=(!emptydirs) -url="http://gstreamer.freedesktop.org/" -source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-base#commit=48d5966f12d4e6b71c96db0600cf76ef0ef14b3a" - fix-crash-0-byte-ogg.patch - colorbalance-fix-abi.patch - revert-decodebin-playbin-removal.patch - videoscale-fix-negotiation.patch - ayuv64-lanczos.patch - gstaudio-symbols.patch) -sha256sums=('SKIP' - 'a6a01035ea9627737f9c17f72919857ed43ccc7c2cb08b645b43ed89f78d0f4f' - '7442c5c68068428b8c7ac1d3825ce29f1bb152b75b77047b9e806c7d322b780c' - 'ba20659fafea73db016ddaecd128f12087e0957ce35cf2c3ce29f72c51551ef3' - 'ae27f7be58997217f67898b37b138a485c203389e56b65e6b31c23f769ef39ca' - '3792dfe80c69f51c0db98533e8fb16707b5dd2ee6933ea6098583af873ceb44a' - '56e7a988df39d2ec4befa265536ad8c30d3c8d18d136cebef64e8d6baac1abae') - -prepare() { - cd gst-plugins-base - sed -i -e '/AC_PATH_XTRA/d' -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac - patch -Np1 -i ../fix-crash-0-byte-ogg.patch - patch -Np1 -i ../colorbalance-fix-abi.patch - patch -Np1 -i ../ayuv64-lanczos.patch - patch -Np1 -i ../videoscale-fix-negotiation.patch - patch -Np1 -i ../gstaudio-symbols.patch - patch -Np1 -R -i ../revert-decodebin-playbin-removal.patch -} - -build() { - cd gst-plugins-base - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-experimental --disable-gnome_vfs --disable-gtk-doc \ - --with-package-name="GStreamer Base Plugins (Archlinux)" \ - --with-package-origin="http://www.archlinux.org/" - make - sed -e 's/^SUBDIRS_EXT =.*/SUBDIRS_EXT =/' -i Makefile -} - -check() { - cd gst-plugins-base - make check -} - -package_gstreamer0.10-base() { - pkgdesc="GStreamer Multimedia Framework Base plugin libraries" - depends=('gstreamer0.10>=0.10.36' 'orc' 'libxv') - - cd gst-plugins-base - make DESTDIR="${pkgdir}" install -} - -package_gstreamer0.10-base-plugins() { - pkgdesc="GStreamer Multimedia Framework Base Plugins (gst-plugins-base)" - depends=("gstreamer0.10-base=${pkgver}" 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango') - replaces=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-ogg') - conflicts=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-ogg') - groups=('gstreamer0.10-plugins') - - cd gst-plugins-base - make -C gst-libs DESTDIR="${pkgdir}" install - make -C ext DESTDIR="${pkgdir}" install - make -C gst-libs DESTDIR="${pkgdir}" uninstall -} diff --git a/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch b/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch deleted file mode 100644 index 64106e4..0000000 --- a/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch +++ /dev/null @@ -1,236 +0,0 @@ -From e4f01106d08f3c2a65897bfe919bd65ce55545a8 Mon Sep 17 00:00:00 2001 -From: David Schleef <ds@schleef.org> -Date: Wed, 25 Jan 2012 23:49:00 +0000 -Subject: videoscale: Add AYUV64 path to Lanczos - ---- -diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c -index 7b44647..6df4ba6 100644 ---- a/gst/videoscale/gstvideoscale.c -+++ b/gst/videoscale/gstvideoscale.c -@@ -1199,6 +1199,11 @@ gst_video_scale_transform (GstBaseTransform * trans, GstBuffer * in, - case GST_VIDEO_SCALE_4TAP: - vs_image_scale_4tap_AYUV64 (&dest, &src, videoscale->tmp_buf); - break; -+ case GST_VIDEO_SCALE_LANCZOS: -+ vs_image_scale_lanczos_AYUV64 (&dest, &src, videoscale->tmp_buf, -+ videoscale->sharpness, videoscale->dither, videoscale->submethod, -+ videoscale->envelope, videoscale->sharpen); -+ break; - default: - goto unknown_mode; - } -diff --git a/gst/videoscale/vs_image.h b/gst/videoscale/vs_image.h -index 2312acc..7b34991 100644 ---- a/gst/videoscale/vs_image.h -+++ b/gst/videoscale/vs_image.h -@@ -52,6 +52,9 @@ void vs_image_scale_linear_RGBA (const VSImage *dest, const VSImage *src, - void vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src, - uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, - double a, double sharpen); -+void vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src, -+ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, -+ double a, double sharpen); - - void vs_image_scale_nearest_RGB (const VSImage *dest, const VSImage *src, - uint8_t *tmpbuf); -diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c -index 1c87ba3..d141a01 100644 ---- a/gst/videoscale/vs_lanczos.c -+++ b/gst/videoscale/vs_lanczos.c -@@ -204,6 +204,9 @@ static void vs_image_scale_lanczos_AYUV_float (const VSImage * dest, - static void vs_image_scale_lanczos_AYUV_double (const VSImage * dest, - const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither, - double a, double sharpen); -+static void vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, -+ const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither, -+ double a, double sharpen); - - static double - sinc (double x) -@@ -590,6 +593,15 @@ vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src, - } - } - -+void -+vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src, -+ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod, -+ double a, double sharpen) -+{ -+ vs_image_scale_lanczos_AYUV64_double (dest, src, tmpbuf, sharpness, dither, -+ a, sharpen); -+} -+ - - - #define RESAMPLE_HORIZ_FLOAT(function, dest_type, tap_type, src_type, _n_taps) \ -@@ -813,9 +825,9 @@ RESAMPLE_VERT_DITHER (resample_vert_dither_int16_generic, gint16, gint16, - n_taps, shift) - /* *INDENT-ON* */ - --#define RESAMPLE_VERT_FLOAT(function, tap_type, src_type, _n_taps, _shift) \ -+#define RESAMPLE_VERT_FLOAT(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \ - static void \ --function (guint8 *dest, \ -+function (dest_type *dest, \ - const tap_type *taps, const src_type *src, int stride, int n_taps, \ - int shift, int n) \ - { \ -@@ -828,13 +840,13 @@ function (guint8 *dest, \ - const src_type *line = PTR_OFFSET(src, stride * l); \ - sum_y += line[i] * taps[l]; \ - } \ -- dest[i] = CLAMP (floor(0.5 + sum_y), 0, 255); \ -+ dest[i] = CLAMP (floor(0.5 + sum_y), 0, clamp); \ - } \ - } - --#define RESAMPLE_VERT_FLOAT_DITHER(function, tap_type, src_type, _n_taps, _shift) \ -+#define RESAMPLE_VERT_FLOAT_DITHER(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \ - static void \ --function (guint8 *dest, \ -+function (dest_type *dest, \ - const tap_type *taps, const src_type *src, int stride, int n_taps, \ - int shift, int n) \ - { \ -@@ -849,19 +861,24 @@ function (guint8 *dest, \ - sum_y += line[i] * taps[l]; \ - } \ - err_y += sum_y; \ -- dest[i] = CLAMP (floor (err_y), 0, 255); \ -+ dest[i] = CLAMP (floor (err_y), 0, clamp); \ - err_y -= floor (err_y); \ - } \ - } - - /* *INDENT-OFF* */ --RESAMPLE_VERT_FLOAT (resample_vert_double_generic, double, double, n_taps, -+RESAMPLE_VERT_FLOAT (resample_vert_double_generic, guint8, 255, double, double, n_taps, - shift) --RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, double, double, -+RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, guint8, 255, double, double, - n_taps, shift) - --RESAMPLE_VERT_FLOAT (resample_vert_float_generic, float, float, n_taps, shift) --RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, float, float, -+RESAMPLE_VERT_FLOAT (resample_vert_double_generic_u16, guint16, 65535, double, double, n_taps, -+ shift) -+RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic_u16, guint16, 65535, double, double, -+ n_taps, shift) -+ -+RESAMPLE_VERT_FLOAT (resample_vert_float_generic, guint8, 255, float, float, n_taps, shift) -+RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, guint8, 255, float, float, - n_taps, shift) - /* *INDENT-ON* */ - -@@ -1556,3 +1573,77 @@ vs_image_scale_lanczos_AYUV_float (const VSImage * dest, const VSImage * src, - scale1d_cleanup (&scale->y_scale1d); - g_free (scale->tmpdata); - } -+ -+static void -+vs_scale_lanczos_AYUV64_double (Scale * scale) -+{ -+ int j; -+ int yi; -+ int tmp_yi; -+ -+ tmp_yi = 0; -+ -+ for (j = 0; j < scale->dest->height; j++) { -+ guint16 *destline; -+ double *taps; -+ -+ destline = (guint16 *) (scale->dest->pixels + scale->dest->stride * j); -+ -+ yi = scale->y_scale1d.offsets[j]; -+ -+ while (tmp_yi < yi + scale->y_scale1d.n_taps) { -+ scale->horiz_resample_func (TMP_LINE_DOUBLE_AYUV (tmp_yi), -+ scale->x_scale1d.offsets, scale->x_scale1d.taps, SRC_LINE (tmp_yi), -+ scale->x_scale1d.n_taps, 0, scale->dest->width); -+ tmp_yi++; -+ } -+ -+ taps = (double *) scale->y_scale1d.taps + j * scale->y_scale1d.n_taps; -+ if (scale->dither) { -+ resample_vert_dither_double_generic_u16 (destline, -+ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]), -+ sizeof (double) * 4 * scale->dest->width, -+ scale->y_scale1d.n_taps, 0, scale->dest->width * 4); -+ } else { -+ resample_vert_double_generic_u16 (destline, -+ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]), -+ sizeof (double) * 4 * scale->dest->width, -+ scale->y_scale1d.n_taps, 0, scale->dest->width * 4); -+ } -+ } -+} -+ -+void -+vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src, -+ uint8_t * tmpbuf, double sharpness, gboolean dither, double a, -+ double sharpen) -+{ -+ Scale s = { 0 }; -+ Scale *scale = &s; -+ int n_taps; -+ -+ scale->dest = dest; -+ scale->src = src; -+ -+ n_taps = scale1d_get_n_taps (src->width, dest->width, a, sharpness); -+ scale1d_calculate_taps (&scale->x_scale1d, -+ src->width, dest->width, n_taps, a, sharpness, sharpen); -+ -+ n_taps = scale1d_get_n_taps (src->height, dest->height, a, sharpness); -+ scale1d_calculate_taps (&scale->y_scale1d, -+ src->height, dest->height, n_taps, a, sharpness, sharpen); -+ -+ scale->dither = dither; -+ -+ scale->horiz_resample_func = -+ (HorizResampleFunc) resample_horiz_double_ayuv_generic; -+ -+ scale->tmpdata = -+ g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4); -+ -+ vs_scale_lanczos_AYUV64_double (scale); -+ -+ scale1d_cleanup (&scale->x_scale1d); -+ scale1d_cleanup (&scale->y_scale1d); -+ g_free (scale->tmpdata); -+} --- -cgit v0.9.0.2-2-gbebe -From f8dc679ca7e9542e6f410062df5e332fc8e0ba9d Mon Sep 17 00:00:00 2001 -From: David Schleef <ds@schleef.org> -Date: Sun, 19 Feb 2012 08:03:03 +0000 -Subject: videoscale: fix AYUV64 scaling - ---- -diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c -index d141a01..67cd401 100644 ---- a/gst/videoscale/vs_lanczos.c -+++ b/gst/videoscale/vs_lanczos.c -@@ -728,6 +728,9 @@ RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic, double, double, - RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_float_ayuv_generic, float, float, - guint8, n_taps) - -+RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic_s16, double, double, -+ guint16, n_taps) -+ - RESAMPLE_HORIZ (resample_horiz_int32_int32_u8_generic, gint32, gint32, - guint8, n_taps, shift) - RESAMPLE_HORIZ (resample_horiz_int16_int16_u8_generic, gint16, gint16, -@@ -1636,7 +1639,7 @@ vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src, - scale->dither = dither; - - scale->horiz_resample_func = -- (HorizResampleFunc) resample_horiz_double_ayuv_generic; -+ (HorizResampleFunc) resample_horiz_double_ayuv_generic_s16; - - scale->tmpdata = - g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4); --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch b/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch deleted file mode 100644 index 1e7b8f2..0000000 --- a/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0cb4ccb1f09d39820682e052fc106f5fd7fa1309 Mon Sep 17 00:00:00 2001 -From: Stefan Sauer <ensonic@users.sf.net> -Date: Fri, 24 Feb 2012 20:37:00 +0000 -Subject: interfaces: fix ABI class padding after the recent changes - ---- -(limited to 'gst-libs/gst/interfaces/colorbalance.h') - -diff --git a/gst-libs/gst/interfaces/colorbalance.h b/gst-libs/gst/interfaces/colorbalance.h -index fd8ceaa..9f0a1cd 100644 ---- a/gst-libs/gst/interfaces/colorbalance.h -+++ b/gst-libs/gst/interfaces/colorbalance.h -@@ -102,7 +102,7 @@ struct _GstColorBalanceClass { - GstColorBalanceType (*get_balance_type) (GstColorBalance *balance); - - /*< private >*/ -- gpointer _gst_reserved[GST_PADDING]; -+ gpointer _gst_reserved[GST_PADDING-1]; - }; - - GType gst_color_balance_get_type (void); --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch b/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch deleted file mode 100644 index 2c03e82..0000000 --- a/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 7f22e3ea7f713867e1fbf2ef71b6a6e36e1f0531 Mon Sep 17 00:00:00 2001 -From: Jonathan Liu <net147@gmail.com> -Date: Sun, 28 Oct 2012 10:07:16 +0000 -Subject: oggstream: fix crash with 0 byte ogg packets - -https://bugzilla.gnome.org/show_bug.cgi?id=687030 ---- -diff --git a/ext/ogg/gstoggstream.c b/ext/ogg/gstoggstream.c -index c79f088..fe28f2e 100644 ---- a/ext/ogg/gstoggstream.c -+++ b/ext/ogg/gstoggstream.c -@@ -790,7 +790,7 @@ setup_vorbis_mapper (GstOggStream * pad, ogg_packet * packet) - static gboolean - is_header_vorbis (GstOggStream * pad, ogg_packet * packet) - { -- if (packet->bytes > 0 && (packet->packet[0] & 0x01) == 0) -+ if (packet->bytes == 0 || (packet->packet[0] & 0x01) == 0) - return FALSE; - - if (packet->packet[0] == 5) { --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch b/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch deleted file mode 100644 index 7e2ad0f..0000000 --- a/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gst-plugins-base/win32/common/libgstaudio.def.orig 2013-12-10 12:09:41.280012610 +0000 -+++ gst-plugins-base/win32/common/libgstaudio.def 2013-12-10 12:10:12.253127720 +0000 -@@ -24,6 +24,7 @@ - gst_audio_decoder_get_plc_aware - gst_audio_decoder_get_tolerance - gst_audio_decoder_get_type -+ gst_audio_decoder_merge_tags - gst_audio_decoder_set_byte_time - gst_audio_decoder_set_drainable - gst_audio_decoder_set_latency diff --git a/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch b/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch deleted file mode 100644 index 2e59139..0000000 --- a/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch +++ /dev/null @@ -1,122 +0,0 @@ -From fece626254e3b250e4514d1c92ac8289421d9511 Mon Sep 17 00:00:00 2001 -From: Sebastian Dröge <sebastian.droege@collabora.co.uk> -Date: Thu, 15 Mar 2012 11:34:22 +0000 -Subject: Disable old playbin and decodebin - ---- -diff --git a/gst/playback/Makefile.am b/gst/playback/Makefile.am -index a0f1abc..700f581 100644 ---- a/gst/playback/Makefile.am -+++ b/gst/playback/Makefile.am -@@ -6,19 +6,15 @@ glib_gen_basename = gstplay - built_sources = gstplay-marshal.c - built_headers = gstplay-marshal.h - --plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin.la libgstdecodebin2.la -+plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin2.la - - csp_cflags = -DCOLORSPACE=\"ffmpegcolorspace\" - - libgstplaybin_la_SOURCES = \ - gstplayback.c \ -- gstplaybin.c \ - gstplaybin2.c \ - gstplaysink.c \ -- gstplaybasebin.c \ - gstplay-enum.c \ -- gststreaminfo.c \ -- gststreamselector.c \ - gstsubtitleoverlay.c \ - gstplaysinkvideoconvert.c \ - gstplaysinkaudioconvert.c \ -@@ -37,17 +33,6 @@ if !GST_PLUGIN_BUILD_STATIC - libgstplaybin_la_LIBTOOLFLAGS = --tag=disable-static - endif - --libgstdecodebin_la_SOURCES = gstdecodebin.c --nodist_libgstdecodebin_la_SOURCES = $(built_sources) --libgstdecodebin_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags) --libgstdecodebin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) --libgstdecodebin_la_LIBADD = \ -- $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \ -- $(GST_LIBS) --if !GST_PLUGIN_BUILD_STATIC --libgstdecodebin_la_LIBTOOLFLAGS = --tag=disable-static --endif -- - libgstdecodebin2_la_SOURCES = gstdecodebin2.c gsturidecodebin.c gstplay-enum.c - nodist_libgstdecodebin2_la_SOURCES = $(built_sources) - libgstdecodebin2_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags) -@@ -61,11 +46,8 @@ endif - - noinst_HEADERS = \ - gstplayback.h \ -- gstplaybasebin.h \ - gstplaysink.h \ -- gststreaminfo.h \ - gstplay-enum.h \ -- gststreamselector.h \ - gstrawcaps.h \ - gstsubtitleoverlay.h \ - gstplaysinkvideoconvert.h \ -@@ -83,18 +65,6 @@ include $(top_srcdir)/common/gst-glib-gen.mak - - Android.mk: Makefile.am $(BUILT_SOURCES) - androgenizer \ -- -:PROJECT libgstdecodebin -:SHARED libgstdecodebin \ -- -:TAGS eng debug \ -- -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ -- -:SOURCES $(libgstdecodebin_la_SOURCES) \ -- $(nodist_libgstdecodebin_la_SOURCES) \ -- -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstdecodebin_la_CFLAGS) $(csp_cflags) \ -- -:LDFLAGS $(libgstdecodebin_la_LDFLAGS) \ -- $(libgstdecodebin_la_LIBADD) \ -- -ldl \ -- -:PASSTHROUGH LOCAL_ARM_MODE:=arm \ -- LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-0.10' \ -- \ - -:PROJECT libgstdecodebin2 -:SHARED libgstdecodebin2 \ - -:TAGS eng debug \ - -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ -diff --git a/gst/playback/gstplayback.c b/gst/playback/gstplayback.c -index 5b74786..f99df6e 100644 ---- a/gst/playback/gstplayback.c -+++ b/gst/playback/gstplayback.c -@@ -29,8 +29,6 @@ - - #include "gstplayback.h" - #include "gstplaysink.h" --#include "gststreamselector.h" --#include "gststreaminfo.h" - #include "gstsubtitleoverlay.h" - - static gboolean -@@ -47,13 +45,7 @@ plugin_init (GstPlugin * plugin) - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - #endif /* ENABLE_NLS */ - -- /* ref class from a thread-safe context to work around missing bit of -- * thread-safety in GObject */ -- g_type_class_ref (GST_TYPE_STREAM_INFO); -- g_type_class_ref (GST_TYPE_STREAM_SELECTOR); -- -- res = gst_play_bin_plugin_init (plugin); -- res &= gst_play_bin2_plugin_init (plugin); -+ res = gst_play_bin2_plugin_init (plugin); - res &= gst_play_sink_plugin_init (plugin); - res &= gst_subtitle_overlay_plugin_init (plugin); - -diff --git a/gst/playback/gstplayback.h b/gst/playback/gstplayback.h -index 4be121c..5981cdd 100644 ---- a/gst/playback/gstplayback.h -+++ b/gst/playback/gstplayback.h -@@ -24,7 +24,6 @@ - #include <gst/gst.h> - - gboolean gst_decode_bin_plugin_init (GstPlugin * plugin); --gboolean gst_play_bin_plugin_init (GstPlugin * plugin); - gboolean gst_play_bin2_plugin_init (GstPlugin * plugin); - - --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch b/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch deleted file mode 100644 index 6e34d41..0000000 --- a/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch +++ /dev/null @@ -1,171 +0,0 @@ -From 63d1316c0fd4ce22cf4a53f4aa7cb1ca16a07aa8 Mon Sep 17 00:00:00 2001 -From: Tim-Philipp Müller <tim.muller@collabora.co.uk> -Date: Sun, 26 Feb 2012 18:19:57 +0000 -Subject: videoscale: fix negotiation after addition of new formats and methods - -Now that we no longer support all methods for all formats, we -need to cater for that in the transform function: we can't -transform formats not supported by the currently-selected -mehod. - -make check, folks. It's da bomb. ---- -diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c -index 9f072a3..60dd5ff 100644 ---- a/gst/videoscale/gstvideoscale.c -+++ b/gst/videoscale/gstvideoscale.c -@@ -424,10 +424,118 @@ gst_video_scale_get_property (GObject * object, guint prop_id, GValue * value, - } - } - -+#define NEAREST (1 << GST_VIDEO_SCALE_NEAREST) -+#define BILINEAR (1 << GST_VIDEO_SCALE_BILINEAR) -+#define FOURTAP (1 << GST_VIDEO_SCALE_4TAP) -+#define LANCZOS (1 << GST_VIDEO_SCALE_LANCZOS) -+ -+/* or we could just do lookups via table[format] if we could be bothered.. */ -+static const struct -+{ -+ GstVideoFormat format; -+ guint8 methods; -+} formats_methods_table[] = { -+ { -+ GST_VIDEO_FORMAT_RGBx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_xRGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_BGRx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_xBGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_RGBA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_ARGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_BGRA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_ABGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_AYUV, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_ARGB64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_AYUV64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_RGB, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_BGR, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_v308, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_YUY2, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_YVYU, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_UYVY, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_Y800, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_GRAY8, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_GRAY16_LE, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_GRAY16_BE, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_Y16, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_I420, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_YV12, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_Y444, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_Y42B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_Y41B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, { -+ GST_VIDEO_FORMAT_NV12, NEAREST | BILINEAR}, { -+ GST_VIDEO_FORMAT_RGB16, NEAREST | BILINEAR | FOURTAP}, { -+ GST_VIDEO_FORMAT_RGB15, NEAREST | BILINEAR | FOURTAP} -+}; -+ -+static gboolean -+gst_video_scale_format_supported_for_method (GstVideoFormat format, -+ GstVideoScaleMethod method) -+{ -+ int i; -+ -+ for (i = 0; i < G_N_ELEMENTS (formats_methods_table); ++i) { -+ if (formats_methods_table[i].format == format) -+ return ((formats_methods_table[i].methods & (1 << method)) != 0); -+ } -+ return FALSE; -+} -+ -+static gboolean -+gst_video_scale_transform_supported (GstVideoScale * videoscale, -+ GstVideoScaleMethod method, GstStructure * structure) -+{ -+ const GValue *val; -+ GstVideoFormat fmt; -+ gboolean supported = TRUE; -+ GstStructure *s; -+ GstCaps *c; -+ -+ /* we support these methods for all formats */ -+ if (method == GST_VIDEO_SCALE_NEAREST || method == GST_VIDEO_SCALE_BILINEAR) -+ return TRUE; -+ -+ /* we need fixed caps if we want to use gst_video_parse_caps() */ -+ s = gst_structure_new (gst_structure_get_name (structure), -+ "width", G_TYPE_INT, 1, "height", G_TYPE_INT, 1, NULL); -+ -+ if ((val = gst_structure_get_value (structure, "format"))) { -+ gst_structure_set_value (s, "format", val); -+ } else { -+ if ((val = gst_structure_get_value (structure, "endianness"))) -+ gst_structure_set_value (s, "endianness", val); -+ if ((val = gst_structure_get_value (structure, "red_mask"))) -+ gst_structure_set_value (s, "red_mask", val); -+ if ((val = gst_structure_get_value (structure, "blue_mask"))) -+ gst_structure_set_value (s, "blue_mask", val); -+ if ((val = gst_structure_get_value (structure, "green_mask"))) -+ gst_structure_set_value (s, "green_mask", val); -+ if ((val = gst_structure_get_value (structure, "alpha_mask"))) -+ gst_structure_set_value (s, "alpha_mask", val); -+ if ((val = gst_structure_get_value (structure, "depth"))) -+ gst_structure_set_value (s, "depth", val); -+ if ((val = gst_structure_get_value (structure, "bpp"))) -+ gst_structure_set_value (s, "bpp", val); -+ } -+ c = gst_caps_new_full (s, NULL); -+ if (!gst_video_format_parse_caps (c, &fmt, NULL, NULL)) { -+ GST_ERROR_OBJECT (videoscale, "couldn't parse %" GST_PTR_FORMAT, c); -+ } else if (!gst_video_scale_format_supported_for_method (fmt, method)) { -+ supported = FALSE; -+ } -+ GST_LOG_OBJECT (videoscale, "method %d %ssupported for format %d", -+ method, (supported) ? "" : "not ", fmt); -+ gst_caps_unref (c); -+ -+ return supported; -+} -+ - static GstCaps * - gst_video_scale_transform_caps (GstBaseTransform * trans, - GstPadDirection direction, GstCaps * caps) - { -+ GstVideoScale *videoscale = GST_VIDEO_SCALE (trans); -+ GstVideoScaleMethod method; - GstCaps *ret; - GstStructure *structure; - -@@ -441,6 +549,13 @@ gst_video_scale_transform_caps (GstBaseTransform * trans, - ret = gst_caps_copy (caps); - structure = gst_structure_copy (gst_caps_get_structure (ret, 0)); - -+ GST_OBJECT_LOCK (videoscale); -+ method = videoscale->method; -+ GST_OBJECT_UNLOCK (videoscale); -+ -+ if (!gst_video_scale_transform_supported (videoscale, method, structure)) -+ goto format_not_supported; -+ - gst_structure_set (structure, - "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, - "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL); -@@ -452,9 +567,19 @@ gst_video_scale_transform_caps (GstBaseTransform * trans, - } - gst_caps_append_structure (ret, structure); - -+done: -+ - GST_DEBUG_OBJECT (trans, "returning caps: %" GST_PTR_FORMAT, ret); - - return ret; -+ -+format_not_supported: -+ { -+ gst_structure_free (structure); -+ gst_caps_unref (ret); -+ ret = gst_caps_new_empty (); -+ goto done; -+ } - } - - static gboolean --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD b/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD deleted file mode 100644 index 4330aa4..0000000 --- a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD +++ /dev/null @@ -1,32 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=gstreamer0.10-ffmpeg -pkgver=0.10.13 -pkgrel=2 -pkgdesc="Gstreamer FFMpeg Plugin" -arch=('i686' 'x86_64') -license=('GPL') -depends=('gstreamer0.10-base' 'bzip2') -makedepends=('pkgconfig' 'yasm' 'sdl' 'git' 'gtk-doc') -url="http://www.gstreamer.net" -groups=('gstreamer0.10-plugins') -source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-ffmpeg#commit=94e587b9182c6d2fde9a61c9def790c8047453c0") -sha256sums=('SKIP') - -build() { - cd gst-ffmpeg - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --enable-gtk-doc --with-ffmpeg-extra-configure="--enable-runtime-cpudetect" - make -} - -check() { - cd gst-ffmpeg - make check -} - -package() { - cd gst-ffmpeg - make DESTDIR="${pkgdir}" install -} diff --git a/abs/extra/community/gstreamer0.10-good/PKGBUILD b/abs/extra/community/gstreamer0.10-good/PKGBUILD deleted file mode 100644 index c2b316a..0000000 --- a/abs/extra/community/gstreamer0.10-good/PKGBUILD +++ /dev/null @@ -1,72 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgbase=gstreamer0.10-good -pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins') -pkgver=0.10.31 -pkgrel=6 -arch=('i686' 'x86_64') -license=('LGPL') -makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'git' 'cairo') -url="http://gstreamer.freedesktop.org/" -options=(!emptydirs) -source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good#commit=e28fd8886f05bb51c147f871f3a1db2fc2b735a9" - test-rtp-payloading.patch) -sha256sums=('SKIP' - 'c2f7f07f9bf5ca3afddc81d0a44665d2d54b1e9aea0ef1b25d219cf34bf7bb29') - -prepare() { - cd gst-plugins-good - - sed -i '/AC_PATH_XTRA/d' configure.ac - sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac - - patch -p1 -i ../test-rtp-payloading.patch -} - -build() { - cd gst-plugins-good - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-experimental \ - --disable-schemas-install \ - --disable-hal \ - --disable-esd \ - --disable-pulse \ - --disable-jack \ - --disable-gtk-doc \ - --with-package-name="GStreamer Good Plugins (Archlinux)" \ - --with-package-origin="http://www.archlinux.org/" - - make - sed -e 's/gst sys ext/gst/' -i Makefile -} - -check() { - cd gst-plugins-good - make check -} - -package_gstreamer0.10-good() { - depends=('gstreamer0.10-base>=0.10.34' 'bzip2') - pkgdesc="GStreamer Multimedia Framework Good plugin libraries" - - cd gst-plugins-good - make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}/etc/gconf" -} - -package_gstreamer0.10-good-plugins() { - depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'cairo' 'gdk-pixbuf2') - pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)" - groups=('gstreamer0.10-plugins') - replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') - conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse') - install=gstreamer0.10-good-plugins.install - - cd gst-plugins-good - make -C sys DESTDIR="${pkgdir}" install - make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/gconf/schemas" - install -m644 gconf/gstreamer-0.10.schemas "${pkgdir}/usr/share/gconf/schemas/gstreamer0.10-good-plugins.schemas" -} diff --git a/abs/extra/community/gstreamer0.10-good/__changelog b/abs/extra/community/gstreamer0.10-good/__changelog deleted file mode 100644 index 387bdff..0000000 --- a/abs/extra/community/gstreamer0.10-good/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD: remove jack and libpulse dep and disable in configure diff --git a/abs/extra/community/gstreamer0.10-good/gstreamer0.10-good-plugins.install b/abs/extra/community/gstreamer0.10-good/gstreamer0.10-good-plugins.install deleted file mode 100644 index e343bee..0000000 --- a/abs/extra/community/gstreamer0.10-good/gstreamer0.10-good-plugins.install +++ /dev/null @@ -1,19 +0,0 @@ -pkgname=gstreamer0.10-good-plugins - -post_install() { - usr/sbin/gconfpkg --install ${pkgname} -} - -pre_upgrade() { - if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then - pre_remove - fi -} - -post_upgrade() { - post_install -} - -pre_remove() { - usr/sbin/gconfpkg --uninstall ${pkgname} -} diff --git a/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch b/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch deleted file mode 100644 index e8a9431..0000000 --- a/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch +++ /dev/null @@ -1,422 +0,0 @@ -From dca42d4767adff3578e5d5990604766735ec1f9b Mon Sep 17 00:00:00 2001 -From: Tim-Philipp Müller <tim.muller@collabora.co.uk> -Date: Fri, 10 Feb 2012 13:44:43 +0000 -Subject: tests: clean up rtp-payloading test a little - -Feed data into the pipeline using appsrc instead of fdsrc and -a pipe. Store unsigned byte values in guint8 instead of char. -Getting rid of the capsfilter also helps to avoid 'format is -not fully specified' warnings when pushing "video/x-h264" data -into rtph264pay with fully specified h264 caps in the sink template. ---- -diff --git a/tests/check/elements/rtp-payloading.c b/tests/check/elements/rtp-payloading.c -index b2160f4..7b4985b 100644 ---- a/tests/check/elements/rtp-payloading.c -+++ b/tests/check/elements/rtp-payloading.c -@@ -31,13 +31,11 @@ - typedef struct - { - GstElement *pipeline; -- GstElement *fdsrc; -- GstElement *capsfilter; -+ GstElement *appsrc; - GstElement *rtppay; - GstElement *rtpdepay; - GstElement *fakesink; -- int fd[2]; -- const char *frame_data; -+ const guint8 *frame_data; - int frame_data_size; - int frame_count; - } rtp_pipeline; -@@ -140,13 +138,11 @@ rtp_bus_callback (GstBus * bus, GstMessage * message, gpointer data) - * The user must free the RTP pipeline when it's not used anymore. - */ - static rtp_pipeline * --rtp_pipeline_create (const char *frame_data, int frame_data_size, -+rtp_pipeline_create (const guint8 * frame_data, int frame_data_size, - int frame_count, const char *filtercaps, const char *pay, const char *depay) - { - gchar *pipeline_name; -- - rtp_pipeline *p; -- - GstCaps *caps; - - /* Check parameters. */ -@@ -165,60 +161,39 @@ rtp_pipeline_create (const char *frame_data, int frame_data_size, - pipeline_name = g_strdup_printf ("%s-%s-pipeline", pay, depay); - p->pipeline = gst_pipeline_new (pipeline_name); - g_free (pipeline_name); -- p->fdsrc = gst_element_factory_make ("fdsrc", NULL); -- p->capsfilter = gst_element_factory_make ("capsfilter", NULL); -+ p->appsrc = gst_element_factory_make ("appsrc", NULL); - p->rtppay = gst_element_factory_make (pay, NULL); - p->rtpdepay = gst_element_factory_make (depay, NULL); - p->fakesink = gst_element_factory_make ("fakesink", NULL); - - /* One or more elements are not created successfully or failed to create p? */ -- if (!p->pipeline || !p->fdsrc || !p->capsfilter || !p->rtppay || !p->rtpdepay -- || !p->fakesink || pipe (p->fd) == -1) { -+ if (!p->pipeline || !p->appsrc || !p->rtppay || !p->rtpdepay || !p->fakesink) { - /* Release created elements. */ - RELEASE_ELEMENT (p->pipeline); -- RELEASE_ELEMENT (p->fdsrc); -- RELEASE_ELEMENT (p->capsfilter); -+ RELEASE_ELEMENT (p->appsrc); - RELEASE_ELEMENT (p->rtppay); - RELEASE_ELEMENT (p->rtpdepay); - RELEASE_ELEMENT (p->fakesink); - -- /* Close pipe. */ -- if (p->fd[0]) { -- close (p->fd[0]); -- } -- -- if (p->fd[1]) { -- close (p->fd[1]); -- } -- - /* Release allocated memory. */ - free (p); - - return NULL; - } - -- /* Set fdsrc properties. */ -- g_object_set (p->fdsrc, "fd", p->fd[0], NULL); -- g_object_set (p->fdsrc, "do-timestamp", TRUE, NULL); -- g_object_set (p->fdsrc, "blocksize", p->frame_data_size, NULL); -- g_object_set (p->fdsrc, "num-buffers", p->frame_count * LOOP_COUNT, NULL); -- -- /* Set caps filters. */ -+ /* Set src properties. */ - caps = gst_caps_from_string (filtercaps); -- -- g_object_set (p->capsfilter, "caps", caps, NULL); -+ g_object_set (p->appsrc, "do-timestamp", TRUE, "caps", caps, NULL); - gst_caps_unref (caps); - - /* Add elements to the pipeline. */ -- gst_bin_add (GST_BIN (p->pipeline), p->fdsrc); -- gst_bin_add (GST_BIN (p->pipeline), p->capsfilter); -+ gst_bin_add (GST_BIN (p->pipeline), p->appsrc); - gst_bin_add (GST_BIN (p->pipeline), p->rtppay); - gst_bin_add (GST_BIN (p->pipeline), p->rtpdepay); - gst_bin_add (GST_BIN (p->pipeline), p->fakesink); - - /* Link elements. */ -- gst_element_link (p->fdsrc, p->capsfilter); -- gst_element_link (p->capsfilter, p->rtppay); -+ gst_element_link (p->appsrc, p->rtppay); - gst_element_link (p->rtppay, p->rtpdepay); - gst_element_link (p->rtpdepay, p->fakesink); - -@@ -240,15 +215,6 @@ rtp_pipeline_destroy (rtp_pipeline * p) - /* Release pipeline. */ - RELEASE_ELEMENT (p->pipeline); - -- /* Close pipe. */ -- if (p->fd[0]) { -- close (p->fd[0]); -- } -- -- if (p->fd[1]) { -- close (p->fd[1]); -- } -- - /* Release allocated memory. */ - free (p); - } -@@ -260,11 +226,10 @@ rtp_pipeline_destroy (rtp_pipeline * p) - static void - rtp_pipeline_run (rtp_pipeline * p) - { -+ GstFlowReturn flow_ret; - GMainLoop *mainloop = NULL; -- - GstBus *bus; -- -- gint i; -+ gint i, j; - - /* Check parameters. */ - if (p == NULL) { -@@ -286,22 +251,28 @@ rtp_pipeline_run (rtp_pipeline * p) - /* Set pipeline to PLAYING. */ - gst_element_set_state (p->pipeline, GST_STATE_PLAYING); - -- /* TODO: Writing may need some changes... */ -- -+ /* Push data into the pipeline */ - for (i = 0; i < LOOP_COUNT; i++) { -- const char *frame_data_pointer = p->frame_data; -- int res; -- int frame_count = p->frame_count; -- -- /* Write in to the pipe. */ -- while (frame_count > 0) { -- res = write (p->fd[1], frame_data_pointer, p->frame_data_size); -- fail_unless_equals_int (res, p->frame_data_size); -- frame_data_pointer += p->frame_data_size; -- frame_count--; -+ const guint8 *data = p->frame_data; -+ -+ for (j = 0; j < p->frame_count; j++) { -+ GstBuffer *buf; -+ -+ buf = gst_buffer_new (); -+ GST_BUFFER_DATA (buf) = (guint8 *) data; -+ GST_BUFFER_SIZE (buf) = p->frame_data_size; -+ GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_READONLY); -+ -+ g_signal_emit_by_name (p->appsrc, "push-buffer", buf, &flow_ret); -+ fail_unless_equals_int (flow_ret, GST_FLOW_OK); -+ data += p->frame_data_size; -+ -+ gst_buffer_unref (buf); - } - } - -+ g_signal_emit_by_name (p->appsrc, "end-of-stream", &flow_ret); -+ - /* Run mainloop. */ - g_main_loop_run (mainloop); - -@@ -350,8 +321,8 @@ rtp_pipeline_enable_lists (rtp_pipeline * p, guint mtu_size) - * @use_lists enable buffer lists - */ - static void --rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count, -- const char *filtercaps, const char *pay, const char *depay, -+rtp_pipeline_test (const guint8 * frame_data, int frame_data_size, -+ int frame_count, const char *filtercaps, const char *pay, const char *depay, - guint bytes_sent, guint mtu_size, gboolean use_lists) - { - /* Create RTP pipeline. */ -@@ -380,7 +351,7 @@ rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count, - } - } - --static char rtp_ilbc_frame_data[] = -+static const guint8 rtp_ilbc_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -397,7 +368,7 @@ GST_START_TEST (rtp_ilbc) - } - - GST_END_TEST; --static char rtp_gsm_frame_data[] = -+static const guint8 rtp_gsm_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -414,7 +385,7 @@ GST_START_TEST (rtp_gsm) - } - - GST_END_TEST; --static char rtp_amr_frame_data[] = -+static const guint8 rtp_amr_frame_data[] = - { 0x3c, 0x24, 0x03, 0xb3, 0x48, 0x10, 0x68, 0x46, 0x6c, 0xec, 0x03, - 0x7a, 0x37, 0x16, 0x41, 0x41, 0xc0, 0x00, 0x0d, 0xcd, 0x12, 0xed, - 0xad, 0x80, 0x00, 0x00, 0x11, 0x31, 0x00, 0x00, 0x0d, 0xa0 -@@ -432,7 +403,7 @@ GST_START_TEST (rtp_amr) - } - - GST_END_TEST; --static char rtp_pcma_frame_data[] = -+static const guint8 rtp_pcma_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -449,7 +420,7 @@ GST_START_TEST (rtp_pcma) - } - - GST_END_TEST; --static char rtp_pcmu_frame_data[] = -+static const guint8 rtp_pcmu_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -466,7 +437,7 @@ GST_START_TEST (rtp_pcmu) - } - - GST_END_TEST; --static char rtp_mpa_frame_data[] = -+static const guint8 rtp_mpa_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -483,7 +454,7 @@ GST_START_TEST (rtp_mpa) - } - - GST_END_TEST; --static char rtp_h263_frame_data[] = -+static const guint8 rtp_h263_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -495,12 +466,12 @@ static int rtp_h263_frame_count = 1; - GST_START_TEST (rtp_h263) - { - rtp_pipeline_test (rtp_h263_frame_data, rtp_h263_frame_data_size, -- rtp_h263_frame_count, "video/x-h263,variant=itu,h263version=h263", -+ rtp_h263_frame_count, "video/x-h263,variant=(string)itu,h263version=h263", - "rtph263pay", "rtph263depay", 0, 0, FALSE); - } - - GST_END_TEST; --static char rtp_h263p_frame_data[] = -+static const guint8 rtp_h263p_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -512,12 +483,12 @@ static int rtp_h263p_frame_count = 1; - GST_START_TEST (rtp_h263p) - { - rtp_pipeline_test (rtp_h263p_frame_data, rtp_h263p_frame_data_size, -- rtp_h263p_frame_count, "video/x-h263,variant=itu", "rtph263ppay", -+ rtp_h263p_frame_count, "video/x-h263,variant=(string)itu", "rtph263ppay", - "rtph263pdepay", 0, 0, FALSE); - } - - GST_END_TEST; --static char rtp_h264_frame_data[] = -+static const guint8 rtp_h264_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -528,13 +499,14 @@ static int rtp_h264_frame_count = 1; - - GST_START_TEST (rtp_h264) - { -+ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ - rtp_pipeline_test (rtp_h264_frame_data, rtp_h264_frame_data_size, - rtp_h264_frame_count, "video/x-h264", "rtph264pay", "rtph264depay", - 0, 0, FALSE); - } - - GST_END_TEST; --static char rtp_h264_list_lt_mtu_frame_data[] = -+static const guint8 rtp_h264_list_lt_mtu_frame_data[] = - /* not packetized, next NAL starts with 0001 */ - { 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -@@ -552,6 +524,7 @@ static int rtp_h264_list_lt_mtu_mtu_size = 1024; - - GST_START_TEST (rtp_h264_list_lt_mtu) - { -+ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ - rtp_pipeline_test (rtp_h264_list_lt_mtu_frame_data, - rtp_h264_list_lt_mtu_frame_data_size, rtp_h264_list_lt_mtu_frame_count, - "video/x-h264", "rtph264pay", "rtph264depay", -@@ -559,7 +532,7 @@ GST_START_TEST (rtp_h264_list_lt_mtu) - } - - GST_END_TEST; --static char rtp_h264_list_gt_mtu_frame_data[] = -+static const guint8 rtp_h264_list_gt_mtu_frame_data[] = - /* not packetized, next NAL starts with 0001 */ - { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -@@ -580,6 +553,7 @@ static int rtp_h264_list_gt_mtu_mty_size = 28; - - GST_START_TEST (rtp_h264_list_gt_mtu) - { -+ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */ - rtp_pipeline_test (rtp_h264_list_gt_mtu_frame_data, - rtp_h264_list_gt_mtu_frame_data_size, rtp_h264_list_gt_mtu_frame_count, - "video/x-h264", "rtph264pay", "rtph264depay", -@@ -587,7 +561,7 @@ GST_START_TEST (rtp_h264_list_gt_mtu) - } - - GST_END_TEST; --static char rtp_L16_frame_data[] = -+static const guint8 rtp_L16_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -605,7 +579,7 @@ GST_START_TEST (rtp_L16) - } - - GST_END_TEST; --static char rtp_mp2t_frame_data[] = -+static const guint8 rtp_mp2t_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -622,7 +596,7 @@ GST_START_TEST (rtp_mp2t) - } - - GST_END_TEST; --static char rtp_mp4v_frame_data[] = -+static const guint8 rtp_mp4v_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -639,7 +613,7 @@ GST_START_TEST (rtp_mp4v) - } - - GST_END_TEST; --static char rtp_mp4v_list_frame_data[] = -+static const guint8 rtp_mp4v_list_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -659,7 +633,7 @@ GST_START_TEST (rtp_mp4v_list) - } - - GST_END_TEST; --static char rtp_mp4g_frame_data[] = -+static const guint8 rtp_mp4g_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -677,7 +651,7 @@ GST_START_TEST (rtp_mp4g) - } - - GST_END_TEST; --static char rtp_theora_frame_data[] = -+static const guint8 rtp_theora_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -694,7 +668,7 @@ GST_START_TEST (rtp_theora) - } - - GST_END_TEST; --static char rtp_vorbis_frame_data[] = -+static const guint8 rtp_vorbis_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; -@@ -711,7 +685,7 @@ GST_START_TEST (rtp_vorbis) - } - - GST_END_TEST; --static char rtp_jpeg_frame_data[] = -+static const guint8 rtp_jpeg_frame_data[] = - { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08, - 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08, - /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08, -@@ -738,7 +712,7 @@ GST_START_TEST (rtp_jpeg) - } - - GST_END_TEST; --static char rtp_jpeg_list_frame_data[] = -+static const guint8 rtp_jpeg_list_frame_data[] = - { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08, - 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08, - /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08, -@@ -767,7 +741,7 @@ GST_START_TEST (rtp_jpeg_list) - } - - GST_END_TEST; --static char rtp_g729_frame_data[] = -+static const guint8 rtp_g729_frame_data[] = - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10-python/PKGBUILD b/abs/extra/community/gstreamer0.10-python/PKGBUILD deleted file mode 100644 index f16d91f..0000000 --- a/abs/extra/community/gstreamer0.10-python/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=gstreamer0.10-python -pkgver=0.10.22 -pkgrel=2 -pkgdesc="Python bindings for GStreamer 0.10" -arch=('i686' 'x86_64') -license=('LGPL') -url="http://gstreamer.freedesktop.org/" -depends=('pygobject>=2.20.0' 'gstreamer0.10-base>=0.10.32') -makedepends=('pkgconfig') -source=(http://gstreamer.freedesktop.org/src/gst-python/gst-python-${pkgver}.tar.bz2) -md5sums=('937152fe896241f827689f4b53e79b22') - -build() { - cd "${srcdir}/gst-python-${pkgver}" - export PYTHON=python2 - sed -i -e 's%^#!.*env python$%#!/usr/bin/env python2%' examples/* gst/extend/*.py - ./configure --prefix=/usr - make -} - -package() { - cd "${srcdir}/gst-python-${pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/abs/extra/community/gstreamer0.10/PKGBUILD b/abs/extra/community/gstreamer0.10/PKGBUILD deleted file mode 100644 index d856335..0000000 --- a/abs/extra/community/gstreamer0.10/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id$ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=gstreamer0.10 -pkgver=0.10.36 -pkgrel=4 -pkgdesc="GStreamer Multimedia Framework" -arch=('i686' 'x86_64') -license=('LGPL') -url="http://gstreamer.com" -depends=('libxml2' 'glib2') -makedepends=('intltool' 'pkgconfig' 'gobject-introspection' 'git') -source=("git://anongit.freedesktop.org/gstreamer-sdk/gstreamer#commit=3ddc31eaa18c3be1613e43430eca78a3e445639e" - tests-remove-silly-test_fail_abstract_new-check.patch - bison3.patch) -sha256sums=('SKIP' - 'd3d3f4f04453831fdb4244bfe174a38c4e6f9f4da5c8c9050dcfa1a6097aad52' - 'ed154e280abf59b24d98a8ab0fe868b449b26aa61f7ae3813fab8ac615fcaefa') - -prepare() { - cd gstreamer - patch -Np1 -i ../tests-remove-silly-test_fail_abstract_new-check.patch - patch -Np1 -i ../bison3.patch - sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.ac -} -build() { - cd gstreamer - NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ - --with-package-name="GStreamer (Archlinux)" \ - --with-package-origin="http://www.archlinux.org/" \ - --disable-gtk-doc --disable-static - make -} - -check() { - cd gstreamer - make check -} - -package() { - cd gstreamer - make DESTDIR="${pkgdir}" install - - #Remove unversioned gst-* binaries to get rid of conflicts - cd "${pkgdir}/usr/bin" - for bins in `ls *-0.10`; do - rm -f ${bins/-0.10/} - done -} diff --git a/abs/extra/community/gstreamer0.10/bison3.patch b/abs/extra/community/gstreamer0.10/bison3.patch deleted file mode 100644 index 4f4f521..0000000 --- a/abs/extra/community/gstreamer0.10/bison3.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bd2a01cfe222367493a71f3269f12250c8972db0 Mon Sep 17 00:00:00 2001 -From: Kerrick Staley <kerrick@kerrickstaley.com> -Date: Wed, 21 Aug 2013 06:59:29 +0000 -Subject: parse: make grammar.y work with Bison 3 - -YYLEX_PARAM is no longer supported in Bison 3. - -https://bugzilla.gnome.org/show_bug.cgi?id=706462 ---- -diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y -index 8a9019c..f533389 100644 ---- a/gst/parse/grammar.y -+++ b/gst/parse/grammar.y -@@ -26,7 +26,6 @@ - */ - - #define YYERROR_VERBOSE 1 --#define YYLEX_PARAM scanner - - #define YYENABLE_NLS 0 - -@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s); - %right '.' - %left '!' '=' - -+%lex-param { void *scanner } - %parse-param { void *scanner } - %parse-param { graph_t *graph } - %pure-parser --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch b/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch deleted file mode 100644 index 7524e8f..0000000 --- a/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5bff3ba949d2ac0a9946c1240e6d4a5bb53fda99 Mon Sep 17 00:00:00 2001 -From: Tim-Philipp Müller <tim.muller@collabora.co.uk> -Date: Wed, 08 Aug 2012 13:49:23 +0000 -Subject: tests: remove silly test_fail_abstract_new check - -Our check would make sure that GLib segfaults when -someone tries to instantiate an abstract type, which -is an extremely useful thing to check for. - -In newer GLibs this is fixed and we get an abort with -a g_error() now it seems, so let's just remove this -check entirely. ---- -(limited to 'tests/check/gst/gstobject.c') - -diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c -index 6f7ccb8..ce2ed3e 100644 ---- a/tests/check/gst/gstobject.c -+++ b/tests/check/gst/gstobject.c -@@ -72,19 +72,6 @@ gst_fake_object_get_type (void) - return fake_object_type; - } - --#ifndef HAVE_OSX --/* g_object_new on abstract GstObject should fail */ --GST_START_TEST (test_fail_abstract_new) --{ -- GstObject *object; -- -- ASSERT_CRITICAL (object = g_object_new (gst_object_get_type (), NULL)); -- fail_unless (object == NULL, "Created an instance of abstract GstObject"); --} -- --GST_END_TEST; --#endif -- - /* g_object_new on GstFakeObject should succeed */ - GST_START_TEST (test_fake_object_new) - { -@@ -529,18 +516,6 @@ gst_object_suite (void) - tcase_add_test (tc_chain, test_fake_object_has_ancestor); - //tcase_add_checked_fixture (tc_chain, setup, teardown); - -- /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL -- * object, or at least g_error() and then abort properly ... (tpm) */ --#ifndef HAVE_OSX -- /* Disabled for OS/X because a) it's a pretty silly test anyway and -- * b) different OS/X versions raise different signals and it isn't worth -- * the effort to try and detect which one should be producing which -- */ -- /* SEGV tests go last so we can debug the others */ -- if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0) -- tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV); --#endif -- - return s; - } - --- -cgit v0.9.0.2-2-gbebe diff --git a/abs/extra/crda/PKGBUILD b/abs/extra/crda/PKGBUILD index 53fe499..a64528b 100644 --- a/abs/extra/crda/PKGBUILD +++ b/abs/extra/crda/PKGBUILD @@ -2,35 +2,27 @@ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda -pkgver=3.13 +pkgver=3.18 pkgrel=1 pkgdesc="Central Regulatory Domain Agent for wireless networks" -arch=(i686 x86_64) +arch=(x86_64) url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" license=('custom') depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd' 'iw') -makedepends=('python-m2crypto') +makedepends=('python2-m2crypto') install=crda.install -source=(https://kernel.org/pub/software/network/crda/${pkgname}-${pkgver}.tar.xz +source=(https://kernel.org/pub/software/network/crda/${pkgname}-${pkgver}.tar{.xz,.sign} set-wireless-regdom - 0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch - 0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch - 0001-Makefile-Don-t-run-ldconfig.patch) -sha256sums=('2f85da7ab0170b140d6ed62596c8f268d4a7dedecf84cac7182ada979742ff59' - '603ce97da5cce3f5337e99007ce04e2f295bb33a36b308794884011f7bcabaf3' - '8920b5988eb1befe13f88ce5c0dbbf30c294796d613681a2b0925f6f8534c51b' - 'ced0a372b06ffd64f90be77d7267c9d8cc10413bc017c3154b7208dbf69be3cb' - '96b2068b27202f8bc78009869520e396cb3f3ac7a826efef06d0fc41047f2520' - 'ff52990cf9295e5cebcf07ebbf2a96e225d97088573edcc898b29ce33a0fb663') - + 0001-Makefile-Don-t-run-ldconfig.patch + keysUnused.patch) +validpgpkeys=('E4053F8D0E7C4B9A0A20AB27DC553250F8FE7407') #Luis R. Rodriguez prepare() { cd "${srcdir}"/${pkgname}-${pkgver} sed 's|^#!/usr/bin/env python|#!/usr/bin/python2|' -i utils/key2pub.py - patch -p1 -i "${srcdir}"/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch - patch -p1 -i "${srcdir}"/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch patch -p1 -i "${srcdir}"/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch patch -p1 -i "${srcdir}"/0001-Makefile-Don-t-run-ldconfig.patch + patch -p1 -i "${srcdir}"/keysUnused.patch } build() { @@ -51,3 +43,9 @@ package() { install -D -m755 "${srcdir}"/set-wireless-regdom "${pkgdir}"/usr/bin/set-wireless-regdom } +md5sums=('0431fef3067bf503dfb464069f06163a' + 'SKIP' + '65c93f2ff2eb1b29d9e9fa102ae2dd45' + '0fac1d7753cc60866709c6d82f8a6fb2' + '63c1829bba4e1d97336bb59cda80f330' + '63434b3e5fa28bb574cc78e169740d1f') diff --git a/abs/extra/crda/__changelog b/abs/extra/crda/__changelog index 2c7ba65..8096b92 100644 --- a/abs/extra/crda/__changelog +++ b/abs/extra/crda/__changelog @@ -1 +1 @@ -PKGBUILD: change dep python2-m2crypto to python-m2crypto +PKGBUILD: add keysUnused.patch diff --git a/abs/extra/crda/keysUnused.patch b/abs/extra/crda/keysUnused.patch new file mode 100644 index 0000000..ca4f09d --- /dev/null +++ b/abs/extra/crda/keysUnused.patch @@ -0,0 +1,34 @@ +From 067d961a344b4a2b2c374cfba5a632f0652971e2 Mon Sep 17 00:00:00 2001 +From: Jelle van der Waa <jelle@vdwaa.nl> +Date: Mon, 4 Dec 2017 21:52:39 +0100 +Subject: =?UTF-8?q?crda:=20Fix=20error:=20`keys=E2=80=99=20defined=20but?= + =?UTF-8?q?=20not=20used?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix error: ‘keys’ defined but not used [-Werror=unused-const-variable=] +by informing GCC keys is unused. + +Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl> +Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> +--- + utils/key2pub.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utils/key2pub.py b/utils/key2pub.py +index 3e84cd2..9bb04cd 100755 +--- a/utils/key2pub.py ++++ b/utils/key2pub.py +@@ -115,7 +115,7 @@ struct key_params { + .n = _n, .len_n = sizeof(_n), \ + } + +-static const struct key_params keys[] = { ++static const struct key_params __attribute__ ((unused)) keys[] = { + ''') + for n in xrange(n + 1): + output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) +-- +cgit v1.1 + diff --git a/abs/extra/ctags/CVE-2014-7204.patch b/abs/extra/ctags/CVE-2014-7204.patch new file mode 100644 index 0000000..baf036f --- /dev/null +++ b/abs/extra/ctags/CVE-2014-7204.patch @@ -0,0 +1,102 @@ +From a499a10833d525c9af794c616dc40f7425110c71 Mon Sep 17 00:00:00 2001 +From: Colin Watson <cjwatson@debian.org> +Date: Sat, 27 Sep 2014 14:37:19 +0100 +Subject: Changed the javascript parser to set the tag's scope rather than + including it in the tag name. + +Patch from Colomban. + +Author: David Fishburn +Origin: upstream, http://sourceforge.net/p/ctags/code/791/ +Bug-Debian: https://bugs.debian.org/742605 +Last-Update: 2014-09-27 + +Patch-Name: jscript-set-tag-scope.patch +--- + jscript.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 51 insertions(+), 3 deletions(-) + +diff --git a/jscript.c b/jscript.c +index 5de3367..a790355 100644 +--- a/jscript.c ++++ b/jscript.c +@@ -215,6 +215,7 @@ static void deleteToken (tokenInfo *const token) + * Tag generation functions + */ + ++/* + static void makeConstTag (tokenInfo *const token, const jsKind kind) + { + if (JsKinds [kind].enabled && ! token->ignoreTag ) +@@ -238,12 +239,13 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) + + if (JsKinds [kind].enabled && ! token->ignoreTag ) + { +- /* ++ * + * If a scope has been added to the token, change the token + * string to include the scope when making the tag. +- */ ++ * + if ( vStringLength(token->scope) > 0 ) + { ++ * + fulltag = vStringNew (); + vStringCopy(fulltag, token->scope); + vStringCatS (fulltag, "."); +@@ -251,8 +253,54 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) + vStringTerminate(fulltag); + vStringCopy(token->string, fulltag); + vStringDelete (fulltag); ++ * ++ jsKind parent_kind = JSTAG_CLASS; ++ ++ * ++ * if we're creating a function (and not a method), ++ * guess we're inside another function ++ * ++ if (kind == JSTAG_FUNCTION) ++ parent_kind = JSTAG_FUNCTION; ++ ++ e.extensionFields.scope[0] = JsKinds [parent_kind].name; ++ e.extensionFields.scope[1] = vStringValue (token->scope); ++ } ++ * makeConstTag (token, kind); * ++ makeTagEntry (&e); ++ } ++} ++*/ ++ ++static void makeJsTag (tokenInfo *const token, const jsKind kind) ++{ ++ if (JsKinds [kind].enabled && ! token->ignoreTag ) ++ { ++ const char *const name = vStringValue (token->string); ++ tagEntryInfo e; ++ initTagEntry (&e, name); ++ ++ e.lineNumber = token->lineNumber; ++ e.filePosition = token->filePosition; ++ e.kindName = JsKinds [kind].name; ++ e.kind = JsKinds [kind].letter; ++ ++ if ( vStringLength(token->scope) > 0 ) ++ { ++ jsKind parent_kind = JSTAG_CLASS; ++ ++ /* ++ * If we're creating a function (and not a method), ++ * guess we're inside another function ++ */ ++ if (kind == JSTAG_FUNCTION) ++ parent_kind = JSTAG_FUNCTION; ++ ++ e.extensionFields.scope[0] = JsKinds [parent_kind].name; ++ e.extensionFields.scope[1] = vStringValue (token->scope); + } +- makeConstTag (token, kind); ++ ++ makeTagEntry (&e); + } + } + diff --git a/abs/extra/ctags/PKGBUILD b/abs/extra/ctags/PKGBUILD new file mode 100644 index 0000000..54c4190 --- /dev/null +++ b/abs/extra/ctags/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: John Proctor <jproctor@prium.net> + +pkgname=ctags +pkgver=5.8 +pkgrel=5 +pkgdesc="Generates an index file of language objects found in source files" +arch=('x86_64') +license=('GPL') +depends=('glibc') +url="http://ctags.sourceforge.net/" +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz" + "CVE-2014-7204.patch") +md5sums=('c00f82ecdcc357434731913e5b48630d' + '5fd1a8abb0e1e2d16fd4b8b870e03249') + +prepare() { + cd ${srcdir}/${pkgname}-${pkgver} + + patch -Np1 <../CVE-2014-7204.patch +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + ./configure --prefix=/usr \ + --disable-external-sort + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make prefix=${pkgdir}/usr install +} diff --git a/abs/extra/dblatex/PKGBUILD b/abs/extra/dblatex/PKGBUILD new file mode 100644 index 0000000..498c6a7 --- /dev/null +++ b/abs/extra/dblatex/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Lukas Fleischer <lfleischer@archlinux.org> +# Contributor: Marcin Karpezo <sirmacik at gmail dot com> +# Contributor: Andreas Hauser <andy-aur@splashground.de> + +pkgname=dblatex +pkgver=0.3.10 +pkgrel=1 +pkgdesc='DocBook (XML and SGML) to DVI, PDF, PostScript converter using latex.' +arch=('any') +url='http://dblatex.sourceforge.net/' +license=('GPL') +depends=('docbook-xsl' 'docbook-xml' 'libxslt' 'python2' 'texlive-core' 'texlive-htmlxml' + 'texlive-latexextra' 'texlive-pictures' 'texlive-science') +source=("https://downloads.sourceforge.net/project/dblatex/dblatex/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('437513c07101cefe5be3cbe83f313878') + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + python2 setup.py install --root "${pkgdir}" --catalogs=/etc/xml/docbook-xml + sed -i -e "s,${pkgdir},," -e "s,#!/usr/bin/env python,#!/usr/bin/env python2," \ + "${pkgdir}/usr/bin/dblatex" +} diff --git a/abs/extra/docbook-dsssl/PKGBUILD b/abs/extra/docbook-dsssl/PKGBUILD new file mode 100644 index 0000000..14afbb6 --- /dev/null +++ b/abs/extra/docbook-dsssl/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +# Contributor: Chris Severance aur.severach aATt spamgourmet dott com +# Contributor: Andreas B. Wagner <AndreasBWagner@pointfree.net> +# Contributor: Suat SARIALP <muhendis.suat@gmail.com> + +pkgname='docbook-dsssl' +pkgver=1.79 +pkgrel=5 +pkgdesc="DSSSL Stylesheets for DocBook" +arch=('any') +url="http://docbook.sourceforge.net/" +license=('custom') +depends=('sgml-common' 'perl') +install=${pkgname}.install +source=(https://sourceforge.net/projects/docbook/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2 + docbook-style-dsssl.Makefile) +sha1sums=('0ee935247c9f850e930f3b5c162dbc03915469cd' + '104a665b2c3e1520337533862cbd1c1c55d6e01c') + +prepare() { + cd "${pkgname}-${pkgver}" + cp ${srcdir}/docbook-style-dsssl.Makefile Makefile +} + +package(){ + cd "${pkgname}-${pkgver}" + make install \ + BINDIR="${pkgdir}/usr/bin" \ + DESTDIR="${pkgdir}/usr/share/sgml/docbook/dsssl-stylesheets-${pkgver}" \ + MANDIR="${pkgdir}/usr/share/man" + + ln -s dsssl-stylesheets-${pkgver} ${pkgdir}/usr/share/sgml/docbook/dsssl-stylesheets + # license + install -Dm644 README "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/abs/extra/docbook-dsssl/docbook-dsssl.install b/abs/extra/docbook-dsssl/docbook-dsssl.install new file mode 100644 index 0000000..c81b826 --- /dev/null +++ b/abs/extra/docbook-dsssl/docbook-dsssl.install @@ -0,0 +1,24 @@ +post_install() { + /usr/bin/install-catalog --add \ + /etc/sgml/dsssl-docbook-stylesheets.cat \ + /usr/share/sgml/docbook/dsssl-stylesheets-1.79/catalog + + /usr/bin/install-catalog --add \ + /etc/sgml/sgml-docbook.cat \ + /etc/sgml/dsssl-docbook-stylesheets.cat + +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + /usr/bin/install-catalog --remove \ + /etc/sgml/dsssl-docbook-stylesheets.cat \ + /usr/share/sgml/docbook/dsssl-stylesheets-1.79/catalog + + /usr/bin/install-catalog --remove \ + /etc/sgml/sgml-docbook.cat \ + /etc/sgml/dsssl-docbook-stylesheets.cat +} diff --git a/abs/extra/docbook-dsssl/docbook-style-dsssl.Makefile b/abs/extra/docbook-dsssl/docbook-style-dsssl.Makefile new file mode 100644 index 0000000..af1a1fb --- /dev/null +++ b/abs/extra/docbook-dsssl/docbook-style-dsssl.Makefile @@ -0,0 +1,51 @@ +BINDIR = /usr/bin +DESTDIR = /usr/share/sgml/docbook/dsssl-stylesheets-1.74b +MANDIR= /usr/share/man + +all: install + +install: install-bin install-dtd install-dsl install-img install-misc install-man + +install-bin: + mkdir -p $(BINDIR) + install -p bin/collateindex.pl $(BINDIR) + +install-man: + mkdir -p $(MANDIR)/man1 + install -m 644 -p bin/collateindex.pl.1 $(MANDIR)/man1 + +install-dtd: + mkdir -p $(DESTDIR)/dtds/{decls,dbdsssl,html,imagelib,olink} + cp -p dtds/decls/docbook.dcl $(DESTDIR)/dtds/decls + cp -p dtds/decls/xml.dcl $(DESTDIR)/dtds/decls + cp -p dtds/dbdsssl/dbdsssl.dtd $(DESTDIR)/dtds/dbdsssl + cp -p dtds/html/dbhtml.dtd $(DESTDIR)/dtds/html + cp -p dtds/html/ISOlat1.gml $(DESTDIR)/dtds/html + cp -p dtds/imagelib/imagelib.dtd $(DESTDIR)/dtds/imagelib + cp -p dtds/olink/olinksum.dtd $(DESTDIR)/dtds/olink + +install-dsl: + mkdir -p $(DESTDIR)/{lib,common,html,print,olink} + cp -p lib/dblib.dsl $(DESTDIR)/lib + cp -p common/*.dsl $(DESTDIR)/common + cp -p common/*.ent $(DESTDIR)/common + cp -p html/*.dsl $(DESTDIR)/html + cp -p lib/dblib.dsl $(DESTDIR)/lib + cp -p print/*.dsl $(DESTDIR)/print + cp -p olink/*.dsl $(DESTDIR)/olink + +install-img: + mkdir -p $(DESTDIR)/images/callouts + cp -p images/*.gif $(DESTDIR)/images + cp -p images/callouts/*.gif $(DESTDIR)/images/callouts + +#install-test: +# mkdir -p $(DESTDIR)/test/{cases,imagelib,xml} +# cp test/*.* $(DESTDIR)/test +# cp test/cases/*.* $(DESTDIR)/test/cases +# cp test/imagelib/*.* $(DESTDIR)/test/imagelib +# cp test/xml/*.* $(DESTDIR)/test/xml + +install-misc: + cp -p catalog $(DESTDIR) + cp -p VERSION $(DESTDIR) diff --git a/abs/extra/docbook-sgml31/PKGBUILD b/abs/extra/docbook-sgml31/PKGBUILD new file mode 100644 index 0000000..d2a61d3 --- /dev/null +++ b/abs/extra/docbook-sgml31/PKGBUILD @@ -0,0 +1,38 @@ +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +# Contributor: Chris Severance aur.severach aATt spamgourmet dott com +# Contributor: Andreas B. Wagner <AndreasBWagner@gmail.com> + +pkgname=docbook-sgml31 +pkgver=3.1 +pkgrel=2 +pkgdesc="Legacy docbook-sgml" +arch=('any') +url='http://www.docbook.org/sgml/' +license=('MIT') +depends=('sgml-common') +install=$pkgname.install +source=("http://www.docbook.org/sgml/${pkgver}/docbk31.zip") +sha256sums=('20261d2771b9a052abfa3d8fab1aa62be05791a010281c566f9073bf0e644538') + +build() { + cd "$srcdir" + # This command removes the ENT definitions from the catalog file. + # This command replaces the DTDDECL catalog entry, which is not supported by Linux SGML tools, + # with the SGMLDECL catalog entry. + sed -i -e '/ISO 8879/d' \ + -e 's|DTDDECL "-//OASIS//DTD DocBook V3.1//EN"|SGMLDECL|g' \ + docbook.cat +} + +package() { + cd "$srcdir" + + local DTDDIR="usr/share/sgml/docbook-sgml-${pkgver}" + + install -dm755 "$pkgdir/$DTDDIR" + install -m644 docbook.cat "$pkgdir/$DTDDIR/catalog" + install -m644 *.dtd *.mod *.dcl "$pkgdir/$DTDDIR" +} + diff --git a/abs/extra/docbook-sgml31/docbook-sgml31.install b/abs/extra/docbook-sgml31/docbook-sgml31.install new file mode 100644 index 0000000..30f028a --- /dev/null +++ b/abs/extra/docbook-sgml31/docbook-sgml31.install @@ -0,0 +1,42 @@ +# arg 1: the new package version +post_install() { + add_catalog "${1%-*}" +} + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + remove_catalog "${2%-*}" +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + add_catalog "${1%-*}" +} + +# arg 1: the old package version +pre_remove() { + remove_catalog "${1%-*}" +} +add_catalog() { + install-catalog --add /etc/sgml/sgml-docbook-dtd-$1.cat \ + /usr/share/sgml/docbook-sgml-$1/catalog > /dev/null 2>&1 + + install-catalog --add /etc/sgml/sgml-docbook-dtd-$1.cat \ + /etc/sgml/sgml-docbook.cat > /dev/null 2>&1 +} + +remove_catalog() { + install-catalog --remove /etc/sgml/sgml-docbook-dtd-$1.cat \ + /usr/share/sgml/docbook-sgml-$1/catalog > /dev/null 2>&1 + + install-catalog --remove /etc/sgml/sgml-docbook-dtd-$1.cat \ + /etc/sgml/sgml-docbook.cat > /dev/null 2>&1 +} +op=$1 +shift +$op "$@" + +# vim:set syntax=sh ts=4 sw=4 noet: + diff --git a/abs/extra/docbook-utils/PKGBUILD b/abs/extra/docbook-utils/PKGBUILD new file mode 100644 index 0000000..096ead7 --- /dev/null +++ b/abs/extra/docbook-utils/PKGBUILD @@ -0,0 +1,47 @@ +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +# Contributor: Chris Severance aur.severach aATt spamgourmet dott com +# Contributor: Andreas B. Wagner <AndreasBWagner@pointfree.net> +# Contributor: Suat SARIALP <muhendis.suat@gmail.com> + +pkgname=docbook-utils +pkgver=0.6.14 +pkgrel=8 +pkgdesc='Shell scripts to manage DocBook documents' +arch=('any') +url="https://www.sourceware.org/docbook-tools/" +license=('GPL2') +depends=('openjade' 'docbook-dsssl' 'docbook-sgml31') +makedepends=('perl-sgmls') +optdepends=('perl-sgmls: for conversion to man and texinfo' + 'lynx: for conversion to txt' + 'texlive-htmlxml: for conversion to pdf') +conflicts=('docbook2x') +source=(ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/${pkgname}-${pkgver}.tar.gz + docbook-utils-0.6.14-grep_fix-1.patch) +sha256sums=('48faab8ee8a7605c9342fb7b906e0815e3cee84a489182af38e8f7c0df2e92e9' + 'ddf0ddca0a540fd4f34f38b7b9090f96746e37da12b4e2bf8f4174c5ad61f54a') + +prepare() { + cd "${pkgname}-${pkgver}" + patch -Np1 -i ${srcdir}/docbook-utils-0.6.14-grep_fix-1.patch +} + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man + make +} + +package() { + cd "${pkgname}-${pkgver}" + make install DESTDIR="${pkgdir}" htmldir="/usr/share/doc/${pkgname}/html" + + #common alternative names + for doctype in 'html' 'ps' 'dvi' 'man' 'pdf' 'rtf' 'tex' 'texi' 'txt'; do + ln -svf "docbook2${doctype}" "${pkgdir}/usr/bin/db2${doctype}" + done +} diff --git a/abs/extra/docbook-utils/docbook-utils-0.6.14-grep_fix-1.patch b/abs/extra/docbook-utils/docbook-utils-0.6.14-grep_fix-1.patch new file mode 100644 index 0000000..f966697 --- /dev/null +++ b/abs/extra/docbook-utils/docbook-utils-0.6.14-grep_fix-1.patch @@ -0,0 +1,33 @@ +Submitted By: Ken Moffat <ken at linuxfromscratch dot org> +Date: 2011-01-01 +Initial Package Version: 0.6.14 +Upstream Status: unknown +Origin: fedora +Description: Grep-2.7 errors out on the 'space' syntax, causing +docbook2html to fail. Fixed up by hand (the fedora version depends +on a different patch which adds --color=never). + +diff -Naur docbook-utils-0.6.14.orig/bin/jw.in docbook-utils-0.6.14//bin/jw.in +--- docbook-utils-0.6.14.orig/bin/jw.in 2003-04-30 17:21:49.000000000 +0100 ++++ docbook-utils-0.6.14//bin/jw.in 2011-01-01 18:43:21.558959786 +0000 +@@ -80,9 +80,9 @@ + SGML_CATALOGS_DIR="/etc/sgml" + if [ -f "$SGML_CONF" ] + then +- RE='^[:space:]*SGML_BASE_DIR[:space:]*=[:space:]*' ++ RE='^[[:space:]]*SGML_BASE_DIR[[:space:]]*=[[:space:]]*' + SGML_BASE_DIR=`grep $RE $SGML_CONF | sed "s/$RE//"` +- RE='^[:space:]*SGML_CATALOGS_DIR[:space:]*=[:space:]*' ++ RE='^[[:space:]]*SGML_CATALOGS_DIR[[:space:]]*=[[:space:]]*' + SGML_CATALOGS_DIR=`grep $RE $SGML_CONF | sed "s/$RE//"` + fi + +@@ -312,7 +312,7 @@ + SGML_CATALOG_FILES=$SGML_CENTRALIZED_CATALOG + else + SGML_CATALOG_FILES=`find $SGML_BASE_DIR -name catalog` +- SGML_CATALOG_FILES=`echo "$SGML_CATALOG_FILES" | tr [:space:] :` ++ SGML_CATALOG_FILES=`echo "$SGML_CATALOG_FILES" | tr [[:space:]] :` + fi + ;; + no) SGML_CATALOG_FILES="" diff --git a/abs/extra/double-conversion/PKGBUILD b/abs/extra/double-conversion/PKGBUILD new file mode 100644 index 0000000..1518fb3 --- /dev/null +++ b/abs/extra/double-conversion/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Joel Teichroeb <joel@teichroeb.net> +# Contributor: Jonas Heinrich <onny@project-insanity.org> + +pkgname=double-conversion +pkgver=3.0.0 +pkgrel=1 +pkgdesc='Binary-decimal and decimal-binary routines for IEEE doubles' +arch=(x86_64) +url='https://github.com/google/double-conversion' +license=(BSD) +depends=(gcc-libs) +makedepends=(cmake) +source=(double-conversion-$pkgver.tar.gz::https://github.com/google/double-conversion/archive/v$pkgver.tar.gz) +sha256sums=('152f15355242b6b1fbb4098fcd825bf08527eda0c65e8446939222a13f0b3915') + +build() { + cd double-conversion-$pkgver + cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_LIBDIR=lib + make +} + +check() { + cd double-conversion-$pkgver + cd test + cmake . +# Currently tests fail +# make all +} + +package () { + cd double-conversion-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/double-conversion/LICENSE +} diff --git a/abs/extra/doxygen/PKGBUILD b/abs/extra/doxygen/PKGBUILD index d877cd2..8d22169 100644 --- a/abs/extra/doxygen/PKGBUILD +++ b/abs/extra/doxygen/PKGBUILD @@ -1,25 +1,70 @@ -# $Id: PKGBUILD 84267 2010-06-28 05:13:23Z dan $ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> # Maintainer: Dan McGee <dan@archlinux.org> -pkgname=doxygen -pkgver=1.8.2 + +pkgbase=doxygen +pkgname=('doxygen' 'doxygen-docs') +pkgver=1.8.14 pkgrel=1 -pkgdesc="A documentation system for C++, C, Java, IDL and PHP" +pkgdesc='Documentation system for C++, C, Java, IDL and PHP' +url='http://www.doxygen.org/' +arch=('x86_64') license=('GPL') -arch=(i686 x86_64) -url="http://www.doxygen.org/" -depends=('gcc-libs') -# qt required to build and run doxywizard, but don't want to drag it in -makedepends=('flex' 'qt') -optdepends=('graphviz: for caller/callee graph generation' - 'qt: for doxywizard') -source=(ftp://ftp.stack.nl/pub/users/dimitri/${pkgname}-${pkgver}.src.tar.gz) +makedepends=('cmake' 'gcc-libs' 'flex' 'qt5-base' 'texlive-core' 'ghostscript' + 'texlive-latexextra' 'graphviz' 'python2') +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/doxygen/doxygen/archive/Release_${pkgver//./_}.tar.gz) +sha256sums=('18bc3790b4d5f4d57cb8ee0a77dd63a52518f3f70d7fdff868a7ce7961a6edc3') +sha512sums=('e19d706be64f8c1d35d3cd12b8c35f09503213bb3f5a4aa311ef0a6a953843ebed5ac4eca52ca908222543fb9794d545bb6d88c9fc8f39e66ef22c1919c120b0') + +prepare() { + cd ${pkgbase}-Release_${pkgver//./_} + + mkdir build + + # Install the man pages in the right place + sed -i 's:DESTINATION man/man1:DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1":g' \ + doc/CMakeLists.txt +} build() { - cd ${startdir}/src/${pkgname}-${pkgver} - QTDIR=/usr ./configure --prefix /usr --with-doxywizard - make || return 1 - make INSTALL=${startdir}/pkg/usr MAN1DIR=share/man/man1 install + cd ${pkgbase}-Release_${pkgver//./_}/build + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DDOC_INSTALL_DIR:PATH=share/doc/doxygen \ + -DPYTHON_EXECUTABLE:FILE=/usr/bin/python2 \ + -Dbuild_doc:BOOL=ON \ + -Dbuild_wizard:BOOL=ON + + make + make docs +} + +check(){ + cd ${pkgbase}-Release_${pkgver//./_}/build + make tests +} + +package_doxygen() { + pkgdesc='Documentation system for C++, C, Java, IDL and PHP' + depends=('gcc-libs') + optdepends=('graphviz: for caller/callee graph generation' + 'qt5-base: for doxywizard') + + cd ${pkgbase}-Release_${pkgver//./_}/build + make DESTDIR="${pkgdir}" install + + # Docs are in 'doxygen-docs' + rm -rf "${pkgdir}/usr/share/doc" } +package_doxygen-docs() { + pkgdesc='Developer documentation for doxygen' + + cd ${pkgbase}-Release_${pkgver//./_}/build + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}/usr/bin" + rm -rf "${pkgdir}/usr/share/man" +} -md5sums=('6fa7baf995fa3f71cfc09e264ba88a83') +# vim: ts=2 sw=2 et: diff --git a/abs/extra/doxygen/PKGBUILD.orig b/abs/extra/doxygen/PKGBUILD.orig deleted file mode 100644 index f4b09d2..0000000 --- a/abs/extra/doxygen/PKGBUILD.orig +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: PKGBUILD 14308 2008-10-05 15:59:28Z dan $ -# Maintainer: Dan McGee <dan@archlinux.org> -pkgname=doxygen -pkgver=1.7.1 -pkgrel=1 -pkgdesc="A documentation system for C++, C, Java, IDL and PHP" -license=('GPL') -arch=(i686 x86_64) -url="http://www.doxygen.org/" -depends=('gcc-libs') -# qt required to build and run doxywizard, but don't want to drag it in -makedepends=('flex' 'qt3') -optdepends=('graphviz: for caller/callee graph generation' - 'qt3: for doxywizard') -source=(ftp://ftp.stack.nl/pub/users/dimitri/${pkgname}-${pkgver}.src.tar.gz) - -build() { - . /etc/profile.d/qt3.sh - cd ${startdir}/src/${pkgname}-${pkgver} - ./configure --prefix /usr --with-doxywizard - make || return 1 - make INSTALL=${startdir}/pkg/usr MAN1DIR=share/man/man1 install -} -md5sums=('13e76e10fb55581a16ee04de35c264f0') diff --git a/abs/extra/emacs/PKGBUILD b/abs/extra/emacs/PKGBUILD index bc223a0..9b1aaeb 100644 --- a/abs/extra/emacs/PKGBUILD +++ b/abs/extra/emacs/PKGBUILD @@ -3,23 +3,24 @@ # Contributor: Renchi Raju <renchi@green.tam.uiuc.edu> pkgname=emacs -pkgver=24.5 -pkgrel=2 +pkgver=25.3 +pkgrel=3 pkgdesc="The extensible, customizable, self-documenting real-time display editor" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.gnu.org/software/emacs/emacs.html" license=('GPL3') -depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick' 'gnutls') -install=emacs.install +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'libmagick6' 'gnutls') validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910') source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz{,.sig}) -md5sums=('50560ee00bac9bb9cf0e822764cd0832' +sha1sums=('1cb4f39e9c0a3305fd62f936c7c95ff8e2924323' 'SKIP') build() { cd "$srcdir"/$pkgname-$pkgver + PKG_CONFIG_PATH="/usr/lib/imagemagick6/pkgconfig" \ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ - --localstatedir=/var --with-x-toolkit=gtk3 --with-xft + --localstatedir=/var --with-x-toolkit=gtk3 --with-xft \ + --with-modules make } @@ -30,8 +31,7 @@ package() { # remove conflict with ctags package mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1} - # remove conflict with texinfo - rm "$pkgdir"/usr/share/info/info.info.gz + # fix user/root permissions on usr/share files find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \; # fix perms on /var/games diff --git a/abs/extra/emacs/emacs.install b/abs/extra/emacs/emacs.install deleted file mode 100644 index 6712f44..0000000 --- a/abs/extra/emacs/emacs.install +++ /dev/null @@ -1,32 +0,0 @@ -ICON_PATH=usr/share/icons/hicolor -INFO_DIR=usr/share/info - -INFO_FILES=(ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse -ede ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc ert eshell eudc flymake -forms gnus htmlfontify idlwave mairix-el message mh-e newsticker nxml-mode -org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail -speedbar srecode tramp url vip viper widget wisent woman) - -post_install() { - gtk-update-icon-cache -q -t -f ${ICON_PATH} - update-desktop-database -q - - [[ -x usr/bin/install-info ]] || return 0 - for f in ${INFO_FILES[@]}; do - install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - gtk-update-icon-cache -q -t -f ${ICON_PATH} - update-desktop-database -q - - [[ -x usr/bin/install-info ]] || return 0 - for f in ${INFO_FILES[@]}; do - install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null - done -} diff --git a/abs/extra/enchant/PKGBUILD b/abs/extra/enchant/PKGBUILD index 837363a..1013c9c 100644 --- a/abs/extra/enchant/PKGBUILD +++ b/abs/extra/enchant/PKGBUILD @@ -4,26 +4,33 @@ # Contributor: dorphell <dorphell@archlinux.org> pkgname=enchant -pkgver=1.6.0 -pkgrel=5 +pkgver=2.2.3 +pkgrel=1 pkgdesc="A wrapper library for generic spell checking" -arch=('i686' 'x86_64') -url="http://www.abisource.com/enchant/" +arch=('x86_64') +url="https://abiword.github.io/enchant/" license=('LGPL') -depends=('aspell' 'dbus-glib' 'hunspell' 'hspell') -source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") -md5sums=('de11011aff801dc61042828041fb59c7') +depends=('aspell' 'hunspell' 'hspell' 'libvoikko' 'glib2') +makedepends=('git') +source=("$pkgname-$pkgver.tar.gz::https://github.com/AbiWord/enchant/archive/v$pkgver.tar.gz") +sha512sums=('a80bb41e5012eb16fd8c266f8a4c34f73e1ae90092377fb28859d2435269deeb6f673e6c1cbf9716a95a7103121a9e67fb88499b4affd83bfe513d7c149eb89c') + +prepare() { + cd $pkgname-$pkgver + ./bootstrap +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver ./configure --prefix=/usr \ --disable-static \ --disable-ispell \ --with-myspell-dir=/usr/share/myspell + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/epydoc/PKGBUILD b/abs/extra/epydoc/PKGBUILD new file mode 100644 index 0000000..7ccbd55 --- /dev/null +++ b/abs/extra/epydoc/PKGBUILD @@ -0,0 +1,55 @@ +# $Id$ +# Maintainer: Alexander F Rødseth <xyproto@archlinux.org> +# Contributor: Chris Brannon <chris@the-brannons.com> +# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org> +# Contributor: Angelo Theodorou <encelo@users.sourceforge.net> +# Contributor: SpepS <dreamspepser at yahoo dot it> + +pkgname=epydoc +pkgver=3.0.1 +pkgrel=4 +pkgdesc='Tool for generating API documentation for Python modules, based on their docstrings' +arch=('any') +license=('MIT') +url='https://epydoc.sourceforge.net/' +depends=('python2' 'docutils') +optdepends=('tk: needed for epydocgui' + 'texlive-bin: needed for PDF conversion' + 'graphviz: needed for graph generation') +source=("https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.zip" + 'handle-docutils-0.6.patch' + 'python26-tokenizer.patch' + 'string-exceptions.patch') +sha256sums=('574c1dca1b0e8783be0121c32f589cf56255cdb288b4d4e52e60f0a8bcf799cb' + '84d6724e0fcb3a5307963cbe37875e72110bf707781c64e7ddff0dfe96eeb1ab' + '8bfd54be68ee8e743ab470370042e40130e9cf8c0430d493401fa44eae2d66f6' + '099a94ba394f0c1c4f3f721fc3c9cf982a54f182be457faa03a7bb54188c8364') + +prepare() { + cd "$pkgname-$pkgver" + + # py2 fix + sed -i "s|env python|&2|" `grep -Erl "env python" .` + + patch -p1 -i "$srcdir/handle-docutils-0.6.patch" + patch -p1 -i "$srcdir/python26-tokenizer.patch" + patch -p1 -i "$srcdir/string-exceptions.patch" +} + +build() { + cd "$pkgname-$pkgver" + + python2 setup.py build +} + +package() { + cd "$pkgname-$pkgver" + + python2 setup.py install --root="$pkgdir" --prefix=/usr --optimize=1 + + install -d "$pkgdir/usr/share/man/man1" + install -m644 man/*.1 "$pkgdir/usr/share/man/man1" + install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +# vim:ts=2 sw=2 et: diff --git a/abs/extra/epydoc/handle-docutils-0.6.patch b/abs/extra/epydoc/handle-docutils-0.6.patch new file mode 100644 index 0000000..53f941c --- /dev/null +++ b/abs/extra/epydoc/handle-docutils-0.6.patch @@ -0,0 +1,47 @@ +# Description: Handle problems encountered with docutils 0.6. +# The problem here is that the child.data element does not always exist any +# more. Apparently, the child element is sometimes a string instead. So, we +# work around it by only executing the code in question if child.data can be +# referenced. Thanks to Thomas Hille for research and the initial patch. +# Bug-Debian: http://bugs.debian.org/561793 +# Author: Kenneth J. Pronovici <pronovic@debian.org> +--- a/epydoc/markup/restructuredtext.py ++++ b/epydoc/markup/restructuredtext.py +@@ -304,13 +304,14 @@ class _SummaryExtractor(NodeVisitor): + # Extract the first sentence. + for child in node: + if isinstance(child, docutils.nodes.Text): +- m = self._SUMMARY_RE.match(child.data) +- if m: +- summary_pieces.append(docutils.nodes.Text(m.group(1))) +- other = child.data[m.end():] +- if other and not other.isspace(): +- self.other_docs = True +- break ++ if hasattr(child, 'data'): ++ m = self._SUMMARY_RE.match(child.data) ++ if m: ++ summary_pieces.append(docutils.nodes.Text(m.group(1))) ++ other = child.data[m.end():] ++ if other and not other.isspace(): ++ self.other_docs = True ++ break + summary_pieces.append(child) + + summary_doc = self.document.copy() # shallow copy +@@ -489,10 +490,11 @@ class _SplitFieldsTranslator(NodeVisitor + if (len(fbody[0]) > 0 and + isinstance(fbody[0][0], docutils.nodes.Text)): + child = fbody[0][0] +- if child.data[:1] in ':-': +- child.data = child.data[1:].lstrip() +- elif child.data[:2] in (' -', ' :'): +- child.data = child.data[2:].lstrip() ++ if hasattr(child, 'data'): ++ if child.data[:1] in ':-': ++ child.data = child.data[1:].lstrip() ++ elif child.data[:2] in (' -', ' :'): ++ child.data = child.data[2:].lstrip() + + # Wrap the field body, and add a new field + self._add_field(tagname, arg, fbody) diff --git a/abs/extra/epydoc/python26-tokenizer.patch b/abs/extra/epydoc/python26-tokenizer.patch new file mode 100644 index 0000000..c4956ad --- /dev/null +++ b/abs/extra/epydoc/python26-tokenizer.patch @@ -0,0 +1,65 @@ +# Description: Fix the tokenizer so comment docstrings work with Python 2.6. +# Bug: https://sourceforge.net/tracker/index.php?func=detail&aid=2585292&group_id=32455&atid=405618 +# Bug-Debian: http://bugs.debian.org/590112 +# Origin: https://sourceforge.net/tracker/?func=detail&aid=2872545&group_id=32455&atid=405620 +# Author: Andre Malo (ndparker) +# Reviewed-by: Kenneth J. Pronovici <pronovic@debian.org> +--- a/epydoc/docparser.py ++++ b/epydoc/docparser.py +@@ -72,6 +72,26 @@ + from epydoc.compat import * + + ###################################################################### ++## Tokenizer change in 2.6 ++###################################################################### ++ ++def comment_includes_nl(): ++ """ Determine whether comments are parsed as one or two tokens... """ ++ readline = iter(u'\n#\n\n'.splitlines(True)).next ++ tokens = [ ++ token.tok_name[tup[0]] for tup in tokenize.generate_tokens(readline) ++ ] ++ if tokens == ['NL', 'COMMENT', 'NL', 'ENDMARKER']: ++ return True ++ elif tokens == ['NL', 'COMMENT', 'NL', 'NL', 'ENDMARKER']: ++ return False ++ raise AssertionError( ++ "Tokenizer returns unexexpected tokens: %r" % tokens ++ ) ++ ++comment_includes_nl = comment_includes_nl() ++ ++###################################################################### + ## Doc Parser + ###################################################################### + +@@ -520,6 +540,10 @@ + # inside that block, not outside it. + start_group = None + ++ # If the comment tokens do not include the NL, every comment token ++ # sets this to True in order to swallow the next NL token unprocessed. ++ comment_nl_waiting = False ++ + # Check if the source file declares an encoding. + encoding = get_module_encoding(module_doc.filename) + +@@ -570,7 +594,9 @@ + # then discard them: blank lines are not allowed between a + # comment block and the thing it describes. + elif toktype == tokenize.NL: +- if comments and not line_toks: ++ if comment_nl_waiting: ++ comment_nl_waiting = False ++ elif comments and not line_toks: + log.warning('Ignoring docstring comment block followed by ' + 'a blank line in %r on line %r' % + (module_doc.filename, srow-1)) +@@ -578,6 +604,7 @@ + + # Comment token: add to comments if appropriate. + elif toktype == tokenize.COMMENT: ++ comment_nl_waiting = not comment_includes_nl + if toktext.startswith(COMMENT_DOCSTRING_MARKER): + comment_line = toktext[len(COMMENT_DOCSTRING_MARKER):].rstrip() + if comment_line.startswith(" "): diff --git a/abs/extra/epydoc/string-exceptions.patch b/abs/extra/epydoc/string-exceptions.patch new file mode 100644 index 0000000..eca9793 --- /dev/null +++ b/abs/extra/epydoc/string-exceptions.patch @@ -0,0 +1,18 @@ +# Description: Get rid of string exceptions. +# One of the changes brought by Python 2.6 is the removal of string +# exceptions. A mass bug filing identified Epydoc as having potential +# problems. I later spot-checked all of the exceptions in the code, and I +# believe this is the only one that we have to worry about. +# Bug-Debian: http://bugs.debian.org/585290 +# Author: Kenneth J. Pronovici <pronovic@debian.org> +--- a/epydoc/apidoc.py ++++ b/epydoc/apidoc.py +@@ -1352,7 +1352,7 @@ class ClassDoc(NamespaceDoc): + nothead=[s for s in nonemptyseqs if cand in s[1:]] + if nothead: cand=None #reject candidate + else: break +- if not cand: raise "Inconsistent hierarchy" ++ if not cand: raise TypeError("Inconsistent hierarchy") + res.append(cand) + for seq in nonemptyseqs: # remove cand + if seq[0] == cand: del seq[0] diff --git a/abs/extra/ffcall/PKGBUILD b/abs/extra/ffcall/PKGBUILD new file mode 100644 index 0000000..4aad77d --- /dev/null +++ b/abs/extra/ffcall/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Vesa Kaihlavirta <vegai@iki.fi> +# Contributor: Michael Baehr <usemike@spamblocked.com> + +pkgname=ffcall +pkgver=1.13 +pkgrel=2 +pkgdesc="C library for implementing foreign function calls in embedded interpreters" +arch=('x86_64') +url="http://www.gnu.org/software/libffcall/" +license=('GPL2') +options=('!makeflags' 'staticlibs') +source=(https://ftp.gnu.org/gnu/libffcall/libffcall-1.13.tar.gz) +md5sums=('cb3051a80726b5e7b9031c4038a56afc') + +build() { + cd "${srcdir}/lib${pkgname}-${pkgver}" + [ "$CARCH" = "x86_64" ] && CONFIGFLAG="--with-pic" + ./configure --prefix=/usr --mandir=/usr/share/man $CONFIGFLAG + make +} + +check() { + cd "${srcdir}/lib${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/lib${pkgname}-${pkgver}" + install -d "${pkgdir}"/usr/share/{man,doc/ffcall} + make DESTDIR="${pkgdir}" htmldir=/usr/share/doc/ffcall install +} diff --git a/abs/extra/ffmpeg2.8/PKGBUILD b/abs/extra/ffmpeg2.8/PKGBUILD index f203567..155f869 100644 --- a/abs/extra/ffmpeg2.8/PKGBUILD +++ b/abs/extra/ffmpeg2.8/PKGBUILD @@ -6,8 +6,8 @@ # Contributor: Paul Mattal <paul@archlinux.org> pkgname=ffmpeg2.8 -pkgver=2.8.11 -pkgrel=2 +pkgver=2.8.14 +pkgrel=1 pkgdesc='Complete solution to record, convert and stream audio and video' arch=('i686' 'x86_64') url='https://ffmpeg.org/' @@ -93,15 +93,17 @@ package() { cd ffmpeg-${pkgver} make DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}"/usr/{bin,share} + rm -rf "${pkgdir}"/usr/share + + find "${pkgdir}"/usr/bin -type f -exec mv {} {}2.8 \; install -dm 755 "${pkgdir}"/etc/ld.so.conf.d - echo -e '/usr/lib/\n/usr/lib/ffmpeg2.8/' > "${pkgdir}"/etc/ld.so.conf.d/ffmpeg2.8.conf + echo -e '/usr/lib/\n/usr/lib/ffmpeg2.8/' > "${pkgdir}"/etc/ld.so.conf.d/50-ffmpeg2.8.conf } # vim: ts=2 sw=2 et: -md5sums=('b8c6953c65d0c9ef120a878064282c75' +md5sums=('f4cd8689ede550872a02802aecae8109' 'SKIP' '83bc99a06f1ca6fd70ed35056937a522' '6c1e7519c3b5d414ca98ad624691517d' diff --git a/abs/extra/flexget/ChangeLog b/abs/extra/flexget/ChangeLog deleted file mode 100644 index 361a57e..0000000 --- a/abs/extra/flexget/ChangeLog +++ /dev/null @@ -1,5367 +0,0 @@ - -=== 1.2.304 (2015.05.04) === - - * (1b46638) v1.2.304 - * (0eec0b3) Merge pull request #488 from ianstalk/sftp[[BR]] - Plugins to download from SFTP - * (c8de466) Fixing the style issues/typos that @gazpachoking pointed out. - * (64ee28d) Accept both lists and strings for directories list; remove my username from the useage - * (bca7dd5) Not sure where that character came from - * (120e298) Fully qualify plugin.PluginError - * (34fede7) Rewrote directory handling, added better support for Windows-style paths, simplified config - * (3f2ebe4) Rename variables to be clearer about what they do - * (414f80b) Now fully pep8 compliant! - * (b3d030f) Add retry logic for connecting, switch to a more idiomatic way of handling group by - * (e60d1e6) Fix variable reference before assignment issue. - * (92a74c3) Fix some copypasta errors - * (6ab8642) Plugins to download from SFTP - * (b8b0d2c) Merge branch 'new_lazy2' into develop - * (f6f51dc) Factor lazy lookup system out of Entry Enable better support for lazy lookups from jinja. refs #2985, fix #2988 - * (ecfe79a) Fix up sort_by plugin - * (556cdfc) Merge pull request #489 from jpts/develop[[BR]] - Fix deluge sparse files/movedone functionality. fix #2881 - * (310f8b3) Fixed issue where content_filename not specified in user config - * (b3da452) Added support for directories in content_filename - * (3d99290) Updated edited sections to adhere to pep8 - * (4bb5e63) Modified content_filename parsing, so that it doesnt pop the main file to the top of the directory tree. Modified sparse files functionality, to be a subfolder of the top folder - * (aa57761) Merge pull request #496 from sergiogiogio/develop[[BR]] - fix for titles with non-ascii characters - * (8df277e) fix for titles with non-ascii characters - * (1679a81) Remove set literal from subliminal plugin to maintain python 2.6 compatibility - * (1bed497) Attempt to fix travis builds - * (2de8309) force proper provider names - * (ab36590) Prepare v1.2.304.dev - -=== 1.2.303 (2015.04.24) === - - * (cdc0377) v1.2.303 - * (0680d93) Remove task.session use in remember_rejected. fix #2720 - * (eff9e77) Prepare v1.2.303.dev - -=== 1.2.302 (2015.04.23) === - - * (8b06d6c) v1.2.302 - * (2cb0de5) Merge pull request #481 from programatix/develop[[BR]] - Updated to use the download plugin - * (1317fe5) Update utorrent.py[[BR]] - Removed unneeded duplicate add torrent.[[BR]] - Fixed the download path for download by download plugin. - * (854e584) Update utorrent.py[[BR]] - Fixed problem where urlrewriter not called. - * (62f0be7) Update utorrent.py - * (cfe69da) Update utorrent.py[[BR]] - Updated to use the download plugin. - * (e2729a3) Merge pull request #482 from matrixagent/patch-2[[BR]] - Allow history to be filtered by task - * (70e1910) Allow history to be filtered by task - * (628c16b) Merge pull request #485 from Flexget/pR0Ps-add_whatcd_ua[[BR]] - Add what.cd user agent option - * (644141f) Add what.cd user agent option[[BR]] - - Add back the option to use a custom user agent for searching on what.cd.[[BR]] - - Fix small oversight in response handling. - * (4c1ecca) Prepare v1.2.302.dev - -=== 1.2.301 (2015.04.19) === - - * (9bcdac1) v1.2.301 - * (574929d) Merge pull request #474 from ianstalk/rarfile[[BR]] - Plugin to decompress Zip and RAR files - * (977eccb) Python 2.6 doesn't like "with"syntax - * (3ae14d5) Return when rarfile isn't installed - * (2545536) Add missing SkipTest import - * (44cd428) Switch to using __tmp__ instead of rolling my own temp directories - * (e48e247) Directory test was reversed for zips - * (03d0e3f) keep_dirs actually works now! For real! Fix test teardown so it doesn't break the build. - * (66e2278) Use info instead of path for extractions, make sure is_dir doesn't accept anything that's not an Info object. - * (fbb9e73) Tests and associated files for Decompress plugin - * (a7bb8a2) Fix keep_dirs behavior - * (cd03c2b) Merge remote-tracking branch 'upstream/master' into rarfile - * (05a72de) Fail entry if extraction fails - * (fd1f789) Don't treat directories in zips as files. - * (4f41266) You missed a spot. - * (8dc2934) Rename to avoid confusion with the archive plugin - * (5db42ed) Fix issue with deleting Zip files. - * (5b34c43) Add Zip support, change name of plugin to reflect extended functionality. - * (7723b71) Replace import hack with something cleaner. - * (6705a96) Wrap rarfile import in a try/except block so it doesn't blow up everything Fix logging statement that was printing the wrong value - * (db5e9dc) Remove outdated config parameter from example in docstring - * (b3d2dcb) Remove leaked plugin_transmission_files.py changes - * (cc956b5) Plugin to extract RAR files - * (2204153) Revert "Plugin to extract RAR files"[[BR]] - This reverts commit 3fef155e816048063cccd91da7f2e5eb03a6be4f. - * (3fef155) Plugin to extract RAR files - * (b7d56fa) Rename "info_hash" to "torrent_info_hash" to be consistent with task naming conventions. Make sure the Transmission session is created anew each time in case the user is connecting to multiple daemons. - * (1a8903d) Plugin to list files from a transmission instance - * (fe0d5c6) Prepare v1.2.301.dev - -=== 1.2.300 (2015.04.17) === - - * (c276e4e) v1.2.300 - * (55ceb98) Merge pull request #487 from sergiogiogio/develop[[BR]] - fix aria2 plugin - * (7915a83) fix aria2 plugin - * (99ab8c1) Prepare v1.2.300.dev - -=== 1.2.299 (2015.04.09) === - - * (3349208) v1.2.299 - * (371a12c) Merge pull request #479 from wakemaster39/yts_search[[BR]] - added yts - * (4ba54a1) Update search_yts.py - * (b6d0604) added yts search engine - * (70bdd9c) Allows using secrets in any jinja rendered template. fix #2883 - * (f47bf43) Merge pull request #480 from tubedogg/sleep[[BR]] - Add additional phases of execution to sleep plugin - * (d9de3c0) Add additional phases of execution - * (a666126) Prepare v1.2.299.dev - -=== 1.2.298 (2015.04.06) === - - * (69f3453) v1.2.298 - * (6da0770) Allow --inject to be used multiple times - * (186c737) Prepare v1.2.298.dev - -=== 1.2.297 (2015.04.04) === - - * (bf931f7) v1.2.297 - * (672a7a9) fix exec list - * (b3e8028) Merge pull request #472 from tubedogg/sleep[[BR]] - Make sleep more flexible - * (b8dea65) Make sleep more flexible[[BR]] - Operate it in any phase for the specified number of seconds. - * (5060942) Prepare v1.2.297.dev - -=== 1.2.296 (2015.04.03) === - - * (321a23b) v1.2.296 - * (e037372) Merge pull request #470 from patsissons/urllib3-logging-fix[[BR]] - remove extra urllib3 INFO logging - * (8e04155) adding the original line back, so that we now have both (with an explanation) - * (ff43930) apply warn log filter to proper logger name to exclude INFO log messages when opening url's (i.e. Starting new HTTP connection (1): ... ) - * (9214e96) Merge pull request #475 from Ram-Z/exec_list[[BR]] - Allow list of exec commands - * (162509f) Allow list of exec commands - * (3635b8d) Merge pull request #476 from lildadou/doc[[BR]] - Details to enable the unit test of a development environnement. - * (249a31a) Details to enable the unit test. - * (07859f6) Merge pull request #477 from Ram-Z/tvdb_actors[[BR]] - Add tvdb_actors to api - * (49f459f) Add tvdb_actors to api - * (693f23f) Revert "Discover keeps finding episodes as long asnew ones are accepted."[[BR]] - This reverts commit 2bfe5b252c873ec6ce70eebbde5f71ecaed34d3d.[[BR]] - Unit tests broke, unable to run them locally. - * (acbdfed) Fix test in case tvrage_id is not set - * (9e3e69e) Don't lookup_series if tvrage_id exists in entry - * (a8fd733) Merge pull request #442 from cvium/rarbg[[BR]] - search plugin for rarbg - * (0f279dd) use rarbg's new api - * (4a7f868) search plugin for rarbg - * (2bfe5b2) Discover keeps finding episodes as long asnew ones are accepted.[[BR]] - - Handle cli series with ! in names - * (5d28d41) Prepare v1.2.296.dev - -=== 1.2.295 (2015.03.25) === - - * (7f22eba) v1.2.295 - * (2eb870a) Merge pull request #462 from patsissons/trans-magnet-wait[[BR]] - Transmission plugin magnetization waiting - * (05adfa0) if torrent is a magnet URI, then start as paused. this will allow magnetization to occur before pre-processing the files - * (1b6970f) If the magnetization_timeout is set and the torrent is a magnet URI (and the file list is empty), then block-wait for magnetization or until the timeout elapses. If magnetization is successful, then re-fetch the torrent total size this addresses issue #2911 http://flexget.com/ticket/2911 - * (1d020f2) adding configuration item, magnetization_timeout, to allow selective enabling of the 'wait for magnetization' feature. By default the value is 0 (seconds) which disables the feature completely. - * (1cc8815) adding new _wait_for_files function that will block until the rpc client returns a non-empty file list or until the timeout elapses - * (40332fb) Merge pull request #457 from bozho/develop[[BR]] - reverting changes from 761c2f206c... (pull request #453) - * (9d803d0) reverting changes from 761c2f206c... (pull request #453)[[BR]] - Looks like the old code works again. I could have sworn that while[[BR]] - testing the patch, KAT was returning 404 if rss wasn't the first query[[BR]] - parameter. It was late, I may have been seeing things... - * (88dfd9b) Merge pull request #468 from Ram-Z/newznab_size[[BR]] - Get content_size from newznab searches - * (5f0c2ff) Get content_size from newznab searches - * (3966877) Prepare v1.2.295.dev - -=== 1.2.294 (2015.03.24) === - - * (98067d3) v1.2.294 - * (1de5355) Merge pull request #463 from v17al/topic/extratorrent[[BR]] - Add search/urlrewrite plugin for extratorrent.cc - * (869175f) Add search/urlrewrite plugin for extratorrent.cc[[BR]] - - extratorrent doesn't mesh well with the search_rss plugin as[[BR]] - the data doesn't alway contains a .torrent link[[BR]] - - Work around this issue by converting the .html link (always present)[[BR]] - into a downlad link - * (64acd8a) Merge pull request #465 from patsissons/remove-redundant-config-default[[BR]] - removing redundant config default setter for main_file_ratio - * (0734e4f) removing redundant config default setter for main_file_ratio (it is now set in the transmission base class) - * (3b889b7) Prepare v1.2.294.dev - -=== 1.2.293 (2015.03.22) === - - * (34626a8) v1.2.293 - * (c92c898) Merge pull request #464 from patsissons/deluge-fix[[BR]] - fixing deluge plugin crash due to unset main_file_ratio - * (7ee530a) fixing deluge plugin crash due to main_file_ratio config value not being present in modify_opts see https://github.com/Flexget/Flexget/pull/460#issuecomment-84051984 - * (5a4d092) fix bug created by main_file_ratio #2951 - * (8e7e4a1) Prepare v1.2.293.dev - -=== 1.2.292 (2015.03.18) === - - * (4011595) v1.2.292 - * (6d554b9) Merge pull request #460 from patsissons/main_file_ratio[[BR]] - Main file ratio - * (94729bb) adding quotes around torrent title - * (5148364) adding log warning to transmission plugin when no main file is discovered (similar to deluge plugin) - * (e9e135c) updating transmission plugin to support using the main_file_ratio config value when discovering the main_id - * (4d8f9e1) updating torrent_info function in transmission plugin to support fetching main_file_ratio from config (replacing hard coded 90) NOTE: this may need fixing to support a per-torrent main_file_ratio - * (8678b35) updating transmission plugin to support making the main_file_ratio config value available to use - * (5f72486) replacing hard coded 90% main file ratio values in deluge plugin with new main_file_ratio config value - * (089f576) adding new main_file_ratio config option to deluge and transmission plugins, default value is 0.90 (i.e. 90%, as was previously hard coded into the plugins) - * (4fa8d99) Prepare v1.2.292.dev - -=== 1.2.291 (2015.03.13) === - - * (5b5016f) v1.2.291 - * (b0ac6e6) Add support for T411 login captcha - * (8d8f338) Add download_auth param to created entries - * (dc22730) Prepare v1.2.291.dev - -=== 1.2.290 (2015.03.12) === - - * (d31c66f) v1.2.290 - * (e57e0a9) Merge pull request #458 from crawln45/develop[[BR]] - Fixed BTN Search to allow for non strict searching - * (cfb01cc) Fixed invalid import of request.exception.Timeout - * (c684fe8) Reword BTN Search for better code and added what we are doing. Fixed Trakt_List to detect Timeout errors. Fixed Trakt authentication error catching. - * (a55c823) Fixed BTN Search to allow for non strict searching of series_id since some episodes return series_id - episode_name on certain shows. - * (68a323a) Prepare v1.2.290.dev - -=== 1.2.289 (2015.03.05) === - - * (1342dba) v1.2.289 - * (5eda00b) fix subtitles_missing field not being set if subs already exist - * (8f040ff) Prepare v1.2.289.dev - -=== 1.2.288 (2015.03.03) === - - * (f93305b) v1.2.288 - * (761c2f2) Merge pull request #453 from bozho/develop[[BR]] - fixed kat search plugin URL - * (e520873) fixed kat search plugin URL - * (4620b66) Merge pull request #456 from wjohnson5/patch-1[[BR]] - Fix authentication.py typo for webui username. - * (e34a217) Update authentication.py[[BR]] - Seems like a simple typo. Tested locally. - * (5203e8e) Prepare v1.2.288.dev - -=== 1.2.287 (2015.03.01) === - - * (ff5e0d3) v1.2.287 - * (413f57a) fix bug introduced by latest feature - * (5fe1ff5) Prepare v1.2.287.dev - -=== 1.2.286 (2015.02.28) === - - * (366efb2) v1.2.286 - * (d7cdb04) new feature to remove non-existing file from queue - * (eb66aac) change verbosity, fix bug in subliminal #2927 - * (a399b27) Prepare v1.2.286.dev - -=== 1.2.285 (2015.02.27) === - - * (2fe47fa) v1.2.285 - * (9d3e7a3) Merge pull request #454 from jesjimher/develop[[BR]] - Disabled SSL certificate validation to avoid SSLErrors in TPB - * (9dd4af7) Disabled SSL certificate validation to avoid SSLErrors - * (60a40b2) Prepare v1.2.285.dev - -=== 1.2.284 (2015.02.23) === - - * (e7578b2) v1.2.284 - * (12a3073) Merge pull request #450 from guaycuru/master[[BR]] - Update EZTV URL from .IT to .CH - * (89f60f7) Update EZTV URL from .IT to .CH - * (3bc9fb4) Prepare v1.2.284.dev - -=== 1.2.283 (2015.02.22) === - - * (0242e24) v1.2.283 - * (109b446) Merge pull request #448 from krozer/patch-1[[BR]] - rewrite t411.me to t411.io - * (95d85dd) rewrite .me to .io[[BR]] - The tracker changed hostname from t411.me to t411.io - * (a04af80) Prepare v1.2.283.dev - -=== 1.2.282 (2015.02.21) === - - * (5a4e9b4) v1.2.282 - * (4a2d3ce) encode filenames with utf-8, #2915 - * (9f2c0d4) Prepare v1.2.282.dev - -=== 1.2.281 (2015.02.20) === - - * (e6ccc4c) v1.2.281 - * (c2d5a00) Fix crash in the what.cd plugin - * (4763616) Prepare v1.2.281.dev - -=== 1.2.280 (2015.02.18) === - - * (a222eff) v1.2.280 - * (44421f6) Merge pull request #438 from cvium/develop[[BR]] - cleaning up alternate name in series - * (4dabdaa) add alternate names after if-else - * (3994d14) cleaning up alternate name in series - * (c618848) Prepare v1.2.280.dev - -=== 1.2.279 (2015.02.17) === - - * (5418068) v1.2.279 - * (80595d1) Merge pull request #447 from crawln45/develop[[BR]] - Added new 720hd as match for 720p quality[[BR]] - Move to new trakt v2 api endpoint - * (8df61a5) Added new trakt_list cassette. - * (9d2b17c) Fixed comparison on quality. - * (0cfe3f4) Fixed 720hd test to correct what it's suppost to find which is 720p - * (76e4718) Added test for 720hd under test_qualities.py - * (fe0d822) Reverted new 720 standard added option of "HD" to the 720P subset - * (24eb594) Added new api url for trakt. - * (fa7148f) Added new Subset of 720 definition "720HD" - * (9d3199b) Prepare v1.2.279.dev - -=== 1.2.278 (2015.02.15) === - - * (b836f47) v1.2.278 - * (9e3a413) Merge pull request #446 from aidan-/develop[[BR]] - use only ascii letters for IPC password generation - * (094c38c) use only ascii letters for password generation - * (442be38) Prepare v1.2.278.dev - -=== 1.2.277 (2015.02.12) === - - * (79a1c3d) v1.2.277 - * (32e7020) update kat TLD - * (952e37c) Prepare v1.2.277.dev - -=== 1.2.276 (2015.02.10) === - - * (8700e0a) v1.2.276 - * (06d3ee6) Merge pull request #441 from lildadou/develop[[BR]] - [t411] Fix and update WebRip subcategories - * (1cab8ef) Fix and update WebRip subcategories - * (1bf65c4) Prepare v1.2.276.dev - -=== 1.2.275 (2015.02.09) === - - * (4a03a92) v1.2.275 - * (d551ce2) Merge pull request #443 from X-dark/develop[[BR]] - update TPB to new TLD and search API - * (33bdf85) update TPB to the new search API - * (30cd4c7) update TPB TLD - * (1243729) Prepare v1.2.275.dev - -=== 1.2.274 (2015.02.06) === - - * (bcb32d4) v1.2.274 - * (3828bb0) change str representation of subtitle queue to handle no language - * (7d63cd9) don't queue english as default language - * (e724e6c) Prepare v1.2.274.dev - -=== 1.2.273 (2015.02.05) === - - * (6ca6206) v1.2.273 - * (5b33567) emit_series will also output a search without parenthetical (year, country). refs #2900 - * (145dbc6) Prepare v1.2.273.dev - -=== 1.2.272 (2015.02.02) === - - * (9c4ccbe) v1.2.272 - * (1ff72d0) Let seen_movies also filter on trakt_movie_id - * (6cd417e) Allow 'local' mode for seen_movies - * (f69d137) Allow 'local' mode for seen_info_hash Convert seen plugin family to use schema instead of validator - * (d338315) Prepare v1.2.272.dev - -=== 1.2.271 (2015.01.30) === - - * (0fcbb19) v1.2.271 - * (607907f) Fix a crash with guessit series parser - * (cd59c7a) trakt_list now adds year to series names trakt_list uses show ids rather than episode ids for eps split trakt_id field into trakt_show_id, trakt_movie_id and trakt_episode_id - * (99e6a1a) Prepare v1.2.271.dev - -=== 1.2.270 (2015.01.29) === - - * (60ceee3) v1.2.270 - * (fecc4ed) go through all entries instead of exiting after the first one - * (4d81b89) Make hide_sparse_files false by default for deluge - * (440e201) Prepare v1.2.270.dev - -=== 1.2.269 (2015.01.26) === - - * (aa19b5f) v1.2.269 - * (481e105) Merge pull request #436 from Toilal/bootstrap-update[[BR]] - Bootstrap update - * (c669983) Update bootstrap.py with latest virtualenv - * (7366d70) Add virtualenv to jenkins-requirements.txt for paver bootstrap to work - * (945cd52) Allow 3 digit episodes for series begin (SXXEYYY) - * (5ee161f) Add itorrents.org to torrent_cache plugin - * (2b465b4) Prepare v1.2.269.dev - -=== 1.2.268 (2015.01.23) === - - * (d009d3d) v1.2.268 - * (494f2a4) Stop crash during exit for certain commands. - * (9135514) Prepare v1.2.268.dev - -=== 1.2.267 (2015.01.23) === - - * (4bf25c3) v1.2.267 - * (97a1633) Clean up daemon shutdown: Stops scheduler from adding to the queue once shutdown has been requested. Adds better log message for 'daemon stop' command. - * (7d61ce5) Prepare v1.2.267.dev - -=== 1.2.266 (2015.01.19) === - - * (ab56d1b) v1.2.266 - * (bc377a1) Allow secrets plugin to run on dict keys - * (868872e) Fix 'database reset-plugin' cli command. fix #2877 - * (2c998d9) Tweak backlog cli command a bit - * (d347dc9) Add cli command for viewing/clearing backlog - * (7c9ce2e) Prepare v1.2.266.dev - -=== 1.2.265 (2015.01.18) === - - * (7627943) v1.2.265 - * (6ead356) Merge pull request #435 from Lugoues/disable_crash_fix[[BR]] - Fix disable plugin crash when interval not met. - * (f87e164) fixed an issue with disabled.py where it would crash if the interval was not yet met - * (026ff0b) Fix unit test crash from manager.crash_report - * (511330c) Fix some bugs with lazy setting of fields by set plugin. - * (d9d3111) Don't make crash reports for unit tests. - * (f0b8317) Merge pull request #433 from Flexget/crash_reports[[BR]] - Separate crash report logs. fix #2876 - * (d4fe516) Simplify exception handling in task_queue - * (44bc4df) Add manager.crash_report to write last debug log and traceback to separate log files - * (385786b) Merge pull request #420 from Ram-Z/exits_movies[[BR]] - Scan for files and dirs, and allow different qualities. - * (4047e89) Fix variable name.[[BR]] - Oops - * (e5ba9c8) Update documentation - * (18d3d19) Add unit test for lookup: imdb - * (4a44a4b) Change syntax to lookup: imdb - * (23b40c5) use pattern to exclude dirs - * (2945b42) use path.py - * (a76b603) precompile pattern - * (d27b97a) Scan for files and dirs, and allow different qualities. - * (663ad17) Prepare v1.2.265.dev - -=== 1.2.264 (2015.01.17) === - - * (e96fef1) v1.2.264 - * (6e78dba) Add log message when daemon shutdown requested. - * (ba7ef17) Fix issue with emit_series outputting duplicates in some cases - * (cb66e2b) Improve emit_series tests to expose some issues with backfill combined with series begin - * (5993008) Let trakt_list fill series_name field for show type list items - * (d9d62b0) Prepare v1.2.264.dev - -=== 1.2.263 (2015.01.15) === - - * (cbdf069) v1.2.263 - * (9371824) Hide DeprecationWarning. Show internal ones when using a dev version. fix #2870 - * (563e5e8) Remember tail plugin position per task. fix #2874 - * (bcce7e9) make sure the request exception has a response object - * (064a0c7) Merge pull request #431 from cvium/trakt_error_messages[[BR]] - separate authentication and regular http errors in trakt - * (28d614c) separate validation and regular http errors - * (650daaa) warn about empty folders when emitting queue - * (dfaad2d) Remove input caching for tail plugin. - * (5894656) Fix specifying exec arguments with inject cli command. - * (ac4cd7a) Prepare v1.2.263.dev - -=== 1.2.262 (2015.01.14) === - - * (f8761ef) v1.2.262 - * (51c304e) Merge pull request #427 from cvium/develop[[BR]] - handle disappearing folders (eg. samba shares) in listdir - * (12a4598) changed log message - * (08fb5f5) handle disappearing folders (eg. samba shares) - * (b2fa5cb) Stop replacing dashes in trakt slugs. - * (6cf01e2) Merge pull request #424 from grasdal/develop[[BR]] - trakt_emit: fixed parsing error for getting show data - * (a0d48f4) trakt_emit: fixed parsing error for getting show data[[BR]] - See example of json response data from[[BR]] - http://docs.trakt.apiary.io/#reference/users/watched/get-watched[[BR]] - Previous Flexget code was looking for a "type"-attribute that is no longer available in the response. - * (d85eecd) Merge pull request #430 from Flexget/lazy_set[[BR]] - Refactor set plugin to render templates lazily. - * (0f8c15b) Set plugin won't make non-jinja templates lazy. - * (574ef5e) Fix comment typo. - * (f0b240c) Refactor set plugin to render templates lazily. - * (6cdaa0e) normalize location path so already queued items can be updated - * (1b0091f) Prepare v1.2.262.dev - -=== 1.2.261 (2015.01.13) ^[wiki:UpgradeActions#a2015.1.121.2.261 upgrade actions]^ === - - * (6248c4a) v1.2.261 - * (3381cb4) Merge pull request #429 from blastcodem/patch-4[[BR]] - Fix 503 Internal Error with urlrewrite_torrentleech when Char : is in the title. - * (d8199d6) Update urlrewrite_torrentleech.py[[BR]] - Fix 503 Internal Error when Char : is in the title. - * (72c45e6) Add basic test for `series list` cli command. - * (9e12abf) Combine disable_builtins and disable_plugin into disable plugin. - * (31bedb9) Prepare v1.2.261.dev - -=== 1.2.260 (2015.01.12) === - - * (e519a86) v1.2.260 - * (5758a0c) Fix default loglevel when sending commands to daemon. - * (da1b722) Fix loglevel sometimes not being set and causing crash. fix #2849 - * (b91f956) Ensure turning off retry_failed plugin totally turns it off. - * (a516a55) fix duplicate entries in queue and small changes - * (895733f) Prepare v1.2.260.dev - -=== 1.2.259 (2015.01.12) === - - * (0f1345a) v1.2.259 - * (0c801c2) Fix accidential deletion from last argparse commit - * (bb4a99e) Fix custom cli commands to work with latest argparse change - * (cdebffa) Merge pull request #422 from Flexget/digest[[BR]] - Digest plugin. refs #1366 - * (fade1f7) Add some more tests for digest plugin - * (3083dcc) Fix digest plugin unit test - * (b560bf1) Merge branch 'develop' into digest - * (c901d4c) Fix problems with cli arg parsing. (daemon loglevel issues) - * (13a3297) Change how specific task loglevel changing works. Fix up subparser defaults overriding parser action defaults. - * (7534f15) Change (fix) how nested namespaces work with our argparse customization - * (89be2fd) Prepare v1.2.259.dev - -=== 1.2.258 (2015.01.11) === - - * (7229a90) v1.2.258 - * (770f242) Merge pull request #423 from sideeffffect/develop[[BR]] - Pass on the hide_sparse_files and keep_subs options - * (25b49b2) Pass on the hide_sparse_files and keep_subs options - * (333395e) Merge pull request #425 from cvium/develop[[BR]] - handle pluginerrors in configure_series - * (b55fee3) catch plugin errors to avoid task aborts - * (b1a09b7) fix subtitle_queue tests - * (1ce6d75) Prepare v1.2.258.dev - -=== 1.2.257 (2015.01.10) === - - * (2dfd33e) v1.2.257 - * (0eff479) Update trakt testing url - * (02396d7) temporarily remove failing tests - * (0d132ee) Merge remote-tracking branch 'upstream/develop' into udevelop - * (1430b08) Fix trakt_list crash when there is no title for item. - * (277e9f3) better approximation of directory name in queue, and handle upper case file extensions - * (fce5304) fixed missing entry field and queue now handles multi-file torrents - * (acfa0e2) fix bug from last commit - * (c0e9c2d) fix unhandled error, pep8 and do not delete from queue in the first 24 hours when file does not exist - * (56d2758) Prepare v1.2.257.dev - -=== 1.2.256 (2015.01.09) === - - * (2e38e60) v1.2.256 - * (f0e5c6b) Fix bug in last emit_series commit. - * (181574d) Make sure emit_series only emits next episode when backfill is off. - * (ef9128a) Add test to make sure backlog isn't emitted from emit_series when backfill is off - * (c0f01d3) Don't error on warnings during unit tests anymore - * (5443cee) Add basic test for digest plugin - * (6ada38f) Change default email template to support digest - * (891a911) Fix up 'limit' and 'expire' options for digest plugin. - * (842d20e) Start working on digest expire options. - * (4371b21) Don't overwrite existing task field with metainfo_task plugin. - * (0e2bd32) Initial digest plugin implementation. - * (7505443) Merge pull request #394 from cvium/subtitlequeue_v2[[BR]] - subtitle queue - * (7c77ee6) fix entries not marked as downloaded and add more robust subtitle checking - * (dd19d37) fix bug introduced in last commit - * (2e94b21) really fix the bug and some session changes - * (d7c32fa) fixed a dict bug - * (7afa347) some cleaning up - * (f3828aa) change missing_subtitles to subtitles_missing - * (be0d393) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 - * (8613af9) Merge branch 'subtitlequeue_v2' of http://github.com/cvium/Flexget into subtitlequeue_v2 - * (faac0de) set downloaded field if no missing subs, delete from queue if both paths do not exist - * (1f0c6ef) set field in entry 'missing_subtitles' - * (90756e0) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 - * (a6917e6) fixed merge conflicts - * (0bf08b1) changed tests to accommodate new config schema - * (1d244a3) fixed some unhandled exceptions, changed json schema - * (26974f4) fixed queueing of accepted entries - * (2e8b363) fixed nonetype - * (9349fe8) some refactoring, no more task aborts - * (75f0217) skip subliminal test if subliminal is not installed - * (b47e5d6) unix file system is case sensitive - * (fc4b5fe) slight change - * (6bf1c37) subliminal requires absolute paths - * (7bf248e) set literals not in python2.6 - * (20568bc) added a new test that uses subliminal - * (81d45b6) fixed some bugs (unicode and dict key missing) - * (74d98ec) fixed a bug in the test - * (4883b54) more refactoring, fixed some bugs in alternate_path and location handling - * (d840350) added mock torrent tests - * (f670e90) refactoring, no more downloading - * (b0de634) more tests - * (c915669) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 - * (f35dc29) pep8, use utils/bittorrent, some refactoring - * (6b4e382) entry langs override config langs - * (9b51c10) use unicode() instead of __str__() - * (f04448a) bandaid fix for uniqueness constraints and some other changes - * (e8faa46) added another test for language uniqueness, emit test fails - * (a510938) Merge remote-tracking branch 'upstream/develop' into subtitlequeue_v2 - * (9b72da5) https://gist.github.com/darkrho/1126793 - * (97e70a5) fixed bugs and changed some logic - * (010dc13) added simple tests for subtitle_queue - * (0fc1527) beta draft of subtitle_queue - * (a3d8ae2) fixed set/list error - * (71cfcb9) fixed pep8 compliance and prepared subliminal for subtitle_queue - * (a56f172) Prepare v1.2.256.dev - -=== 1.2.255 (2015.01.08) === - - * (d26c59e) v1.2.255 - * (95fe35c) Merge pull request #414 from Ram-Z/plugin-path[[BR]] - Search for plugins in config_base - * (1f5989b) Don't use mutable default argument - * (dd21b84) Search for plugins in config_base[[BR]] - instead of the hardcoded ~/.flexget/plugins. This effectively allows to[[BR]] - put plugins in $XDG_CONFIG_HOME/flexget/plugins. - * (f66ea82) Merge pull request #417 from Ram-Z/inject-fields[[BR]] - Set entry fields when injecting. fix #2845 - * (96b2a45) Set entry fields when injecting. fix #2845 - * (4c661d2) Make sure manual tasks don't run when --tasks * is used. fix #2830 - * (52c3f30) Prepare v1.2.255.dev - -=== 1.2.254 (2015.01.07) === - - * (12976e9) v1.2.254 - * (fc85826) Merge pull request #416 from programatix/patch-1[[BR]] - Update scheduler.py to ignore certain pytz errors. - * (36bfd5a) Update scheduler.py[[BR]] - Removed parenthesis. - * (6d9d8ae) Update scheduler.py[[BR]] - Updated exception handling using new catch syntax. - * (e026fcc) Update scheduler.py - * (09ac32e) Update scheduler.py[[BR]] - Added struct.error exception handling - * (8ea0460) Update scheduler.py[[BR]] - Catch all type of exception instead of just pytz.UnknownTimeZoneError - * (655cd6e) Better logging of simple persistence flushes Only flushes taskless simple persistence after tasks when in daemon mode - * (f3084f2) Catch network errors from rapidpush plugin. refs #2833 - * (8ddc90f) Update cpasbien search for new search api. - * (2d1c540) Merge branch 'search_api_update' into develop - * (08ee521) Convert search_rss to use task session - * (5a2261c) Convert btn and kat search to use task session - * (6fb4e4b) Update some search plugins to take task argument. - * (0acb0df) Update search api to take task as an argument. - * (e0dd388) Stop replacing underscore in trakt slugs. - * (2ea84c2) Pushover sound default changed, now goes to client default really. - * (b02ca49) Add missing dependency apscheduler to rtd-requirements.txt - * (43a0fc8) Prepare v1.2.254.dev - -=== 1.2.253 (2015.01.06) === - - * (c56ab3b) v1.2.253 - * (751a249) Fix database cleanup crash. - * (1924e28) Prepare v1.2.253.dev - -=== 1.2.252 (2015.01.06) === - - * (3c5a27a) v1.2.252 - * (7bb8ccc) Count ftp_download as an output plugin. fix #2757 - * (bc6e685) Make sure template and include plugins run before all other plugins. refs #2830 - * (571313a) Make db upgrade system use single database session. refs #2838 - * (b9502fc) Fix db locked error when upgrading series plugin database. fix #2838 - * (c6f3747) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop - * (8248571) Prepare v1.2.252.dev - -=== 1.2.251 (2015.01.05) === - - * (beed92f) v1.2.251 - * (3fc959b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop - * (5f657a6) Merge pull request #413 from Flexget/simple_per_update[[BR]] - Switch simple persistence to load/flush from/to db outside task runs fix #2820, #2672, #2835 - * (fe3f267) Make sure simple persistence flushes taskless key/values on shutdown Fix bug in simple persistence task loading - * (fdc6f47) Only load simple persistence values from db the first time a task is run - * (3016652) Make simple persistence load task values before task runs refs #2820, #2762 Add a cleanup method to simple persistence to delete values from removed tasks - * (a23f2d9) Make manager.db_cleanup event pass manager instance Add task.execute.started event Make sure task.execute.completed event only runs once when task reruns - * (b829f96) Add a docstring to simple persistence Make sure newly added values are stored to db - * (4c82773) Implement db flushing for simple persistence - * (1070f44) Start switching simple_persistence away from immediate db writes - * (cbc95aa) Prepare v1.2.251.dev - -=== 1.2.250 (2015.01.05) === - - * (95c0158) v1.2.250 - * (4967df4) Merge pull request #406 from Flexget/emit_series_cleanup[[BR]] - Change how emit_series tries on reruns. fix #2826 - * (b430529) Merge branch 'develop' into emit_series_cleanup[[BR]] - Conflicts:[[BR]] - flexget/plugins/input/emit_series.py - * (66d59a4) Switch to session context manager in api_tvdb - * (fcf383c) Switch input cache away from task.session - * (5b6b264) Fix typo, hvec -> hevc - * (58b7cc3) Add hvec as alias for h265 - * (1c9dd84) Add h265 codec to quality parser - * (d43f458) Prepare v1.2.250.dev - -=== 1.2.249 (2015.01.04) === - - * (6c071d0) v1.2.249 - * (de32f33) Remove debug sqlalchemy hook which is no longer needed - * (2a4c45e) Switch away from task.session in several plugins - * (857f645) Make sure log_once uses already open session from imdb_lookup - * (994f966) Convert log_once to use with_session helper - * (dce7902) Fix trakt_list for collection and watched lists. - * (80cf715) Merge pull request #411 from cvium/subliminal[[BR]] - fixed attribute error when downloading subtitles for movies - * (9a3e6f5) fixed attribute error when downloading subtitles for movies - * (40211bd) Merge pull request #412 from cvium/guessit[[BR]] - Don't let guessit parser set global guessit options fix #2775 - * (ad41573) set default settings inside the parserguessit object instead of globally - * (2a88b86) Prepare v1.2.249.dev - -=== 1.2.248 (2015.01.03) === - - * (a160d46) v1.2.248 - * (d6d47c5) Make sure a db session isn't open when series plugin calls 'set' plugin. refs #2828 - * (ee61602) Update trakt_list test cassette to https - * (6deffbc) Switch trakt api to use https - * (2fced04) Prevent blank series name bug with trakt_emit. - * (ef5b57a) Switch from task.session to session context manager in emit_series - * (244ec69) Fix advancement to next season in emit_series cleanup branch - * (af1caa5) Change how emit_series tries on reruns - * (8d3a474) Prevent crash when giving ambiguous arguments to delete movie from queue - * (7a8080f) Fix a crash with trakt_list when it gets an item without a title. - * (1f7d9f5) Prepare v1.2.248.dev - -=== 1.2.247 (2015.01.02) ^[wiki:UpgradeActions#a2015.1.11.2.247 upgrade actions]^ === - - * (b515edd) v1.2.247 - * (a506e95) Merge pull request #409 from Flexget/trakt_v2[[BR]] - Update trakt_list, trakt_emit, and trakt_add/remove plugins to the v2 api - * (c55ab41) Get trakt_emit working on trakt v2 api - * (ce7dd23) Make a helper to construct trakt api endpoint urls. - * (bec5256) Switch trakt_list test to use vcr - * (e86c926) Switch trakt to production site. - * (455da98) Fix trakt_slug setting for movies in trakt_list - * (1abefb4) Work a bit more on trakt_emit v2 - * (57f4e0e) Merge branch 'develop' into trakt_v2 - * (80be126) Populate a few more fields with trakt_list. Give eps proper urls. - * (83632ff) Update trakt_add/trakt_remove to trakt v2 - * (5380868) Start updating trakt_emit for trakt v2 - * (46463c5) Separate some common trakt functions to separate file - * (81c88cd) Initial implementation of trakt api v2 in trakt_list - * (217668b) Merge pull request #402 from kasperj/develop[[BR]] - update URL on language match only - * (f752137) Update urlrewrite_serienjunkies.py - * (b566663) update URL on language match only[[BR]] - The URL will only be updated if the language matches the requirements - * (d349f74) Update urlrewrite_serienjunkies.py - * (948cc28) Allow skipping of guessit roman numeral test. - * (f4291bf) Merge pull request #286 from Lugoues/dequeue_movie[[BR]] - combine queue_movies into movie_queue, add remove functionality - * (c972873) Fix movie_queue unit test again - * (b58cbe3) Add 'forget' action to movie_queue plugin. - * (0e8d64c) Fix a couple things and unit tests for movie_queue refactor - * (97a76aa) Merge branch 'dequeue_movie' of https://github.com/Lugoues/Flexget into new_movie_queue - * (97deff3) Update test_movie_queue.py - * (db37b1d) added unit tests for movie_queue accept/add/remove - * (7d78d1b) pep8 - * (91fb2f8) remove deprecated queue_movie plugin - * (836e7d0) removed dequeue_movie plugin and updated movie_queue to support accept/add/remove - * (b5dbffc) added dequeue_movie plugin - * (fe6a73a) Prepare v1.2.247.dev - -=== 1.2.246 (2015.01.01) === - - * (05d4634) v1.2.246 - * (f2e4618) Merge pull request #401 from grrr2/develop[[BR]] - Update plugin_transmission.py to fix #2804 - * (122b21f) Update plugin_transmission.py - * (a5d8018) Update plugin_transmission.py to fix bug #2804[[BR]] - Try to fix bug #2804 by making RPC client object re-initiated for every task rather then doing it once for whole plugin. - * (1a21705) Prepare v1.2.246.dev - -=== 1.2.245 (2014.12.31) === - - * (e258fd2) v1.2.245 - * (6a8824a) Use current session when series plugin adds to backlog. refs #2829 - * (d64c527) Fix db locking issue with thetvdb_favorites. fix #2827 - * (f4b3e37) Prepare v1.2.245.dev - -=== 1.2.244 (2014.12.30) === - - * (2624eba) v1.2.244 - * (4b26031) Stop using task.session in discover plugin. refs #2825 - * (dc1398c) Merge pull request #408 from Bop4yN/develop[[BR]] - Added url_title parameter to PushOver plugin. Use 'urltitle' to setup your own title for url. - * (960e29c) Added url_title parameter to pushover plugin - * (f4ccb0c) Merge pull request #407 from calvin/develop[[BR]] - Fixes for send_email plugin, hmac only works with `str` type in Python 2 - * (5d3750b) hmac only works with `str` type in Python 2[[BR]] - See also http://bugs.python.org/issue5285 - * (7dd1871) Prepare v1.2.244.dev - -=== 1.2.243 (2014.12.29) === - - * (a7d00c1) v1.2.243 - * (860e618) Merge pull request #393 from xfouloux/develop[[BR]] - add search_cpasbien.py for tracker cpasbien.pe fix #2801 - * (65c9a9b) updated plugins/search_cpasbien.py for join to work and modified according to dl link changes on the tracker. - * (19777d4) posixpath.join utilisation, and sanitize to use only single quotes - * (a66cdda) modified to have the all category - * (b192a71) did some change to update flexget doc cpasbien - * (c8491cb) changed for set literal again - * (02a7b38) changed set literal - * (e35ea46) fixed some indent errors in search_cpasbien.py - * (e66af59) changed pep8 indent as flexget supports 120 char per lines - * (20453b3) pep8 ok for urlrewrite_frenchtorrentdb.py - * (379e3be) pep8 indent ok for search_cpasbien.py - * (f7aa56d) modified urlrewrite_frenchtorrentdb.py now you get the message according to the right issue when the rewriter can't get the torrent file. - * (b1c3ab7) add search_cpasbien.py for tracker cpasbien.pe - * (1d214ab) Prepare v1.2.243.dev - -=== 1.2.242 (2014.12.28) === - - * (bfdf488) v1.2.242 - * (be88951) UrlRewriter nyaa now supports new categories, default changed.[[BR]] - - anime eng (new default)[[BR]] - - anime raw[[BR]] - - anime non-eng - * (4b045d6) Merge pull request #404 from Konubinix/develop[[BR]] - Add an urlrewriter for the koreus site - * (52d1ceb) Add an urlrewriter for the koreus site[[BR]] - It was copied/pasted from the urlrewrite_deadfrog.py file and adapted.[[BR]] - It rewrite the url from the koreus rss entry to the download url from the[[BR]] - download page. - * (d289db9) Merge pull request #403 from Flexget/nullpool[[BR]] - Test if using a NullPool for db connections helps db issues. - * (3d41e83) Test if using a NullPool for db connections helps db issues. - * (db1cf26) Prepare v1.2.242.dev - -=== 1.2.241 (2014.12.27) === - - * (d7ca9b6) v1.2.241 - * (2f7bc45) Make sure --discover-now is not activated on reruns. - * (8abf2d7) Don't forget identified_by when forgetting an episode if begin episode is set. - * (993d565) Reduce verbosity on emit_series reruns. - * (b373cb2) Plugin --dump now can now be instructed to dump only title field. - * (4caebb5) Quiet down emit_series log about non seq/ep based shows on reruns. - * (e4d5b92) Add some debug messages to explain emit_series reruns. - * (45a9cae) Merge pull request #405 from asm0dey/fix_rutracker[[BR]] - Fix rutracker plugin - * (5a7e269) Update plugin_rutracker.py[[BR]] - Removed itertools - * (4431d02) Update plugin_rutracker.py - * (16c40d6) Update plugin_rutracker.py - * (9cc926f) Prepare v1.2.241.dev - -=== 1.2.240 (2014.12.25) === - - * (9c2bcab) v1.2.240 - * (aff0e86) Hide rpyc messages if we aren't running with debug logging. fix #2798 - * (157a49e) Attempt to recover after database errors. refs #2820, #2762 - * (e676bca) Prepare v1.2.240.dev - -=== 1.2.239 (2014.12.20) === - - * (730e13d) v1.2.239 - * (9c8427f) Log error instead of crashing when search_rss has invalid template - * (73947d5) Prepare v1.2.239.dev - -=== 1.2.238 (2014.12.19) === - - * (cdc284e) v1.2.238 - * (f460460) Merge pull request #395 from kasperj/develop[[BR]] - changed logging again - * (925d2b9) Update urlrewrite_serienjunkies.py[[BR]] - Travis CI should pass now - * (2efe2d1) changed Logging again[[BR]] - The changes i made a couple of days ago, are spamming logs even more then before, should be fixed with this update - * (56cdd05) Merge pull request #400 from cvium/develop[[BR]] - fixed keyerror in subliminal plugin - * (3dcdc10) fixed keyerror by forcing languages on config, also pep8 fixes - * (3a01bd7) Merge pull request #396 from kecksk0enig/develop[[BR]] - fix broken clean_transmission plugin for seeding only torrent. fix #2803 - * (0b217ea) clean up big elsif mess - * (42a93e4) Also remove seeding-only torrent after given timeframe - * (79836c5) fix broken clean_transmission plugin for seeding only torrent see #2803 - * (99dcd02) Prepare v1.2.238.dev - -=== 1.2.237 (2014.12.16) === - - * (95a6aed) v1.2.237 - * (5d6f349) Update tpb domain - * (fd9d6ff) Update kat search plugin domain - * (5f1dd09) Fix issue with urlrewrite_redirect in unit tests from last commit - * (2cd300e) Allow multiple redirects in urlrewrite redirect. Prevent url being set to fragment with urlrewrite redirect. fix #2815 - * (2ef45d6) Allow overriding of different (non-container) types in merge tool. fix #2814 - * (da79dfa) Prepare v1.2.237.dev - -=== 1.2.236 (2014.12.14) === - - * (8d8d1fa) v1.2.236 - * (56fe0da) Fix bug in last urlrewrite commit - * (affe8fc) Make sure urlrewrite plugin only affects tasks it is configured in. fix #2812 - * (2023f8f) Fix crash when urlrewrite is configured to allow infinite rewriting - * (34dbc96) Prepare v1.2.236.dev - -=== 1.2.235 (2014.12.13) === - - * (5817493) v1.2.235 - * (d02f1d4) verify_ssl_certificates now runs after include plugin. fix #2800 - * (b3de5c9) Prepare v1.2.235.dev - -=== 1.2.234 (2014.12.09) === - - * (b5e5013) v1.2.234 - * (353cbd5) Fix --test sending executions to live daemon when running - * (9e36359) Show usage for correct command when invalid arguments given - * (2543d16) Fix --help not showing plugin options. fix #2807 - * (5a5f769) Refactor filling of content_files field for torrents to be separate than content_filter plugin - * (2c9c6ad) Prepare v1.2.234.dev - -=== 1.2.233 (2014.12.09) === - - * (06a1c34) v1.2.233 - * (5b5ebff) Merge pull request #385 from kasperj/develop[[BR]] - Update urlrewrite_serienjunkies.py - * (9e29d38) Update urlrewrite_serienjunkies.py[[BR]] - Changed language RegEx, language error is send to urlrewriter, so it doesn't spam logs - * (070fb20) Update urlrewrite_serienjunkies.py[[BR]] - english language fixed, debug message added - * (0250c35) Fix timeframe calculations when assume_quality plugin is used. fix #2797 - * (ac4893c) Prepare v1.2.233.dev - -=== 1.2.232 (2014.12.08) === - - * (5ece527) v1.2.232 - * (5eec1dc) Prevent some crashes from secrets plugin when trying to render non-secrets jinja - * (0357e48) Prepare v1.2.232.dev - -=== 1.2.231 (2014.12.06) === - - * (439c172) v1.2.231 - * (074c9bb) Try to reduce spamminess of rerun log messages a bit - * (e4173f0) Prepare v1.2.231.dev - -=== 1.2.230 (2014.12.02) === - - * (9c32854) v1.2.230 - * (373c95d) Fix inject cli command. fix #2795 - * (3c3f1f3) Tweak log message about tasks reamining to execute. refs #2798 - * (78c262e) Fix parser errors going to client instead of daemon - * (72b5477) Add debug message when ipc runs a command for client - * (91ea43e) Only log ipc exit codes when they are non-zero - * (8038772) Fix --help and --version options when connected to daemon - * (009a46a) Add ability to specify file-like to output parser messages to - * (744a8df) Fix `schedules: no` turning off scheduler - * (6dada08) Prepare v1.2.230.dev - -=== 1.2.229 (2014.12.01) === - - * (3a737e3) v1.2.229 - * (1eeb9ef) Merge pull request #390 from vincentbernat/fix/qualities-aac-priority[[BR]] - qualities: rank aac lower than ac3 - * (3413fb9) qualities: rank aac lower than ac3[[BR]] - When the audio track is encoded with AAC, it is not uncommon for it to[[BR]] - be stereo only. On the other hand, the DD5.1 tag usually translates to[[BR]] - an AC3 audio track.[[BR]] - Therefore, rank an AAC encoded audio track below a DD5.1 audio track. - * (7dce196) Merge pull request #391 from vbabiy/720p50[[BR]] - Add support for 720p50 - * (27f756a) Add support for 720p50 - * (80aa940) Prepare v1.2.229.dev - -=== 1.2.228 (2014.11.30) === - - * (43e3d59) v1.2.228 - * (d52c02d) Delete of alphe version of plugin_plex - * (c987214) Added TODOs - * (0929894) Initial commit of new plex plugin. - * (02d4468) Prepare v1.2.228.dev - -=== 1.2.227 (2014.11.25) === - - * (db6c89c) v1.2.227 - * (2cf423d) Update kickass domain for kat search plugin kat search plugin now tries next search on failure instead of aborting - * (f668d34) Change qualities tests so that guessit mismatches are skipped and logged, not failed - * (467b3c8) Prepare v1.2.227.dev - -=== 1.2.226 (2014.11.23) === - - * (961a3c2) v1.2.226 - * (95ac517) Some cleanups to commands using manager.execute events - * (0e05b16) Fix many debug options to execute command to work when sending to daemon - * (daad63b) Improve Manager.start and handle_cli documentation - * (e9f8ff8) Strip out some unneeded locking code. Document Manager initialization better. - * (ad6341d) Return root logger level to default when changed by capture_output context manager - * (4d2fba2) Fix logging formatter on python 2.6 - * (35f072d) Switch 'setting loglevel' messages to verbose log. - * (c8f0fb1) Prepare v1.2.226.dev - -=== 1.2.225 (2014.11.22) === - - * (d2efdac) v1.2.225 - * (d4a0aca) Fix unit tests for config validation change - * (066606b) Change before_config_validate event so that it can run on not currently active configs Fix 'flexget check' on running daemon with secrets plugin - * (213e067) Allow events to modify argument before passing it to next handler - * (e6a8abf) Fix 'check' command for running daemon - * (ed06234) Properly report config errors on manager startup - * (8caa25d) Fix an error with last commit - * (f30e4fd) Make remote streamer for ipc allow both str and unicode - * (1cd575f) Fix non-built-in commands - * (238708f) Prepare v1.2.225.dev - -=== 1.2.224 (2014.11.22) ^[wiki:UpgradeActions#a2014.11.221.2.224 upgrade actions]^ === - - * (bf752fb) v1.2.224 - * (609dde7) Merge pull request #379 from Flexget/cli-daemon[[BR]] - Refactor client/daemon architecture:[[BR]] - - Second process doesn't load db/plugins/config[[BR]] - - All commands are proxied to running daemon[[BR]] - - Multiple execute commands can now queue into eachother[[BR]] - - --cron now a base flexget option (goes before 'execute') - * (8d22b95) Switch some plugins to use console method instead of print - * (efaf872) Remove Tee helper - * (8a0aa4e) Move all output redirection logic into logger module. Get output redirecting to proper stream via ipc. - * (8a48036) Make execute command wait for tasks to finish (without --cron) - * (f840cf9) CLI commands now sent to running daemon without loading plugins/config/db (still a bit more work/cleanup to do) - * (83b2193) Refactor logging capture to better handle threads - * (aaf7369) Fix last commit for python 2.6 - * (8d8c1de) Refactor how contextual information is added to log records a bit. Prepare for adding command information to log records. - * (40097c7) Move --cron option to root level instead of execute command - * (f8cef65) Convert retry_failed to do its own rejecting instead of using remember_rejected - * (08ec260) Fix --dump showing failed entries - * (3de11b0) Convert backlog plugin to do its own db session management (drop task.session) - * (1195eb5) Make mock plugin generated urls constant per title. - * (2e75764) Merge pull request #386 from camon/develop[[BR]] - Fix language code prob and add extra config options to subliminal plugin - * (0dc2cef) Updated name variables and cleaned up a bit[[BR]] - Updated name variables and cleaned up the code that fixes[[BR]] - subtitles_subliminal plugin - * (7316709) Fix language code prob and add extra config options[[BR]] - There was a problem with Language codes, e.g. pt-BR was not supported.[[BR]] - Subliminal already supports this by using IETF codes[[BR]] - Added two extra options (that are not mandatory off course):[[BR]] - providers - allows to chose specific providers that are used for[[BR]] - subliminal to download subtitles[[BR]] - single - allows to download subtitles in single mode (no language code[[BR]] - added to subtitle filename) - * (01e0947) Merge pull request #377 from cvium/develop[[BR]] - Store series alternate_name in db[[BR]] - Use alternate_name in emit_series. fix #2530, #2588 - * (7fbc35f) changed alt_name_lower column to alt_name_normalized - * (046e2da) added db unit-test and made other tests clearer - * (6fe0262) removed table edit - * (2087007) added unit-test for duplicate alternate names - * (29c1e89) raise pluginerror if duplicate alternames across multiple series - * (5a57468) Merge remote-tracking branch 'upstream/develop' into develop - * (856cc92) Prepare v1.2.224.dev - -=== 1.2.223 (2014.11.22) === - - * (e5587ea) v1.2.223 - * (33b36ce) Merge pull request #382 from cvium/subliminal[[BR]] - subtitles_subliminal.py - * (408e947) actually save subtitles next to files - * (c5d1ed0) Merge pull request #383 from tnwhitwell/develop[[BR]] - Preventing AttributeError: object has no attribute 'title', BUG #2786 - * (8821266) Changed warning to debug[[BR]] - -Removes some bloat from the log - * (240d6fa) Prevented AttributeError throwing more pythonly[[BR]] - throws warning if there is no title in first feed entry - * (5820177) Prevented throwing AttributeError if no title attr - * (f339d5a) Prepare v1.2.223.dev - -=== 1.2.222 (2014.11.20) === - - * (1278ccb) v1.2.222 - * (dd0cad7) Merge pull request #381 from blastcodem/patch-2[[BR]] - Update urlrewrite_redirect.py - * (37793ec) Update urlrewrite_redirect.py[[BR]] - not log in = redirect[[BR]] - logged in = not redirect[[BR]] - we need to check the headers logged in. - * (a6de2e9) More unit tests - * (b09975b) Moved alternate names extraction inside search_entry - * (9db657b) added unit tests for alternate names - * (dc62414) Some more cleaning up - * (5f287ed) Cleaned up a bit and added better uniqueness constraints (per series) and duplicate handling. - * (08bd7d4) added log debug - * (e3f46e7) Fetching alternatenames from database instead of config - * (3901a94) Added table for AlternateNames, which is referenced in Series - * (cf7c766) Fixed unhandled iteration on NoneType - * (c4ac887) Handling alternate_name in emit_series. - * (e329501) Fixed typo - * (2ac1b3b) Prepare v1.2.222.dev - -=== 1.2.221 (2014.11.17) === - - * (fa12e55) v1.2.221 - * (95e8edf) Fix crash in imdb_list with unexpected imdb page format. fix #2777 - * (efa220c) Improve imdb_list schema: - Don't require user_id when using a custom list - Better error messages for invalid list specifications - * (6d31981) Make sure series timeframe doesn't crash when no qualifying releases in db. fix #2779 - * (4ecbd1d) Make sure configured series are marked in database again. fix #2772 - * (4649412) Prepare v1.2.221.dev - -=== 1.2.220 (2014.11.13) === - - * (5faeec0) v1.2.220 - * (128c363) Merge pull request #376 from Flexget/quality_tweaks[[BR]] - Tweak quality parsing and interaction between series/quality/assume_quality plugins, fix #2748 - * (3ad0659) Some cleanups to assume_quality plugin - * (8e16c8d) Stop passing quality into series parsers Make series parsing run before metainfo quality plugin Make assume_quality run after all other quality parsing - * (335bf15) Some cleanups to secrets plugin - * (321bf59) Regexp plugin reports errors properly for invalid regexps with options defined. fix #2769 - * (e57ca00) Do not count plain 'web' as webdl quality. refs #2748 - * (c62489e) Prepare v1.2.220.dev - -=== 1.2.219 (2014.11.11) === - - * (7320ef5) v1.2.219 - * (3e945b1) Revert the prowl newline handling tweaks. They come through with proper yaml quoting. - * (20ce993) Make sure WAL mode is disabled on DB to prevent errors. refs #2749 - * (224aedd) Merge pull request #374 from wick2o/develop[[BR]] - Removed Fancy encoding for simple replace() - * (280d3f9) added utf encoding - * (b05a234) Prepare v1.2.219.dev - -=== 1.2.218 (2014.11.09) === - - * (6a5843a) v1.2.218 - * (b16b482) Merge pull request #373 from wick2o/develop[[BR]] - removed quote_plus in favore of quote - * (d3775bf) added utf encoding - * (1047b26) added utf encoding - * (2f73b1d) removed quote_plus in favore of quote - * (d9fb60b) Prepare v1.2.218.dev - -=== 1.2.217 (2014.11.09) === - - * (5a21352) v1.2.217 - * (f12c947) Fix frenchtorrentdb urlrewriter. fix #2652 - * (6d1803e) Stop sqlalchemy warning from series plugin when running with no tasks. fix #2539 - * (e3a1300) Fix transmission rename when file already exists. fix #2765 - * (a8396bb) Merge pull request #372 from wick2o/develop[[BR]] - adding \n support for prowl description - * (9481807) repaced replace() with urllib.quote_plus - * (d1f013e) adding \n support for prowl description - * (dfddd0f) Merge pull request #371 from wick2o/develop[[BR]] - adding \n support for prowl description - * (a601ebc) adding \n support for prowl description - * (d6ed8ee) Raise match requirement when comparing movies to imdb names. - * (390fbe5) Prepare v1.2.217.dev - -=== 1.2.216 (2014.11.09) === - - * (094fad7) v1.2.216 - * (b8b1c3d) Make sure plugin loading doesn't try to travers non-directories. - * (79a6317) Make sure imdb cache doesn't ever have negative expiration dates. fix #2759 - * (9f095c8) Fix scheduler when no system timezone at all is specified. fix #2741 - * (2bff7de) Prepare v1.2.216.dev - -=== 1.2.215 (2014.11.06) === - - * (4118e95) v1.2.215 - * (b71b423) Merge pull request #370 from hordurk/develop[[BR]] - Improved date parsing in RSS feeds - * (6ec898e) Improved date parsing in RSS feeds - * (87214d7) Catch ValueErrors from plugin imports. refs #2755 - * (c0340be) Prepare v1.2.215.dev - -=== 1.2.214 (2014.10.31) === - - * (5664ea2) v1.2.214 - * (121616e) Don't let parsing plugin touch other plugin instances too early refs #2754 - * (35d19c5) Fix bad traceback being printed for an rss debug statement - * (3bbc4d6) Prepare v1.2.214.dev - -=== 1.2.213 (2014.10.30) === - - * (1ac6703) v1.2.213 - * (f6cf7ef) Merge pull request #369 from Flexget/release_process_version_changes[[BR]] - Release process and versioning changes - * (71fff53) Stop including unit tests in our releases - * (7011fc5) Fix increment_version tool to handle versions without revision number properly Add some notes about versions and releases in _version.py - * (ee8a800) Clean up pavement.py - * (680ff8a) Clean up --version implementation a bit - * (e18592b) Remove references to {git} version number - * (2cf86bf) Refactor how pavement version management works some more - * (61e15a4) Move version number to its own file - * (14e1eb9) Start storing version number in source Redo some paver tasks to manage version number - * (ad22507) Add pep8 and flake8 defaults to setup.cfg - * (62e5988) Merge pull request #358 from malkavi/develop[[BR]] - Urlrewriter for anime-index.org - * (1769045) Simplify a lot the urlrewrite for anime-index - * (c7b5e0d) Merge pull request #2 from Flexget/develop[[BR]] - Don't have scheduler wait on jobs to finish when shutdown requested - * (cbdda7c) removed copy/paste line - * (47c38cd) Merge pull request #1 from Flexget/develop[[BR]] - Merge last changes - * (5871bf1) code cleaned - * (266cecc) First version of the urlrewriter for anime-index.org - * (3f9e6e0) Merge pull request #368 from nikdoof/develop[[BR]] - Add Cinemageddon rewrite plugin. - * (d0c65c2) Remove extra unneeded empty line. - * (527328b) Minor style/pep8 fixes for urlrewrite_cinemaggedon - * (4be1fcd) Add Cinemageddon rewrite plugin. - * (6c953eb) Another cleanup to search_rss - * (2470108) Make sure emit_series doesn't create duplicate search terms for sequence series - * (30b4c81) Fix search_rss plugin to handle multiple search terms properly - * (a329e31) Try another fix for scheduler timezones. refs #2741 - * (4d643d0) Remove some magic and start documenting the parsing api - * (81b5acb) Clean up some unneeded bits from series parser - * (0ab3ee0) Add some tests to validate modular parsing api - * (11f5b91) Merge pull request #367 from z00nx/develop[[BR]] - Updated notifymyandroid api url - * (8e2448d) Updated notifymyandroid api url The old notifymyandroid url no longer has a valid ssl certificate and also all notifymyandroid documentation no longer refer to the old url. - * (831901e) Simplify plugin loading to not use pkgutil - * (3f801f6) Merge pull request #366 from Flexget/parsing_cleanup[[BR]] - Modular parsing system simplification - * (265d6b1) Remove metainfo argument to guessit series parser - * (bd85125) Use guessit autodetect type for metainfo - * (273394a) Merge branch 'develop' into parsing_cleanup - * (5f5e101) Series parser now take name param optionally and guess if not given A bunch of cleanup to the new parser code - * (b5bf408) Prevent tests that run against guessit/internal parsers from running a third time - -=== 1.2.212 (2014.10.25) === - - * (53047b6) Disable caching in find plugin - -=== 1.2.211 (2014.10.24) === - - * (012b015) Fix imdb genres test - * (b4ebc83) IPTorrents code cleanup - * (95d52d6) Use python's html parser for IPT search plugin - * (3ef1619) TSH search plugin add option to filter between P2P and scene releases - * (6cda5d8) Actually fix problems with unknown timezones in scheduler. fix #2741 - * (b842318) Merge pull request #365 from geirgp/feature/imdb_filter_accept_genres[[BR]] - Added 'accept_genres' parameter to imdb plugin - * (c8a4eef) Added 'accept_genres' parameter to imdb plugin - * (d46dbe4) Fix urllib3 warning filtering on older versions of urllib3 - * (2c1dcdc) Merge pull request #364 from Flexget/vcrpy[[BR]] - VCR.py - * (f7e667f) Add test for imdb_lookup caching - * (7f0bbcc) use_vcr will pass cassette as argument into function Add 'off' mode for vcr - * (66e8274) Set vcr record mode to none for travis - * (4273ee9) Remove some unused imports - * (b0fe590) Add vcr.py to jenkins requirements - * (00061e2) Switch all online tests to use vcr.py - * (7620458) Add use_vcr decorator to test suite Refactor domain_delay handling so that it can be mocked away - * (b06d6ad) Remove some unused imports - -=== 1.2.210 (2014.10.22) === - - * (dd5de57) Merge pull request #363 from nikdoof/develop[[BR]] - Add additional Torrentz domains to url rewrite_torrentz - * (c70a0eb) Update Torrentz domains - * (a8b2b47) Fix imdb_lookup caching - * (b2f8e5b) Fix path.py dependency in rtd-requirements - * (55ccd1d) Don't have scheduler wait on jobs to finish when shutdown requested - -=== 1.2.209 (2014.10.20) === - - * (7f12e48) Tweak log language about tasks still executing when shutdown is called - * (bcd55a0) Merge pull request #351 from sideeffffect/develop[[BR]] - hide sparse files Deluge creates when main_file_only is set - * (605b5cc) hide sparse files Deluge creates when main_file_only is set - * (a191739) Fix crash when invalid config was given for cronlike schedule. fix #2742 - * (e8b8a1a) Merge pull request #356 from xetix/ftplist_patch[[BR]] - Ftplist patch - * (4bc96e8) Pep8-ized - * (e91c772) Better error handling - * (f74cce1) Added support to disable the size-check to speed up process if needed. - * (3d6b677) Fix for exception raised when issuing nlst on empty directories - * (2848e84) Merge pull request #361 from jawilson/pushbullet-links[[BR]] - Add support for pushbullet "Link" types with config specified URL - * (05bd67c) Add support for pushbullet "Link" types with config specified URL - * (7c5fd1f) Fix issue with updating local cache with tvdb info - * (03c507e) Make with_session decorator default sessions not expire_on_commit Should fix some DetachedInstanceErrors - * (65a026e) Scheduler stores times in UTC when local tz name cannot be determined. fix #2741 - * (1099f99) Some cleanups to trakt_lookup - * (5d661db) Fix trakt_lookup db session usage - * (d3378e6) Fix imdb language test for changed imdb data. - * (b80b222) Catch tvrage library crash. fix #2739 - * (e85cfc0) Cleanups in plugin_parsing - * (1190c21) Series plugin no longer tries to parse description field - -=== 1.2.208 (2014.10.15) === - - * (754bfbf) Merge pull request #357 from kabracity/patch-4[[BR]] - Update urlrewrite_divxatope - * (03d5e4e) Update urlrewrite_divxatope.py[[BR]] - Some changes to reflect format changes on divxatope - -=== 1.2.206 (2014.10.14) ^[wiki:UpgradeActions#a2014.10.141.2.206 upgrade actions]^ === - - * (35f7563) Merge pull request #343 from Flexget/apscheduler[[BR]] - replacing our scheduler with apscheduler - * (6e91391) Rename key for advanced schedules from 'cron' to 'schedule' in config - * (3c3d08e) Fix running of schedules that were due while daemon was offline - * (7c4b3b3) Ensure schedules not fired faster than they can finish with new scheduler - * (3b984ef) Fix plugin importing code on python 2.6 - * (97df321) Adjust apscheduler logging to be quieter unless we are at debug level Improve apscheduler debug messages to display tasks being scheduled - * (3bd865a) Fix running schedules with a single task listed in apscheduler - * (d00941f) Adjust plugin loading so plugins can still be imported by regular means - * (1a784a1) Implement (still a bit broken) adding of jobs to apscheduler - * (6a60ec7) Remove unneeded bit from cron schedule schema - * (dedcce3) Start work replacing our scheduler with apscheduler - -=== 1.2.205 (2014.10.13) === - - * (fc8a92d) Stop warning about invalid encoded filenames to avoid path.py bug refs #2704, #2719 - -=== 1.2.204 (2014.10.12) === - - * (efaa2cd) Let beautifulsoup do text decoding instead of requests in html plugin - -=== 1.2.203 (2014.10.11) === - - * (734c11c) Add --wait option to 'daemon stop' command, to wait for all tasks to finish task queue now logs how many tasks have to finish before shutdown - * (3165bb9) Improve output streaming from daemon to client process. refs #2721 - * (213c547) Switch task to use new capture_output context manager - * (5acd94f) Make a context manager to capture all output to a stream. - -=== 1.2.202 (2014.10.10) === - - * (eabd5cf) Merge pull request #353 from Flexget/session_changes[[BR]] - Cleanup usage of database sessions - * (be24334) Alter how api_tvrage does subqueries and session management. - * (603983f) Don't expire automatic created sessions for tvdb lookup_series - * (2b4cdfe) Fix some imdb online tests - * (c853584) Move commits in imdb_lookup to only store new data. - * (4ed35cc) Remove unneeded db commits from api_tmdb. Improve documentation for api_tmdb behavior. - * (049dcdd) Remove unneeded db commits from api_tvdb. Document api_tvdb lookup behavior. - * (300abf5) Allow specifying arguments for Session when using with_session decorator - * (82d5126) Remove unused import - * (53c4cd6) Improve --debug-db-sessions output - * (6f32ae8) Shorten transaction lengths in api_tvdb - * (a2064c8) Update api_tmdb to minimize transaction open time - * (2e7291c) Update imdb_lookup Session usage - * (deb4d16) fix error in log message - * (7821049) Simplify with_session definition - * (99eb72b) SimpleTaskPersistence now manages its own Session - * (b06aa81) Make session context manager close session as well as transaction Prevents any instances from session opening a new transaction - * (3a8b2b9) Stop using task.session in series plugin Split up long transaction into one per series - * (4408cea) Stop storing Release db instances on entries - * (bf999d1) Split imdb_lookup session usage into chunks to reduce open transaction time - * (2420c8b) Add another missing dep to RTD requirements file - * (79e2a17) Attempt to fix RTD builds - * (a4c6c25) Handle ctrl-c when executing task on remote daemon. fix #2727 - * (4b2bcfa) Make sure flexget arguments are always used as unicode. fix #2726 - * (077a5b6) Switch some usages of Session to new context manager support - * (ba5df2d) Make our db Session usable as a context manager - -=== 1.2.201 (2014.10.07) === - - * (0705fad) --debug-db-sessions now logs when a transaction will write to db - -=== 1.2.200 (2014.10.07) === - - * (572ebcb) Add --debug-db-sessions - -=== 1.2.199 (2014.10.05) === - - * (dac3c76) Don't let urlrewrite_redirect rewrite urls it can't handle - * (6dffda8) Don't log url rewritten message if url hasn't changed. Fix urlrewriting passing task to urlrewriters - -=== 1.2.198 (2014.10.05) === - - * (73a8a70) Merge pull request #349 from skasi7/newpct[[BR]] - Fixes newpct urlrewrite plugin - * (3094113) Fixes newpct urlrewrite plugin - * (6b662c0) Fix a bug with guessit series parser and manually specified name_regexps - * (7cd21de) Add a warning when locale declares filesystem encoding as ascii. refs #2719, #2704, #2643, #2631, #2623 - * (43024b7) Improve warning about no filters in a task. - * (7e9acd3) Fix bug in scan_imdb, fix #2722 - -=== 1.2.197 (2014.09.30) === - - * (0e4a61b) Fix setting loglevel on python 2.6 - * (35cbed0) Try to eliminate cases wher logging doesn't start properly. - * (ce8bbe4) Make manager init failure message print to stderr instead of stdout - * (7f20215) Make console logging go to stdout instead of stderr - * (6af769c) Error to console when failing to initialize manager, in case logging init failed - -=== 1.2.196 (2014.09.30) === - - * (84d8604) Ensure messages still logged to console when config file missing. Move sys.exit calls out of manager.py and into __init__.py - * (5facb01) Merge pull request #348 from kabracity/patch-4[[BR]] - update urwlrewrite_divxatope link handling - * (0f65266) update urwlrewrite_divxatope link handling[[BR]] - Update to reflect the new format for the links: "redirectlink" to identify the link and url without the "url" keyword. Backwards compatibility is maintained. - * (a874f1d) Merge pull request #347 from TomSpyCell/develop[[BR]] - Correct the entry field where size is saved in ftp_list - * (07fdc2a) Correct the entry field where size is saved - -=== 1.2.195 (2014.09.29) === - - * (c85a201) Error properly when content_filename is used with transmission <2.8 - * (8a76f95) Merge pull request #345 from crawln45/develop[[BR]] - Fix rendering content_filename in transmission plugin. Fix #2714 - * (1c30b3f) Fix rendering content_filename in transmission plugin. Fix #2714 - * (d37d4f6) Sceneaccess plugin: Add docstring for process_categories method, session persistence across searches - * (46864aa) Torrentshack plugin code cleanup, session persistence between searches, fix for unhandled exception when there was no category configured - -=== 1.2.194 (2014.09.28) === - - * (8a49567) Merge pull request #344 from TomSpyCell/develop[[BR]] - Several fixes to ftp_list plugin - * (3423e51) Format urls when spaces are present in directories name - * (09e044e) Workaround for the weird behaviour of nlst function when multiple subdirectories are used - * (b701dba) Fix size computation for folders when MLST is not supoorted - * (2ae5aa3) Add proper detection of folders - * (7e47c1e) Revert "Make __version__ specification PEP8 compliant"[[BR]] - This reverts commit f79a2adbdf11b86e5590b1d8c241e23ff9034d0c. - * (795be78) Make session persistent between searches fix download URL construction error - * (8863d55) PTN plugin: fix for data scraping; login session persistence between searches - * (1150a96) Increase timeout when waiting for a database lock refs #2699, #2693, #2686, #2360, #2409 - -=== 1.2.193 (2014.09.28) === - - * (58b4ce7) Merge pull request #342 from Flexget/per_plugin_sessions[[BR]] - Per plugin DB sessions[[BR]] - refs #2699, #2693, #2686, #2360, #2409 - * (6730bdc) Fix emit_series plugin for per plugin sessions - * (8ed805b) Fix remember_rejected plugin for per plugin sessions - * (f8beb52) Fix series plugin remembering accepted releases to database - * (52dec74) Change task.session to be commited per plugin instead of per task - * (f79a2ad) Make __version__ specification PEP8 compliant - * (885a5e1) Cleanup redundant request headers in various plugins - * (86a5b08) Default FlexGet useragent string. - * (4972493) Move __version__ declaration before imports - * (71dcf2e) Clean up metainfo_imdb_url plugin - * (a57d9d0) Rip out old imdb_url hack - * (207293a) PTN admins were suspicious of python-requests UA - let's identify ourselves properly. - -=== 1.2.192 (2014.09.25) === - - * (b2e5e23) check command now displays the path of config file it is checking - * (47b6b36) Couple more cleanups to logging setup - * (d133ac5) No need to set formatter on the log buffer handler - * (ce8de01) Make sure all log messages emitted before logging start are stored - * (576f4da) Move --cron back to execute option - * (aecb857) Simplify logging setup, make messages before manager init more reliable - -=== 1.2.191 (2014.09.23) === - - * (47409aa) Let log_once be used when there is no active manager - * (a2b18a4) Make sure internal parser warnings are not spammed to log - * (fa1d4f8) Stop using Thread.join in scheduler - * (41dc0df) Make sure scheduler can actually be shut down on python 2.6 fix #2705 - -=== 1.2.190 (2014.09.22) === - - * (6ce0f85) Merge pull request #341 from vkosh/develop[[BR]] - Fix log message args in exist_series - * (f714a78) Fix log message args in exist_series - -=== 1.2.189 (2014.09.20) === - - * (5ee3cce) Merge pull request #326 from Flexget/guessit[[BR]] - Add parsing plugin with choosable support for guessit - * (756b078) Make parsing logging debug level - * (aae6221) Clean up imports in parsing plugins - * (8d37a15) Change status __str__ - * (7a96e2a) Make travis build less verbose and set guessit logging to info - * (bccae21) Update guessit to 0.9.3 - * (01a79e2) Make more tests run against both guessit and internal parser - * (a200942) Add config_functions and tasks_functions to FlexGetBase (testing) - * (a71171a) Make parsing qualities same results with both parsers (with tests) - * (bd7eefd) Make movie parser tests run against both guessit and internal parser - * (cd284c6) Make sure default parser gets reset on task abort - * (0846bcb) Make series parser tests run against both guessit and internal parser - * (93abf7a) Make internal parser the default one - * (7647a8c) Reformat logging message - * (dce6c0d) Move docstring to good place - * (1efeeba) Fix custom parser configuration - * (6f5a25c) Make the parsers verbose - * (d9cf77d) Merge branch 'develop' into guessit[[BR]] - Conflicts:[[BR]] - pavement.py - * (6a7d1dd) Use guessit >= 0.9.2 - * (fc17624) Make plugin_parsing a bit more dynamic - * (d5f44a0) Better parsers validation - * (7da4c8a) Move common parser code to plugin - * (66cc91a) Move whole internal parser code to plugin - * (bbf2df7) Move whole guessit code to plugin - * (f9b734a) Move parsers and make default parser less hardcoded - * (e69c5d6) Add plugins parsing (builtin), parser_guessit and parser_internal. - * (ebfcde7) Merge branch 'develop' into guessit - * (ce209b8) Fix allow_groups option - * (89a20af) Update guessit to 0.9.1 - * (f8b7154) Merge branch 'develop' into guessit[[BR]] - Conflicts:[[BR]] - flexget/plugins/filter/exists_movie.py[[BR]] - flexget/plugins/filter/exists_series.py[[BR]] - pavement.py - * (3a9d923) Add guessit 0.9.0 dependency - * (e6ca7c4) Fix date options with latest guessit - * (b575159) Fix more unit tests for series parser - * (3383f1f) Fix unit tests for series parser - * (e5bee59) Change parser in seriesparser unit tests - * (467e0de) Fix strict_name option for guessit parser - * (6bc169b) Fix identifier_type option for guessit parser - * (9644bdb) Add strict_name option to guessit_parser - * (e9f6353) Remove useless and buggy parsed_name in guessit parser - * (5a1f8ab) Add prefer_specials option to guessit parser - * (085ead7) Fix HR resolution quality from guessit parser - * (a645bd7) Add assume_special option to guessit parser - * (eaa9a50) Add episode complete and pack validation - * (7482040) Add allow_seasonless option to guessit parser - * (fd6ab94) Add proper_count in guessit parser - * (3aa6dad) Add allow_groups option to guessit parser - * (19bd3fa) Add id_regexps support in guessit - * (f9636c7) Use guessit version property for proper_count implementation - * (8dd375b) Fix idiotic name support (with identified_by: ep) - * (e8e09be) Add name cleanup and parsed compare support - * (05bf924) Disable weak episodes transformer for name parsing - * (a509160) Append year to name for series - * (19441f0) Add episode_prefer_number option to guessit parser - * (3a2ff25) Fix name normalization for series metainfo - * (ffc122f) Add name validation to parser_common - * (fb12b50) Move series metainfo plugin to new parser API - * (1b56d5d) Move series filter plugin to new parser API - * (174a9dd) Add new parsing API - * (8fbc6e7) Remove SeriesParser from pogcal_acquired - * (8ac57b2) Fix ParserInternal to work for movies - * (f210372) Replace MovieParser by guessit - * (b11bedc) Add guessit parser and get_parser method - -=== 1.2.188 (2014.09.17) === - - * (c054b5c) Merge pull request #339 from fcharlier/transmission_check_seed_limits[[BR]] - Fix check_seed_limits for transmission plugin - * (dc44213) Fix check_seed_limits for transmission plugin[[BR]] - The comparison between torrent.seedRatioLimit and torrent.uploadRatio[[BR]] - is inverted when checking against the torrent's own seed ratio limit. - * (3d34bbf) Merge pull request #338 from crawln45/develop[[BR]] - Fix RenderError Crash make_html - * (c3f905a) Raise PluginError and log RenderError on make_html - * (5679512) Added try block to make_html to catch RenderErrors - * (beda57a) Don't let queue_movies fail items because they were already downloaded - -=== 1.2.187 (2014.09.16) === - - * (067d398) Don't let redirect urlrewriter go online in unit tests. - * (deff8ff) Add a urlrewriter for urls that redirect. fix #2702 - * (139d0b0) Make sure download plugin replaces % escapes if making filename from url. fix #2683 - * (d940abd) Fix an emit_series debug message - -=== 1.2.186 (2014.09.13) === - - * (3447ceb) Don't join scheduler thread while waiting for it to exit. - -=== 1.2.185 (2014.09.13) === - - * (929048d) Make sure scheduler thread shuts down cleanly. - -=== 1.2.184 (2014.09.12) === - - * (8998028) Fix column type for storing schedule trigger ids. - -=== 1.2.183 (2014.09.11) === - - * (d6f322f) Revert "Try switching to NullPool to solve database locked issues. refs #2360, #2686"[[BR]] - This reverts commit 756e05d4c1215a6e3785cbde2df8c64998732ae0. - * (941f4a1) Catch timeouts in form login plugin. fix #2700 - * (756e05d) Try switching to NullPool to solve database locked issues. refs #2360, #2686 - * (4e4c333) Revert "Enable sqlite WAL to try to solve database locked problems." refs #2699 This reverts commit e2c118e32866605abb96bafd5dd7a5f0d1e53863. - -=== 1.2.182 (2014.09.09) === - - * (f4307c4) Fix plex plugin error introduced a few versions ago. refs #2697 - * (921c275) Relax pushover url validation so that jinja works properly. - * (e714dd9) Clarify bootstrap.py requirements in readme a bit. - * (a100877) Fix api_tvdb on python 2.6. fix #2695 - -=== 1.2.181 (2014.09.08) === - - * (94266cb) Actually set different user agent in torrentz plugin - * (2ed2d2c) Set different user agent in torrentz plugin. fix #2677, #2678 Improve error messages for torrentz search - * (45f5cf5) Make errors from search plugins in discover log to error log - * (2c86cd8) Disallow requests 2.4.0 in requirements. fixes #2690, #2684 - * (4eca7a3) Fix docstring indentation - * (d2da5d3) Merge pull request #318 from blastcodem/patch-1[[BR]] - url_rewrite_torrent411 -> Discover+RSS with login - * (fb0159a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] - fixed :) - * (be20d97) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] - copy / paste junk - * (fae6f7a) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] - Missing S - * (469503e) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] - First Fixes.. still need to fix re.compile. - * (7512d87) url_rewrite_torrent411 -> Discover+RSS with login[[BR]] - Sorry for double post.. I had to remove a line.. so here it is.. I had time to test it a bit and seems to work nicely![[BR]] - It will login only once a day. It will store the login info to the database for 1day[[BR]] - it will search in the html.[[BR]] - download files with login info..[[BR]] - all categories, sub-catogories are supported.[[BR]] - the rss is supported with login info.. works nicely.[[BR]] - formated with pep8 -> only some lines are too longs.[[BR]] - Thks! - -=== 1.2.180 (2014.09.08) === - - * (147327f) Fix debugging with pydevd (Eclipse, Intellij and PyCharm at least) - * (933eb87) Fix root level email configuration - * (09055c0) Fix torrent_alive crash when not configured in dict form - * (3f941e0) Fix email plugin schema declaration - -=== 1.2.179 (2014.09.07) === - - * (86502f8) Cleanups for pushbullet plugin - * (00fba96) Fix pushbullet default device value. fix #2691 - * (c3c4345) Merge pull request #328 from Flexget/sqlite_wal[[BR]] - Enable sqlite WAL to try to solve database locked problems. - * (e2c118e) Enable sqlite WAL to try to solve database locked problems. refs #2409, #2360, #2686 - * (581da08) Add httmock as a testing dep Add an offline test for trakt_list - -=== 1.2.178 (2014.09.07) === - - * (817ee34) Merge pull request #332 from crawln45/plugin_repair[[BR]] - Plugin Fixes - * (e74125d) Plugin Fixes - -=== 1.2.177 (2014.09.07) ^[wiki:UpgradeActions#a2014.9.61.2.177 upgrade actions]^ === - - * (7c4de4c) Merge pull request #331 from crawln45/develop[[BR]] - Fix emit_movie_queue prepare_config - * (cd7bd89) Fix emit_movie_queue prepare_config - * (8531fa4) Merge pull request #330 from crawln45/develop[[BR]] - Fix plugins by reverting prepare_config - * (77f6593) Fix plugins by reverting prepare_config - * (d739756) Add namespace declaration in test/rss.xml - * (63eba70) Merge pull request #329 from crawln45/develop[[BR]] - Plugin schema update 1 - * (d04316a) Plugin fixup - * (5121886) Update 2 Plugin Schema - * (532e372) Plugin Schema update 1 - * (f0fe9c4) Catch TMDBErrors on tmdb lookup to prevent aborts. fix #2689 - -=== 1.2.176 (2014.09.05) === - - * (dfa991c) Merge pull request #327 from crawln45/develop[[BR]] - Converting plugins to schema type validator - * (f359206) Converting plugins to schema type validator - * (8d6aca2) Make sure lockfile errors happen before daemonizing. refs #2688 - -=== 1.2.175 (2014.09.04) === - - * (72c49eb) Attempt to recover if scheduler thread crashes. refs #2686 - * (bf7f39b) custom fields are sanitized properly for feedparser in rss plugin - -=== 1.2.174 (2014.09.04) === - - * (f7953fd) Merge pull request #325 from crawln45/develop[[BR]] - Add instructions for bootstrap.py in docs - * (3295691) Fixed rst markup to show correctly - * (75dec22) Adding more bootstrap.py instructions - * (87a91a0) Added instruction to bootstrap.py in docs - * (ee2a1e4) Allow 4 digit seasons in config for 'begin' setting in series. refs #2197 - * (eb6573f) pep8ify all imports in core files - * (4389351) Remove unused import from scheduler - -=== 1.2.173 (2014.09.02) === - - * (5d59b7c) Merge pull request #322 from vbabiy/custom-virtualenv-readme[[BR]] - Updated readme, to explain how to get flexget in a custom virtualenv. - * (088cb00) Update quoting. - * (ebb79a2) Updated readme, to explain how to get flexget in a custom virtualenv without using bootstrap. - * (586b4fb) Merge pull request #323 from vbabiy/paver-upgrade[[BR]] - Upgrader paver and virtualenv version for bootstrap.py - * (b6854cc) Upgrader paver to 1.2.3 - * (3bfec75) Merge pull request #324 from X-dark/develop[[BR]] - [FIX] netrc is a valid key for plugin transmission - * (4936266) [FIX] netrc is a valid key for plugin transmission[[BR]] - This fix the netrc key not being recognized after the ec1c113d commit. - -=== 1.2.172 (2014.08.30) === - - * (52383cd) Make sure any exceptions in task_queue thread are logged - * (fcef4ff) Make sure any exceptions in scheduler thread are logged - * (90c97e6) Make scheduler restartability less hacky - * (56a9acf) Remove unused imports from download plugin - * (2abc5eb) Fall back to entry title when jinja render fails in make_rss - * (9087f5a) make_rss handles rendering errors for the title properly - * (be60dfb) Merge pull request #317 from thomasleveil/torrent-cache-zoink.it[[BR]] - [magnet] add zoink.it to list of torrent caches - * (a683140) [magnet] add zoink.it to list of torrent caches[[BR]] - See gh-316 - * (f35bfda) Merge pull request #315 from thomasleveil/download-better-err-msg[[BR]] - [download] improve error message - * (7d1ab08) [download] improve error message[[BR]] - while give[[BR]] - ```[[BR]] - 2014-08-30 12:24 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]] - 2014-08-30 12:24 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, while downloading https://torcache.net/torrent/C28D6A86369E095B7D3509D4C86C0BC09286995B.torrent[[BR]] - ```[[BR]] - instead of[[BR]] - ```[[BR]] - 2014-08-30 12:30 INFO download bt-chat.com Downloading: Bering.Sea.Gold.Under.the.Ice.S03E02.480p.HDTV.x264-mSD[[BR]] - 2014-08-30 12:30 WARNING download bt-chat.com RequestException [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed[[BR]] - ``` - -=== 1.2.171 (2014.08.30) === - - * (bcd2552) torrentshack TLD change - -=== 1.2.170 (2014.08.28) ^[wiki:UpgradeActions#a2014.8.281.2.170 upgrade actions]^ === - - * (9b06295) Make webui launchable again. (though still not work properly) - * (0433837) Fix unicode handling in listdir. - * (5e67450) Let requests handle url encoding in download plugin. refs #2676 Remove some urllib code from download plugin. - * (1806694) Fix unicode handling in exists_movie. - * (7584c31) Fix unicode handling in exists. - * (8b9cdef) Fix unicode handling in exists_series. Fix #1462 - * (6adc85a) Oops, remove some leftover code. - * (5db72e4) Fix find plugin when some filenames aren't decodable. - * (83cf489) Switch to path.py for path handling in find plugin - -=== 1.2.169 (2014.08.28) === - - * (1ec1578) Make sure scheduler error about interval length isn't spammed - * (5256c91) Switch the hashing for scheduler triggers. All schedules will fire on the first run after this upgrade. - * (005eda0) Ensure tasks are marked as finished no matter what refs #2672 - -=== 1.2.168 (2014.08.26) === - - * (c67bc46) Make sure we close our database sessions in a couple places refs #2672 - * (429f5fb) Remove some unused imports - -=== 1.2.167 (2014.08.26) === - - * (0685ed9) Some cleanups and error message improvements to trakt plugin - -=== 1.2.166 (2014.08.24) === - - * (a1382a4) Turn off scheduler when no schedules defined. - * (2018736) Clean up scheduler event hooks Fix ability to restart scheduler - * (3146c8d) Merge branch 'daemon_plugins' into develop - * (bb4e2bd) Make scheduler loadable/unloadable on config change - * (4b76484) Change singleton pattern a bit, split it into tools - * (a353cfa) Fix warning about __new__ not taking arguments - * (3c04dfc) Change scheduler into a plugin. - * (5ba2f3b) Make sure error messages about --tasks are shown to ipc client fix #2667 - -=== 1.2.165 (2014.08.21) === - - * (5567f06) Reduced rapidpush log level. - -=== 1.2.164 (2014.08.19) === - - * (1d98604) Merge pull request #311 from nielsenj/transbt[[BR]] - Many fixes and feature additions - * (6c3958d) Updates torrent start to do fewer queries. - * (ec1c113) Many fixes and feature additions - * (da95864) Use SIZE command to retrieve content-size when MLST is not supported - * (0780d6e) Add content-size to ftp_list produced entries - * (b92d36a) Add files-only and recursive option to ftp_list - * (0662ab1) Add proper encoding support to ftp_list - -=== 1.2.163 (2014.08.17) === - - * (6918bc5) Missing title in exception handler. - -=== 1.2.162 (2014.08.15) === - - * (4290f32) Fix for unlikely authentication error. - * (28c4d4b) Merge pull request #309 from Flexget/manager_refactor2[[BR]] - Move task execution out of scheduler - * (9a93e58) Move scheduler starting back to webui code. - * (da71d58) Fix ipc checking for tasks already in the queue. - * (5c1df90) Move BufferQueue to tools - * (b7f63ab) Move task execution to own thread to handle signals/ctrl-c gracefully - * (fbd9fe6) Fix some references to removed scheduler.execute - * (d842780) Refactor task queue and execution to be in manager Strip down scheduler to just queue executions - * (383f2e9) Move Tee class to utils - * (98bd70b) Remove `Job` class, merge the important bits of it straight to `Task` - * (b7692d5) Actually fix imdb_list with movies with no date. - * (f448440) Merge pull request #249 from tarzasai/config_secrets[[BR]] - Configuration secrets - * (6f7fc3f) manager.py fixed - * (add52f0) Plugin mode - * (3b2e5c8) Configuration secrets[[BR]] - As discussed in http://flexget.com/ticket/2523 - -=== 1.2.161 (2014.08.14) === - - * (58262a3) Merge pull request #310 from dj-nitehawk/develop[[BR]] - Make imdb_list not assume the number of movies on a page is 250 - * (e61d3c0) make imdb_list not assume the number of movies on a page is 250[[BR]] - issue discussed here:[[BR]] - - http://flexget.com/ticket/2663#comment:8 - -=== 1.2.160 (2014.08.13) === - - * (0741201) Make sure loglevels don't get touched when not needed. refs #2660 - -=== 1.2.159 (2014.08.12) === - - * (02751fa) Switch imdb_list to html5lib parsing and hack it to work - * (63951b6) Prevent imdb_list from crashing on movies with no year - * (6e57a24) Merge pull request #307 from Pretagonist/patch-1[[BR]] - Added keep_extension option, default true - * (660fadf) Added keep_extension option, default true[[BR]] - Sometimes it's desirable to be able to change a files extension with move plugin - -=== 1.2.158 (2014.08.12) === - - * (2423f7a) Merge pull request #306 from dj-nitehawk/develop[[BR]] - imdb_list import from HTML page instead RSS feed - * (f221aa3) new and improved imdb_list plugin completed - * (147912f) imdb_list improvements to include imdb_year - * (8d5c038) imdb_list finalized - * (539ccee) imdb_list with multipage html parsing super powers[[BR]] - this will parse all pages of a given imdb list without the 250 entry[[BR]] - limit of rss. - * (b79ef50) html parsing for imdb_list import with multipage support[[BR]] - html parsing with multipage support for imdb lists. no more 250 entries[[BR]] - limit of RSS. - * (821176f) auto fallback to html parsing if rss failed for imdb_list import[[BR]] - when the imdb watchlist page returns html (as at 11/8/2014) instead of a[[BR]] - valid rss feed, imdb_list will now automatically parse that html for[[BR]] - entries. will go back to rss when the feed corrects itself without any[[BR]] - need for flexget config changes. - * (0e9927c) imdb_list import from HTML page instead RSS feed[[BR]] - imdb watchlist rss feed is broken right now and can't be sure when and[[BR]] - if it will be back up. this will now parse the html page for movies and[[BR]] - create entries. - * (34e861f) Raise loglevel for message about changing loglevel. Try something else to troubleshoot ref #2660 - * (da05d18) Merge pull request #304 from nanulf/develop[[BR]] - Add content_filename to transmission plugin. - * (c600ec0) Add content_filename to transmission plugin.[[BR]] - Add content_filename to transmission plugin, mimics the behavior of deluge plugin.[[BR]] - Tested with:[[BR]] - -Transmission 2.84[[BR]] - -TransmissionRPC 0.11 - -=== 1.2.157 (2014.08.10) === - - * (93f4d9b) Fix for kat searches sometimes failing[[BR]] - For example when search query contains `-`, Kat strips it and redirects to a new search URL with HTTP return code 301.[[BR]] - This is probably better way to fix than hardcoding any acceptable characters. - -=== 1.2.156 (2014.08.09) === - - * (6cd162e) Add a log message when changing log verbosity. refs #2660 - -=== 1.2.155 (2014.08.04) === - - * (0bcc083) Fix some issues with nyaa search - -=== 1.2.154 (2014.08.04) === - - * (6129f77) Merge pull request #298 from mirilex/patch-2[[BR]] - Update emit_series.py - * (4242255) Update emit_series.py[[BR]] - Sequences are documented with leading zeros, but emit_series does not emit any of those. - -=== 1.2.153 (2014.08.01) === - - * (4297dd9) Merge commit '4ee26f6701a422f974ba1fe85f3e4015de17474f' - * (4ee26f6) Merge pull request #300 from tarzasai/transmission_activitydate[[BR]] - Int field used instead of datetime. fix #2658 - * (1997be7) Int field used instead of datetime - -=== 1.2.152 (2014.07.31) === - - * (81deb18) Merge commit 'b779ed6c9b19decfb215e8162923d72c31b5cbbb' - * (b779ed6) Log error when bad data from tvdb. refs #2657 - * (3a67f01) Better error handling for bad tvdb data. fix #2657 - * (6fbae76) Fix make_rss pubDate values. fix #2656 - -=== 1.2.151 (2014.07.28) === - - * (37cc773) Merge commit '9651543d25ace9330a3c2ae470ce91f327f8076d' - * (9651543) Add support for text dates to series plugin. e.g. 1st may 2014 - * (0b90465) Fix exec auto_escape option. fix #2529 - * (fdf02dc) Prevent crash in imdb_list if no status from feedparser. fix #2621 - * (7281c37) pep8 - * (8b3eb9c) --stop-waiting normalizes series name. fix #2624 - -=== 1.2.150 (2014.07.27) === - - * (152ca29) Merge commit '774dd237b4524c5a0f8f7e47273396287b72734c' - * (774dd23) Merge pull request #296 from nielsenj/trmajor[[BR]] - Added support for only downloading main file and optional subs - * (540c921) Fixed a few PEP problems and added other subtitles. - * (bf2b840) Only modify selected files if we find a main file. If addpaused is not defined use client defaults - * (8109b76) Fixes camelCase - * (aa183be) Added support for only downloading main file and optional subs - -=== 1.2.149 (2014.07.26) === - - * (eca46e4) Merge commit '8d8fd488fd4c129926c220f77de2cb60c2a8cbf0' - * (8d8fd48) Remove need for separate --loglevel for execute - * (efbe05d) Allow loglevel set per execution - -=== 1.2.148 (2014.07.23) === - - * (0b692ed) Merge commit 'd1d33525b23c38701bb70dbc20b359306206cd9f' - * (d1d3352) Better tvrage error handling. refs #2648 - * (0a730da) Fix est_released crash with invalid movie_year. fix #2637 - -=== 1.2.147 (2014.07.20) === - - * (15c9980) Merge commit 'd53e59b75e81abff0f794b723e1c9df76f6d8f39' - * (d53e59b) Merge pull request #297 from mirilex/patch-1[[BR]] - Updates urlrewrite_torrentz - * (913846e) Update urlrewrite_torrentz.py[[BR]] - search tries to get the wrong field "search_string" instead of "search_strings" - -=== 1.2.146 (2014.07.15) === - - * (0e3fd19) Merge commit '21489ba3ead1864dc65d05026b8810ec210b0e13' - * (21489ba) Merge pull request #292 from albel727/develop[[BR]] - Prevent some episode numbers from being treated as quality - * (da20558) Prevent some episode numbers from being treated as quality - -=== 1.2.145 (2014.07.14) === - - * (4426b89) Merge commit '7a51a5593aff01c47b7436cb50f3ee9d2a5d0b46' - * (7a51a55) Merge pull request #294 from kabracity/patch-3[[BR]] - urlrewrite_newpct.py torrent ID update - * (5d84350) urlrewrite_newpct.py torrent ID update[[BR]] - Added support for new torrent ID format detection ('id' : '<id>' instead of torrentID: '<id>'). Backwards compatibility maintained for links using the old format. - * (8cb82b6) Merge pull request #293 from immenz/develop[[BR]] - Fixed folder setting with PyLoad - * (dd888fc) update pyload.py folder looks if SET PATH is given in Entry and chose it over given folder config. This enables setting folder for each entry separately. (maybe reverse: folder setting over path setting) - * (049f537) update pyload.py Added possibility to change pyload folder dynamicly with jinja support - * (c655c55) Update pyload.py This fixes #2451 http://flexget.com/ticket/2451 (Pyload raises Internal API Error when adding Links with folder set) - -=== 1.2.144 (2014.07.13) === - - * (a4e7a88) Merge pull request #277 from kabracity/patch-1[[BR]] - Update to reflect inclusion of newpct1 domain - * (04b80e0) Update to reflect inclusion of newpct1 domain[[BR]] - - Detect newpct1 url as re-writable.[[BR]] - - Switched to regular expressions to simplify.[[BR]] - - Minor logic changes to save code. - -=== 1.2.143 (2014.07.07) === - - * (1bc8ac3) Merge pull request #290 from wakemaster39/fix_clean_transmission[[BR]] - Fixed clean transmission plugin torrent removal logic. - * (fd8be4f) Update plugin_transmission.py[[BR]] - Fixed a missing bracket causing the internal limits always to allow torrent removal. - * (39f47e5) Merge pull request #288 from exscriber/develop[[BR]] - plex plugin additions - * (a9ce52c) Update plex.py[[BR]] - change 'strip_non_alpha' option to except apostrophes (') - * (3fbc9f1) Revert da1156e..54d4e5b[[BR]] - This rolls back to commit da1156e4ce52b6047915a24a5743cbcc6d44d54c. - * (54d4e5b) Update plex.py[[BR]] - can be like this, but python regex smart enough to divide range '-' char from literal '-' without escape. - * (da1156e) Update plex.py - * (87d7757) Update plex.py - * (ba81c36) plex plugin additions[[BR]] - new option for non-latin letters in title[[BR]] - new generalized option for stripping all parens - -=== 1.2.142 (2014.06.27) === - - * (d0922ec) Merge commit 'b8c2f083132c20587708af291a21ddfb2935693b' - * (b8c2f08) To not append the extension to directory name[[BR]] - About http://flexget.com/ticket/2633 - -=== 1.2.141 (2014.06.24) === - - * (645dab3) Merge commit 'b7878a4a9f6d68bb169c355686b02a6079d128f2' - * (b7878a4) Merge pull request #260 from tarzasai/file_operations[[BR]] - Added plugins to copy and delete files - * (0507ba1) Missing spaces - * (db2f4db) Changes in error handling - * (f3b8e3b) Just a missing pathscrub - * (d93e585) Added plugins to copy and delete files[[BR]] - "move" has been updated too. - -=== 1.2.140 (2014.06.23) === - - * (b31be56) Merge commit 'e985871f6f97bbc2bb3b3e990c8bad7e753073d0' - * (e985871) Merge pull request #258 from tarzasai/fix_exists[[BR]] - A more reliable exists plugin - * (503fef3) A more reliable exists plugin[[BR]] - The plugin currently compares entries and files/folders by title, but[[BR]] - the entry title for a file usually doesn't include its extension, so is[[BR]] - pratically impossible rely on exists when task input is provided by[[BR]] - find, listdir and several other plugins. - * (0ca12de) Merge pull request #250 from explo910/patch-1[[BR]] - pyload plugin updates, fixes #2527 - * (c728eff) Update pyload.py[[BR]] - fixed http://flexget.com/ticket/2527 - * (3845c05) Merge pull request #280 from wicastchen/patch-2[[BR]] - fix a bug with 'file_exts' option in aria2 plugin - * (355b184) fix a bug with 'file_exts' option[[BR]] - torrent file won't be downloaded in default,because of a 'not'. - * (c7a0f08) Merge pull request #285 from kabracity/patch-2[[BR]] - update urlrewrite_newpct.py url - * (9606bf4) update urlrewrite_newpct.py url[[BR]] - Updated return link to reflect the new www.newpct1.com links. (old url was working but wrongly matching the tv shows) - -=== 1.2.139 (2014.06.23) === - - * (dda53b4) Merge pull request #279 from Shorny/master[[BR]] - FIX urlrewrite_torrentleech bug (NONE Type contents) - * (43db292) Get back function validate_config() webui need - * (1e59639b) FIX urlrewrite_torrentleech bug NONType contents[[BR]] - Add size Terabyte to size parser - -=== 1.2.138 (2014.06.18) === - - * (e14460e) Merge pull request #283 from BrainDamage/transmission_seed[[BR]] - Improvements to transmission plugin - * (85b042c) forgot to rename entry in option validator in transmission plugin - * (bb6238e) renamed transmission_seeds_limits config key to transmission_seed_limits, corrected pathc to comply pep8 - * (7ab3099) Edited the transmission plugin so that it can handle transmission internal limits for seed ratio and idle time, they are applied by default on the input plugin when onlycomplete is true, and optional in transmission_clean with transmission_seeds_limits - -=== 1.2.137 (2014.06.07) === - - * (50f75bd) Updated dnspython module name - -=== 1.2.136 (2014.05.27) === - - * (d4d87ed) Strip out categories from titles in imdb_list plugin. refs #2608 - * (2444a03) Escape some characters in series regexes, refs #2608 - * (b599986) Add category options to ptn plugin - -=== 1.2.135 (2014.05.27) === - - * (c1f0663) Remove reliance on manual cookie entry for ptn plugin. - * (8858a88) Fix issue with regexp plugin within if plugin. - -=== 1.2.134 (2014.05.25) === - - * (99b42bd) Fix PtN downloading. - * (8ba799b) Add a search plugin for PtN - -=== 1.2.133 (2014.05.24) === - - * (364a646) Don't mark btn as debug plugin - * (7b6cf14) Fix imdb tests - * (0f5e068) Merge pull request #259 from atabel/develop[[BR]] - Added urlrewrite for www.divxatope.com - * (8bb64fa) use flexget.utils.requests instead of urlopener - * (2a6d6d2) Added urlrewrite for www.divxatope.com - -=== 1.2.132 (2014.05.23) === - - * (9b43631) Don't validate path exists for transmission plugin. fix #2572 - * (2c3a4da) Merge remote-tracking branch 'origin/deluge_schema' into develop - * (87d8a19) Update deluge plugin to new config schema - * (8932a04) Fix crash with est_released_series. fix #2522 - -=== 1.2.131 (2014.05.21) === - - * (7cd9072) Fix issue with subliminal errors without messages - -=== 1.2.130 (2014.05.21) === - - * (d7398e4) Merge pull request #255 from tarzasai/content_bigfile[[BR]] - Filter torrents without a main file - * (a93c496) Filter torrents without a main file[[BR]] - An option in content_filter to reject multifile torrents without a file[[BR]] - at least 90% of total size. - * (a0b13a8) Merge pull request #262 from tarzasai/trakt_collected_lookup[[BR]] - A metainfo plugin for owned episodes - * (464d1d2) A metainfo plugin for owned episodes[[BR]] - Sets the trakt_in_collection flag for episodes found in the user library[[BR]] - (i.e. previously sent with trakt_add). - * (7a6584a) Don't break exec plugin on python 2.6 - * (56e416a) Make sure non-ascii output from commands does not crash exec plugin. fix #2599, #2366, #2203 - * (b0f9675) Switch torrentz search to use requests refs #2575 - * (49b41e5) Fix a crash in set_series_begin output plugin. - -=== 1.2.129 (2014.05.20) === - - * (1801d04) Fix log message when uTorrent path not authorized - * (689519e) Fix new_eps_after series helper. (fix episode behind notification in cli series list) - -=== 1.2.128 (2014.05.19) ^[wiki:UpgradeActions#a2014.5.191.2.128 upgrade actions]^ === - - * (3c0d13a) Handle corrupted lock files better fix #2566 - * (d889cc6) Make sure regexp_parse isn't sharing cache with text plugin - * (36698e3) regexp_parse now assumes local files are encoded in utf-8 refs #2584 - * (701b428) Revert "Revert "Merge pull request #171 from scottwallacesh/master""[[BR]] - This reverts commit 5c8d8170403b269e3bba525e31f3327714e55232.[[BR]] - Clean up imdb_list now that logging in is dead. - * (d04ce8e) Fix bug with numeric task names and --tasks. fix #2593 - * (99315e4) Monkey patch tvrage library to work around url change. fixes #2602, #2601, #2596, #2597 - -=== 1.2.127 (2014.05.02) === - - * (9e0f699) Added dnspython as plugin requirement[[BR]] - Without a dns module most systems will loop for minutes (or forever), trying to connect. - -=== 1.2.126 (2014.04.16) === - - * (22b78cf) Added virtualenv activation example in the documentation. - * (e088354) Merge pull request #257 from gandazgul/patch-2[[BR]] - Added a new option "delete_files: Boolean" to clean_transmission - * (2ca2641) Added a new option "delete_files: Boolean"[[BR]] - Added an option to clean_transmission "delete_files", by default is false. If set to yes it will remove the downloaded files as when removing torrents from transmission. Useful when files have already been copied and were just left behind to finish a seeding goal. - -=== 1.2.125 (2014.04.04) === - - * (98615b6) Fix deprecation warning - * (6d4e40e) Merge pull request #251 from tarzasai/tvdb_submit[[BR]] - Manage TVDB favorites - * (ea212d8) Manage TVDB favorites[[BR]] - 2 plugins to add and remove series from user's tvdb favorites. - * (7e63ce3) Merge pull request #253 from dj-nitehawk/develop[[BR]] - fix duplicate pushes with pushbullet - * (4fb8fb1) minor update to pushbullet plugin - * (a623054) properly fixed the multi device push duplication[[BR]] - by not specifying any device idens, the push will be sent to all devices[[BR]] - of the user. or the user can specify only the devices they want to[[BR]] - receive pushes on. - * (28512e9) fix for flexget sending duplicate pushes with pushbullet[[BR]] - issue described here:[[BR]] - http://discuss.flexget.com/t/pushbullet-plugin-sending-2-pushes-per-match/81 - -=== 1.2.124 (2014.04.02) === - - * (961b7aa) Fix deprecation warning - -=== 1.2.123 (2014.03.30) === - - * (4654abb) Merge branch 'whatcd_plugin' into develop - * (1eefbbc) Fixed schema formatting - * (a4a95aa) Enable specifying year as a non-string - -=== 1.2.122 (2014.03.29) === - - * (d4ff020) Merge pull request #242 from Flexget/whatcd_plugin[[BR]] - What.cd input plugin - * (b33d9a0) Reduce line-lengths to 120 or less - * (40d4820) Fix all PEP 8 errors except line length - * (5485c48) Improve invalid login detection - * (0ea1476) Made the User-Agent configurable - * (6baf196) Added some basic tests - * (f8e893a) Fix taglist - * (be49cf1) Added documentation - * (9781132) Change case of input parameters[[BR]] - This change can be stripped out if it would be better to leave them in[[BR]] - title case instead of lowercase (except acronyms and brnd names). - * (b936386) Fix case issue in params - * (4d1c9fa) Improve isinstance logic - * (c28fbc1) Fix boolean behaviour - * (0577779) Added support for the 'searchstr' parameter - * (bf6d1e5) Fixed boolean options not being correctly used - * (fadf15e) Fix paging logic - * (7b6ecd4) Add rate limiting - * (73f3906) Made dictionary comprehensions Python 2.6 compatible - * (2245aac) Fix schema - * (3250f9b) Add parsing of response - * (abace27) Change API parameters without a mapping to a list instead of a dict - * (73c0458) Changed config validation to use the schema property instead of the validator - * (046e4f0) Use PluginError instead of returning None - * (e913c80) First commit of a what.cd input plugin.[[BR]] - Nothing works except logging in and performing a search - -=== 1.2.121 (2014.03.27) === - - * (44f46ce) Merge pull request #245 from bepix/develop[[BR]] - Adding support for Jinja2 enabled specification of package names - * (94b5eb4) Added 'package' property with Jinja2 support.[[BR]] - The added property allows for setting indidivual package names.[[BR]] - Usage:[[BR]] - pyload:[[BR]] - api: xxx[[BR]] - username: xxx[[BR]] - password: xxx[[BR]] - parse_url: yes[[BR]] - queue: no[[BR]] - hoster:[[BR]] - - xxx[[BR]] - multiple_hoster: no[[BR]] - package: 'Series - {{series_name}} - {{series_id}}' - * (5c5fc35) Adding support for entry specific package names[[BR]] - This allows for a Jinja2 enabled specification of package names.[[BR]] - Usage:[[BR]] - pyload:[[BR]] - api: xxx[[BR]] - username: xxx[[BR]] - password: xxx[[BR]] - parse_url: yes[[BR]] - queue: no[[BR]] - hoster:[[BR]] - - xxx[[BR]] - multiple_hoster: no[[BR]] - set:[[BR]] - pyload_package: 'Series - {{series_name}} - {{series_id}}' - -=== 1.2.120 (2014.03.26) === - - * (5b546d3) Support for new sceneaccess section (nonscene releases) - -=== 1.2.119 (2014.03.22) === - - * (144e114) A bit faster - -=== 1.2.118 (2014.03.20) === - - * (df13c4c) Fix some false positives with series pack detection. fix #2521 - -=== 1.2.117 (2014.03.20) ^[wiki:UpgradeActions#a2014.3.201.2.117 upgrade actions]^ === - - * (8035038) Rename episode advancement to episode tracking. - rename --disable-advancement to --disable-tracking for CLI - remove `allow_backfill: yes` option in favor of 'tracking: backfill' - -=== 1.2.116 (2014.03.20) === - - * (538c605) Fix login issue for sceneaccess[[BR]] - Caused when user-agent header is absent - -=== 1.2.115 (2014.03.18) === - - * (f9bdc0b) Work on json api a bit - -=== 1.2.114 (2014.03.17) === - - * (2702066) Merge pull request #247 from thisirs/tvrage[[BR]] - Force tvrage lookups when no upcoming shows - * (6642706) Force tvrage lookups when no upcoming shows - -=== 1.2.113 (2014.03.16) === - - * (7c55066) Series parser will not override passed in quality. Fixes assume_quality plugin with series plugin - * (82e210d) Merge pull request #246 from thisirs/eztv[[BR]] - Use requests from task in eztv rewriter - * (2a49cdc) Use requests from task - * (73307b8) Merge pull request #238 from thisirs/short[[BR]] - Add url rewriter for shortened urls - * (6e02077) Add url rewriter for shortened urls - -=== 1.2.112 (2014.03.15) === - - * (e1667ec) Prevent ImportError from twitterfeed plugin - * (a04ba3f) Order ep shows properly in cli series util. fix #2512 - -=== 1.2.111 (2014.03.14) === - - * (9d95fc3) Merge pull request #241 from blastcodem/patch-2[[BR]] - Update urlrewrite_iptorrents.py - * (ebd6022) Update urlrewrite_iptorrents.py[[BR]] - nevermind[[BR]] - worked[[BR]] - No results from iptorrents: Page title unexpected: Could it be the login page?... - * (c88003d) Update urlrewrite_iptorrents.py[[BR]] - That did the trick for me. Is it how I should raise error? page title is different from logged in/not logged in - * (384e5f9) Merge pull request #243 from thisirs/eztv[[BR]] - Use find_all instead of just find to set attr urls - * (61db65e) Add url rewriter for eztv - * (839c19c) Merge pull request #235 from thisirs/develop[[BR]] - Add twitter feed plugin - * (274390a) Add twitterfeed plugin[[BR]] - Input plugin that tracks a twitter account for links - -=== 1.2.110 (2014.03.10) === - - * (0634fe4) Add sceneaccess and torrentshack search plugins. - -=== 1.2.109 (2014.03.09) === - - * (8c97bd9) Merge pull request #230 from JimShoe/master[[BR]] - Pushbullet send notifications to multiple devices - * (6015304) code formatting - * (9629f3b) Merge branch 'develop' of https://github.com/Flexget/Flexget into develop - * (70f21ec) pushbullet can now send notifications to multiple devices - -=== 1.2.108 (2014.03.08) === - - * (31d2b56) Tweaks to iptorrents search fix #2495 - search uses + instead of %20 for spaces - prevent crash - -=== 1.2.107 (2014.03.07) === - - * (48a6c99) Fix possible case of emit_series doing multiple seasons without backfill - * (4ab2db0) Show series begin with `series show` CLI command - -=== 1.2.106 (2014.03.07) === - - * (5d7de5e) Prevent crash of emit_series when used in discover plugin - * (4cbb8b3) Remove wheel universal flag, add license-file to setup.cfg - -=== 1.2.105 (2014.03.06) === - - * (0b36d3b) Merge pull request #239 from blastcodem/patch-1[[BR]] - Add Iptorrents search plugin and urlrewriter - * (55210f8) Update urlrewrite_iptorrents.py[[BR]] - Some line size, the rest is too tricky to change tell me what you think thanks![[BR]] - Style pep8 is done - * (ba33b32) Update urlrewrite_iptorrents.py[[BR]] - Style Check. Still need to clean long lines - * (2051906) Update urlrewrite_iptorrents.py[[BR]] - removed cookiejar stuff - * (e92a9ac) IpTorrent url_rewrite for discover plugin[[BR]] - Hi! Here is my first of any open source project ever :). I just needed a private torrent site other than torrentleech because lately they lost half of their database. So I just took the torrentleech plugin and adapt it to iptorrents. Work super good for me! Just need rss key, uid, and pass from cookies and rss page. Hope you like it, i'm not a super scripter but It work good for me. [[BR]] - Thanks! - * (609b04d) Merge pull request #233 from nlf/backfill[[BR]] - Add series backfill support:[[BR]] - - Add allow_backfill option for series plugin[[BR]] - - Add backfill option for emit_series plugin - * (9390e81) dont keep trying to backfill on reruns that are season advancements - * (95256b3) test season advancement - * (0870c92) make sure were on latest season before trying to advance to next season - * (11cb5ad) check for latest_season before try_next_season so we dont do too much searching in backfill mode - * (5b42597) more emit_series tests - * (eb8bb1d) more tests - * (61cc2e8) clean up discover tests a tad - * (419d94d) add more emit_series tests - * (8236600) move backfill tests to their own method - * (4f1cd64) more meaningful test for backfill: yes - * (870f68f) add basic backfill test - * (16defd8) add allow_backfill test - * (f8ffd88) allow_backfill allows backward advancement - * (64c8733) restore SeriesTask query - * (75a6ee3) Merge branch 'develop' into backfill - * (ae25df3) Merge branch 'develop' into backfill - * (436e7ce) first pass at backfilling - * (a4df46d) Merge pull request #236 from tarzasai/trakt_submit_types[[BR]] - Wrong type for entries with no series_name fix #2488 - * (591e271) Wrong type for entries with no series_name - * (2955fe4) Merge pull request #237 from thisirs/eztv[[BR]] - Add url rewriter for eztv - * (c7987bd) Add url rewriter for eztv - -=== 1.2.104 (2014.03.04) === - - * (1d8492a) Merge pull request #234 from tarzasai/protect_imdb_id[[BR]] - Protect imdb_id field from rottentomatoes_lookup - * (0414c6c) Protect imdb_id field from rottentomatoes_lookup[[BR]] - If the alternate_ids list in rottentomatoes_lookup's movie object does[[BR]] - not contains a valid imdb_id, the plugin assign it to None on target[[BR]] - entry, eventually clearing a real value. - -=== 1.2.103 (2014.03.01) === - - * (051ff36) revert 653f67d... Merge pull request #226 from Flexget/subtasks - * (fd38205) Add a (currently failing) test for emit_series with discover - * (653f67d) Merge pull request #226 from Flexget/subtasks[[BR]] - Subtasks! - * (64d6cc9) Make inputs plugin run using subtasks - * (2070cc1) make_subtask helper now accepts an options dict - * (10dbd07) Make if plugin pass through requests session - * (4aabe30) Add a discover test using new subtask functionality - * (d4780b0) Allow passing requests session into new Task Make a helper for creating subtasks - * (8bae8ee) Make crossmatch just run one task for inputs Config format change, crossmatch/from now take a dict - * (77e1025) Convert discover plugin to running a subtask Config format change, discover/what now take a dict - * (4a6d8ef) Make a way to pass an already made session into a Task - * (9671b9f) Convert if plugin to running subtask - * (a14bb3a) crossmatch and configure_series to use auto_accept task option - * (c6c1b5b) Make accept_all plugin control task auto_accept option - * (2a829a1) Add auto_accept option to task - * (e2f7e60) Improve only_new test - * (245f7e6) Convert crossmatch to run subtasks - * (e552a70) Add a test for crossmatch - * (5bee64a) Test item filtering in subtask Automatically accept_all if no filter plugins - * (e92744b) Quick conversion of configure_series to run a subtask - * (c8410b9) Add task option for disabling builtins - * (f2d9704) Get rid of Task._reset() - -=== 1.2.102 (2014.02.28) === - - * (6e90977) Merge pull request #229 from mingtang/develop[[BR]] - Pushbullet Plugin[[BR]] - Thank you for the contribution @mingtang =) - * (284798e) pushbullet plugin: tweaked positioning of output and declaration of loop-specific (title and body) vs pushbullet (api_key, device_iden, type) options - * (2b4bd77) pushbullet plugin: changed log.debug for 500 response status to log.warning - * (c645cda) pushbullet plugin: cleaned up error handling output - * (1950d64) pushbullet plugin: updated default title - * (0004dfc) pushbullet output plugin[[BR]] - Example:[[BR]] - pushbullet:[[BR]] - apikey: <API_KEY>[[BR]] - device: <DEVICE_IDEN>[[BR]] - [title: <MESSAGE_TITLE>] (default: "{{task}} - Download started" -- accepts Jinja2)[[BR]] - [body: <MESSAGE_BODY>] (default: "{{series_name}} {{series_id}}" -- accepts Jinja2) - -=== 1.2.101 (2014.02.26) === - - * (2e0a48d) Merge pull request #227 from tubedogg/apple_trailers_2[[BR]] - Fix bug in apple_trailers - * (28540f7) Fix bug in apple_trailers[[BR]] - Download actual file… - -=== 1.2.100 (2014.02.25) === - - * (40ae77d) Fixed regexp for TPB URL rewriter - * (70207ac) Make sure clean_transmission respects --test mode - * (a153fae) Merge pull request #223 from tarzasai/trakt_list_ratings[[BR]] - Personal info on trakt list items. - * (9337037) Prefix - * (64bf8e8) Personal info on trakt list items.[[BR]] - Some info always present in custom list items, might come in handy to[[BR]] - filter stuff - -=== 1.2.99 (2014.02.24) === - - * (1c4466f) Make tvdb_id from trakt_list an int - * (dbcd978) Fix some issues with trakt_emit: - 'next' mode now works when next season is not yet in trakt - make tvdb_id an int - comments and cleanup - * (2683421) Make sure --inject and -v work together. - * (afdffa0) Fix schema - * (0cbbb37) Delicious unit tests[[BR]] - Also axes a defunct import. - * (53d075b) Allow old-style apple_trailers: 720p config[[BR]] - Updates docs and also removes some unneeded imports. - * (b1149e0) Fix trakt_emit schema defaults failing Copy trakt list slug making ability from trakt_list - * (8645306) Separate making trakt list slug to own function - * (954a5a4) Merge pull request #222 from tubedogg/apple_trailers_2[[BR]] - Apple Trailers 2.0 - * (1f64d5e) Reenable apple_trailers unit test - * (84b8af5) Apple Trailers 2.0[[BR]] - Fixes the following bugs:[[BR]] - “The workingness” is now True.[[BR]] - Add genre filtering option.[[BR]] - Add movie_year, movie_studio and genres to entry. - -=== 1.2.98 (2014.02.21) === - - * (fe943b1) Merge pull request #221 from philbot9/develop[[BR]] - Updated deprecated functions in transmission plugin - * (9fadedd) Updated deprecated functions.[[BR]] - Updated "Client.info()" to Client.get_torrents()[[BR]] - and "Client.remove()" to Client.remove_torrent() - -=== 1.2.97 (2014.02.21) === - - * (d319759) Fix some bare excepts - * (7a42dbe) Fix example in trakt_emit - * (11fc457) Rename trakt_watched_lookup file - * (07db76b) Merge pull request #218 from tarzasai/trakt_latest[[BR]] - Emit episodes from trakt.tv - * (43c909d) Names - * (f2d4cb8) Little fixes for empty lists - * (c802df0) Class name - * (122da7e) Renamed in trakt_emit[[BR]] - When a custom list is provided, S01E01 will be the default "next[[BR]] - episode" for series never marked seen or collected by the user on[[BR]] - trakt.tv - * (603a281) Emit episodes from trakt.tv[[BR]] - The latest/next watched/collected. - * (bff92a9) Merge pull request #219 from tarzasai/trakt_watched[[BR]] - Set entries as watched by trakt seen status - * (e11080b) Name - * (ce13020) Set entries as watched by trakt seen status - * (82e34c1) Make utorrent plugin respect --test mode - -=== 1.2.96 (2014.02.20) === - - * (e5baf99) Merge pull request #220 from vergessen/develop[[BR]] - Changed nzbget plugin - * (3fbdfcb) added .nzb to the title passed to nzbget. Without this the downloads do not start as expected. Tested on nzbget current and develop - -=== 1.2.95 (2014.02.19) === - - * (2ba85fd) Merge pull request #217 from tarzasai/set_series_begin[[BR]] - Add set_series_begin plugin to set the first episodes to accept - * (3de4e07) A plugin to set the first episodes to download - * (07ba834) Fix up fallback filename decoding in bittorrent util. fix #2462 - * (20041b0) Make sure find plugin won't crash on non-ascii extensions either. fix #2461 - * (a0e5e22) Find plugin does not crash with non-decodable filenames. Better error messages when this happens. refs #2462 - -=== 1.2.94 (2014.02.17) === - - * (534bfb4) Make sure a couple of seriesparser tests also work in auto mode - * (c797f2e) Cleanups to series parser and tests. Log when season packs are ignored. - -=== 1.2.93 (2014.02.17) === - - * (5326d81) Expand matching for unwanted_ep_regexps[[BR]] - Allows unwanted_ep_regexps to match 'Series 04 complete' and[[BR]] - 's04 complete' as well as 'season 04 complete'. - * (73aeb6d) Catch timeouts looking up from tmdb. fix #2284 - * (573aa0a) More deprecation warnings fixed - -=== 1.2.92 (2014.02.16) === - - * (c3f1338) Merge branch 'master' into develop - -=== 1.2.91 (2014.02.16) ^[wiki:UpgradeActions#a2014.2.151.2.91 upgrade actions]^ === - - * (c609bf2) Merge commit '9764230787afc49bd4d3a6a8a4dd4c1e5dc51eef' - -=== 1.2.90 (2014.02.15) === - - * (5bc3a37) Merge commit '1d0355dd09db8ea8def3fa624c9ec2cda993374c' - -=== 1.2.89 (2014.02.14) === - - * (41fe067) Fix two deprecation warnings about e.message - -=== 1.2.88 (2014.02.13) === - - * (81203c3) Fix deprecation warning by changing e.message -> e.args[0] - * (1277840) Fix setting series begin for large seasons. fix #2197 - * (9764230) Remove some possible separators for series date identifiers. - * (acc7222) Add support for series with 4 digit seasons (year). fix #2197 - * (5c8cd3e) Add support for YYYYxMM.DD series date identifiers. fix #2210 - * (3da3859) Convert pogcal to new schema - * (b6b8db9) Merge pull request #216 from night199uk/transmissiondep[[BR]] - [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11) - * (b432552) [transmission] fix #2456: recent changes require a more modern transmissionrpc (0.11) - * (1d0355d) Merge pull request #215 from tarzasai/tvdb_overview[[BR]] - TVDB series overview - * (21bd417) TVDB series overview - * (8a229f2) Fix two deprecation warnings about e.message - * (003e510) Don't crash with invalid lock file. fix #2407 - * (202b7c4) typo - * (ffa7a3d) Add urlrewriter for frenchtorrentdb from foulou and tuxik fix #1561 - -=== 1.2.87 (2014.02.12) === - - * (7d740d2) Make some debug tracebacks a bit more clear they were handled. - * (3f2c8d9) Make sure PluginError.value is always a string. refs #2454 - * (38e7595) Move history plugin to learn phase. - * (d788ca9) Make sure no crash when current directory doesn't exist. fix #2452 - * (8210b00) Make sure some possible config paths are native strings. refs #2452 - -=== 1.2.86 (2014.02.11) === - - * (28d7649) Fix tvdb online test. - * (ac5432e) Workaround for tmdb3 bug. refs #2437 - -=== 1.2.85 (2014.02.10) === - - * (b83ad3d) Merge pull request #211 from tubedogg/develop[[BR]] - aria2 Plugin - Bug Fixes - * (18d6684) Bug fixes[[BR]] - Set default for aria_config/dir so we don’t have to check it’s[[BR]] - existence repeatedly[[BR]] - Set correct parent_folders when multiple directories exist in the[[BR]] - torrent structure[[BR]] - Get movie_year and year to be set correctly when parsing movie names[[BR]] - Fix unicode bug when rendering fields before passing to aria2 - * (9fa4454) Merge remote-tracking branch 'upstream/develop' into develop - * (7f3d969) s/aria/aria2/ - * (f2c21de) Make bittorrent utility return native strings instead of byte strings. fix #2428 - * (72853b8) Fix a unit test. - * (0021322) Make sure email plugin does not email on silent aborts. - * (8500514) Make task abort properties public, for plugins to view. - * (a01072b) imdb_lookup no longer tries to capitalize non-string errors. fix #2450 - -=== 1.2.84 (2014.02.10) === - - * (f878117) Removed joinedload from imdb, improves performance. Refs #2364. - * (dfdd4b4) Tweak imdb joinedload query a bit. - -=== 1.2.83 (2014.02.08) === - - * (f027cb0) Merge pull request #210 from DColl/patch-1[[BR]] - Update plugin_transmission.py (base64encode & cli.add_torrent & cli.change_torrent) fix #2415 - * (fab5866) Update plugin_transmission.py[[BR]] - corrected ommission, thanks Chase - * (1ed174a) Update plugin_transmission.py[[BR]] - Verified the access to the id with the return from the new add_torrent() function.[[BR]] - Valid - * (7cf4e3a) Update plugin_transmission.py[[BR]] - As of transmissionrpc-0.11-py2.7.egg/client.py[[BR]] - add() & add_uri() are deprecated.[[BR]] - Althought, I was getting transmissionError (Query failed with result:...) when trying to launch a new torrent. So I went in the rpc/client code and used the same syntax they use to base64 the data and everything'sback to normal working order ^^[[BR]] - Althought I suspect that line 339 (for id in r.keys(): ) won't work with the return from cli.add_torrent(), I'm not equipped to deal with that (don't know when it occurs) - * (ea538c3) Add description to default make_rss template - -=== 1.2.82 (2014.02.07) === - - * (518659a) Merge pull request #206 from tubedogg/aria_bugfix_1-2-81[[BR]] - aria2 Plugin - Better sample config; bug fixes - * (1224a71) Pythonic - * (b923891) Better sample config; bug fixes[[BR]] - Provide better sample configuration for cli[[BR]] - Catch additional render errors[[BR]] - Bug fix - use correct method of allowing aria2 to set gid - * (3a27003) Try to make download plugin failure reasons more descriptive. - * (e082ce5) Merge pull request #207 from tubedogg/prowl_bug_1-2-81[[BR]] - prowl Plugin - Change API URL - * (e386cac) Change API URL - -=== 1.2.81 (2014.02.06) === - - * (b188668) Make pylint be quiet - * (1304a5a) Add no_entries_ok plugin to silence nuisance warning messages - -=== 1.2.80 (2014.02.06) ^[wiki:UpgradeActions#a2014.2.61.2.80 upgrade actions]^ === - - * (5befcd7) Merge pull request #203 from tarzasai/trakt_submit[[BR]] - New trakt.tv add/remove plugins - * (2565a37) Small fixes - * (2b82d20) New trakt.tv acquire/remove plugins[[BR]] - Movies, series and episodes are automatically recognized and[[BR]] - added/removed to/from the trakt watchlists, collections, seen and custom[[BR]] - lists. - -=== 1.2.79 (2014.02.06) === - - * (e2e1626) Make sure find plugin doesn't crash with invalid timestamps. fix #2434 - * (35a54ff) Work around encoding bug in tmdb3. refs #2392 - * (4daebd3) Silence an ImportWarning from deluge plugin - * (8df3361) Add back --profile - * (0f4ab3d) Fix --explain-sql - -=== 1.2.78 (2014.02.05) === - - * (af72102) Make path encoding/decoding helpers a bit closer to python 3 ones - * (ad938d3) Find plugin handles filesystem encoding better. refs #2295, #2065, #989, #1347 - * (6da03be) Cleanups - * (b296f22) Make sure imdb_id field is being used over imdb_url - * (fa3a5dc) Fix a bug in subtitles plugin - * (0fe2150) Remove broken imdb_rated plugin - -=== 1.2.77 (2014.02.04) === - - * (3ef8558) Let dump try converting field values to strings[[BR]] - Values in some fields can be objects, which may be able to produce[[BR]] - their own string representations. Give it a shot before outputting[[BR]] - 'not printable'. Mostly for series_parser. - -=== 1.2.76 (2014.02.04) ^[wiki:UpgradeActions#a2014.2.31.2.76 upgrade actions]^ === - - * (507a8b2) Fix archive plugin schema - * (864d051) Make sure __unicode__ method of PluginError always returns unicode - * (57e5f95) Update some more plugins to new schemas - * (3b33a68) Fix series assume_special test - * (4ec3718) apple_trailers plugin now raises a PluginError Disable apple_trailers test - * (fbe090d) Rename scenereleases plugin to sceper and update a bit. Fix the unit test for it. - * (683863b) Add python 2.7 check to subliminal plugin. fix #2420 - * (9b76cc2) Expand default special identifiers - -=== 1.2.75 (2014.02.02) === - - * (7a2a6ce) Make --test mode work properly with a running daemon. fix #2376 - * (b3c774e) Merge pull request #199 from tubedogg/develop[[BR]] - aria2 - PEP8 & cli documentation - * (ab28a49) Bug fixes - * (43892f6) cli documentation - * (dbc4a15) PEP8 compliance - * (32a0541) Make sure api_tvdb is supplying unicode text values, fixes some SQLAlchemy warnings - * (f04cf87) Better debug info for @internet decorator - * (3f83001) Raise all warnings in unit tests - * (9f9d7dc) Add --debug-warnings cli flag to raise warnings to errors Catch raised warnings and print traceback without exiting - * (9fa864a) Merge pull request #196 from tubedogg/develop[[BR]] - Handle error cases better in aria2 plugin - * (a6f98f4) Need to import the error class first. - * (d38dc35) Catch render errors. - * (b3993c6) Catch socket errors - * (612fbe4) configure_series now sets series options based on the series plugin schema - * (5c80625) Tests for assume_special - * (7f0ead8) Add assume_special support to series[[BR]] - Series now accepts option 'assume_special'. If true, will cause any[[BR]] - entries with no IDs found to be flagged and processed as specials.[[BR]] - Also adds support to configure_series and fixes a typo in[[BR]] - configure_series. - * (4e22c8d) assume_special support for SeriesParser[[BR]] - Flag which, if true, causes any entries with no IDs found to be[[BR]] - flagged as specials. - * (935ddac) Reinforce this is only remember_rejected[[BR]] - Remind users that only rejections known by remember_rejected are[[BR]] - listed or cleared. - * (e976c88) Rejected command[[BR]] - Rejected command, functions the same as failed. Allows rejected[[BR]] - entries to be listed or cleared. - * (f7b6c0e) Make some help text a little more dynamic - * (c575563) List available levels in --loglevel output[[BR]] - Fixes http://flexget.com/ticket/2421 - * (91f5891) prefer_specials support for configure_series[[BR]] - Also allows plugin to accept list of special_ids - * (730b4b9) Add prefer_series support to series[[BR]] - Series now accepts an option 'prefer_specials'. If true, entries in[[BR]] - that series which parse as both a normal id type (ep, etc) and a[[BR]] - special will be flagged as specials. If false, they will be flagged as[[BR]] - the normal id type. - * (234b06b) Support for prefer_specials in SeriesParser[[BR]] - If prefer_specials is True, an entry matching both a normal id type[[BR]] - and special will be flagged as a special. If false, entry will be[[BR]] - flagged as the normal id type.[[BR]] - E.g.: title: the show s03e04 special[[BR]] - prefer_specials = True -> series_id_type: special[[BR]] - prefer_specials = False -> series_id_type: ep - * (421a52e) Tests for prefer_specials[[BR]] - Will ensure prefer_specials is being obeyed correctly. - -=== 1.2.74 (2014.01.31) === - - * (b5eda12) Fix archive plugin handling of task aborts - * (5e12001) Fix spy_headers plugin - * (782e595) Merge pull request #192 from tarzasai/find_filedate[[BR]] - Find include file timestamp - * (4a12aa6) Find include file timestamp - * (78505f8) Merge pull request #194 from tubedogg/aria2[[BR]] - aria2 plugin - * (c6e0d39) aria2 plugin[[BR]] - Plugin for aria2, the "ultra fast download utility".[[BR]] - Requires [aria2c](http://aria2.sourceforge.net) be installed and[[BR]] - running in [daemon[[BR]] - mode](http://aria2.sourceforge.net/manual/en/html/aria2c.html#cmdoption-[[BR]] - D) with[[BR]] - [XML-RPC](http://aria2.sourceforge.net/manual/en/html/aria2c.html#rpc-in[[BR]] - terface) enabled, which are both set in the aria2 config file.[[BR]] - Plugin documentation can be found[[BR]] - [here](https://github.com/tubedogg/.flexget/blob/master/plugins/README.m[[BR]] - d).[[BR]] - (Note I added as a plugin in the main plugins directory since it is[[BR]] - [eventually] intended to be both an input plugin and an output plugin.) - * (bca5255) Merge pull request #195 from tubedogg/develop[[BR]] - Expose full torrent directory structure in content_files - * (43b4b22) Expose full torrent directory structure in content_files - * (771b0e6) Work on the windows service installer a bit more - * (d85f30a) Merge pull request #193 from tarzasai/metainfo_subtitles[[BR]] - Local subtitles check - * (c17d6c0) Local subtitles check[[BR]] - A metainfo plugin to check local files for subtitles. - -=== 1.2.73 (2014.01.30) === - - * (c651d51) Make sure emit_movie_queue test doesn't go online - * (53104ef) Add 'special_ids' support to configure_series[[BR]] - Will now be set for generated series from entry['configure_series_special_ids'] - * (72b5f01) Add ability to specify 'special_ids' to series[[BR]] - Allow list of identifiers which will cause entry to be id'd as a special[[BR]] - to be extended. - * (6d2aa87) Add 'special_ids' to seriesparser[[BR]] - Allow list of identifiers which will cause entry to be id'd as a special[[BR]] - to be extended. - * (8559326) Update usage[[BR]] - Also remove unneeded debug messages. - * (1d9eac1) Ability to specify entry states to dump[[BR]] - Dump now supports multiple arguments, adding 'accepted', 'rejected'[[BR]] - and/or 'undecided' will cause dump to only output entries with matching[[BR]] - state. - * (3806171) Don't notify on travis successes. - * (a7ae953) Remove pypy test again - * (7c4e36b) Try some new travis settings - * (93f7657) Merge pull request #190 from crawln45/dev[[BR]] - Fixed tests for trakt and thetvdb. - * (18ed4c3) Fixed tests for trakt and thetvdb. Replaced lookup runtime with status. - -=== 1.2.72 (2014.01.29) === - - * (d92c8c3) Merge pull request #186 from tarzasai/subliminal_fail2retry[[BR]] - subliminal plugin now fails entries like periscope does - * (878545e) To fails entries like periscope do - * (879b8d8) Merge pull request #185 from tarzasai/transmission_better_check[[BR]] - Completed check fixed github:179 - * (972619f) Completed check fixed[[BR]] - Now we define a torrent "downloaded" if its total size is greater than 0[[BR]] - and all selected files are > 0 (and downloaded). - * (ae966c2) Allow configure_series to set anything series can[[BR]] - Also ensures values given match the restrictions in schema. - -=== 1.2.71 (2014.01.28) === - - * (9b168f5) Merge pull request #182 from crawln45/develop[[BR]] - fixing test_trakt - * (d925c45) fixed typo in test_trakt.py - * (824065f) fixing test_trakt - * (b413e65) Fix some issues with trakt plugin - * (fc14790) Fix a tvdb test - * (87c2535) Left wrong rottentomatoes key in - -=== 1.2.70 (2014.01.28) ^[wiki:UpgradeActions#a2014.1.281.2.70 upgrade actions]^ === - - * (36cff4c) Make a manager.initialize event - * (57318b7) Fix client daemon ipc version negotiation - * (71cbeb5) Bump ipc version - * (31602c9) Add a 'daemon reload' command to reload the daemon config from disk - * (e4099fc) Make manager events a bit more consistent Change config loading to not call sys.exit() Moved config pre-check code to the check plugin. - * (0feedaa) Prefix field name with plugin[[BR]] - Series alternate names are now loaded from[[BR]] - entry['configure_series_alternate_name'] - * (5b37b48) Configure_series with alternate_name[[BR]] - Series output by configure_series will now have alternate_name set to[[BR]] - the contents of entry['alternate_name'].[[BR]] - This commit merges tests used in development into test_series. - * (66017cd) Ability to import single alternate name - * (bdadf9b) Test for series configure loading alternate name - * (c93292f) Fix some references to import_series - * (c3eac19) Don't break python 2.6 compatibility - * (3804ca7) Rename deluge `user` and `pass` options to `username` and `password` Deprecate old options - * (545dd7e) Fix some deprecated usage of Exception.message - * (d6d5238) Stop suppressing deprecation warnings Make unit tests fail due to deprecation warnings Fix a few instances of deprecated get_plugins functions - * (1d1a9ea) Make our logging capture python warnings - -=== 1.2.69 (2014.01.25) === - - * (a054e34) Revert multiple keys for now, may be against the terms - * (8978e63) Add a third api key to api_rottentomatoes - * (2836e52) Add a second api key to api_rottentomatoes - * (02935c0) Update rottentomatoes_lookup schema - * (f86ecdc) Put a rate limit on requests to api.rottentomatoes.com Couple other tweaks to rottentomatoes - * (4be3d82) Allow fractional intervals - -=== 1.2.68 (2014.01.25) ^[wiki:UpgradeActions#a2014.1.251.2.68 upgrade actions]^ === - - * (356c544) fix headers test when run with other tests - * (748ca8c) Make sure @cached decorator obeys --no-cache flag. - * (3babb4c) username and password are required with imdb_list now. refs #2377, #2382 - * (4d0c077) Merge pull request #178 from crawln45/develop[[BR]] - Catch IOErrors in move plugin, fix #2403 - * (aa0eab0) Added full Error output for IOError - * (e86c819) Fixed up the error Handling a bit. Added the entry as failed. - * (d3cc072) Added check for single file move - * (6a9d51f) Make config selected log message actually work - -=== 1.2.67 (2014.01.25) === - - * (66f64d3) Merge pull request #177 from scottwallacesh/revert_pull_request_171[[BR]] - Revert imdb_list back to using CSV data instead RSS feeds. - * (5c8d817) Revert "Merge pull request #171 from scottwallacesh/master"[[BR]] - This reverts commit 41fad297d98ed03534a230ef9b0f2dc9948c5b1f, reversing[[BR]] - changes made to 3d488fec9c70a45f76737caea69a761182304159. - * (f0accaa) Merge pull request #176 from theaquamarine/coverage[[BR]] - Add a nose config file to check coverage in tests - * (5942b73) Add a nose config file to check coverage in tests[[BR]] - Also adds appropriate files to .gitignore. - -=== 1.2.66 (2014.01.24) ^[wiki:UpgradeActions#a2014.1.241.2.66 upgrade actions]^ === - - * (c128dec) Periscope plugin now fails entries when subs cannot be found. refs #2398 - * (1640a4b) Couple more tweaks for config loading - * (992dc9d) Make sure ~ is handled correctly with -c - * (2ae02d1) Few cleanups to config loading - * (52fa19f) Merge pull request #175 from crawln45/develop[[BR]] - Fix for ticket #2401, changed config options - * (6a666a8) Appeasing Gazpachoking - * (b6847aa) Fix for ticket #2401 - * (321fab0) Added virutal Env check, added current path to config lookup - -=== 1.2.65 (2014.01.24) === - - * (0d12ee5) Merge branch 'master' into develop - * (5c96cfd) Re-wrote large portions of plex plugin, should be faster now. - * (e7c2a27) Update the internal timeout caching a bit. refs #2380 - * (f6a95e8) Set site as unresponsive on requests.ConnectionError.[[BR]] - Log for this error: https://gist.github.com/Gargauth/b54298ca62119836ddec#file-flexget-log-L85 - -=== 1.2.64 (2014.01.23) === - - * (c48f001) Merge branch 'master' of https://github.com/Flexget/Flexget into publichd_fix - -=== 1.2.63 (2014.01.23) === - - * (8c65fb1) Fix email plugin abort sending - * (a5b9ce2) Merge branch 'learn_phase' - * (4b4c8f6) Fix some log text - * (e5f8462) Switch some more plugins to learn phase - * (4d4c3a3) Add seen plugin test for --learn - * (b434e8a) Make a 'learn' phase, and move some plugins to use it. - * (727dd36) Fixed a crash that would occur when publichd found a torrent which size would contain decimal mark with colon (eg. 1,000.00-1024,00MB) - -=== 1.2.62 (2014.01.23) === - - * (2f1f5fa) Added entry statuses: seen, inprogress, unwatched. - -=== 1.2.61 (2014.01.21) === - - * (505cb35) Tweak rerun and discover logging. - -=== 1.2.60 (2014.01.21) === - - * (0271663) Merge remote-tracking branch 'origin/master' - -=== 1.2.59 (2014.01.21) === - - * (f5d31b2) Fix --learn in 1.2 - -=== 1.2.58 (2014.01.20) === - - * (41fad29) Merge pull request #171 from scottwallacesh/master[[BR]] - Moved from CSV to RSS as a data transport for the 'imdb_list' plugin. - * (44de5cf) Used an already existing method to extract the IMDB ID from the provided URL. - * (f91ddc0) Moved from CSV to RSS as a data transport for the 'imdb_list' plugin. - -=== 1.2.57 (2014.01.20) === - - * (3d488fe) Merge pull request #113 from tarzasai/xmpp[[BR]] - Notifications via XMPP - * (1a24966) Switch to new plugin registration style - * (c4b084d) Correct import style for SleekXMPP - * (51d6ece) Notifications via XMPP - -=== 1.2.56 (2014.01.20) === - - * (157e157) Merge pull request #169 from tarzasai/torrentz_fallback[[BR]] - Alternate access to torrentz feeds - * (ffd8603) Alternate access to torrentz feeds[[BR]] - When the original torrentz domain .eu fails (usually for a 429: too many[[BR]] - requests) the urlrewriter falls back to the .me version. - -=== 1.2.55 (2014.01.20) === - - * (fe28af9) Move email plugin to output phase. refs #2390 - -=== 1.2.54 (2014.01.19) === - - * (e43d61f) Merge pull request #168 from Gargauth/kat_search_tweaks[[BR]] - Tweaked Kat searching - * (8e08608) Tweaked search to allow for more meaningful search results, especially for older titles. - -=== 1.2.53 (2014.01.19) === - - * (9ad6a72) Merge pull request #158 from Gargauth/publichd[[BR]] - Adding PublicHD search plugin. - * (e880a86) - Fixed downloads failing Download url is now publichd's direct download url instead of torrent cache service - Fixed categories settings (can now set properly single or multiple categories as intended) - * (d180aaf) Adding PublicHD search plugin. - -=== 1.2.52 (2014.01.19) === - - * (a82c0bc) Catch error from tmdb3 library. fix #2368, #2377, #2298, #2287 - -=== 1.2.51 (2014.01.19) === - - * (e643451) Merge pull request #166 from Gargauth/tvrage_fix_searchfail[[BR]] - Fix for errors caused when searching tvrage for release estimations - * (040153f) Fix for errors caused when searching tvrage for episodes release estimations. - -=== 1.2.50 (2014.01.19) === - - * (71ed1d2) Merge pull request #165 from tarzasai/clean_transmission-config-error[[BR]] - Forgotten prepare_config - * (6090e69) Forgotten prepare_config - -=== 1.2.49 (2014.01.18) === - - * (d86d63b) Merge pull request #164 from marcoacarvalho/patch-1[[BR]] - Cleanup entries - * (241a480) Cleanup entries[[BR]] - Parsing row returned in order to remove additional text and line feeds around show name returned by BeautyfulSoup - -=== 1.2.48 (2014.01.18) === - - * (85f37cf) Fix the webui (well, at least let it start again) - -=== 1.2.47 (2014.01.18) === - - * (4d45fc5) Merge pull request #163 from Gargauth/fix_ticket_2387[[BR]] - Fix for config errors not being reported - * (9ce0bc7) Fix for config errors not being reported (instead flexget crashes with traceback)[[BR]] - http://flexget.com/ticket/2387 - -=== 1.2.46 (2014.01.18) === - - * (6587d00) Some cleanups for api_trakt - * (b3d71a5) Added support for movies (2356) Added support for downloading art. - -=== 1.2.45 (2014.01.17) === - - * (64a3d65) Merge pull request #161 from Gargauth/SearchKAT_Fix[[BR]] - Fix for certain TV shows not being discovered with KAT search plugin. - * (c1f2d64) Fix for certain TV shows not being discovered. - -=== 1.2.44 (2014.01.16) === - - * (0e2053d) Merge pull request #160 from asm0dey/master[[BR]] - Update template.py - * (123fe00) Update template.py[[BR]] - Added some useful custom filters - -=== 1.2.43 (2014.01.16) === - - * (f9abe68) Merge pull request #159 from marcoacarvalho/patch-1[[BR]] - Change in www.pogdesign.co.uk/cat/showselect.php - * (249f2df) Change in www.pogdesign.co.uk/cat/showselect.php - -=== 1.2.42 (2014.01.16) === - - * (a146fa4) Merge pull request #152 from tarzasai/move_with[[BR]] - Move support collecting and moving additional files like subtitles. - * (9e0e77b) Refining/2[[BR]] - (forgotten loop) - * (60039b7) Refining - * (4653e4c) Move with namesakes[[BR]] - Video and subtitles can be moved and eventually renamed together. - -=== 1.2.41 (2014.01.16) === - - * (9f2d27b) Merge pull request #156 from asm0dey/master[[BR]] - Fixes into rutracker plugin - * (eba0377) fixes error with follow_redirects in rutracker plugin.[[BR]] - Adds retry to rutracker plugin. - -=== 1.2.40 (2014.01.15) === - - * (5026949) Merge pull request #151 from crawln45/trakt[[BR]] - adding trakt_lookup - * (2c1cf46) fixed default.template to properly display trakt_series_banner_url - * (ad79194) Added nosetests fixed pep8 errors for paranoidi - * (b14b4a2) adding trakt_lookup api_trakt and adding trakt_* to default rss - -=== 1.2.39 (2014.01.15) === - - * (37bfd11) Switch find plugin from old validator to new schema - -=== 1.2.38 (2014.01.15) === - - * (48d218c) Merge pull request #154 from theaquamarine/failrewriter[[BR]] - Check entries being urlrewritten are accepted - * (97ad3b9) Check entries being urlrewritten are accepted[[BR]] - URLrewriters can now fail/reject entries properly. Previously, there[[BR]] - was no continued checking entries were accepted so failing/rejecting[[BR]] - would have no effect and url_rewrite would run in an infinite loop. - -=== 1.2.37 (2014.01.15) === - - * (9fb9c7d) Merge pull request #153 from theaquamarine/rtlookuptest[[BR]] - Fix test_rottentomatoes - * (9af310b) Changed test title in test_rottentomatoes[[BR]] - Dropped 'in' from 'Star Wars: Episode I - The Phantom Menace (in 3D)'[[BR]] - as parser was not able to strip this, causing rotten tomatoes to be[[BR]] - unable to find the movie. Test therefore now passes.[[BR]] - Maybe a relevant thing for parser testing, but the aim here is test[[BR]] - rt functionality rather than MovieParser so removed. - * (c86c70f) Switch api_rottentomatoes to use requests[[BR]] - Removes flexget.utils.urlopener and flexget.utils.json dependencies.[[BR]] - Appears to fix rottentomatoes api returning ids as either ints or[[BR]] - strings- all tests which were failing because of this now pass. - -=== 1.2.36 (2014.01.14) === - - * (7287ee8) Fix some issues where task priority plugin wouldn't work properly. - -=== 1.2.35 (2014.01.13) === - - * (4f50899) Merge pull request #146 from tarzasai/cleaning_transmission[[BR]] - Remove completed torrents from Transmission - * (18c98ef) Correct evaluation - * (6eaf5c2) Config defaults - * (d5ff497) Remove completed torrents from Transmission - * (29463f9) Merge pull request #147 from asm0dey/master[[BR]] - Create plugin_rutracker.py - * (b048233) Fixed Session and formatting - * (e420169) Create plugin_rutracker.py[[BR]] - Plugin, which supports authentication and automatic downloading from rutracker.[[BR]] - Usage: ```[[BR]] - rutracker_auth:[[BR]] - username:[[BR]] - password: - -=== 1.2.34 (2014.01.13) ^[wiki:UpgradeActions#a2014.1.21.2.34 upgrade actions]^ === - - * (50293ce) Merge pull request #149 from tarzasai/subliminal_region_error[[BR]] - RegionAlreadyConfigured fix - * (401df43) RegionAlreadyConfigured fix - -=== 1.2.33 (2014.01.12) === - - * (809b1a4) Remove use of deprecated sqlalchemy reflection - * (2ccd544) No more UserDict - -=== 1.2.32 (2014.01.12) === - - * (8ac232f) Merge pull request #144 from tarzasai/subtitles[[BR]] - Subtitles plugins - * (7d059d5) Subtitles plugins - -=== 1.2.31 (2014.01.11) === - - * (892807a) Fixed merge errors. - * (7444225) Cleanup of plex.py. - * (560eb42) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.2.30 (2014.01.10) === - - * (e77a750) Ensure schedules are not being executed faster than they can be run. - * (65dfaee) Merge branch 'planeturban'[[BR]] - Conflicts:[[BR]] - flexget/plugins/input/plex.py - * (feacbe9) More entries. Added: plex_duration - duration of media in seconds, as requested in #2357 plex_episode_thumb - url for episode thumbnail. plex_series_art - url for series cover art. plex_season_cover - url for season thumbnail. plex_episode_title - episode title as indexed. plex_episode_summary - episode sumamry as indexed. plex_url - original url to media. - -=== 1.2.29 (2014.01.10) === - - * (38fdb03) Fix some bugs introduced in latest torrentleech change. fix #2369 - -=== 1.2.28 (2014.01.09) === - - * (7e60230) Merge pull request #138 from jawilson/tl_changes[[BR]] - Updated torrentleech plugin - * (5fc1ef1) Updated torrentleech plugin[[BR]] - Added TV categories[[BR]] - Allow searching of multiple categories - * (e1a1291) Merge pull request #140 from jawilson/rt_support[[BR]] - Add ability to config personal Rotten Tomatoes API key - * (1e3598c) Fix rottentomatoes boolean config checking - * (09b07df) Adding user api key ability into rotten tomatoes - * (032256d) Merge pull request #139 from jawilson/torrentz_changes[[BR]] - Torrentz improvements - * (5e33165) Typo in urlrewrite_torrentz.py - * (6ed2ea4) Allow user to specify extra search terms in torrentz (mostly for limiting feed) - -=== 1.2.27 (2014.01.08) === - - * (bb62b2f) Convert SimplePersistence to a MutableMapping - * (282d6ae) Add some more tests for simple_persistence - * (02748d9) Make sure simple_persistence never leaves a session it creates open - * (c69d1d2) Add download_auth entry field which can contain custom requests authentication handler for download plugin to use Switch rss plugin to use this field to pass auth info to download plugin - * (0bd0ddf) Interval plugin cleanups - -=== 1.2.26 (2014.01.08) === - - * (27a4621) Set isPermaLink = false in output rss - * (422d92c) Fix generate - -=== 1.2.25 (2014.01.08) === - - * (9692e0e) Add -L and -l short options for --loglevel and --logfile refs #2359 - -=== 1.2.24 (2014.01.07) === - - * (281f50c) Fix error about sqlite thread access. fix #2352 - -=== 1.2.23 (2014.01.07) === - - * (f3e8f19) Change back to if entry.get('blah')[[BR]] - Handles false-y non-None values in a more helpful manner. - -=== 1.2.22 (2014.01.07) === - - * (91f1ca9) Merge pull request #134 from theaquamarine/download[[BR]] - Download patches - * (08de18f) Requested tweaks - * (0bfabac) Implement TODO in download_entry() - filename from URL[[BR]] - If the end of download_entry() is reached and no filename is set,[[BR]] - get one from the URL. - * (6189135) Fix crash in download_entry()[[BR]] - download_entry() would crash when getting a file with no content-type[[BR]] - eg http://www.speedtest.qsc.de/1kB.qsc from the tests. Now defaults[[BR]] - to unknown/unknown - -=== 1.2.21 (2014.01.07) === - - * (993afd9) Fix "FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead." in api_tvdb - -=== 1.2.20 (2014.01.06) === - - * (98c8e5f) Merge pull request #133 from theaquamarine/test_aq[[BR]] - Unit tests for assume_quality - * (36d6280) Fix Python 2.6 compatibility[[BR]] - Use of assertRaises and therefore assert_raises as a context manager[[BR]] - was only enabled in Python 2.7 and never backported.[[BR]] - http://docs.python.org/2/library/unittest.html#unittest.TestCase.assertRaises - * (002125b) Unit tests for assume_quality - -=== 1.2.19 (2014.01.06) === - - * (5233a2c) Merge pull request #124 from tarzasai/transmission_filename[[BR]] - Transmission filename - * (3eb6553) correct path separator - * (6030026) some fixes - * (6dfb78e) location for transmission completed downloads[[BR]] - (untested) - -=== 1.2.18 (2014.01.06) === - - * (82bf581) Open up sqlalchemy requirements. fix gh#127 - * (509a5db) Small optimizations to magnet_btih - -=== 1.2.17 (2014.01.05) === - - * (feb9805) Add magnet_info_hash plugin. Thanks lolilolicon. fix gh#132 - -=== 1.2.16 (2014.01.04) === - - * (f0d6f04) Move some plugin methods to output phase from exit phase, to prevent problems with reruns - -=== 1.2.15 (2014.01.04) === - - * (83de8b5) Merge pull request #120 from theaquamarine/assumequality[[BR]] - AssumeQuality plugin - default quality for tasks - * (aa3bb37) Correct schema bug[[BR]] - Can't validate dict keys, so allow any. - * (61ae896) Update plugin to v1.2.0 compatibility - * (f787d21) Changed to using 'any' req instead of 'everything'[[BR]] - Switched to using the real quality component 'any', which allows the[[BR]] - removal of some special cases. Also tweaked precision(). - * (9dd7269) Documentation updated[[BR]] - Applies quality components to entries that match specified quality[[BR]] - requirements.[[BR]] - When a quality is applied, any components which are unknown in the[[BR]] - entry are filled from the applied quality. Quality requirements are[[BR]] - tested in order of increasing precision (ie "720p h264" is more[[BR]] - precise than "1080p" so gets tested first), and applied as matches are[[BR]] - found. A pseudo-requirement "everything" is also supported, which will[[BR]] - match all qualities. Using the simple configuration is the same as[[BR]] - specifying an "everything" rule. - * (acb68a3) Improve precision calculation - * (eb42640) Added advanced usage example - * (3b1aa47) All rules now tested and applied - * (6ac5b65) Refactor 'everything' test - * (423839b) Store rules in sorted list[[BR]] - Rules are now stored as namedtuples in a sorted list (sorted by[[BR]] - precision of the rule, see precision()). This allows rules to have[[BR]] - priorities, currently more specific rule = higher priority. - * (47091b9) Rule matching now performed - * (d1a1bdb) Case insensitivity on 'everything'[[BR]] - Not sure why I wrote the if that way round. - * (98ac626) Advanced rules now used for default case[[BR]] - No other rule matching yet - * (18cf008) Advanced Configuration start[[BR]] - Plugin now understands advanced configuration in the form of quality[[BR]] - requirements and qualities to assume if the entry matches them. These[[BR]] - rules are not yet used for assuming, only tested and stored.[[BR]] - Also refactored the act of assuming an entry's quality into a separate[[BR]] - method. - * (df3eb4a) added underscores to filename & plugin name - * (481b441) moved to plugins/metainfo - * (d78aff4) Operate on individual quality components[[BR]] - Now applies defaults by quality component, so that defaults can be used even if other components are filled by the release.[[BR]] - For example: "assumequality: 1080p webdl 10bit truehd" and a release flagged 720p h264 is output with "720p webdl h264 truehd"[[BR]] - Should also handle the addition of more quality components as mentioned in https://github.com/Flexget/Flexget/pull/104#issuecomment-29127271 - * (5d23b7a) AssumeQuality plugin - default quality for tasks[[BR]] - Many releases no longer explicitly flag 720p, breaking quality filters or requiring complex manipulate setups. This allows a default quality to be applied to entries when none is found.[[BR]] - http://flexget.com/ticket/1498 - -=== 1.2.14 (2014.01.04) === - - * (f3ca1da) Make sure series plugin output handler runs at correct priority. - -=== 1.2.13 (2014.01.04) === - - * (8025897) Add a 'daemon status' command - -=== 1.2.12 (2014.01.04) === - - * (a909a7c) Hide the service plugin, it's not ready yet. - -=== 1.2.11 (2014.01.04) === - - * (95f26db) Update plugin registration in doc example - * (9c68758) Fix issue with deleting test database when --testing between client and daemon - -=== 1.2.10 (2014.01.04) === - - * (6f9f24b) Fix sending other options to running daemon using inject command. fix #2344 again - -=== 1.2.9 (2014.01.04) === - - * (47a0ebd) Fix an issue when sending some options via ipc to a running daemon. fix #2344 - -=== 1.2.8 (2014.01.04) === - - * (7ec739e) Fix issues with series plugin recording downloads during reruns. fix #2345 - * (3dd68da) Add mock_output plugin for debugging. - -=== 1.2.7 (2014.01.04) === - - * (d666f54) Merge pull request #131 from harywilke/patch-1[[BR]] - Update tdd.rst - * (c9a119b) Update tdd.rst[[BR]] - updated the warning. Ironically, the warning was missing 'an' - -=== 1.2.6 (2014.01.03) === - - * (91a4514) Fix imdb_list login issue. fix #2313 - * (ed299b2) Remove bs3 stuff from change_warn - -=== 1.2.5 (2014.01.03) === - - * (ef3c76f) Fix some online unit tests - * (4a1152b) Futurize! - -=== 1.2.4 (2014.01.03) === - - * (8fdaae8) Make sure 'check' command handles non-ascii configs - * (4ab7700) Remove unused import - * (4bf3473) If statement errors now include the offending if statement. - -=== 1.2.3 (2014.01.03) === - - * (f85d00d) Fix download unit test url. - * (a78b0cb) Catch timeouts while downloading files. fix #1306, #645, #85 - -=== 1.2.2 (2014.01.02) === - - * (2f434e0) Lower message about commits without db lock to debug log - * (17fb99e) Fix movie-queue add - -=== 1.2.1 (2014.01.02) === - - * (4c447b9) Only print bug message if actual changes are tried on db commit - -=== 1.2.0 (2014.01.02) ^[wiki:UpgradeActions#a2014.1.21.2.0 upgrade actions]^ === - - * (8afcbae) Fix locking in unit tests - * (55c0ad7) Make sure we have a db lock when updating the schema table - * (5025f18) Upgrade periscope plugin - * (7d4211d) Merge branch 'master2' into cli_subcommands[[BR]] - Conflicts:[[BR]] - flexget/plugins/output/ftp_download.py[[BR]] - flexget/plugins/urlrewrite_newpct.py - -=== 1.1.174 (2013.12.22) === - - * (39bb36b) Merge pull request #126 from foux/master[[BR]] - ftp_download plugin bugfixes - * (37da454) Bug fixes in ftp_download : - Plugin schema was wrong - When reconning, the wrong FTP instance was used - * (dc8e28b) Merge branch 'master' into develop - -=== 1.1.173 (2013.12.21) === - - * (930f04b) Merge pull request #125 from skasi7/plugin_newpct2[[BR]] - Updated plugin newpct to flexget.utils.requests - * (210fbc7) Updated plugin newpct to flexget.utils.requests - -=== 1.1.172 (2013.12.19) === - - * (688d12a) Update tpb domain (again) - -=== 1.1.171 (2013.12.16) === - - * (1e302cf) Merge pull request #119 from tarzasai/subtitles[[BR]] - Download subtitles with Periscope - * (ab24cb1) Download subtitles with Periscope - * (ff21a99) Merge pull request #121 from theaquamarine/plugin_warning[[BR]] - Change PluginDetails to output warning event - * (e821e53) Change PluginDetails to output warning event[[BR]] - Changes PluginDetails to output a warning log event rather than[[BR]] - verbose when a task with no_entries_ok == false produces no entries.[[BR]] - Brings it more in line with similar errors (no input plugins, etc) and[[BR]] - makes problem more obvious in logs. - * (9c64e3f) Merge branch 'master' into develop - * (b71d58d) Merge branch 'hotfix/ftp_list_verbosity' into develop - * (a3f10ff) Merge branch 'hotfix/ftp_download_fixes' into develop - * (8eb3640) Fix error handling in api_tvdb. fix #2320 - * (145b92f) Upgrade trakt_remove plugin registration - * (79cb952) Merge branch 'master' into cli_subcommands - -=== 1.1.170 (2013.12.12) === - - * (d9fb337) Update tpb domain - * (888a9e9) Small cleanups to ftp_download plugin. upgrade plugin registration - * (938c4ea) Merge branch 'master' into cli_subcommands[[BR]] - Conflicts:[[BR]] - flexget/plugins/download/ftp_download.py[[BR]] - flexget/plugins/input/thetvdb_favorites.py[[BR]] - flexget/plugins/metainfo/imdb_lookup.py[[BR]] - flexget/plugins/plugin_change_warn.py - -=== 1.1.169 (2013.12.10) === - - * (e64a222) TPB rewriter: Make sure the current TLD is in the list of all TLDs - -=== 1.1.168 (2013.12.10) === - - * (c916f58) Merge pull request #117 from JimShoe/patch-1[[BR]] - updated CUR_TLD in urlrewrite_piratebay.py - * (d59f766) updated CUR_TLD in urlrewrite_piratebay.py[[BR]] - The Pirate Bay changed their TLD. - -=== 1.1.167 (2013.12.09) === - - * (4add74c) Merge pull request #116 from foux/master[[BR]] - Corrections on ftp_download plugin - * (9e5543c) Merge branch 'hotfix/ftp_list_verbosity' - * (68dc3b5) Changing verbosity of empty directory Adding log for accepted entries - * (5c6ae6a) Merge branch 'hotfix/ftp_download_fixes' - * (8977b6e) Adding schema validation - * (95f5731) Removing a test that might fail on OSX - * (5359b6a) Moving ftp_download to an output plugin - -=== 1.1.166 (2013.12.08) === - - * (03a51cc) Merge pull request #115 from foux/master[[BR]] - Corrections on ftp_download plugin - * (f7d18f6) Changing log levels - * (c270bd7) Deleting folders only if the config says so - * (f4628cf) Correction on folders deletion - * (0b27446) Functionnal version. Remains some fail test - * (c958bd3) Adding connexion status tests - * (c1444e9) Correcting recursion Allowing to resume - -=== 1.1.165 (2013.11.27) === - - * (3780566) Less verbosity for IMDB and TMDB lookups - * (cd5d5db) Change log levels in html input plugin - -=== 1.1.164 (2013.11.19) === - - * (9a3ccb8) Fix string formatting error - -=== 1.1.163 (2013.11.18) === - - * (256a4a9) Merge pull request #110 from Flexget/handle_no_firstaired[[BR]] - Handle cases where a series doesn't have a FirstAired date listed - * (14f442e) Handle cases where a series doesn't have a FirstAired date listed - -=== 1.1.162 (2013.11.18) === - - * (8b79e43) Fix possible crash when validating quality requirements. - -=== 1.1.161 (2013.11.18) === - - * (b67b962) Merge pull request #90 from niawag/patch-4[[BR]] - Create trakt_remove.py - * (636b6c0) Update trakt_remove.py - * (c413b0f) Update trakt_remove.py[[BR]] - Added watchlist movie support - * (9a54ca8) Update trakt_remove.py - * (e30c811) Create trakt_remove.py[[BR]] - I created trakt_remove.py as discussed here : https://github.com/Flexget/Flexget/pull/88[[BR]] - I've debugged and tested it and it's working fine for movies, I didn't developped it for TV Shows yet as it doesn't seems really necessary.[[BR]] - With this plugin you can ask trakt.tv to remove collected movies from a list (Watchlist or custom).[[BR]] - The code is practically entirely based on trakt_acquired, I just changed the post_url and change the JSON item to respect trakt.tv API : http://trakt.tv/api-docs/lists-items-delete[[BR]] - I hope you'll find this usefull! - -=== 1.1.160 (2013.11.17) === - - * (9109f21) Handle cases where a series doesn't have a FirstAired date listed. Fixes #2285 - -=== 1.1.159 (2013.11.13) === - - * (579c8f3) Merge pull request #98 from Flexget/deprecate_bs3[[BR]] - Deprecate BeautifulSoup 3 - * (cf80997) Remove BS3 from dependencies - * (4c5b8fb) Remove BeautifulStoneSoup from TVDB Favorites - * (47e3dd3) Remove BeautifulStoneSoup from TVDB API - * (6b2b2cc) Change imdb parsing utils to BS4 - * (ea684e5) Make sure archive inject does not run scheduled tasks - * (238b8b8) Remove the lock_required option, commands must call manager.acquire_lock on their own now if needed. - * (fc10968) PEP8 cleanups - * (c6d19d5) Added deprecation docstrings to task entry properties. - * (eb6212c) Fix archive injection - * (9bdb7ef) Fix injection - * (422c467) Improved docstrings. - * (097d9c5) Work on windows service installer a bit more - * (855d59b) Remove --del-db argument - * (51c3ff4) Add some sanity testing to make sure we have a database lock when commiting - * (6cf061e) Ensure we are closing sessions properly in a bunch of places - * (6488bbd) Make sure series database updating happens even when config changes in daemon mode Make sure we don't leave the session open during series repair - * (f499257) Add wheel info to setup.cfg - * (6eb6f6b) Add a currently broken plugin to manager a windows service to run the daemon - * (f625b9d) Fix run_task plugin - * (85ca3a0) Make sure schedules are not run with execute command - * (48caf28) Actually fire the manager.lock-acquired event - * (e33ae6f) Start switching around manager events - * (adc4d4b) Convert urlrewrite_search to new schema - * (4366499) Convert queue_movies to new schema - * (eb23982) Fixed an issue with logging crashing. - * (3d06410) Merge branch 'master' into cli_subcommands - -=== 1.1.158 (2013.11.07) === - - * (58facf3) Add discovered_from and discovered_with fields to entries created by discover plugin - -=== 1.1.157 (2013.11.07) === - - * (c32e03d) Don't count 'already in queue' as a failure with queue_movies plugin. - * (f9d40b4) Don't count 'already in queue' as a failure with queue_movies plugin. - * (e3352a1) Make sure to close the session. - * (6c0cdb9) Only run the manager.upgrade event if needed. Make sure there is a database lock before running the upgrade event. - * (e7cd449) Make rpyc use our ipc logger - * (702808e) Add handler for SIGTERM in daemon mode - * (1cadd35) Add a version system to the ipc protocol - * (a16cd46) Oops, missed a spot - * (b85be0a) Finish implementing ipc auth - * (e025dab) Break IPC while I work on authentication. - * (dc282d2) Remove some broken code - * (2b69fd8) Deprecate api v1 - * (ff8a394) est_released cleanups - * (93b15ee) Merge branch 'master' into cli_subcommands[[BR]] - Conflicts:[[BR]] - flexget/config_schema.py - -=== 1.1.156 (2013.11.04) === - - * (ccb95a0) jsonschema 2.3.0 support fix #105[[BR]] - See https://pypi.python.org/pypi/jsonschema/2.3.0, and how it is fixed for built in jsonschema formats https://github.com/Julian/jsonschema/commit/c763ab974c36891e2b8bcb6a6c1ebb1dd84009b6 - -=== 1.1.155 (2013.11.02) === - - * (f88486f) Improved bootstrap error message. - -=== 1.1.154 (2013.11.02) === - - * (a347363) Fixes #2262. Crashed with input html plugin. - * (5f6d6b4) Make sure manual tasks are not run on a default schedule - * (3c38e51) Misc cleanups and TODO's - * (33e6e88) Improved bootstrap error message. - * (e8fa2d3) Fixes #2262. Crashed with input html plugin. - * (dc810ce) Make if plugin better. fix #1440 - * (2eaa078) Convert all plugins to api v2 Convert a couple more plugins to use schemas - * (c41cf14) Remove old string replacement - * (d80fc82) Update betaseries_list to new api - * (f10f77d) Merge branch 'master' into cli_subcommands - -=== 1.1.153 (2013.11.01) === - - * (74717a1) Merge pull request #101 from thomasleveil/plugin_betaseries_list[[BR]] - [betaseries_list] add a plugin for querying the series from www.betaseri... - * (5ce6069) [betaseries_list] fix tests (better) - * (df6fb49) Merge remote-tracking branch 'flexget/master' into plugin_betaseries_list - * (cc4fcd4) [betaseries_list] fix tests[[BR]] - importing the flexget.plugins.filter.series in this module was making lots of other tests to fail - * (880c3fc) [betaseries_list] fix examples - * (afdd3d4) [betaseries_list] Sphinx compliant docstrings - * (2e5771b) [betaseries_list] anticipate Python 3 compatibility - * (fd9a961) [betaseries_list] remove the ability to define 'members' as null in the config - * (36a8a22) [betaseries_list] add a plugin for querying the series from www.betaseries.com[[BR]] - Api key can be requested at http://www.betaseries.com/api.[[BR]] - The plugin is meant to work with the import_series plugin as follow:[[BR]] - import_series:[[BR]] - from:[[BR]] - betaseries_list:[[BR]] - username: xxxxx[[BR]] - password: xxxxx[[BR]] - api_key: xxxxx - * (63ff831) Make ipc server choose any open port by default - * (c471abc) Merge branch 'req-fixes' into cli_subcommands[[BR]] - Conflicts:[[BR]] - pavement.py - -=== 1.1.152 (2013.11.01) === - - * (3394105) Merge pull request #102 from thomasleveil/patch-1[[BR]] - blacklist python-dateutil v2.2 - * (7687a7a) blacklist python-dateutil v2.2 in pavement.py (again) - * (9d94d6d) sync rtd-requirements.txt with pavements.py - * (49117f7) blacklist python-dateutil v2.2 in pavement.py - * (d162973) blacklist python-dateutil v2.2[[BR]] - which suffers from a bug as described at https://gist.github.com/thomasleveil/7274698[[BR]] - Running the Flexget test suite with dateutil 2.2 produces 2 errors and 2 failures ; with 2.1, all pass[[BR]] - bug reported upstream by contacting the author by email - -=== 1.1.151 (2013.11.01) === - - * (cf67653) Merge pull request #100 from Flexget/tpb_tests[[BR]] - Add tests to urlrewrite_piratebay.py - * (cbcada1) Add more pirate bay tests - * (7d317f0) Fix URL in the pirate bay URL rewriter - -=== 1.1.150 (2013.10.29) === - - * (fe1e744) Restore better error handling to bootstrap.py for missing setuptools/pip Add message about how to fix missing setuptools/pip problem - -=== 1.1.149 (2013.10.29) === - - * (b561c54) Back to virtualenv 1.10.1 bootstrap :P - * (84b8631) Oops, we want virtualenv 1.9, not 0.9 - * (ad94da7) Revert bootstrap.py to virtualenv 0.9.2 refs #2259 - * (f3f2fd5) Merge pull request #97 from pR0Ps/master[[BR]] - Add old TLDs for the pirate bay url rewriter. - * (4046648) Add old TLDs for the pirate bay url rewriter - * (12270ed) Merge pull request #91 from Toilal/html_increment[[BR]] - Add incremented variable to support paginated pages - * (1ace161) Now using jinja2 templating library - * (b24ac46) increment {...} content is now evaluated only if required - * (ea1f9ed) Add incremented variable to support paginated pages - * (cc1841d) Merge pull request #96 from Toilal/build[[BR]] - Git ignore changes - * (70cc0df) eclipse configuration added to git ignore - * (1d37bfb) setuptools and pip added to git ignore - * (da6a355) Remove overridden bootstrap task in pavement, it is no longer needed Add a manual edit to bootstrap to make sure setuptools/pip missing errors are more clear - -=== 1.1.148 (2013.10.27) === - - * (91ba92e) Update README.rst[[BR]] - Added travis and download count badges - -=== 1.1.147 (2013.10.27) === - - * (df40aa0) Merge pull request #94 from bitdeli-chef/master[[BR]] - Add a Bitdeli Badge to README - * (89219b7) Add a Bitdeli badge to README - * (065b27e) Scheduler now runs all tasks on a 1 hour interval if no schedules are defined in config - * (2b66c2d) Fix issue with arg order in Task init make calls to it specify optional arguments explicitly - * (4509aab) Allow wildcards in schedule task specification Allow a single task instead of a list as task specification Refactor scheduler execute to not take task argument. Tasks can be specified in 'tasks' option Refactor how ipc sends text back to the client - * (35528a4) Add start and stop actions to `flexget daemon` command - * (6288777) Fix series begin test for new ep advancement behavior - * (1424e6d) Make sure series begin episode isn't blocked by episode advancement fix #2236 - * (3fbb9d2) Make sure emit_series doesn't emit negative number sequence shows - * (95d2956) Fix template plugin working on reruns - * (229d2a4) Fix merge error in series plugin - * (8b12f8a) Make current directory config higher priority than home directory one for git installs - * (77032c1) Merge branch 'master' into cli_subcommands[[BR]] - Conflicts:[[BR]] - flexget/plugins/api_tmdb.py[[BR]] - flexget/plugins/cli/series.py[[BR]] - flexget/plugins/filter/movie_queue.py[[BR]] - flexget/plugins/output/pyload.py[[BR]] - flexget/plugins/output/rss.py[[BR]] - flexget/plugins/plugin_deluge.py[[BR]] - pavement.py - -=== 1.1.146 (2013.10.25) === - - * (e1c201c) Merge pull request #93 from Toilal/tmdb_v3[[BR]] - TMBD API updated. Fixes #92 - * (03aaf11) Fixed TMDBContainer for empty constructor parameters - * (df12855) tmdb3 package is now available on PyPI - * (8363989) API Key fixed and better logging - * (dd140e2) bootstrap.py generated with paver 1.2.1 - * (f605b86) tmdb3 dependency added to pavement - * (5fadf91) TMBD API updated. Fixes #92 - -=== 1.1.145 (2013.10.22) === - - * (6bb3a43) Merge pull request #89 from pR0Ps/master[[BR]] - Fix bug in movie lookup code - * (8163d55) Fix bug in movie lookup code - -=== 1.1.144 (2013.10.23) === - - * (bdadf61) Make sure series episodes with lower case identifiers can be --series-forgotten - -=== 1.1.143 (2013.10.22) === - - * (64109db) Replace thepriratebay.se with thepiratebay.sx fix #2255 - -=== 1.1.142 (2013.10.22) === - - * (02db53b) Better error messages for bad templates in make_rss - -=== 1.1.141 (2013.10.22) === - - * (2d2b87b) Fix make_rss to allow setting template for description - -=== 1.1.140 (2013.10.17) === - - * (388b1a6) Rename dts-hd quality to dtshd to not interfere with ranges - -=== 1.1.139 (2013.10.17) === - - * (4c02d34) Add dts-hd and truehd to audio qualities. fix #1716 - -=== 1.1.138 (2013.10.15) === - - * (81998c0) Add a unit test for previously fixed issue. - * (4fdbf9a) Fix issue with series names containing parens which had alternate_name defined. - -=== 1.1.137 (2013.10.11) === - - * (a384187) Fix an issue with pathscrub utility erroring unnecessarily - -=== 1.1.134 (2013.10.11) === - - * (cc96ad9) Change default pushover task name - -=== 1.1.133 (2013.10.10) === - - * (198d6f7) Add more tests for pathscrub, make sure path components are not surrounded by spaces on any platform - -=== 1.1.132 (2013.10.10) === - - * (6804a24) Fix up some pathscrub behavior and add unit tests - -=== 1.1.131 (2013.10.09) === - - * (bf63d5e) Allow latest versions of beautifulsoup and requests - -=== 1.1.130 (2013.10.09) === - - * (bd9b9a2) Don't let series plugin ignore sequence shows with episode 0 - -=== 1.1.129 (2013.10.07) === - - * (ee964e5) Catch distributionerrors from deluge on latest version - * (f57bdc6) Make series plugin populate 'path' and set plugin fields on metainfo phase - -=== 1.1.128 (2013.10.07) === - - * (923ca2f) Merge pull request #86 from miracle2k/patch-1[[BR]] - Make pyload plugin use requests - * (147d74f) Remove unused import. - * (3dc61fc) Assorted improvements. - * (8a7d7d5) Make pyload plugin use requests[[BR]] - This would fix #85 (pyLoad server requiring gzip). - -=== 1.1.127 (2013.10.06) === - - * (8c6de53) movie_queue will now use either imdb or tmdb automatically now, with no lookup plugins in the task - -=== 1.1.126 (2013.10.06) === - - * (304bc47) Switch imdb to be first priority with movie queue - -=== 1.1.125 (2013.10.06) === - - * (d2a0e4a) Make --movie-queue cli interface use tmdb and imdb - * (7a40bdb) Make sure imdb parser doesn't get false positives on rating ineligibility check. fix #2223 - -=== 1.1.124 (2013.10.02) === - - * (a3079db) Merge pull request #84 from jgnog/patch-1[[BR]] - Fix little mistake in rottentomatoes.py docstring - * (31da4aa) Fix little mistake in rottentomatoes.py docstring - -=== 1.1.123 (2013.09.30) === - - * (441af56) Merge pull request #83 from Gyran/master[[BR]] - new url for myepisodes - * (00efab2) new url for myepisodes - -=== 1.1.122 (2013.09.21) === - - * (27559ff) Merge pull request #80 from skasi7/master[[BR]] - Fixes newpct page change. - * (f051b6f) Fixes newpct page change. - * (b37d853) Persist the last_run time of schedules - * (edeeba4) Add rpyc to pavement.py requirements - * (d7e8da8) Clean up done todo - * (3bcafad) Add some notes on current state of priority plugin - * (fd09ea6) Fix make_rss to work with new system - * (29c806f) Tweak how output is sent back over ipc - * (01c1ad5) Try out rpyc for ipc communication Make ScopedNamespaces iterable - * (7525bcc) Switch around a couple manager events for before config load and before validate Switch config pre-check to run only with check command - * (67a31ca) Fix options parsing for non-execute commands - * (26618d1) Make --help message a littel better for archive inject - * (a7ff4cf) Clean up some of the options code Add a custom action to parse remaining arguments with a different parser Allow execute options to be specified during archive inject - * (c56fc04) Upgrade ipc protocol to support multiple commands - * (aa3a350) Make sure include plugin validates included config before merging - * (ed1cea2) Restore root level email configuration for execute command - * (47e8da9) Switch to new way to handle sqlalchemy sessions in flask - * (cabcf30) Refactor cli series list a bit - * (636670d) Rename import_series to configure_series - * (ad1f8a8) Fix correct subparser help message to show at cli Add option to parse_args to raise instead of exiting - * (23b0877) Playing with ideas for json api - * (c66cdd2) Fix cli help messages with new defaults handling - * (b9b56a4) Fix schedules without at_time - * (ac0c8af) Fix at_time schedules - * (c60de1d) Rename some of the properties in the schedule config - * (72d513b) Fix running scheduled tasks at lower priority - * (3ec0c9a) Switch schedules to take a new config format - * (cac7a02) Increase cached_input to 5 minutes - * (c26ac39) Don't stream back remote log on --cron execution - * (476f638) Only write the ipc port to the lock file when the ipc server is actually running - * (e43f23b) Allow explicitly overriding loglevel with --cron - * (7faa34c) Switch ipc to use SocketServer Switch --ipc-port to be a root level option Better debug messages on task abort - * (c591e5b) Add 'always' mode to run_task - * (e82be8f) Add a bit of logging to run_task plugin - * (953579d) Add run_task plugin - * (1cb5a70) Move daemonize complete message before detatching from sys.stdout - * (b22955c) Remove some old code - * (6552e00) Log the new pid when daemonizing. - * (202e697) Small tweaks - * (d60f9e8) Fix cached_input accessing task options - * (6b0aaae) Make sure IPC is communicating in bytes - * (5d2eb26) Only bind to a socket once for ipc - * (39fe631) Improve the ipc loop a little bit - * (b8de367) small comment fix - * (ebce251) Fix task priority hack - * (971cda2) Fix daemonize option crashing on windows - * (a977f7a) Switch --task to --tasks and make it core option Add a hack to use old task priorities in execute command Actually call daemonize method - * (7d999a9) Fix --task with upper case task names - * (8e7a718) Fix the check command - * (ad2c949) More junk - * (3da445e) Add and clean up uTorrent plugin from tyjtyj refs #2205 - * (021c601) Rename the preset module to template Fix a bug for tasks that did not define templates - * (cf3c47b) A bunch of unfinished crap which will eventually serve our schemas. - * (5aa3215) Fix the templates for blueprint system Start updating scheduler config - * (86bff47) Fix pavement.py Update webui plugin registration to use blueprints Remove some crap from webui schedule plugin - * (6acdccc) Tweak BufferQueue usage a bit - * (0369eeb) Continue work on webui - * (3ab21c0) Start converting webui to run on new system Webui is now started with `flexget webui` - * (3aaf64c) Start getting webui ready for 1.2 changes - * (8cd1ca6) Start fleshing out json api for config - * (0c89288) Fix default log levels for 'execute' and 'daemon' command - * (fd387c7) Fix log level with --debug flag - * (d47126d) Switch exists_movie to a timed cache - * (89c2414) Add an exception to raise when a plugin database needs reset to upgrade tvrage plugin now caches failed lookups and has less false matches - * (939eb4e) ctrl-c now schedules shutdown after task completion second ctrl-c aborts currently running task - * (68772eb) Ctrl-c now interrupts cli execution again - * (615d21d) Limit emit_series to only emitting missing sequence shows within last 10 - * (5847186) Implement root level config validation Remove prepare phase from tasks Rename presets to templates - * (a7bff89) Make a manager.config.pre-process event Switch --cli-config to run on it - * (4b26c7d) Move some plugins using task prepare phase to start - * (e3cdb41) Fix plugins that modify the config after task start for reruns - * (6194631) Fix how cli execute command waits for shutdown Remove bits of change_warn that didn't do anything - * (8ae6bcc) Update metainfo content_size to api v2 and json schema - * (2c2a46d) Make task.aborted be true even if it was silent - * (db6ebca) Change --tasks and manual plugin to use task start instead of task prepare phase Change --task to use a space as delimeter instead of comma - * (2559315) Make sure plugins don't call manager.shutdown prematurely - * (331c89f) Change task_start and exit phases to only run once, even if the task is rerun multiple times Update the plugins dealing with reruns - * (85be94e) Fix manager.execute.started/completed events Add manager.daemon.started/completed events - * (ea2330e) Merge branch 'cli_subcommands' of github.com:Flexget/Flexget into cli_subcommands - * (d83fd71) Add some more metadata to preset plugin schema - * (ec1da5c) Refactor memusager and cron_env to use manager.execute.started/completed events - * (3ec4052) Restore manager.execute.started and completed events, now for cli execute command - * (c645499) Fix some download tests for python 2.6 - * (1980f14) Fix a few more usages of process_start - * (1a7d6d0) Fix more plugins reference to backlog - * (e1f9199) Add a note in developer docs about the schema test in the suite - * (039d4f1) Switch a few more plugins to json schema - * (765864b) Fix rss unit test - * (deb27dc) Fix cookies plugin and switch it to using timed dict cache - * (c1106ef) Switch cached_input to use timed dict and fix tests for it - * (9465c17) Implement a timed dictionary to use in caches - * (5339ae8) Switch how series plugin stores reference to backlog plugin. fix #2207 - * (a4f5844) Fix plugin api tests even better - * (be14c04) Fix plugin api tests - * (cf14f2c) Move plugin instantiation to after all plugins are registered - * (e50a633) Fix a bug in tvrage lookups - * (f5b61ca) Make sure plugins are only registered once Implement removal of event handlers - * (cdeb248) Refactor a bit how preparing a task works Handle task aborts better in unit tests - * (ecb48d3) Tasks now reset config on reruns - * (5d2cff4) Fix some invalid schemas - * (0c13007) Fix a couple issues with Manager - * (562b800) Bump version - * (acf3c33) TaskAbort is now raised all the way up to the calling scope of execute call Start fixing up a few tests - * (e00f676) Various fixes - * (b833a38) Tasks now commit session changes from on_task_abort - * (da41fdb) Make series plugin database helpers functions - * (1e95d02) Switch plugin registration to events in more plugins Switch some more plugins to json schema - * (5b28763) Switch plugin registration to events in plugins Switch some plugins to api v2 Switch some plugins to json schema - * (157727a) A few cleanups - * (74ccd91) Fix imdb_lookup plugin Fix manual plugin Remove no longer needed --tasks - * (de4e671) Add ipc - * (b819cc4) A few fixes and cleanups - * (04ed3da) Move --check to its own command - * (4a632bd) Some cleanups - * (aab1e48) Refactor --log-start into a plugin - * (65d67d4) Rename 'register_parser_arguments event' to 'options.register'. The event no longer passes the core parser. Switch all plugins to get the core parser using options.get_parser. - * (055225d) Rename subcommands to commands - * (74162ec) Tasks are now instantiated only when executed - * (062d0a0) Remove global form of email config - * (dfb596a) Convert --perf-tests to subcommand - * (c871f84) Switch scheduler shutdown to work with flags - * (547dec2) Fix a bug with running a schedule on a day - * (124aed5) Scheduler now runs with `flexget daemon` - * (81230b6) Make copies of tasks when adding to scheduler, so that changes in manager thread do not affect scheduler thread - * (d9eb3d3) Move register_config_key to config_schema.py Make ScopedNamespaces copy properly - * (3bbd072) Make plugins access execute options from task rather than from manager - * (f1c579c) Small tweaks to interval plugin Fix a couple hard coded phase names in task.py - * (2a6a6a4) Refactor --archive-inject into subcommand - * (236ed6e) Refactor some of the on_process_start usages Make scheduler deal directly with tasks - * (7a05b9c) Don't init plugins until they have all been loaded - * (09d7989) Get rid of process_start and _end Start factoring out manager.execute - * (1b1600e) Some refinements - * (b3db79a) Get the scheduler working enough to run cli execute through it - * (84f0ffd) Make sure deluge plugin doesn't add bad paths to sys.path - * (57040b4) Tweak schedule schema a bit - * (f1dab0a) More work on the core scheduler - * (f2af356) Start working on having the scheduler in the core - * (49712dd) Make disable_builtins schema a property - * (3d23db2) Simplify inject subcommand usage a bit - * (9f6c442) Remove all arguments to manager.execute except the options namespace Make an inject subcommand - * (4f6a4d7) Make the nested option namespaces scoped - * (b0bd820) Remove reference to --reset - * (844b150) 'exec' subcommand renamed to 'execute' Subcommands are allowed to be shortened non-ambiguously Subcommand options now go in their own namespace get_subparser now throws an ArgumentError if you ask for a parser that doesn't exist when default isn't set - * (99bf685) Implement filters for CLI series listing - * (899eb5e) Remove clear-backlog subcommand in favor of database reset-plugin backlog - * (b551946) Actually pass cli arguments to running webui - * (d8ee838) Exec calls from cli are now sent to running webui Add /api/ to webui for REST api endpoints - * (db05ed7) Add a new system for defining which subcommands need a db lock - * (49a83e4) Split archive CLI into archive subcommand and --archive-inject exec option - * (3b6d1b5) Small tweaks - * (b2271cb) Add a run_subcommand method to Manager - * (b9fbcdd) Switch to use events to register parser arguments and handle subcommands - * (84d1f6b) Switch to use events to register parser arguments and handle subcommands - * (159a349) Cleanups - * (c95ce03) Add some comments about the different parsers in options.py - * (aefbf31) Add some methods to our ArgumentParser class to deal with subparsers more easily Switch subcommands to use the event system - * (ea4bc0c) Remove force option of movie_queue - * (604cb12) Fix the unit testing framework for CLI changes - * (ec20557) Remove some references to --series - * (38bfe0b) Update webui to work with new CLI system - * (a22f296) Convert all seen plugin CLI to subcommand Remove old seen plugin migration - * (a115d4b) Convert --failed and --clear to 'failed' subcommand - * (1c24fd7) Convert --movie-queue to a subcommand - * (65d1533) Convert --history to subcommand, add search option - * (60eafd1) Remove hack to run plugin method as subcommand - * (94d2160) Some cleanups to the options file - * (426edec) Add a database manager for cli - * (d521699) Remove --reset - * (9626502) Lockfiles now ignored if the pid is no longer running Manager.acquire_lock is now a context manager - * (015f644) Fix all the series cli commands Subcommand entry points now get manager as an argument Fix db_cleanup - * (b7f4a2f) Show help text when there are errors parsing cli arguments - * (3db8726) Convert clear-backlog to subcommand - * (4cc2b6e) Make 'series show' command work - * (dff788c) Convert --plugins to subcommand - * (b76922b) Update doc, reset-plugin and series CLI interface to use subcommands - * (054a0d7) Disable some old CLI switches until they are converted - * (6b63cf4) Keep messing with cli subcommands - * (9fe65a5) Adjust manager to only load config and lock database when executing tasks - * (de0f788) Start hacking in subcommands to cli interface - -=== 1.1.121 (2013.09.13) === - - * (8641eb0) Fix some problems with movie-queue del and forget when deleting by movie id - * (9aa3dd6) More cleanup to include plugin - -=== 1.1.120 (2013.09.13) === - - * (a7cecba) Remove file existence validation from include plugin again, fix #2196 Include plugin fails more gracefully with an invalid file included - -=== 1.1.119 (2013.09.12) === - - * (9057175) Fix a crash in preset plugin when config was malformed - * (fb08c11) Prevent crash in include plugin when configured incorrectly Update include plugin to api 2 and new config schema - -=== 1.1.118 (2013.09.12) === - - * (68627a0) Make --movie-queue del and forget options better at matching movies in your queue Prevent extra lookups when editing movie queue - -=== 1.1.117 (2013.09.10) === - - * (4d63f49) Don't escape colons in download urls. fix #1804 - -=== 1.1.116 (2013.09.10) === - - * (8754c34) Open the range of pack detection a bit. fix #1432 - -=== 1.1.115 (2013.09.09) === - - * (4231740) Allow text plugin to work with url or filename. fix #1832 Catch an exception in text plugin when config regex didn't have a capture group. - * (71562e4) Finally get changelog->upgradeactions linking working properly. (hopefully) - -=== 1.1.114 (2013.09.09) === - - * (0a3d8fe) Allow task names to be numeric. fix #1961, ref #1763 - * (a06d614) Stop false matches with changelog->upgradeactions linking - -=== 1.1.113 (2013.09.09) === - - * (e9915fe) Tweak changelog generator to not use flexget package - -=== 1.1.112 (2013.09.09) === - - * (4235543) Add links to upgrade actions in the change log - -=== 1.1.111 (2013.09.08) === - - * (270b6f2) Add allow_teasers option to series_premiere plugin - -=== 1.1.110 (2013.09.07) === - - * (f4de254) Convert trakt_acquired to use requests, add more debug output for failures. - -=== 1.1.109 (2013.09.07) === - - * (01ec40d) Tweak the changelog generator a bit - -=== 1.1.108 (2013.09.07) === - - * (42bb371) Add a helper script to generate a changelog from git log - * (6a13295) Make prowl debug output actually go to debug log - -=== 1.1.107 (2013.09.07) === - - * (76bcfe7) Add some debug output to prowl --test - -=== 1.1.106 (2013.09.06) === - - * (b720824) Improve schema for csv plugin. fix #2193 - -=== 1.1.105 (2013.09.04) === - - * (6df6d28) Prevent recursive lazy lookups with imdb plugin. - -=== 1.1.104 (2013.09.04) === - - * (65aedc1) imdb_lookup will look up based on movie_name if available refs #2112 - -=== 1.1.103 (2013.09.03) === - - * (a8bd46f) Clean up rapidpush plugin - -=== 1.1.102 (2013.09.03) === - - * (dc4bf4f) Clean up serienjunkies plugin - -=== 1.1.101 (2013.09.03) === - - * (d2c311d) Clean up torrent411 plugin - -=== 1.1.100 (2013.09.03) === - - * (18c881e) Cleanups for listdir plugin - -=== 1.1.99 (2013.08.31) === - - * (86cfc8a) Included torrent411 urlrewriter. Fixes #754. - -=== 1.1.98 (2013.08.31) === - - * (be97134) Added support for symbolic links to the other exists-plugins. - -=== 1.1.97 (2013.08.31) === - - * (70a6a6e) Removed dirs_only option since it broke the tests. - * (32d2645) Updated for exists_series dirs_only parameter, if entry is a dir, don't chop the last word from the name. - * (b59127f) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.1.96 (2013.08.28) === - - * (06c6a64) Refactor and fix content_filter require_all logic, add some unit tests. - -=== 1.1.95 (2013.08.28) === - - * (a5274e6) Catch potential exception in rss plugin. fix #1880 - * (af7471e) Catch potential network exception in imdb_list. fix #1817 - * (0cdb58f) Allow use of ~ in transmission netrc option. fix #1789 - -=== 1.1.94 (2013.08.27) === - - * (3ebaad7) Clean up rtorrent_magnet plugin. refs #1994 - * (2b32271) Add 'watched' option for trakt_list movies. fix #1966 - -=== 1.1.93 (2013.08.27) === - - * (c280a8a) Give a proper error message when config is not utf8 encoded. fix #2121 - -=== 1.1.92 (2013.08.26) === - - * (b9f0f43) Add 'webhd' as synonym for webdl quality. - * (a18ed42) Fix pogcal authentication issues. fix #2128 - -=== 1.1.90 (2013.08.26) === - - * (2ab373a) Update apple_trailers docstring. fix #2167 - -=== 1.1.89 (2013.08.26) === - - * (274aba2) Fix import problem with serienjunkies plugin. fix #2184 - -=== 1.1.88 (2013.08.26) === - - * (3733c69) Merge branch 'serienjunkies' - * (b129840) Fix indentation in serienjunkies urlrewriter - * (ddc7469) Indention fixed - * (de7513d) Updated .gitignore - * (997c913) Final and working version serienjunkies.org urlrewriter - * (b198e50) Final version serienjunkies.org urlrewriter - * (7f64157) Update urlrewrite_serienjunkies.py - * (230aebf) code cleaning - * (e1bd888) hoster and language configuration - * (1243bb4) Create urlrewrite_serienjunkies.py - -=== 1.1.87 (2013.08.26) === - - * (9eca252) Merge branch 'tempdir' - * (e2ddabd) Small cleanups to download tests - * (0b8b725) chmod -x'ed tests/test_download.py back to normal - * (b3f7e80) Some cross-platform and regular bugs - * (db5f874) Download plugin: bugfixes and a bit of PEP8 - * (9a56d35) no idea why that was missing O_o - * (fd1ee47) download plugin: temp directory and test cases - -=== 1.1.86 (2013.08.19) === - - * (96b9218) Make sure explicitly configured series can never be hidden in a --series summary. - -=== 1.1.85 (2013.08.19) === - - * (30d77bb) Fix --series further so that all series are queryable. - -=== 1.1.84 (2013.08.19) === - - * (78efdf2) Improve --series behavior for shows with similar names. fix #2149 - -=== 1.1.83 (2013.08.04) === - - * (473b084) Merge pull request #71 from rpatterson/log-torrentz-request-errors[[BR]] - Log specific HTTP error messages when searching torrentz - * (01cc833) Log specific HTTP error messages when searching torrentz - -=== 1.1.82 (2013.07.30) === - - * (b3dcbb4) Add loose matching support for --series NAME - -=== 1.1.81 (2013.07.21) === - - * (51c6d36) Remove invalid rows in series_tasks fix #2115 - -=== 1.1.80 (2013.07.21) === - - * (5be2d86) Series db cleanup now no longer messes up relationships - * (23ad9a4) config_modified flag is now set after a database cleanup - * (2c716f9) Include quality info in btn search result titles - -=== 1.1.79 (2013.07.19) === - - * (9e9fb96) Disable notify_osd when config is False - -=== 1.1.78 (2013.07.18) === - - * (6d77428) Torrentleech sizes can, surprisingly, be in Bytes - * (a326b39) Added distribute tarball and man/ to gitignore - -=== 1.1.77 (2013.07.16) === - - * (dfc0cae) Workaround for paver bug with missing module 'version' - * (2cee8a7) exists_series will now follow symbolic links dirs_only False/True has been added to allow searching for directories only, default: False - -=== 1.1.76 (2013.07.16) === - - * (0662ee9) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.1.75 (2013.07.15) === - - * (0d7b468) Upgrade bootstrap.py to new version - -=== 1.1.74 (2013.07.12) === - - * (0afc219) Make sure movie title parser cuts at "director's" - -=== 1.1.73 (2013.07.10) === - - * (b7a7066) Fix missing space in verbose accept/reject messages - * (417b76e) Fix cascade not deleting episodes when doing --series-forget for whole series - -=== 1.1.72 (2013.07.10) === - - * (cd93524) Make sure identified_by is not overridden to auto when explicitly specified for series groups - -=== 1.1.71 (2013.07.08) === - - * (e10964e) Allow setting --series-begin for shows not yet in the database - -=== 1.1.70 (2013.07.08) === - - * (9e3bb09) Add from_start option to emit_series - * (50df981) Make sure no reruns are requested for next season with a non-ep based show - -=== 1.1.69 (2013.07.08) === - - * (aa28cab) Fix --series-begin for sequence identifiers - -=== 1.1.68 (2013.07.08) === - - * (ab26eb4) Make sure series plugin get_latest_download helper only returns episodes that match the identified_by type for the series - -=== 1.1.67 (2013.07.08) === - - * (9a3e6a9) Fix issue with webui series query. fix #2101 - -=== 1.1.66 (2013.07.05) === - - * (ee5dc8e) Update beautifulsoup requirements - -=== 1.1.65 (2013.07.05) === - - * (5287ad4) Make previous emit_series fix a bit cleaner. - -=== 1.1.64 (2013.07.05) === - - * (cc2163e) Catch an error with python tvrage api - * (252c2e0) Fix crash in emit_series - -=== 1.1.63 (2013.07.02) === - - * (9dc2783) Prevent a crash in imdb parser. refs #2091 - -=== 1.1.62 (2013.06.30) === - - * (3ded33f) Add some more fields to entries created by apple_trailers - -=== 1.1.61 (2013.06.30) === - - * (4280c93) Fix apple_trailers test - -=== 1.1.60 (2013.06.30) ^[wiki:UpgradeActions#a2013.6.301.1.60 upgrade actions]^ === - - * (300f0b0) Fix apple_trailers plugin - -=== 1.1.59 (2013.06.30) === - - * (1075e83) Fix imdb mpaa test - * (67c7605) Strip quotes from imdb_original_name - -=== 1.1.58 (2013.06.30) === - - * (1a69757) Add 'remux' as a valid source - * (015d546) Fix forgotten comma - -=== 1.1.57 (2013.06.26) === - - * (1fd54dc) Try to make sure more specific series name is parsed first in case of ambiguity. - -=== 1.1.56 (2013.06.26) === - - * (36cb425) Fix api_tvrage for shows with non-ascii characters - -=== 1.1.55 (2013.06.26) === - - * (30f6c9b) Fix bug with newtorrents search plugin - -=== 1.1.54 (2013.06.25) === - - * (b0d4387) Fix api_tvrage database caching - -=== 1.1.53 (2013.06.25) === - - * (2aa9eb6) Catch timeouts properly in api_tvrage, prevent task aborts - -=== 1.1.52 (2013.06.24) === - - * (d965def) Reduce log spam when using discover plugin. - -=== 1.1.51 (2013.06.24) === - - * (4e5c811) Small typo in readme - -=== 1.1.50 (2013.06.23) === - - * (77b34e7) Small typo + level logging - -=== 1.1.49 (2013.06.23) ^[wiki:UpgradeActions#a2013.6.231.1.49 upgrade actions]^ === - - * (c429829) if the source extension isn't already present in the destination add source extension to destination when moving. - * (2feaea4) Merge branch 'planeturban' - * (e7d602d) Added support for unwatched media only. Fixed naming of some entries. - -=== 1.1.48 (2013.06.23) === - - * (45a6bcf) Merge branch 'planeturban' - * (4bfb556) Removed some debugging. - -=== 1.1.47 (2013.06.22) === - - * (9679aee) Make sure series_premiere doesn't do anything with shows configured in series plugin. fix #2082 - -=== 1.1.46 (2013.06.22) === - - * (0fc2ec9) Jack up the timeout for disconnecting from deluge daemon - -=== 1.1.45 (2013.06.22) === - - * (057222f) Minor improvements to docstrings and log messages. - -=== 1.1.44 (2013.06.22) === - - * (6f570ca) Fix bug with series CircularDependencyError - * (c84105f) Only log first request for rerun within a task - -=== 1.1.43 (2013.06.21) === - - * (5304505) Episodes that tvrage doesn't know about are now considered unreleased in est_released_series - * (1f1d3bb) Fix search count in discover plugin - * (b1243c9) Fix bug in btn plugin when no results - -=== 1.1.42 (2013.06.21) === - - * (bd84698) Fix bug with api_tvrage and None genres Improve how tvrage genres are stored in the database a bit - * (55b74e4) Fix max_reruns plugin - -=== 1.1.41 (2013.06.21) === - - * (08fa7da) Better log messages for emit_series about shows not being emitted - -=== 1.1.40 (2013.06.21) === - - * (8ac8e54) Removed wait parameter, let's be bursty if we need a more complex system we'll implement it another way. - -=== 1.1.39 (2013.06.21) === - - * (10b414c) Add alternate_name option to series plugin - -=== 1.1.38 (2013.06.21) === - - * (9adeb0d) Add better debug logging if trakt_list fails to decode response from trakt. refs #2083 - -=== 1.1.37 (2013.06.20) ^[wiki:UpgradeActions#a2013.6.201.1.37 upgrade actions]^ === - - * (9443993) Merge branch 'emit_series'[[BR]] - Conflicts:[[BR]] - flexget/plugins/generic/archive.py[[BR]] - flexget/plugins/search_kat.py - * (2b8afdd) Cleanups for newznab plugin - * (6b98975) Cleanups - * (da521c3) Remove task level entry hooks for now - * (6ecd020) Add a method to Task to add hooks on all entries added to that task - * (4831b53) More tweaks to series database updating - * (d581639) Explicitly set identified_by to ep for all_series and series_premiere - * (8b2d1d3) Allow ep identifiers to be lower case with 'begin' option - * (311c323) Combine est_released_tvrage and est_released_series Catch some errors better for shows not in tvrage - * (82dc2ae) Make sure --series summary never hides series in config - * (1759260) import_series keeps track if config has changed Fix series db updates to work properly - * (c84c9fa) Make sure Episode.first_seen doesn't crash when there aren't releases - * (424f49f) Add docstrings for entry hooks - * (ffabeb9) pep8 + cleanup - * (8482bf1) Added DB cleanup, to clean data not updated for 30 days. If tvrage data are more than 7 days old, refetch them from tvrage (purge db for that show and reinsert). - * (b8833b1) Removed Season utility class in profit of an episode method. Changed test & est_Released_tvrage accordingly - * (446c62c) Helper functions, comments and cascade relation - * (bca7069) Useless var for the test (copy / paste is bad) - * (1b682a1) First persistence changes for tvrage api - * (0c7cae0) New url rewrite for newznab engines. - * (a89caec) Support sequence based episodes in emit_series, est_released_tvrage and btn plugins - * (53cae6b) emit_series now tries to fill in any undownloaded episodes from current season - * (e472524) Fix grace for large episode batches in series episode advancement Fix small issue with setting series begin - * (1320a28) Implement super cool auto retry with emit_series for next episode or season - * (5beb54d) Make --series-begin work with lower case ep identifiers - * (d34d606) Make --series-begin actually work - * (1842e56) Start implementing --series-begin. Probably broke some stuff, commiting before I go home. - * (37e82ab) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series - * (6e27b6c) functools.total_ordering is not available in 2.6 - * (a52d8f7) emit_series now starts at 'begin' if specified - * (54a58ef) Update task.undecided - * (8b3ade8) Remove some todos about entry phases - * (caa7e3f) If successful, emit_series tries rerun to get next ep More fixes - * (047ca23) Add entry.task back More tweaks to the new entry phases - * (05906c2) --dump now prints title and url above other fields - * (7049a42) Start refactoring entry phases - * (31fc167) Merge branch 'emit_series' of https://github.com/Flexget/Flexget into emit_series - * (59c1fa6) Remove series 'watched' option in favor of 'begin' option, which is now stored in the database. - * (7d33ec6) Series plugin now accepts any missing episodes from the current season - * (cf611f8) Update all search plugins to use search_strings - * (f87b4f1) Fix est_released_series, add a season break estimator - * (c1406b7) Update some search plugins to use search_strings field - * (9e1f79b) Make sure urlrewrite_search iterates results in sorted order - * (fa9a72f) Movie estimator falls back to movie_year - * (83a6149) More est_released tweaks - * (2da56c5) Raise DependencyError when series plugin is missing - * (c15d4c2) Add release estimator based on series history Tweaks to est_released plugins - * (5958d30) Refactor emit_series a bit - * (ddce719) Series plugin now unmarks the database when tasks are removed - * (ca9ceee) Fix btn plugin with no results - * (424bd70) If any series are configured in tasks, --series will only print the summary for them - * (e3c7a80) Add info into db for which series are configured in which task emit_series now only emits series from that task - * (1f6c0d8) Start emit_series branch - * (c78f306) Start emit_series branch - -=== 1.1.36 (2013.06.17) === - - * (a3b4215) Changed old kat.ph to new kickass.to domain. - -=== 1.1.35 (2013.06.13) === - - * (32028e2) Don't import jsonify from flask.helpers fix #2078 - -=== 1.1.34 (2013.06.13) === - - * (8ff63e9) Make sure auto identified by works properly with all_series - -=== 1.1.33 (2013.06.12) === - - * (dea8e78) Some doc updates - -=== 1.1.32 (2013.06.11) === - - * (ffa4b01) Update version number in sphinx documentation - * (715bb94) Fix imdb parser for movies with no plot. fix #2042, #2071 - * (34af346) fix #2075 - -=== 1.1.31 (2013.06.10) === - - * (8ee56df) Merge branch 'ftp' - * (191b01f) Some ftp plugin cleanups - * (7bef6bb) bugfixes and suggestions added - * (57d9a84) first version from ftp_download plugin - * (ee61b60) Fixed commentaries - * (b6390ed) First version from ftp_list plugin - -=== 1.1.30 (2013.06.08) === - - * (89fd4aa) Add docs for 'interval' values in schemas - -=== 1.1.29 (2013.06.08) === - - * (b48860a) Merge pull request #57 from andir/invalid_port[[BR]] - Fixed some issues with torrent_alive related to invalid ports. - * (0209264) Fixed some issues with torrent_alive related to invalid ports. - -=== 1.1.28 (2013.06.05) === - - * (a3bc27f) Search plugin flexget_archive now produces sensible results.[[BR]] - - Does not create None fields, Fixes #2069 - * (54c30ac) Increased discover verbosity level on search. - * (c7ce11b) Entry update_using_map now has ignore_none kwarg. - -=== 1.1.27 (2013.06.05) === - - * (d56b4e5) Fixes make_rss guid failure with unicode.[[BR]] - - Fixes #2068 - -=== 1.1.26 (2013.06.02) === - - * (ece3493) Fix merge problem. fix #2064 - -=== 1.1.25 (2013.06.01) === - - * (2760f21) csv plugin now handles unicode input. (hopefully correctly) Also add csv plugin schema and switch to requests - -=== 1.1.24 (2013.05.31) ^[wiki:UpgradeActions#a2013.5.301.1.24 upgrade actions]^ === - - * (55b9516) Find and listdir plugins now strip extension from created entry titles. - -=== 1.1.23 (2013.05.31) === - - * (3070895) Add --clear-backlog option - -=== 1.1.22 (2013.05.31) === - - * (e7adbe7) ascii option to rss plugin now converts whole feed before parsing. can help parse bad feeds. refs #1637 - -=== 1.1.21 (2013.05.29) === - - * (d919e67) Re-implement deleting of non-accepted entries after task execution to reduce memory usage. ref #1652 - * (4b76408) Update readme with links to website - -=== 1.1.20 (2013.05.27) === - - * (4532ad1) Don't let strings have u'' representation in config error messages - * (303bc74) Add imdb_list schema - * (a3ec316) Import cleanups - * (49828e7) More schemas - -=== 1.1.19 (2013.05.27) === - - * (861503a) More schemas - * (79196bf) More schemas - * (59ebacb) Convert more plugins to use new schemas - -=== 1.1.18 (2013.05.27) === - - * (5b586a1) Require series titles to end at word borders. fix #1949 - * (d26c642) Increase download chunk size to 150kB fix #1622 - -=== 1.1.17 (2013.05.27) === - - * (0415501) Fix make_rss schema - * (91eb66f) Hopefully fix series db cleanup. refs #2034 - * (430c2ed) Convert rss plugin to schema - * (53ab874) Remove old lazy validator code, issue error if any plugins try to use it. - * (ab4dea3) Add schema docs on format keyword - * (3db11c0) Convert cookies to schema - * (736cc2a) Add download url into package metadata - -=== 1.1.16 (2013.05.27) === - - * (294f1f4) Start some documentation on the new schema system - -=== 1.1.15 (2013.05.27) === - - * (7799d35) Convert regexp plugin to new schema - * (3b1219e) Remove unused import - * (9a0a95e) Fix some config error messages not printing - * (d00100b) Remove add_plugin_validators function - * (3e42447) Clean up a few TODOs - -=== 1.1.14 (2013.05.27) === - - * (d20705e) Refactor how series plugins share the series settings schema - -=== 1.1.13 (2013.05.26) === - - * (d651d26) Series plugin 'path' option allows any path. fixes #2057 - -=== 1.1.12 (2013.05.26) === - - * (2d3b02a) Fix series_premiere validator so allow_seasonless works again. refs #2057 - -=== 1.1.11 (2013.05.26) === - - * (a92f3db) Removed tvtorrents input (unmaintained and broken) - -=== 1.1.10 (2013.05.26) === - - * (a11048f) Merge pull request #55 from docpaul/master[[BR]] - from_transmission input mods - * (37ddd1f) Update plugin_transmission.py[[BR]] - Added additional keys (content_size, transmission_comment, transmission_downloadDir, transmission_isFinished, transmission_isPrivate) to from_transmission input entry - -=== 1.1.9 (2013.05.26) === - - * (6ffb5c9) Catch RenderErrors in exists_series - * (711812e) Don't bother converting movie release estimate to date - -=== 1.1.8 (2013.05.25) === - - * (c18c3e2) Allow jinja replacement in exist_series paths in order to optimize number of files scanned - * (b905115) Avoid string replacement in a bunch of logging calls when not enabled for that level - -=== 1.1.7 (2013.05.25) === - - * (1177c25) Make sure 'auto' series identifier mode doesn't overwrite learned one - * (d419562) Update some more plugins with schemas - * (5362190) More readme formatting - -=== 1.1.6 (2013.05.25) === - - * (b08e84c) Update README some more - -=== 1.1.5 (2013.05.25) === - - * (fa4d1b2) Update README to use rst Add classifiers and long_description to our setup - -=== 1.1.4 (2013.05.25) === - - * (6e78c9e) Fix --ver-file option for release task - -=== 1.1.3 (2013.05.24) === - - * (4f5dcb2) fix #2055 - -=== 1.1.2 (2013.05.24) === - - * (6e9a698) Merge branch 'planeturban' - * (1d45f05) More pep8 fixes. Added skip if episode not could be determined. - * (352c897) Merge branch 'planeturban' - * (a0ecb89) New enteties. plex_server unresolved server name plex_server_ip resolved server ip plex_port PMS port plex_section section number plex_section_name section name e.g. TV Shows plex_path path to media on server e.g. /library/parts/44695/file.mkv[[BR]] - Smarter check if section is TV or not. - * (98da9d5) Removed temporary debug information. - -=== 1.1.1 (2013.05.24) === - - * (3a0028d) Add jsonschema to technologies used in dev docs - -=== 1.1.0 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.1.0 upgrade actions]^ === - - * (3932fe0) Bump version number - * (43a476e) Fix small merge problem with discover plugin - * (3f6727d) Merge branch 'jsonschema'[[BR]] - Conflicts:[[BR]] - flexget/plugins/filter/content_filter.py[[BR]] - flexget/plugins/filter/queue_base.py[[BR]] - flexget/plugins/input/discover.py[[BR]] - flexget/plugins/input/mock.py[[BR]] - pavement.py - * (7acf825) Fix backwards compatible validator test - * (0c3d823) Refactor some schema validator stuff - * (a1b9c8d) Update jsonary style to be more like yaml - * (b545911) Tweak getset_item - * (7a88356) Fix up discover and inputs schemas - * (4190285) Update jsonary again - * (20c5596) Update jsonary again - * (be88238) Tweak series schemas - * (c442eef) Clean up listing of available keys in editor - * (5b9ff3a) Switch to yes/no for booleans in editor Clean up some of the style in editor - * (f018d9c) Fix quotes in schemas - * (1fb6174) Tweak trakt_list schema - * (d6c67d4) quotes fix - * (5b21274) Update jsonary - * (d485d32) Make sure oneOf validator also chooses our custom child errors - * (0b50b22) Tweak some schemas for better jsonary representation - * (d99fab4) Make /configure/jsonary sorta less broken - * (f3adba6) Add sorta broken /configure/jsonary to webui - * (0eb1f4a) Add jsonary files to configure plugin static folder - * (cb6797a) Register root config schema at /schema/root Temporarily hard code some Content-Type headers to test jsonary - * (2f7cd95) Add RESTful endpoint for config json to webui - * (6b79938) Reverse order in one_or_more, so that array comes first - * (286283b) Fill the 'id' keyword in all plugin schemas - * (b33078b) Make setting defaults when validating a separate method - * (d5a1642) Only set defaults when validator is called with set_defaults - * (f17fec3) Mark some required properties in schemas Add some defaults to schemas - * (a41edae) Mark required fields in crossmatch schema - * (b8abf61) Add support in for filling default values - * (cfed56b) Improve error messages from some of our format checkers - * (3f710cf) Clean up the type error message - * (21f1dda) Convert apple_trailers to new schema (config is now case sensitive) - * (02da432) Improve schema for legacy choice validators with ignore_case - * (8979c3a) validate_config methods now returns a list of ValidationErrors - * (76b72e2) Clean up any_schema - * (0d11d7a) Improve error message for enum Simplify one_or_more now that errors are better for anyOf - * (63f532d) Custom errors are now included in schemas generated from old validators - * (a7a2bbb) Improve error message for extra keys - * (8dbc4fe) Make virtual type error test more robust - * (eed0166) Smarter error behavior for anyOf schemas - * (c3afa66) Add some notes about deprecated validator testing stuff - * (cd36bbe) Clean up unit tests for custom validation messages - * (4a285e9) Fix path validator for paths with jinja - * (f4d5a11) Make errors raised by format checkers be the validation error - * (fc0e833) anyOf validator sometimes guesses a branch to give errors from - * (f2699dc) Convert sequence plugin to json schema - * (eb9ac01) Fix and refactor how paths are added to error messages Add a custom message for the interval format validator - * (93303a9) Add the path of the error to the beginning of error messages - * (693e6df) Add system for creating custom validation error messages Add generic render function to utils.template - * (a2dbc25) Fix an issue with a series_premiere test - * (a118f7a) Fix an issue with the pluginapi tests - * (32a7479) Disable validator tests which we can't support with json schema - * (db3678b) Add back validate method to old validators to allow unit tests to run Fix choice validator with ignore_case flag Fix path validator with allow_missing flag - * (e3986d9) Add 'path' format checker - * (6fb0a18) Convert if plugin to json schema - * (150a13e) Fix imdb min_score schema to allow numbers - * (4edb19c) Require jsonschema >= 1.2 - * (7d68681) Add interval format validator - * (b5656a0) More config schema updates - * (dd9e847) Convert more config schemas - * (9f0076b) Convert exists config schema - * (8598466) Add some forgotten additionalProperties: False - * (a6f83e3) Convert crossmatch config schema - * (c46fc7f) Convert content_size config schema - * (d907a84) Improve the ref validation test. It checks all refs and fragments now. - * (c76cf7c) Add a unit test to make sure refs in schemas are valid - * (2ceab4e) Convert download plugin schema - * (7587732) Convert search_rss plugin schema - * (da8b7a5) Convert trakt_list plugin schema - * (1deffb2) Convert rss plugin schema - * (83a16ba) Convert unit test to test all registered schemas instead of plugins directly. - * (a9af3ca) Cleanups for jsonschema stuff - * (ca5755d) Return 404s when schemas are not found - * (0e1142d) Make schemas available from the webui - * (1e8fc00) Convert series plugins to use new config schemas - * (c4df5ca) Optimize one_or_more for better error messages - * (6973d5d) Add one_or_more helper to generate schemas - * (b2b6058) Add a few comments. - * (304acd1) Convert content_filter plugin to use new config schema - * (9b5ce1d) Convert accept_all plugin to use new config schema - * (195b154) Convert mock plugin to use new config schema - * (08dd6f8) Remove some unused imports in inputs plugin. - * (461062a) Restore 'limit' option to discover plugin. - * (1d764c1) Re-implement /schema/plugins refs - * (af68b51) Fix mock validator. - * (8fa2f5c) Separated new config validation from old validator.py Use new validator to do validation. (unfinished and a bit messy) - * (a4dd0ab) Rename schema.py to db_schema.py - * (1c36548) More work on jsonschema validation - * (0d83edc) Start implementing jsonschema validation - -=== 1.0.3414 (2013.05.24) ^[wiki:UpgradeActions#a2013.5.241.0.3414 upgrade actions]^ === - - * (acd1f17) Merge branch 'discover_refactor' - * (f7c2d38) Add preliminary btn search plugin - * (306d557) Move est_released plugins out of metainfo package - * (cd56331) Implement close matching in urlrewrite_search - * (5ebc5aa) Change tpb search behavior with dashes - * (dd9dab2) Few fixes since we have change entry type - * (02230cb) Few fixes since we have change entry type - * (814c11e) Refactor interval_expired a bit - * (4554d4f) Axe comparators! - * (4aaab5a) Fix for days interval (using a method to have a cleaner code) - * (30ab992) Addressing "Automatic staggering of search intervals to avoid many searches all in one run", we use the random algorithm. - * (3b57bea) Add discover test for release estimates - * (c8a6e4b) Fix test name - * (be3e5a2) Add some simple test cases for discover - * (8a5563d) Add index for title and task on discover table Make discover release entries that no estimate could be found - * (2b5fb02) Merge branch 'master' of https://github.com/Flexget/Flexget into discover_refactor - * (0b3617a) pep8 spaces - * (057a0ec) Fixed a "normal" exception in the log that may raise unnecessary questions - * (2a88b82) Merge branch 'discover_refactor' of https://github.com/Flexget/Flexget into discover_refactor[[BR]] - Conflicts:[[BR]] - flexget/plugins/input/discover.py[[BR]] - flexget/plugins/urlrewrite_torrentz.py - * (2ae0404) Discover refactoring[[BR]] - - Reduced logging[[BR]] - - Emit series does now 1x01 format - * (834a6a6) Fix estimator loop, consider rest plugins as well. - * (80bf16c) Discover refactoring mayhem.[[BR]] - - Various tweaks and fixes - * (29c5925) Compatibility fix for some search plugins with the new discover refactor Added a log when movie is not available yet. - * (94ba663) Changed from simple_persistence to a Base - * (70133a4) Simplifications and correction from comments (est_released is no longer a plugins) - * (ea42e75) Est_released now returns only the estimated date of release for the movies, leaving other plugins to decide what to do with it. - * (de7c61a) est_released : Renamed function and accept only one entry + fix to the filter + return estimate date of release discover: added a configuration entry so the estimate function can be disabled est_released_movies / series : return estimated date of released for the entry - * (ed14a7c) Added an interval parameter : for each entry provided by entry an internal interval is created so the same entry won't be search before next interval. - * (0ae4da3) estimate_released plugin for movies - * (3869836) Static Cache for api_tvrage in order to speed up multiple query for the same TV Show - * (5f043ae) Created a filter plugin for est released, with an helper function called by discover Change emit_series to output only one title per series with meta data from the episode two syntax is not useful Added debug information to est_released_series - * (73a8ccc) Added release estimation for tv series - * (ef4955e) emit_series now add meta data within the entry serie_name, serie_season, serie_episode - * (132c6e6) Discover now provide an entry instead of just a title - -=== 1.0.3413 (2013.05.24) === - - * (97c928a) Fix issue with our file:// support on newer requests. fix #2054 - -=== 1.0.3412 (2013.05.23) === - - * (8e92072) Add --ver-file option to release task, so jenkins can read version number - -=== 1.0.3411 (2013.05.20) === - - * (e0c2f3f) Fixed issue where all qualities would not be stripped from series names before parsing. fix #2049 - * (982a7c9) Update logo for webui header - -=== 1.0.3410 (2013.05.20) === - - * (ad886df) Merge branch 'plex' - * (7814e9f) Added support for named sections. Added checks to only allow TV sections. - -=== 1.0.3409 (2013.05.19) === - - * (3440c6e) Fix rejection messages for content_size - -=== 1.0.3408 (2013.05.18) === - - * (a31c83a) Let --test test a bit more in make_rss Fix an issue with non-ascii strings in make_rss - -=== 1.0.3407 (2013.05.18) === - - * (635d974) Merge branch 'plex' - * (290d7be) Fix for date based series. - -=== 1.0.3406 (2013.05.18) === - - * (8de49d7) Removed test code from previous commit. - * (38274db) Added more detailed information to seen plugin reject message. - -=== 1.0.3405 (2013.05.18) === - - * (c7c850c) Plugin make_rss now writes guid[[BR]] - - Fixes #2045 - -=== 1.0.3404 (2013.05.18) === - - * (4587f16) Removed IP-only server configuration. Added "original_filename" configuration parameter. Moved resolution in filename to it's "correct" place. - -=== 1.0.3403 (2013.05.17) === - - * (a0bc62d) Add links to some git tutorials to developer docs - * (71c8f43) Fixed indentation. - -=== 1.0.3402 (2013.05.15) === - - * (a56a8c1) Merge branch 'master' of https://github.com/Flexget/Flexget - * (df11efb) Merge branch 'plex' - * (3cf8637) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 - -=== 1.0.3401 (2013.05.15) === - - * (0b6a18e) New configguration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 - * (f1207dd) New 'title' and some new configuration parameters: Added video codec, audio codec, video resolution to filename. New configuration parameters: 'lowercase_title' Convert filename (title) to lower case. 'strip_year' Remove year from title, ex: Show Name (2012) 01x01 => Show Name 01x01 - -=== 1.0.3400 (2013.05.14) === - - * (af6bbdb) Add new logo as windows tasktray icon - -=== 1.0.3399 (2013.05.15) === - - * (afe5231) Added myplex and selection support, for real this time. - -=== 1.0.3398 (2013.05.14) === - - * (266a2d8) Revert "Added myplex and selection support"[[BR]] - This reverts commit afa739fae2b2931ee4dc68d5bed8e3f70565e8e7. - -=== 1.0.3397 (2013.05.13) === - - * (afa739f) Added myplex and selection support - -=== 1.0.3396 (2013.05.13) === - - * (5c280d8) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3395 (2013.05.12) === - - * (26a0c2c) Merge pull request #47 from planeturban/plex[[BR]] - Plex - * (56a6d02) Nicer looking urlopen - * (e0a4d7e) PEP8 - * (19315da) Added plex.py[[BR]] - Added Plex input plugin. Uses a Plex media server tv-section as input. - -=== 1.0.3394 (2013.05.12) === - - * (0b4560a) Merge pull request #48 from floppym/master[[BR]] - Include test data in tarballs - * (0507ecf) Include test data in tarballs - * (3ee7511) Readthedocs fixes. - -=== 1.0.3393 (2013.05.13) === - - * (c769b90) Added developer database documentation to Sphinx. - -=== 1.0.3392 (2013.05.11) === - - * (4bd9a89) Enable sphinx doctest extension and fix rendering of TDD docs page - -=== 1.0.3391 (2013.05.07) === - - * (2c836c7) Merge pull request #46 from Nemesis7/patch-1[[BR]] - prowl plugin now supports jinja in 'event' option - * (930abc0) Update prowl.py - * (a2a965d) Update prowl.py - * (3c32df9) Update prowl.py[[BR]] - This allows for showing the entry metadata in the 'event' part of a push notification. - -=== 1.0.3390 (2013.05.06) === - - * (2bb3b9a) Revert try_every option to emit_movie_queue, replacement will be implemented in discover plugin - -=== 1.0.3389 (2013.05.05) === - - * (d9b3d31) Add some unit tests for emit_movie_queue - * (887452f) Add try_every option to emit_movie_queue - * (77446d0) Be even more helpful if encountering tabs in config. - * (5f31bec) Removed torrage.ws[[BR]] - - Fixes #2029 - -=== 1.0.3388 (2013.04.28) === - - * (02ab856) Developer documentation. - -=== 1.0.3387 (2013.04.27) === - - * (44c16a8) Series plugin logs verbose when quality requirements are not met. - * (8526ecf) Added developer instructions to Sphinx documentation. - -=== 1.0.3386 (2013.04.15) === - - * (91cbb28) Fix our requests session to properly hand off non http schemas to urllib - -=== 1.0.3385 (2013.04.11) === - - * (47043e5) Make rtorrent_magnet count as an output plugin Make rtorrent_magnet support ~ in paths - -=== 1.0.3384 (2013.04.10) === - - * (a725754) Merge pull request #40 from tpolich/master[[BR]] - New regex input plugin - * (3817e25) Update regexp_parse.py[[BR]] - added some more detail to the description - * (4f054f8) fixed pep8 errors - * (0a225e6) more documenting and added some idea for later work - * (287a122) fixed some docstrings and added class docstring - * (a208d72) removed debugging print - * (ebad7af) fixed more issues with changing regex to regexp - * (891202e) fixed variable name - * (d25b07b) added a lot of docstrings and removed special handling code for url and title entry fields - * (1a8e545) changed config format to differ less between flexget (url and title field) and custom fields - * (aa73783) renamed to regexp_parse.py - * (4a7b62a) new regex based input plugin[[BR]] - added regex input plugin. A more complete offering of what the text plugin currently does. - -=== 1.0.3383 (2013.04.09) === - - * (4760947) add require_all to content_filter validator - -=== 1.0.3382 (2013.04.09) === - - * (f4840d5) add require_all option to content_filter - -=== 1.0.3381 (2013.04.07) === - - * (e11d394) Plugin torrent_alive no longer mangles hostnames with announce[[BR]] - - Fixes #2013 - -=== 1.0.3380 (2013.04.04) === - - * (6766b1c) Remove extra tvdb_ from tvdb_ep_air_date entry field name. fix #2011 - -=== 1.0.3379 (2013.04.03) === - - * (0eef2ea) Add a default timeout for our requests sessions - -=== 1.0.3378 (2013.04.01) === - - * (b52942d) Update kat search plugin for changes they made to fields. Thanks flexam - -=== 1.0.3377 (2013.04.01) === - - * (c0cceb2) Make sure from_transmission doesn't crash when no username/password is provided. - -=== 1.0.3376 (2013.03.31) === - - * (f46050d) Merge pull request #38 from TMaYaD/patch-1[[BR]] - Workaround for http://flexget.com/ticket/2002, http://flexget.com/ticket/1954, http://flexget.com/ticket/1315 - * (ca57933) Workaround for http://flexget.com/ticket/2002 - -=== 1.0.3375 (2013.03.29) === - - * (b167e0c) Move webrip quality above sdtv - -=== 1.0.3374 (2013.03.28) ^[wiki:UpgradeActions#a2013.3.291.0.3374 upgrade actions]^ === - - * (3417c7b) Use with statement for a bunch of file handling - -=== 1.0.3373 (2013.03.28) === - - * (dd45c29) Make exec plugin tests run using sys.executable - * (e6fe1aa) Make sure config_hash is consistent for same config across runs - * (ae3997f) Make sure rtorrent magnet test closes files - * (869ba4f) Fix if plugin to work on pypy - * (d733754) Make sure rss plugin closes files - -=== 1.0.3372 (2013.03.22) === - - * (95dce6f) Only run set plugin on accepted entries - -=== 1.0.3371 (2013.03.20) === - - * (04833c5) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3370 (2013.03.18) === - - * (ba72fb6) Merge pull request #37 from prdatur/master[[BR]] - RapidPush: Update with new channel feature - * (0016ade) Merge branch 'master' of github.com:prdatur/Flexget - * (bf456aa) RapidPush: implemented new broadcast channel feature - * (737d983) RapidPush: implemented new broadcast channel feature - * (48b45d1) Added error checking to notify.show and set timeout to 4 seconds instead of the default of 10[[BR]] - - Added timeout option for setting how long Notifcation lasts - -=== 1.0.3369 (2013.03.14) === - - * (db51cc6) Better error catching, ref #1978 - -=== 1.0.3368 (2013.02.25) === - - * (4b2063c) Make torrentz search fill torrent_info_hash field in created entries - * (a4e7656) Re-enable torcache.net in torrent_cache plugin - -=== 1.0.3367 (2013.02.26) === - - * (d6d158f) Disable zoink.it from torrent_cache - -=== 1.0.3366 (2013.02.26) === - - * (e759127) PEP8 cleanups - -=== 1.0.3365 (2013.02.25) === - - * (a806492) Merge pull request #35 from Redsandro/rewritefix[[BR]] - Torrentz rewriter fixed - * (69a62f8) https removes nag-screen - * (ae38c5b) Torrentz rewriter fixed - -=== 1.0.3364 (2013.02.22) === - - * (61a6229) Add unit tests for series parser with apostrophe & escaping[[BR]] - - Refs #1605 - -=== 1.0.3363 (2013.02.22) === - - * (3334499) Fixes imdb title parsing, online unit tests. - -=== 1.0.3362 (2013.02.22) === - - * (99b663a) Convert html plugin to use requests. refs #1958 - -=== 1.0.3361 (2013.02.22) === - - * (54d502e) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3360 (2013.02.21) === - - * (2417dff) fix #1955 - -=== 1.0.3359 (2013.02.21) === - - * (5a7168d) Convert api_tmdb to requests. May help #1908 - * (bf51e8c) Reminder for SQLAlchemy debugging. - * (dde5be7) Minor transmission plugin cleanups. - * (51fa543) JSON editor changes. Refs #1855. - -=== 1.0.3358 (2013.02.19) === - - * (6077c21) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3357 (2013.02.18) === - - * (12f2c5f) Merge pull request #33 from prdatur/master[[BR]] - Updated output plugin: RapidPush - * (5a48e55) RapidPush: Allow selecting which task states should be notified, changed version, removed test code - * (130f3d4) RapidPush: Allow selecting which task states should be notified - * (dcd36de) RapidPush: Allow selecting which task states should be notified - * (a3487e7) Fixes #1952. Series plugin API method crashed with certain data. - * (3319369) Movie queue cleanups, fixes #1819. - * (dcde891) PEP8 cleanups. - -=== 1.0.3356 (2013.02.18) === - - * (39db723) Plugin `--cli-config` improvements. Fixes #1951. - -=== 1.0.3355 (2013.02.18) === - - * (64e54a6) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3354 (2013.02.15) === - - * (00fbdb5) Merge pull request #32 from dickoff/pushover-multiuser[[BR]] - Add multi-userkey support to pushover plugin - * (0424027) Revert userkeys to userkey, remove excess logging. - * (2370841) Pushover API plugin improvements.[[BR]] - multiple userkey support[[BR]] - custom sound support[[BR]] - better error handling - * (240f37c) Add multi-userkey support to pushover plugin - * (363c97d) Argument --reset-plugin alone will now list all known schemas with details. - * (6ab2caf) Docstring cleanup. - * (449434b) Don't verbose about skipped db cleanup if not executing tasks (ie. cli commands). - -=== 1.0.3353 (2013.02.15) === - - * (471ec5b) SeriesParser unit tests. PEP8 cleanups. - -=== 1.0.3352 (2013.02.14) === - - * (9bca7ab) Update flexget/templates/rss/default.template[[BR]] - Fix rss template for tvdb field name changes. - -=== 1.0.3351 (2013.02.14) === - - * (b844821) Adjustment to --series new_episodes_after to hopefully prevent crash when series or episode is None. - -=== 1.0.3350 (2013.02.13) === - - * (8902002) Some updates to validators to produce better schemas that comply with jsonschema draft 4 - -=== 1.0.3349 (2013.02.14) === - - * (ff2ac60) Bugfix for unconfigured `disable_urlrewriters`. - * (b356536) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3348 (2013.02.12) ^[wiki:UpgradeActions#a2013.2.121.0.3348 upgrade actions]^ === - - * (83cce6b) Remove space from between api keys in rapidpush - * (6e97450) Standardize all tvdb entry fields to start with tvdb_ - -=== 1.0.3347 (2013.02.12) === - - * (f7ddeaa) Make rapidpush plugin accept multiple apikeys as a list - -=== 1.0.3346 (2013.02.12) === - - * (4bd7af9) Merge pull request #31 from prdatur/master[[BR]] - Updated output plugin: RapidPush - * (d701cfc) Merge remote-tracking branch 'fork/master'[[BR]] - Conflicts:[[BR]] - flexget/plugins/output/rapidpush.py - * (2ce6d8f) RapidPush: enhanced code, removed debug stuff - * (f4d017e) RapidPush: implemented support for multiple api keys - * (8aeb9e7) Add new plugin `disable_urlrewriters`.[[BR]] - - This plugin can be used to disable certain urlrewriters,[[BR]] - thus stopping them being considered as viable urlrewrite result. - * (5f7b856) Add new urlrewriter for google results. - * (0ca111a) Fixes RlsLog parsing.[[BR]] - - Results are now google urls, which cannot be used for anything relevant yet. - * (b0d2dab) Hides imdb warning about original title not being found. - * (347cd3c) Fixes torrent_alive unit tests. - * (118d444) Remove imdb_id support from rottentomatoes_lookup.[[BR]] - - Fixes unit tests[[BR]] - - Using imdb_id might have worked with api_key - * (3295961) PEP8 cleanups - * (93dcc4d) Disabled test_myepisodes.py - test account blocked? - * (95000a7) Fixes to imdb uni tests and imdb_lookup enhancements.[[BR]] - - Populates new field `imdb_original_name`[[BR]] - - Database migration - * (4fb5f4b) Add verbose message when creating new database, it takes a while. - * (64d1b19) Minor Sphinx tweak, too long chapter name. - * (317d3dc) PyLint fixes. Use explicitly logger in torrent_scrub, etc - -=== 1.0.3345 (2013.02.10) === - - * (0477be9) PEP8 fixes - * (c7cebc9) Added bunch of git ignores. - -=== 1.0.3344 (2013.02.10) === - - * (2169c1e) PEP8 fixes - -=== 1.0.3343 (2013.02.08) === - - * (f50883f) Add site domain to rss plugin saved error pages. refs #1929 - -=== 1.0.3342 (2013.02.08) === - - * (0aa6db9) Transmission pathscrub crash, encode to UTF-8 later.[[BR]] - - Refs #1935 - * (e7f8f93) PEP8 fixes - -=== 1.0.3341 (2013.02.07) === - - * (30355ee) Use tmdb posters in rss feed if possible - -=== 1.0.3340 (2013.02.07) === - - * (1aad79d) Actually render the fallback description... - -=== 1.0.3339 (2013.02.06) === - - * (a512d4f) trying to fix notify exit code - -=== 1.0.3338 (2013.02.06) === - - * (3b165d6) Update README[[BR]] - Remove reference to svn.[[BR]] - Update Windows config location. - -=== 1.0.3337 (2013.02.06) === - - * (16e7ee0) Use <p> and <strong> instead of <br> and <b> for rss templating - -=== 1.0.3336 (2013.02.06) === - - * (9f443a5) Add Notify-osd option for linux based systems - -=== 1.0.3335 (2013.02.04) === - - * (455a03a) Allow new plugins to be loaded after manager has started. Fix external plugin loading unit test. - * (ee27329) Add a unit test for plugin loading from external directories. - -=== 1.0.3334 (2013.02.04) ^[wiki:UpgradeActions#a2013.2.41.0.3334 upgrade actions]^ === - - * (576d820) Set default for rss plugin all_entries option to true. - -=== 1.0.3333 (2013.02.04) === - - * (46974fc) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3332 (2013.02.04) === - - * (fa11740) Move priority of all notification outputs to last. - * (828c90f) History plugin enhancements.[[BR]] - - Argument --history now accepts optional number of entries to show. Fixes #1272[[BR]] - - History plugin can now be disabled with 'history: no' - -=== 1.0.3331 (2013.02.04) === - - * (c79e8b2) Normalize line endings. - -=== 1.0.3330 (2013.02.04) === - - * (c27e924) Added .gitattributes to deal with line endings.[[BR]] - - https://help.github.com/articles/dealing-with-line-endings - -=== 1.0.3329 (2013.02.04) === - - * (1e88d82) Fix priority on pushover - -=== 1.0.3328 (2013.02.04) === - - * (5a10a23) Cleanups for plugin.py - * (a5b60fa) Minor improvements for rss template. - -=== 1.0.3327 (2013.02.04) === - - * (ffec699) Change pushover priority to last to prevent repeated messages due to failing plugins - -=== 1.0.3326 (2013.02.04) === - - * (cd4f492) Add error handling to description rendering - -=== 1.0.3325 (2013.02.03) === - - * (e407000) Fix torrent_scrub dependency loading - * (48830f5) Refactor plugin loading code. - -=== 1.0.3324 (2013.02.03) === - - * (f452f4e) Removed a bunch of import * - -=== 1.0.3323 (2013.02.02) === - - * (a727d3e) Add filename argument to pathscrub utility. Move plugin now replaces path separators from filenames. fix #1911 - -=== 1.0.3322 (2013.02.02) === - - * (5af06c2) Remove git calls in --version - -=== 1.0.3321 (2013.02.02) === - - * (c0450c4) Minor tweaks to imdb_list and make_rss. - -=== 1.0.3320 (2013.02.02) === - - * (9fa8f93) Cleanups to failed preset merging. - * (2d8d1f9) Fixing issues with make_rss[[BR]] - - Restore configuration 'title' default back to using 'task' variable as string.[[BR]] - - Renamed metainfo feed to task - * (5ef9b86) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3319 (2013.02.02) === - - * (b5f3a98) Switch to a cleaner method of getting version number from server. - -=== 1.0.3318 (2013.02.01) === - - * (11ca52c) Tweak --version a bit more. - -=== 1.0.3317 (2013.02.01) === - - * (7e463d2) Fix bug with {{task}} in jinja templates. - -=== 1.0.3316 (2013.02.01) === - - * (fbedb3b) Merge --check-version into --version - -=== 1.0.3315 (2013.02.01) === - - * (fa954e8) Add note to run git fetch when using --version from a git clone. - * (ae580fb) Add --check-version to see if you are on latest release. - -=== 1.0.3314 (2013.02.01) === - - * (0a9914e) Merge pull request #28 from prdatur/master[[BR]] - Added output plugin: RapidPush - * (a722648) Plugin RapidPush: Fixed invalid tabs, shorten line - * (1a76aad) Add output plugin: RapidPush - * (0e823a2) Let requests do the decoding of imdb pages. - * (40c651b) PEP8 cleanups - -=== 1.0.3313 (2013.02.01) === - - * (ae55b77) Fixes crash with imdb mpaa rating parsing.[[BR]] - - Fixes #1919 - -=== 1.0.3312 (2013.02.01) === - - * (817f81d) Merge branch 'master' of https://github.com/Flexget/Flexget - * (81e335d) Merge pull request #27 from crawln45/master[[BR]] - pep8 errors - * (c2e89a5) Merge branch 'fixing' - * (9462676) pep8 corrections - * (a90db70) Fixes crash in make_rss, minor cleanups. - * (f65d703) Create build directories in paver docs task. - -=== 1.0.3311 (2013.01.31) === - - * (9203cbc) Add some better failure messages for online tests. - -=== 1.0.3310 (2013.01.31) === - - * (6dcfdba) Update the test torrent. Enable remove_trackers test. - -=== 1.0.3309 (2013.01.31) === - - * (093cfc8) Merge pull request #26 from crawln45/master[[BR]] - code cleanup - * (5ef2f20) Merge remote-tracking branch 'flexget/master' - -=== 1.0.3308 (2013.01.31) === - - * (82e7be2) Disable online tests for travis - * (606a42d) Merge remote-tracking branch 'flexget/master' - -=== 1.0.3307 (2013.01.31) === - - * (7aed491) Mark imdb parser test as online. - * (9fe7b76) Fix imdb director and mpaa rating parsing. Add a separate test for imdb parser. - * (3699e20) Remove !online parameter for nosetests in setup.cfg - * (b589ba0) Code Cleanup - * (03b4c48) pep8 error - -=== 1.0.3306 (2013.01.31) === - - * (b400d1a) Merge pull request #25 from crawln45/master2[[BR]] - Added rtorrent_magnet and tests - * (4263d09) Added rtorrent_magnet and tests - -=== 1.0.3305 (2013.01.31) === - - * (cc59f6d) Merge pull request #24 from shockwaver/imdb[[BR]] - update for MPAA scraping, remove test in test_imdb - * (7e3802e) fix missing MPAA and update test_imdb.py[[BR]] - fixes MPAA scraping and removes invalid test from test_imdb.py language[[BR]] - test - * (58e9c4f) Added Scripts/ to .gitignore - * (2b88fb5) Merge remote-tracking branch 'upstream/master' - -=== 1.0.3304 (2013.01.31) === - - * (8bad5a4) Fix imdb parsing for genres and actors. - -=== 1.0.3303 (2013.01.31) === - - * (73627a7) Few more pep8 cleanups. - -=== 1.0.3302 (2013.01.31) === - - * (8f69706) Removed couple accidentally added files. - -=== 1.0.3301 (2013.01.30) === - - * (0f402e2) Merge pull request #22 from crawln45/master[[BR]] - code cleanup - * (551cbbb) removing autogenerated folder - * (a2205ac) Removed Logs - * (de05e49) PEP8 errors just for Paranoidi - -=== 1.0.3300 (2013.01.30) === - - * (47f2ea1) Merge pull request #21 from StunMan/master[[BR]] - Added nzbget output plugin - * (bc8d119) nzbget output plugin with category, priority and add to top functionality - -=== 1.0.3299 (2013.01.30) === - - * (1580fbe) Small cleanups to torrent_alive - -=== 1.0.3298 (2013.01.30) === - - * (18ce131) Merge pull request #19 from crawln45/master[[BR]] - adding UDP scraping to torrent_alive - * (08f7698) fixed pep8 errors - * (ec39dda) fixed pep8 errors - * (83aff47) Removed unnecessary comments - * (7eb58b4) Added parsing for announcement set for http only - * (22dd546) added udp scraping to tracker_alive - -=== 1.0.3297 (2013.01.30) === - - * (e3815dc) Merge pull request #20 from shockwaver/master[[BR]] - update parsing for rating and language from IMDB. Fixes #1853 - * (428ed96) Few more pep8 cleanups. - * (7495247) Removed couple accidentally added files. - * (1136280) removing autogenerated folder - * (2dfa1cf) Removed Logs - * (37b8908) PEP8 errors just for Paranoidi - * (cb9cdad) nzbget output plugin with category, priority and add to top functionality - * (3bdd365) Small cleanups to torrent_alive - * (7aeed7f) fixed pep8 errors - * (5e24f42) fixed pep8 errors - * (a135308) Removed unnecessary comments - * (8f75182) Added parsing for announcement set for http only - * (ef99012) added udp scraping to tracker_alive - * (913dce2) fix parsing for rating and language on IMDB - fixes #1853 - -=== 1.0.3296 (2013.01.29) === - - * (c0bbe79) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3295 (2013.01.28) === - - * (791344d) Merge pull request #18 from shockwaver/urlrewrite_torrentleech[[BR]] - added urlrewrite_torrentleech - * (e76bf18) removed boolean root validator, pep8 formatting - * (a1c388d) added urlrewrite_torrentleech[[BR]] - Allows the use of torrentleech as a search engine in discover/search - * (0113a74) Fix template - -=== 1.0.3294 (2013.01.28) === - - * (a3ec0e5) add db-config.sqlite, flexget.log and flexget.log.offset to .gitignore - -=== 1.0.3293 (2013.01.28) === - - * (bfab0c6) Use join to merge genres, actors and guest stars Don't add entry title to series by default, it's in the feed title anyway - -=== 1.0.3292 (2013.01.26) === - - * (5369b0e) Merge branch 'master' of https://github.com/Flexget/Flexget - -=== 1.0.3291 (2013.01.25) === - - * (131d05f) Fix response status code reason for spy_headers from last commit. - -=== 1.0.3290 (2013.01.25) === - - * (02fb343) Add requests support to spy_headers plugin. - * (9496455) Show entry title always, more IMDb info, add line change after series/movie title - * (1097941) Fix extraneous newlines in pushover plugin output - -=== 1.0.3289 (2013.01.25) === - - * (62c8064) Use an external, configurable, template file for rss description - * (28ba9e0) Use a smarter way of figuring out the best title for pushover and rss - -=== 1.0.3288 (2013.01.24) === - - * (bab1509) Use Jinja templates for rss output Improved default title and description - -=== 1.0.3287 (2013.01.24) === - - * (3c39171) Better default templates for pushover - -=== 1.0.3286 (2013.01.23) === - - * (ae1d1cb) Fix webui issue with unicode literals. - * (da10b31) Fix systray icon creation on windows webui. - -=== 1.0.3285 (2013.01.22) === - - * (cd48d42) Handle HTTP errors (mostly 404) when fetching trailer pages - -=== 1.0.3284 (2013.01.18) === - - * (53f1a6c) Add config.yml to gitignore - * (71a25df) Fix mpaa rating scraping for imdb. Add unit tests for imdb mpaa scraping. Re-enable imdb directors test. - -=== 1.0.3283 (2013.01.18) === - - * (99d1467) Replace reference to subversion with git. Attempt to get current checkout version with -V when on git install. - -=== 1.0.3282 (2013.01.17) === - - * (6f32040) Merge pull request #16 from shtimn/master[[BR]] - Correct checking config file with non ascii chars. - * (07f52db) Patched only Instance, not class. - * (bdef843) Revamp test for finding loading and pre checking config file. - * (15ebc54) Merge remote-tracking branch 'upstream/master'[[BR]] - Conflicts:[[BR]] - flexget/manager.py - * (773ff95) Relative import ui plugins. - * (a692aff) Correct checking config file with non ascii chars. - * (b63a718) Write test for capability to check config file with non ascii chars. - * (307d31b) Fix setting config_name when init MockManager. - -=== 1.0.3281 (2013.01.16) === - - * (dbb4066) Movie parser works with releases with leading junk in brackets. fix #1893, #1781 - * (e1f7561) Add .idea/ to gitignore diff --git a/abs/extra/flexget/PKGBUILD b/abs/extra/flexget/PKGBUILD deleted file mode 100644 index 6c31358..0000000 --- a/abs/extra/flexget/PKGBUILD +++ /dev/null @@ -1,93 +0,0 @@ -# Maintainer: S. Leduc <sebastien@sleduc.fr> -# Contributor: Amr Hassan <amr.hassan@gmail.com> -# Contributor: Nathan Owe <ndowens.aur at gmail dot com> -# Contributor: G. Richard Bellamy <rbellamy@pteradigm.com> - -pkgname=flexget -_pkgname=Flexget -pkgver=2.10.48 -pkgrel=1 - -pkgdesc="Automate downloading or processing content (torrents, podcasts, etc.) from different sources like RSS-feeds, html-pages, various sites and more." - -arch=('any') -url="http://flexget.com/" -license=('MIT') - -depends=('python2' - # documented in FlexGet.egg-info/requires.txt - 'python2-feedparser' - 'python2-sqlalchemy' - 'python2-yaml' - 'python2-beautifulsoup4' - 'python2-html5lib' - 'python2-pyrss2gen' #AUR# - 'python2-pynzb' #AUR# - 'python2-rpyc' #AUR# - 'python2-jinja' - 'python2-requests' - 'python2-dateutil' - 'python2-jsonschema' - 'python2-path' #AUR# - 'python2-guessit>=2.1.2' - 'python2-apscheduler>=3.2.0' #AUR# - 'python2-terminaltables' - 'python2-colorclass' - 'python2-pytvmaze>=1.4.8' #AUR# - 'python2-ordereddict' - 'python2-cherrypy>=3.7.0' - 'python2-flask' - 'python2-flask-restful' #AUR# - 'python2-flask-restplus086' #AUR# - 'python2-flask-compress' - 'python2-flask-login>=0.3.2' - 'python2-flask-cors>=2.1.2' - 'python2-pyparsing>=2.0.3' - 'python2-future' - 'python2-zxcvbn' - ) -optdepends=('python2-guppy: for memusage plugin' #AUR# - 'python2-transmissionrpc: Transmission support' #AUR# - 'python2-rarfile: decompress plugin' #AUR# - ) -makedepends=('python2-paver' - 'python2-setuptools' - ) - -source=("https://github.com/Flexget/Flexget/archive/${pkgver}.tar.gz" - 'flexget.service' - "http://download.flexget.com/ChangeLog" - "fix_guessit_2.1.2.patch" - ) - -changelog=ChangeLog - -sha256sums=('fe7024b516030f869189ff87afcaee09b31c34516c44346514715bf41e988f6f' - 'e2c3a958ed0c286337cd37fba1d6cbdf4306c57fcddf2b9cc43615ce80ae83aa' - 'dcc1bc676b8c2b798fa9a7e0ed2b6853323e9e9d8ff696696dddeaf29cbc13d6' - '8246a4cbdb902d41379c8c4e6045da349c98428adefaf682aff0413b8b8969f7') - -prepare() { - cd "${_pkgname}"-"${pkgver}" - - msg "Patching shebangs to point to python2" - sed -i 's/\(python\)/\12/' flexget{,/ui}/__init__.py - - patch -p0 < ${srcdir}/fix_guessit_2.1.2.patch - -} - -package() { - cd "${_pkgname}"-"${pkgver}" - - # Python setup - python2 setup.py install --root="${pkgdir}"/ --prefix=/usr --optimize=1 - - # License - install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/"${pkgname}"/LICENSE - - # install systemd user unit - install -Dm644 ../flexget.service "${pkgdir}"/usr/lib/systemd/user/flexget.service -} - -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/flexget/fix_guessit_2.1.2.patch b/abs/extra/flexget/fix_guessit_2.1.2.patch deleted file mode 100644 index 52b4aa6..0000000 --- a/abs/extra/flexget/fix_guessit_2.1.2.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- requirements.txt 2016-06-14 08:12:16.000000000 +0200 -+++ requirements.txt.new 2017-05-21 11:24:39.718303562 +0200 -@@ -17,7 +17,7 @@ - jsonschema>=2.0 - path.py>=8.1.1 - pathlib>=1.0 --guessit<=2.0.4 -+guessit>=2.1.2 - apscheduler>=3.2.0 - # WebUI Requirements - cherrypy>=3.7.0 diff --git a/abs/extra/flexget/flexget.service b/abs/extra/flexget/flexget.service deleted file mode 100644 index 924e0aa..0000000 --- a/abs/extra/flexget/flexget.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description = FlexGet Daemon -After = network.target - -[Service] -Type=simple -RemainAfterExit=yes -ExecStart = /usr/bin/flexget daemon start -ExecStop = /usr/bin/flexget daemon stop -ExecReload = /usr/bin/flexget daemon reload -KillMode=process - -[Install] -WantedBy = default.target diff --git a/abs/extra/gamin/0001-Poll-files-on-nfs4.patch b/abs/extra/gamin/0001-Poll-files-on-nfs4.patch new file mode 100644 index 0000000..f776732 --- /dev/null +++ b/abs/extra/gamin/0001-Poll-files-on-nfs4.patch @@ -0,0 +1,27 @@ +From b92b17ecced6df463da73d6de566740cf5cd00d4 Mon Sep 17 00:00:00 2001 +From: Marek Kasik <mkasik@redhat.com> +Date: Fri, 1 Feb 2013 15:19:58 +0100 +Subject: [PATCH 1/2] Poll files on nfs4 + +Add nfs4 among polled filesystems. + +https://bugzilla.gnome.org/show_bug.cgi?id=693006 +--- + server/gam_fs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/server/gam_fs.c b/server/gam_fs.c +index c8ca704..143a603 100644 +--- a/server/gam_fs.c ++++ b/server/gam_fs.c +@@ -178,6 +178,7 @@ gam_fs_init (void) + gam_fs_set ("reiserfs", GFS_MT_DEFAULT, 0); + gam_fs_set ("novfs", GFS_MT_POLL, 30); + gam_fs_set ("nfs", GFS_MT_POLL, 5); ++ gam_fs_set ("nfs4", GFS_MT_POLL, 5); + if (stat("/etc/mtab", &mtab_sbuf) != 0) + { + GAM_DEBUG(DEBUG_INFO, "Could not stat /etc/mtab\n"); +-- +1.8.1.2 + diff --git a/abs/extra/gamin/18_gam_server_deadlocks.patch b/abs/extra/gamin/18_gam_server_deadlocks.patch new file mode 100644 index 0000000..ef77496 --- /dev/null +++ b/abs/extra/gamin/18_gam_server_deadlocks.patch @@ -0,0 +1,70 @@ +From cc14440eface093548cb3bc7814da11d9a99d283 Mon Sep 17 00:00:00 2001 +From: Anssi Hannula <anssi@mageia.org> +Date: Wed, 4 Jan 2012 00:23:55 +0200 +Subject: [PATCH] fix possible server deadlock in ih_sub_cancel + +ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked. +However, ih_sub_cancel() locks it again, and locking GMutex recursively +causes undefined behaviour. + +Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach() +is its only user. Also make the function static so that it won't +accidentally get used by other files without locking (inotify-helper.h +is an internal server header). + +This should fix the intermittent deadlocks I've been experiencing +causing KDE applications to no longer start, and probably also +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361 + +Origin: http://bugzilla-attachments.gnome.org/attachment.cgi?id=204537 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gamin/+bug/926862 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361 + +--- + server/inotify-helper.c | 7 ++----- + server/inotify-helper.h | 1 - + 2 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/server/inotify-helper.c b/server/inotify-helper.c +index d77203e..0789fa4 100644 +--- a/server/inotify-helper.c ++++ b/server/inotify-helper.c +@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub) + + /** + * Cancels a subscription which was being monitored. ++ * inotify_lock must be held when calling. + */ +-gboolean ++static gboolean + ih_sub_cancel (ih_sub_t * sub) + { +- G_LOCK(inotify_lock); +- +- + if (!sub->cancelled) + { + IH_W("cancelling %s\n", sub->pathname); +@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub) + sub_list = g_list_remove (sub_list, sub); + } + +- G_UNLOCK(inotify_lock); + return TRUE; + } + +diff --git a/server/inotify-helper.h b/server/inotify-helper.h +index 5d3b6d0..d36b5fd 100644 +--- a/server/inotify-helper.h ++++ b/server/inotify-helper.h +@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb, + found_callback_t fcb); + gboolean ih_running (void); + gboolean ih_sub_add (ih_sub_t *sub); +-gboolean ih_sub_cancel (ih_sub_t *sub); + + /* Return FALSE from 'f' if the subscription should be cancelled */ + void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata)); +-- +1.7.7.2 + diff --git a/abs/extra/gamin/PKGBUILD b/abs/extra/gamin/PKGBUILD new file mode 100644 index 0000000..495eab4 --- /dev/null +++ b/abs/extra/gamin/PKGBUILD @@ -0,0 +1,53 @@ +# $Id$ +# Maintainer: +# Contributor: Abhishek Dasgupta <abhidg@gmail.com> +# Contributor: Pulphix <crimea.v@libero.it> + +pkgname=gamin +pkgver=0.1.10 +pkgrel=8 +pkgdesc='File and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor)' +url='http://www.gnome.org/~veillard/gamin' +license=('GPL') +arch=('x86_64') +depends=('glib2') +makedepends=('python2') +optdepends=('python2: for the python module') +provides=('fam') +conflicts=('fam') +source=("$url/sources/${pkgname}-${pkgver}.tar.gz" + 'fix-deprecated-const.patch' + '18_gam_server_deadlocks.patch' + '0001-Poll-files-on-nfs4.patch') +md5sums=('b4ec549e57da470c04edd5ec2876a028' + 'f679aeb48fe9dd376c8828cc9b6941ab' + '4784359a3206bfa3c0dce1c23468f87f' + '6711cd0b1e8d2ad038c5761715d084a5') + +prepare() { + cd $pkgname-$pkgver + + # https://bugs.archlinux.org/task/33642 + patch -Np1 -i ../18_gam_server_deadlocks.patch + + patch -Np1 -i ../fix-deprecated-const.patch + patch -Np1 -i ../0001-Poll-files-on-nfs4.patch + + # python 2 + sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' python/gamin.py +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static --with-threads \ + --disable-debug-api --disable-debug --libexecdir=/usr/lib/gamin \ + --with-python=/usr/bin/python2 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/gamin/fix-deprecated-const.patch b/abs/extra/gamin/fix-deprecated-const.patch new file mode 100644 index 0000000..3d5f613 --- /dev/null +++ b/abs/extra/gamin/fix-deprecated-const.patch @@ -0,0 +1,56 @@ +Description: Don't use deprecated G_CONST_RETURN. Fixes building with newer glib versions. +Author: Matthias Klose <doko@ubuntu.com> +Bug-Ubuntu: https://launchpad.net/bugs/829504 + +Index: gamin/server/gam_node.c +=================================================================== +--- gamin.orig/server/gam_node.c 2011-10-18 16:09:04.873780685 +0200 ++++ gamin/server/gam_node.c 2011-10-18 16:09:01.965780543 +0200 +@@ -122,7 +122,7 @@ + * it has finished with the string. If it must keep it longer, it + * should makes its own copy. The returned string must not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_node_get_path(GamNode * node) + { + g_assert(node); +Index: gamin/server/gam_node.h +=================================================================== +--- gamin.orig/server/gam_node.h 2011-10-18 16:09:04.729780677 +0200 ++++ gamin/server/gam_node.h 2011-10-18 16:09:01.961780544 +0200 +@@ -58,7 +58,7 @@ + void gam_node_set_is_dir (GamNode *node, + gboolean is_dir); + +-G_CONST_RETURN char *gam_node_get_path (GamNode *node); ++const char *gam_node_get_path (GamNode *node); + + GList *gam_node_get_subscriptions (GamNode *node); + +Index: gamin/server/gam_subscription.c +=================================================================== +--- gamin.orig/server/gam_subscription.c 2011-10-18 16:09:04.817780682 +0200 ++++ gamin/server/gam_subscription.c 2011-10-18 16:09:01.965780543 +0200 +@@ -141,7 +141,7 @@ + * @param sub the GamSubscription + * @returns The path being monitored. It should not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_subscription_get_path(GamSubscription * sub) + { + if (sub == NULL) +Index: gamin/server/gam_subscription.h +=================================================================== +--- gamin.orig/server/gam_subscription.h 2011-10-18 16:09:04.929780687 +0200 ++++ gamin/server/gam_subscription.h 2011-10-18 16:09:01.965780543 +0200 +@@ -21,7 +21,7 @@ + + int gam_subscription_get_reqno (GamSubscription *sub); + +-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub); ++const char *gam_subscription_get_path (GamSubscription *sub); + + GamListener *gam_subscription_get_listener (GamSubscription *sub); + diff --git a/abs/extra/gcr/10-gcr.conf b/abs/extra/gcr/10-gcr.conf new file mode 100644 index 0000000..0394220 --- /dev/null +++ b/abs/extra/gcr/10-gcr.conf @@ -0,0 +1,3 @@ +@users - memlock 1024 + +# vim:set ft=limits: diff --git a/abs/extra/gcr/PKGBUILD b/abs/extra/gcr/PKGBUILD new file mode 100644 index 0000000..88dc868 --- /dev/null +++ b/abs/extra/gcr/PKGBUILD @@ -0,0 +1,59 @@ +# $Id$ +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgname=gcr +pkgver=3.20.0+55+g470bf4c +pkgrel=1 +pkgdesc="A library for bits of crypto UI and parsing" +url="https://git.gnome.org/browse/gcr" +arch=(x86_64) +license=(GPL2) +depends=(dconf gtk3 libgcrypt p11-kit) +makedepends=(intltool gobject-introspection python vala libxslt gnome-common git) +checkdepends=(python2) +_commit=470bf4c073de6d2718c84b00f0bc4bd4812160ad # master +source=("git+https://git.gnome.org/browse/gcr#commit=$_commit" + 10-gcr.conf) +sha256sums=('SKIP' + '5f2eda7175ae9f23ee0e09d2beceb24fd2f6daafd7bddfcc1c1f5a3734eb60fc') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + mkdir path + ln -s /usr/bin/python2 path/python + cd $pkgname + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/gcr \ + --enable-gtk-doc \ + --disable-static \ + --disable-update-mime \ + --disable-schemas-compile + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname + PATH="$srcdir/path:$PATH" dbus-run-session make -k check || : +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install + + # gcr wants to lock some memory to prevent swapping out private keys + # https://bugs.archlinux.org/task/32616 + # https://bugzilla.gnome.org/show_bug.cgi?id=688161 + install -Dm644 ../10-gcr.conf "$pkgdir/etc/security/limits.d/10-gcr.conf" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/gd/PKGBUILD b/abs/extra/gd/PKGBUILD index 75242e6..f0337ba 100644 --- a/abs/extra/gd/PKGBUILD +++ b/abs/extra/gd/PKGBUILD @@ -2,16 +2,17 @@ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=gd -pkgver=2.2.3 -pkgrel=3 +pkgver=2.2.5 +pkgrel=1 pkgdesc="Library for the dynamic creation of images by programmers" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.libgd.org/" license=('custom') depends=('fontconfig' 'libxpm' 'libwebp') optdepends=('perl: bdftogd script') +checkdepends=('ttf-liberation') source=("https://github.com/libgd/libgd/releases/download/gd-${pkgver}/libgd-${pkgver}.tar.xz") -md5sums=('14e4134c129b4c166c3a0549a32ef340') +md5sums=('8d8d6a6189513ecee6e893b1fb109bf8') build() { cd libgd-${pkgver} @@ -23,7 +24,8 @@ build() { check() { cd libgd-${pkgver} - [[ ${CARCH} == 'i686' ]] || make check + # see https://github.com/libgd/libgd/issues/302 + [[ ${CARCH} == 'i686' ]] || FREETYPE_PROPERTIES='truetype:interpreter-version=35' make check } package() { diff --git a/abs/extra/geoip/PKGBUILD b/abs/extra/geoip/PKGBUILD index 8e75a5e..806016a 100644 --- a/abs/extra/geoip/PKGBUILD +++ b/abs/extra/geoip/PKGBUILD @@ -1,24 +1,29 @@ -# $Id: PKGBUILD 158109 2012-05-03 01:01:32Z foutrelis $ -# Maintainer: Dan McGee <dan@archlinux.org> +# $Id$ +# Maintainer: Juergen Hoetzel <juergen@archlinux.org> # Contributor: Manolis Tzanidakis <manolis@archlinux.org> pkgname=geoip -pkgver=1.4.8 -pkgrel=2 +pkgver=1.6.11 +pkgrel=1 pkgdesc="Non-DNS IP-to-country resolver C library & utils" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.maxmind.com/app/c" license=('GPL') depends=('zlib' 'geoip-database') -backup=('etc/geoip/GeoIP.conf') -options=('!libtool' '!emptydirs') -source=(http://www.maxmind.com/download/geoip/api/c/GeoIP-$pkgver.tar.gz) -sha256sums=('cf0f6b2bac1153e34d6ef55ee3851479b347d2b5c191fda8ff6a51fab5291ff4') +optdepends=('geoip-database-extra: city/ASN databases (not needed for country lookups)') +makedepends=('autoconf' 'libtool') +options=('!emptydirs') +source=($pkgname-$pkgver.tar.gz::https://github.com/maxmind/${pkgname}-api-c/archive/v${pkgver}.tar.gz) +sha256sums=('8859cb7c9cb63e77f4aedb40a4622024359b956b251aba46b255acbe190c34e0') + +prepare() { + cd geoip-api-c-$pkgver + ./bootstrap +} build() { - cd "$srcdir/GeoIP-$pkgver" + cd geoip-api-c-$pkgver - autoreconf -vi ./configure \ --prefix=/usr \ --mandir=/usr/share/man \ @@ -26,18 +31,9 @@ build() { make } -check() { - cd "$srcdir/GeoIP-$pkgver" - make check -} - package() { - cd "$srcdir/GeoIP-$pkgver" - + cd geoip-api-c-$pkgver make DESTDIR="$pkgdir" install - - # country database is provided by geoip-database - rm "$pkgdir/usr/share/GeoIP/GeoIP.dat" } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD index c762f95..024b137 100644 --- a/abs/extra/git/PKGBUILD +++ b/abs/extra/git/PKGBUILD @@ -1,14 +1,16 @@ # $Id$ +# Maintainer: Christian Hesse <mail@eworm.de> # Maintainer: Dan McGee <dan@archlinux.org> pkgname=git -pkgver=2.5.3 +pkgver=2.16.2 pkgrel=1 pkgdesc="the fast distributed version control system" -arch=(i686 x86_64) +arch=(x86_64) url="http://git-scm.com/" license=('GPL2') -depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre') +depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre2' + 'grep' 'shadow') makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc') optdepends=('tk: gitk and git gui' 'perl-libwww: git svn' @@ -16,40 +18,43 @@ optdepends=('tk: gitk and git gui' 'perl-mime-tools: git send-email' 'perl-net-smtp-ssl: git send-email TLS support' 'perl-authen-sasl: git send-email TLS support' + 'perl-mediawiki-api: git mediawiki support' + 'perl-datetime-format-iso8601: git mediawiki support' + 'perl-lwp-protocol-https: git mediawiki https support' + 'perl-cgi: gitweb (web interface) support' 'python2: various helper scripts' 'subversion: git svn' - 'cvsps2: git cvsimport' 'gnome-keyring: GNOME keyring credential helper') replaces=('git-core') provides=('git-core') install=git.install -source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz" - "https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.sign" - git-daemon@.service - git-daemon.socket) -md5sums=('e69b41f2d0a93f3d3dc5eb19196e4e5c' - 'SKIP' - '042524f942785772d7bd52a1f02fe5ae' - 'f67869315c2cc112e076f0c73f248002') validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano - -prepare() { - cd "$srcdir/$pkgname-$pkgver" -} +source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign} + 'git-daemon@.service' + 'git-daemon.socket' + 'git-sysusers.conf') +sha256sums=('5560578bd21468d98637f41515c165d32f69caff0838b8989dee5ce10022c717' + 'SKIP' + '14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91' + 'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203' + '595794856bfa6087c33826640ae7b5447832233844f36dfedc18646d47154730') build() { export PYTHON_PATH='/usr/bin/python2' cd "$srcdir/$pkgname-$pkgver" make prefix=/usr gitexecdir=/usr/lib/git-core \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ - USE_LIBPCRE=1 \ + USE_LIBPCRE2=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ MAN_BOLD_LITERAL=1 \ all doc make -C contrib/emacs prefix=/usr make -C contrib/credential/gnome-keyring + make -C contrib/credential/libsecret make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc + make -C contrib/mw-to-git prefix=/usr all + make -C contrib/diff-highlight prefix=/usr } check() { @@ -58,9 +63,13 @@ check() { local jobs jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true mkdir -p /dev/shm/git-test + # explicitly specify SHELL to avoid a test failure in t/t9903-bash-prompt.sh + # which is caused by 'git rebase' trying to use builduser's SHELL inside the + # build chroot (i.e.: /usr/bin/nologin) + SHELL=/bin/sh \ make prefix=/usr gitexecdir=/usr/lib/git-core \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ - USE_LIBPCRE=1 \ + USE_LIBPCRE2=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ MAN_BOLD_LITERAL=1 \ NO_SVN_TESTS=y \ @@ -75,41 +84,53 @@ package() { cd "$srcdir/$pkgname-$pkgver" make prefix=/usr gitexecdir=/usr/lib/git-core \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ - USE_LIBPCRE=1 \ + USE_LIBPCRE2=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ MAN_BOLD_LITERAL=1 \ INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc # bash completion mkdir -p "$pkgdir"/usr/share/bash-completion/completions/ - install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git + install -m 0644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git # fancy git prompt mkdir -p "$pkgdir"/usr/share/git/ - install -m644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh + install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh # emacs make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install # gnome credentials helper - install -m755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \ + install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \ "$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring make -C contrib/credential/gnome-keyring clean + # libsecret credentials helper + install -m 0755 contrib/credential/libsecret/git-credential-libsecret \ + "$pkgdir"/usr/lib/git-core/git-credential-libsecret + make -C contrib/credential/libsecret clean # subtree installation make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc + # mediawiki installation + make -C contrib/mw-to-git prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install # the rest of the contrib stuff + find contrib/ -name '.gitignore' -delete cp -a ./contrib/* $pkgdir/usr/share/git/ # scripts are for python 2.x sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \ $(find "$pkgdir" -name '*.py') \ - "$pkgdir"/usr/share/git/gitview/gitview \ "$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \ "$pkgdir"/usr/share/git/remote-helpers/git-remote-hg sed -i 's|#![ ]*/usr/bin/python$|#!/usr/bin/python2|' \ "$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py + # perl modules from contrib/ install to site dir... move to vendor + mv "$pkgdir"/usr/share/perl5/site_perl/Git/* "$pkgdir"/usr/share/perl5/vendor_perl/Git/ + rm -rf "$pkgdir"/usr/share/perl5/site_perl # remove perllocal.pod, .packlist, and empty directories. rm -rf "$pkgdir"/usr/lib/perl5 # git-daemon via systemd socket activation - install -D -m 644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service - install -D -m 644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket + install -D -m 0644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service + install -D -m 0644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket + + # sysusers file + install -D -m 0644 "$srcdir"/git-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/git.conf } diff --git a/abs/extra/git/git-daemon@.service b/abs/extra/git/git-daemon@.service index 55ca714..70e0dca 100644 --- a/abs/extra/git/git-daemon@.service +++ b/abs/extra/git/git-daemon@.service @@ -8,3 +8,7 @@ ExecStart=-/usr/lib/git-core/git-daemon --inetd --export-all --base-path=/srv/gi StandardInput=socket StandardOutput=inherit StandardError=journal +ProtectSystem=full +ProtectHome=on +PrivateDevices=on +NoNewPrivileges=on diff --git a/abs/extra/git/git-sysusers.conf b/abs/extra/git/git-sysusers.conf new file mode 100644 index 0000000..2141c70 --- /dev/null +++ b/abs/extra/git/git-sysusers.conf @@ -0,0 +1 @@ +u git - "git daemon user" / diff --git a/abs/extra/git/git.install b/abs/extra/git/git.install index 064eda0..24bc5d7 100644 --- a/abs/extra/git/git.install +++ b/abs/extra/git/git.install @@ -1,12 +1,21 @@ +#!/bin/sh + post_install() { - if ! getent group git >/dev/null; then - groupadd --system git - fi - if ! getent passwd git >/dev/null; then - useradd --system -c 'git daemon user' -g git -d / -s /bin/bash git + # make git-shell a valid shell + if ! grep -qe '^/usr/bin/git-shell$' etc/shells; then + echo '/usr/bin/git-shell' >> etc/shells fi + + # make sure the user exists... + systemd-sysusers git.conf + + # ... and change the shell. This is done only once in post-install + # function, so an administrative change is persistent. + chsh --shell /usr/bin/git-shell git > /dev/null } -post_upgrade() { - post_install $1 +# do not modify user settings (shell) in post-upgrade function! + +post_remove() { + sed -i -r '/^\/usr\/bin\/git-shell$/d' etc/shells } diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD index 5899c42..603a73c 100644 --- a/abs/extra/google-chrome/PKGBUILD +++ b/abs/extra/google-chrome/PKGBUILD @@ -5,16 +5,17 @@ # 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=64.0.3282.140 +pkgver=66.0.3359.181 pkgrel=1 pkgdesc="The popular and trusted web browser by Google (Stable Channel)" arch=('x86_64') url="https://www.google.com/chrome" license=('custom:chrome') -depends=('alsa-lib' 'gconf' 'gtk2' 'libxss' 'libxtst' 'nss') +depends=('alsa-lib' 'gtk3' 'libcups' 'libxss' 'libxtst' 'nss') optdepends=('kdialog: for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' 'kwallet: for storing passwords in KWallet' + 'gtk3-print-backends: for printing' 'libunity: for download progress on KDE' 'ttf-liberation: fix fonts for some PDFs (CRBug #369991)' 'xdg-utils') @@ -54,6 +55,6 @@ package() { rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/ rm "$pkgdir"/opt/google/chrome/product_logo_*.png } -md5sums=('97fb280440e99882fa5065f2a567c03d' +md5sums=('7623fe70625e3b53b280a9a966445f23' 'd50d8f0a6940791eabc41c4f64e6a3cf' 'ed4cf73982461af7d0d944c1cbf9f4e8') diff --git a/abs/extra/gptfdisk/PKGBUILD b/abs/extra/gptfdisk/PKGBUILD index 83716e5..0f2e8d6 100644 --- a/abs/extra/gptfdisk/PKGBUILD +++ b/abs/extra/gptfdisk/PKGBUILD @@ -4,18 +4,18 @@ # Contributor: Hokum <hokum_at_mail_dot_ru> pkgname=gptfdisk -pkgver=0.8.10 +pkgver=1.0.3 pkgrel=1 pkgdesc="A text-mode partitioning tool that works on GUID Partition Table (GPT) disks" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.rodsbooks.com/gdisk/" license=('GPL2') -depends=('gcc-libs' 'util-linux' 'popt') +depends=('gcc-libs' 'popt' 'libuuid.so' 'libncursesw.so') provides=("gdisk=$pkgver") conflicts=('gdisk') replaces=('gdisk') -source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz) -sha256sums=('73e64151203ae0c347c488358e71ca582bb7fb7f0d66df86b71c42050390eb9b') +source=(https://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('89fd5aec35c409d610a36cb49c65b442058565ed84042f767bba614b8fc91b5c') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/abs/extra/graphviz/PKGBUILD b/abs/extra/graphviz/PKGBUILD index 2eb0135..8d3aaad 100644 --- a/abs/extra/graphviz/PKGBUILD +++ b/abs/extra/graphviz/PKGBUILD @@ -5,16 +5,16 @@ pkgname=graphviz pkgver=2.40.1 -pkgrel=1 +pkgrel=11 pkgdesc='Graph visualization software' url='http://www.graphviz.org/' license=('CPL') -arch=('i686' 'x86_64') -depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts') -makedepends=('swig' 'mono' 'guile' 'lua51' 'ocaml' 'perl' 'python2' 'r' 'tk' 'qt4' 'gtk2') +arch=('x86_64') +depends=('libltdl' 'gd' 'librsvg' 'libxaw' 'ghostscript' 'pango' 'gts' 'gsfonts') +makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'python2' 'r' 'tk' 'qt4' 'gtk2') optdepends=('mono: sharp bindings' 'guile: guile bindings' - 'lua51: lua bindings' + 'lua: lua bindings' 'ocaml: ocaml bindings' 'perl: perl bindings' 'python2: python bindings' @@ -23,10 +23,12 @@ optdepends=('mono: sharp bindings' 'qt4: gvedit' 'gtk2: gtk output plugin' 'xterm: vimdot') -source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz" + +# http://www.graphviz.org/Download_source.php +source=("https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz" 'ghostscript918.patch') -sha1sums=('8a44d19bcdb50df1bd8e649de472ebf868468888' - 'bcce75a535c277556e196638e59ea019b0a63fa1') +sha256sums=('ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421' + '0083d126e27f2223ec4226fc1d71c9c84106968a0fdf65de838aee1e4882bfdb') install=install @@ -37,10 +39,8 @@ prepare() { build() { cd "${srcdir}/${pkgname}-${pkgver}" - export CXXFLAGS+=' -Dint64=int64_t' # for ocaml - export LIBPOSTFIX=/ export PYTHON=python2 - export LUA=lua5.1 + export LIBPOSTFIX=/ ./configure --prefix=/usr make @@ -50,13 +50,8 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - cd "${pkgdir}/usr/lib" - install -d lua/5.1 - mv lua/gv.so lua/5.1 - - # Workaround symlink upgrade bug (fixed in pacman trunk) - # Also deduplicates the tcl libraries (upstream bug?) - # Might have been this commit: https://github.com/ellson/graphviz/commit/f11aead - rm -r tcl8.6/graphviz - ln -s ../graphviz/tcl tcl8.6/graphviz + # Deduplicates TCL libraries + cd "${pkgdir}/usr/lib/tcl8.6" + rm -fr graphviz + ln -s ../graphviz/tcl graphviz } diff --git a/abs/extra/gst-plugins-base/PKGBUILD b/abs/extra/gst-plugins-base/PKGBUILD index 7fa8418..229c36c 100644 --- a/abs/extra/gst-plugins-base/PKGBUILD +++ b/abs/extra/gst-plugins-base/PKGBUILD @@ -2,25 +2,45 @@ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gst-plugins-base -pkgname=('gst-plugins-base-libs' 'gst-plugins-base') -pkgver=1.2.1 +pkgname=(gst-plugins-base-libs gst-plugins-base) +pkgver=1.12.4 pkgrel=1 pkgdesc="GStreamer Multimedia Framework Base Plugins" -arch=('i686' 'x86_64') -license=('LGPL') -makedepends=('pkgconfig' 'gstreamer' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection') +url="https://gstreamer.freedesktop.org/" +arch=(x86_64) +license=(LGPL) +makedepends=(gstreamer orc libxv iso-codes alsa-lib cdparanoia libvisual libvorbis libtheora pango + opus gobject-introspection autoconf-archive git pkgconfig) +checkdepends=(gtk3 qt5-base) options=(!emptydirs) -url="http://gstreamer.freedesktop.org/" -source=(${url}/src/$pkgbase/$pkgbase-${pkgver}.tar.xz) -sha256sums=('de2444a5c150d4e4b680364d7c0414cd8b015d95b305ff65d65a17683379532f') +_commit=e07c69f65598068b380753066783a1c67e3d4464 # tags/1.12.4^0 +source=("git+https://anongit.freedesktop.org/git/gstreamer/gst-plugins-base#commit=$_commit" + "gst-common::git+https://anongit.freedesktop.org/git/gstreamer/common") +sha256sums=('SKIP' + 'SKIP') + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgbase + + git submodule init + git config --local submodule.common.url "$srcdir/gst-common" + git submodule update + + NOCONFIGURE=1 ./autogen.sh +} build() { - cd $pkgbase-$pkgver + cd $pkgbase - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --disable-static --enable-experimental \ + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ --with-package-name="GStreamer Base Plugins (Arch Linux)" \ - --with-package-origin="http://www.archlinux.org/" + --with-package-origin="https://www.archlinux.org/" \ + --enable-experimental --disable-static # https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool @@ -31,24 +51,24 @@ build() { } check() { - cd $pkgbase-$pkgver - # Testsuite fails on one test. Some refcount leak + cd $pkgbase make check } package_gst-plugins-base-libs() { pkgdesc="GStreamer Multimedia Framework Base Plugin libraries" - depends=('gstreamer' 'orc' 'libxv') + depends=(gstreamer orc libxv iso-codes) - cd $pkgbase-$pkgver - make DESTDIR="${pkgdir}" install + cd $pkgbase + make DESTDIR="$pkgdir" install } package_gst-plugins-base() { - depends=("gst-plugins-base-libs=$pkgver" 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango') + depends=("gst-plugins-base-libs=$pkgver" alsa-lib cdparanoia libvisual libvorbis + libtheora pango opus) - cd $pkgbase-$pkgver - make -C gst-libs DESTDIR="${pkgdir}" install - make -C ext DESTDIR="${pkgdir}" install - make -C gst-libs DESTDIR="${pkgdir}" uninstall + cd $pkgbase + make -C gst-libs DESTDIR="$pkgdir" install + make -C ext DESTDIR="$pkgdir" install + make -C gst-libs DESTDIR="$pkgdir" uninstall } diff --git a/abs/extra/gst-plugins-base/__changelog b/abs/extra/gst-plugins-base/__changelog new file mode 100644 index 0000000..95fcfd3 --- /dev/null +++ b/abs/extra/gst-plugins-base/__changelog @@ -0,0 +1,2 @@ +PKGBUILD: disable --enable-gtk-doc +PKGBUILD: remove gtkdoc dep diff --git a/abs/extra/gst-plugins-good/PKGBUILD b/abs/extra/gst-plugins-good/PKGBUILD new file mode 100644 index 0000000..f0d69ec --- /dev/null +++ b/abs/extra/gst-plugins-good/PKGBUILD @@ -0,0 +1,60 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gst-plugins-good +pkgver=1.12.4 +pkgrel=2 +pkgdesc="GStreamer Multimedia Framework Good Plugins" +url="https://gstreamer.freedesktop.org/" +arch=(x86_64) +license=(LGPL) +depends=(libsoup gst-plugins-base-libs wavpack aalib taglib libdv libshout libvpx + gdk-pixbuf2 libcaca libavc1394 libiec61883 libxdamage v4l-utils cairo libgudev speex flac + libraw1394) +makedepends=(python gtk-doc autoconf-archive git) +checkdepends=(gst-plugins-base) +_commit=224938300a3b0fd8263422c3548576ac939032e5 # tags/1.12.4^0 +source=("git+https://anongit.freedesktop.org/git/gstreamer/gst-plugins-good#commit=$_commit" + "gst-common::git+https://anongit.freedesktop.org/git/gstreamer/common") +sha256sums=('SKIP' + 'SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + git submodule init + git config --local submodule.common.url "$srcdir/gst-common" + git submodule update + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd $pkgname + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ + --with-package-name="GStreamer Good Plugins (Arch Linux)" \ + --with-package-origin="https://www.archlinux.org/" \ + --enable-experimental --enable-gtk-doc --disable-static + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +check() { + cd $pkgname + make check +} + +package() { + cd $pkgname + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/gst-plugins-good/__changelog b/abs/extra/gst-plugins-good/__changelog new file mode 100644 index 0000000..ccbf9bc --- /dev/null +++ b/abs/extra/gst-plugins-good/__changelog @@ -0,0 +1 @@ +PKGBUILD: remove libpulse & jack deps diff --git a/abs/extra/gstreamer/PKGBUILD b/abs/extra/gstreamer/PKGBUILD index 789950b..9c77856 100644 --- a/abs/extra/gstreamer/PKGBUILD +++ b/abs/extra/gstreamer/PKGBUILD @@ -1,25 +1,46 @@ # $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gstreamer -pkgver=1.2.1 +pkgver=1.12.4 pkgrel=1 -pkgdesc="GStreamer Multimedia Framework" -arch=('i686' 'x86_64') -license=('LGPL') -url="http://gstreamer.freedesktop.org/" -depends=('libxml2' 'glib2') -optdepends=('sh: feedback script') -makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection') -source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz) -sha256sums=('a4523d2471bca6cd0059a32e3b042f50faa4dadc6439852af8b43ca3f17d1fc9') +pkgdesc="GStreamer open-source multimedia framework core library" +url="https://gstreamer.freedesktop.org/" +arch=(x86_64) +license=(LGPL) +depends=(libxml2 glib2 libunwind libcap libelf) +makedepends=(intltool pkgconfig gtk-doc gobject-introspection autoconf-archive git + valgrind bash-completion) +checkdepends=(gmp gsl gtk3) +_commit=505a24ff6843a04e4f75c5e03caa7b2774806fc3 # tags/1.12.4^0 +install=gstreamer.install +source=("git+https://anongit.freedesktop.org/git/gstreamer/gstreamer#commit=$_commit" + "gst-common::git+https://anongit.freedesktop.org/git/gstreamer/common") +sha256sums=('SKIP' + 'SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + git submodule init + git config --local submodule.common.url "$srcdir/gst-common" + git submodule update + + NOCONFIGURE=1 ./autogen.sh +} build() { - cd "${srcdir}/gstreamer-${pkgver}" + cd $pkgname ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \ --with-package-name="GStreamer (Arch Linux)" \ - --with-package-origin="http://www.archlinux.org/" \ - --enable-gtk-doc --disable-static + --with-package-origin="https://www.archlinux.org/" \ + --disable-static # https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool @@ -28,11 +49,11 @@ build() { } check() { - cd "${srcdir}/gstreamer-${pkgver}" + cd $pkgname make check } package() { - cd "${srcdir}/gstreamer-${pkgver}" - make DESTDIR="${pkgdir}" install + cd $pkgname + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/gstreamer/__changelog b/abs/extra/gstreamer/__changelog new file mode 100644 index 0000000..d311033 --- /dev/null +++ b/abs/extra/gstreamer/__changelog @@ -0,0 +1 @@ +PKGBUILD: remove --enable-gtk-doc diff --git a/abs/extra/gstreamer/gstreamer.install b/abs/extra/gstreamer/gstreamer.install new file mode 100644 index 0000000..7a0bcf0 --- /dev/null +++ b/abs/extra/gstreamer/gstreamer.install @@ -0,0 +1,7 @@ +post_install() { + setcap cap_net_bind_service,cap_net_admin+ep usr/lib/gstreamer-1.0/gst-ptp-helper +} + +post_upgrade() { + post_install +} diff --git a/abs/extra/guile/PKGBUILD b/abs/extra/guile/PKGBUILD index 642bf8a..73ff747 100644 --- a/abs/extra/guile/PKGBUILD +++ b/abs/extra/guile/PKGBUILD @@ -4,26 +4,35 @@ # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=guile -pkgver=2.0.11 -pkgrel=3 +pkgver=2.2.3 +pkgrel=1 pkgdesc='Portable, embeddable Scheme implementation written in C' -url='http://www.gnu.org/software/guile/' -arch=('i686' 'x86_64') -license=('GPL') -depends=('gmp' 'libltdl' 'ncurses' 'texinfo' 'libunistring' 'gc' 'libffi') -install=guile.install -source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz) -md5sums=('e532c68c6f17822561e3001136635ddd') +url='https://www.gnu.org/software/guile/' +arch=(x86_64) +license=(GPL) +depends=(gmp libltdl ncurses texinfo libunistring gc libffi) +source=(https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz{,.sig}) +validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5' # Ludovic Courtès <ludo@gnu.org> + 'FF478FB264DE32EC296725A3DDC0F5358812F8F2' # Andy Wingo + '4FD4D288D445934E0A14F9A5A8803732E4436885') # Andy Wingo <wingo@pobox.com>" +sha256sums=('87ee07caef33c97ddc74bf3c29ce7628cfac12061f573e4a29a3a1176754610a' + 'SKIP') build() { cd $pkgname-$pkgver ./configure --prefix=/usr \ --disable-static \ --disable-error-on-warning + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } +check() { + cd $pkgname-$pkgver + make check +} + package() { make -C $pkgname-$pkgver DESTDIR="$pkgdir" install - rm "$pkgdir"/usr/lib/libguile-2.0.so.22.7.2-gdb.scm + rm "$pkgdir"/usr/lib/libguile-2.?.so.*-gdb.scm } diff --git a/abs/extra/guile/guile.install b/abs/extra/guile/guile.install deleted file mode 100644 index 5d1eeaf..0000000 --- a/abs/extra/guile/guile.install +++ /dev/null @@ -1,30 +0,0 @@ -infodir=/usr/share/info -files=(goops.info - guile-tut.info - guile.info - guile.info-1 - guile.info-2 - guile.info-3 - guile.info-4 - guile.info-5 - guile.info-6 - guile.info-7 - r5rs.info) - -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/guile2.0/PKGBUILD b/abs/extra/guile2.0/PKGBUILD new file mode 100644 index 0000000..db2f468 --- /dev/null +++ b/abs/extra/guile2.0/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgname=guile2.0 +_pkgname=guile +pkgver=2.0.14 +pkgrel=1 +pkgdesc='Portable, embeddable Scheme implementation written in C' +url='http://www.gnu.org/software/guile/' +arch=(x86_64) +license=(GPL) +depends=(gmp libltdl ncurses texinfo libunistring gc libffi) +source=(https://ftp.gnu.org/pub/gnu/$_pkgname/$_pkgname-$pkgver.tar.gz{,.sig}) +validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5' # Ludovic Courtès <ludo@gnu.org> + 'FF478FB264DE32EC296725A3DDC0F5358812F8F2') # Andy Wingo +md5sums=('333b6eec83e779935a45c818f712484e' + 'SKIP') + +build() { + cd $_pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-static \ + --disable-error-on-warning \ + --program-suffix=2.0 + make +} + +package() { + make -C $_pkgname-$pkgver DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/libguile-2.?.so.*-gdb.scm + + sed -i '1s/guile/guile2.0/' -i "$pkgdir/usr/bin/guile-config2.0" + mv "$pkgdir"/usr/share/aclocal/guile.m4 "$pkgdir"/usr/share/aclocal/guile20.m4 + rm -rf "$pkgdir"/usr/share/info +} diff --git a/abs/extra/gypsy/PKGBUILD b/abs/extra/gypsy/PKGBUILD new file mode 100644 index 0000000..fbb0c94 --- /dev/null +++ b/abs/extra/gypsy/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Antonio Rojas <arojas@archlinux.org> +# Contributor: Hans-Nikolai Viessmann <hv15@hw.ac.uk> +# Contributor: Nuno Araujo <nuno.araujo@russo79.com> +# Contributor: György Balló <ballogy@freestart.hu> + +pkgname=gypsy +pkgver=0.9 +pkgrel=7 +pkgdesc="GPS multiplexing daemon" +arch=(x86_64) +url="https://gypsy.freedesktop.org/" +license=(GPL) +depends=(dbus-glib bluez bluez-libs libgudev) +makedepends=(libxslt) +source=("https://gypsy.freedesktop.org/releases/$pkgname-$pkgver.tar.gz" + g_type_init_deprecation.patch) +md5sums=('e2d186df9c2cc3b70a027043e22acf1a' + 'f42f0bb01f8a278fce81d6f05305b9fb') + +prepare() { + cd $pkgname-$pkgver + + patch -p1 -i ../g_type_init_deprecation.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/gypsy/g_type_init_deprecation.patch b/abs/extra/gypsy/g_type_init_deprecation.patch new file mode 100644 index 0000000..80511f1 --- /dev/null +++ b/abs/extra/gypsy/g_type_init_deprecation.patch @@ -0,0 +1,85 @@ +diff -ru gypsy-0.9.orig/docs/gypsy-tutorial.html gypsy-0.9/docs/gypsy-tutorial.html +--- gypsy-0.9.orig/docs/gypsy-tutorial.html 2011-08-09 13:20:15.000000000 +0200 ++++ gypsy-0.9/docs/gypsy-tutorial.html 2013-04-30 10:28:42.599711724 +0200 +@@ -97,10 +97,11 @@ + GError *error = NULL; + char *path; + ++ #if !GLIB_CHECK_VERSION(2,35,0) + /* Libgypsy uses GObject, so the type system needs + to be started up before any Gypsy calls */ + g_type_init (); +- ++ #endif + /* Retrieve the default control */ + control = gypsy_control_get_default (); + +diff -ru gypsy-0.9.orig/examples/list-known-gps-devices.c gypsy-0.9/examples/list-known-gps-devices.c +--- gypsy-0.9.orig/examples/list-known-gps-devices.c 2011-10-17 18:32:37.000000000 +0200 ++++ gypsy-0.9/examples/list-known-gps-devices.c 2013-04-30 10:26:59.824754298 +0200 +@@ -21,8 +21,9 @@ + GPtrArray *known_devices; + int i; + ++#if !GLIB_CHECK_VERSION(2,35,0) + g_type_init (); +- ++#endif + discovery = gypsy_discovery_new (); + known_devices = gypsy_discovery_list_devices (discovery, &error); + +diff -ru gypsy-0.9.orig/examples/simple-gps-dbus.c gypsy-0.9/examples/simple-gps-dbus.c +--- gypsy-0.9.orig/examples/simple-gps-dbus.c 2011-08-09 13:20:15.000000000 +0200 ++++ gypsy-0.9/examples/simple-gps-dbus.c 2013-04-30 10:26:20.862069029 +0200 +@@ -122,7 +122,9 @@ + DBusError error; + GMainLoop *mainloop; + ++#if !GLIB_CHECK_VERSION(2,35,0) + g_type_init (); ++#endif + conn = get_connection (); + + dbus_error_init (&error); +diff -ru gypsy-0.9.orig/examples/simple-gps-gypsy.c gypsy-0.9/examples/simple-gps-gypsy.c +--- gypsy-0.9.orig/examples/simple-gps-gypsy.c 2011-08-09 13:20:15.000000000 +0200 ++++ gypsy-0.9/examples/simple-gps-gypsy.c 2013-04-30 10:26:43.778354525 +0200 +@@ -68,8 +68,9 @@ + return 0; + } + ++#if !GLIB_CHECK_VERSION(2,35,0) + g_type_init (); +- ++#endif + control = gypsy_control_get_default (); + path = gypsy_control_create (control, argv[1], &error); + if (path == NULL) { +diff -ru gypsy-0.9.orig/examples/simple-gps-satellites.c gypsy-0.9/examples/simple-gps-satellites.c +--- gypsy-0.9.orig/examples/simple-gps-satellites.c 2011-08-09 13:20:15.000000000 +0200 ++++ gypsy-0.9/examples/simple-gps-satellites.c 2013-04-30 10:27:21.314396881 +0200 +@@ -43,8 +43,9 @@ + return 0; + } + ++#if !GLIB_CHECK_VERSION(2,35,0) + g_type_init (); +- ++#endif + control = gypsy_control_get_default (); + path = gypsy_control_create (control, argv[1], &error); + if (path == NULL) { +diff -ru gypsy-0.9.orig/src/main.c gypsy-0.9/src/main.c +--- gypsy-0.9.orig/src/main.c 2011-10-13 17:44:12.000000000 +0200 ++++ gypsy-0.9/src/main.c 2013-04-30 10:27:42.194049621 +0200 +@@ -188,8 +188,9 @@ + + umask (022); + ++#if !GLIB_CHECK_VERSION(2,35,0) + g_type_init (); +- ++#endif + mainloop = g_main_loop_new (NULL, FALSE); + + conn = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error); diff --git a/abs/extra/harfbuzz/PKGBUILD b/abs/extra/harfbuzz/PKGBUILD index df8912c..1316840 100644 --- a/abs/extra/harfbuzz/PKGBUILD +++ b/abs/extra/harfbuzz/PKGBUILD @@ -3,41 +3,53 @@ pkgbase=(harfbuzz) pkgname=(harfbuzz harfbuzz-icu) -pkgver=1.1.3 +pkgver=1.7.5 pkgrel=1 pkgdesc="OpenType text shaping engine" -arch=(i686 x86_64) url="http://www.freedesktop.org/wiki/Software/HarfBuzz" +arch=(x86_64) license=(MIT) -makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection) -source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgbase}-${pkgver}.tar.bz2) -sha256sums=('d93d7cb7979c32672e902fdfa884599e63f07f2fa5b06c66147d20c516d4b8f7') +makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection gtk-doc ragel git + python) +_commit=f0b700db394ccdff30ff83961a3e2ea9ff4ea472 # tags/1.7.5^0 +source=("git+https://anongit.freedesktop.org/git/harfbuzz#commit=$_commit") +sha256sums=('SKIP') -prepare() { - mkdir path - ln -s /usr/bin/python2 path/python +pkgver() { + cd $pkgbase + git describe --tags | sed 's/-/+/g' +} - cd $pkgbase-$pkgver +prepare() { + cd $pkgbase + NOCONFIGURE=1 ./autogen.sh } build() { - cd $pkgbase-$pkgver - ./configure --prefix=/usr \ - --with-glib --with-freetype --with-cairo --with-icu --with-graphite2 \ - --with-gobject + cd $pkgbase + ./configure \ + --prefix=/usr \ + --with-cairo \ + --with-freetype \ + --with-glib \ + --with-gobject \ + --with-graphite2 \ + --with-icu \ + --enable-gtk-doc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } check() { - cd $pkgbase-$pkgver - PATH="$srcdir/path:$PATH" make -k check || : + cd $pkgbase + make check } package_harfbuzz() { depends=(glib2 freetype2 graphite) optdepends=('cairo: hb-view program') - cd $pkgbase-$pkgver + cd $pkgbase make DESTDIR="$pkgdir" install install -Dm644 COPYING "$pkgdir/usr/share/licenses/harfbuzz/COPYING" @@ -48,11 +60,11 @@ package_harfbuzz() { mv "$pkgdir"/usr/include/harfbuzz/hb-icu.h ./usr/include/harfbuzz } -package_harfbuzz-icu(){ +package_harfbuzz-icu() { pkgdesc="$pkgdesc (ICU integration)" depends=(harfbuzz icu) mv hb-icu/* "$pkgdir" - install -Dm644 $pkgbase-$pkgver/COPYING "$pkgdir/usr/share/licenses/harfbuzz-icu/COPYING" + install -Dm644 $pkgbase/COPYING "$pkgdir/usr/share/licenses/harfbuzz-icu/COPYING" } diff --git a/abs/extra/htop/0001-fix-option-string.patch b/abs/extra/htop/0001-fix-option-string.patch new file mode 100644 index 0000000..d877e03 --- /dev/null +++ b/abs/extra/htop/0001-fix-option-string.patch @@ -0,0 +1,25 @@ +From 731acc8bced18c90fbe0e18381c32f007f71e0d9 Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Tue, 10 Apr 2018 16:21:46 +0200 +Subject: [PATCH 1/1] fix option string + +This broke with commit db05ba61065f64b59d0014518be0786b5439e54c. + +Signed-off-by: Christian Hesse <mail@eworm.de> +--- + htop.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/htop.c b/htop.c +index 6db81dd..678a3b8 100644 +--- a/htop.c ++++ b/htop.c +@@ -93,7 +93,7 @@ static CommandLineSettings parseArguments(int argc, char** argv) { + + int opt, opti=0; + /* Parse arguments */ +- while ((opt = getopt_long(argc, argv, "hvCst::d:u:p:i", long_opts, &opti))) { ++ while ((opt = getopt_long(argc, argv, "hvCs:td:u:p:i", long_opts, &opti))) { + if (opt == EOF) break; + switch (opt) { + case 'h': diff --git a/abs/extra/htop/PKGBUILD b/abs/extra/htop/PKGBUILD index 531cf81..09664d5 100644 --- a/abs/extra/htop/PKGBUILD +++ b/abs/extra/htop/PKGBUILD @@ -1,22 +1,33 @@ # $Id$ -# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Maintainer: Christian Hesse <mail@eworm.de> +# Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=htop -pkgver=2.0.1 -pkgrel=1 +pkgver=2.2.0 +pkgrel=2 pkgdesc="Interactive process viewer" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://hisham.hm/htop/" license=('GPL') -depends=('ncurses') -makedepends=('python2') +depends=('ncurses' 'libnl') +makedepends=('python') optdepends=('lsof: show files opened by a process' 'strace: attach to a running process') -options=('!emptydirs') -source=("http://hisham.hm/$pkgname/releases/$pkgver/$pkgname-$pkgver.tar.gz") -md5sums=('f75fe92b4defaa80d99109830f34b5e2') +options=('!emptydirs' debug) +validpgpkeys=('8460980B2B79786DE0C7FCC83FD8F43C2BB3C478') # Hisham Muhammad <h@hisham.hm> +source=("https://hisham.hm/$pkgname/releases/$pkgver/$pkgname-$pkgver.tar.gz"{,.asc} + '0001-fix-option-string.patch') +sha256sums=('d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57' + 'SKIP' + 'e0ea3a91dfbc7f8c516a19e0d8890314845e768ea4132dfaa49c4d4e89ec10ca') + +prepare() { + cd "$pkgname-$pkgver" + + patch -Np1 < "${srcdir}"/0001-fix-option-string.patch +} build() { cd "$pkgname-$pkgver" @@ -24,10 +35,11 @@ build() { ./configure \ --prefix=/usr \ --sysconfdir=/etc \ - --enable-unicode \ + --enable-cgroup \ + --enable-delayacct \ --enable-openvz \ - --enable-vserver \ - --enable-cgroup + --enable-unicode \ + --enable-vserver make } diff --git a/abs/extra/hunspell/PKGBUILD b/abs/extra/hunspell/PKGBUILD index 89f9c87..2b08c38 100644 --- a/abs/extra/hunspell/PKGBUILD +++ b/abs/extra/hunspell/PKGBUILD @@ -3,26 +3,36 @@ # Contributor: Hussam Al-Tayeb <ht990332@gmail.com> pkgname=hunspell -pkgver=1.3.3 +pkgver=1.6.2 pkgrel=1 pkgdesc="Spell checker and morphological analyzer library and program" -arch=('i686' 'x86_64') -url="http://hunspell.sourceforge.net/" +arch=('x86_64') +url="https://hunspell.github.io/" license=('GPL' 'LGPL' 'MPL') depends=('gcc-libs' 'readline') optdepends=('perl: for ispellaff2myspell') -source=(http://downloads.sourceforge.net/hunspell/hunspell-$pkgver.tar.gz) -md5sums=('4967da60b23413604c9e563beacc63b4') +source=($pkgname-$pkgver.tar.gz::https://github.com/hunspell/hunspell/archive/v${pkgver}.tar.gz) +sha256sums=('3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4') + +prepare() { + cd hunspell-$pkgver + autoreconf -vfi +} build() { - cd "$srcdir/hunspell-$pkgver" + cd hunspell-$pkgver ./configure --prefix=/usr --disable-static \ - --with-ui --with-readline --with-experimental + --with-ui --with-readline # --with-experimental breaks build in this release make } +check() { + cd hunspell-$pkgver + make check +} + package() { - cd "$srcdir/hunspell-$pkgver" + cd hunspell-$pkgver make DESTDIR="$pkgdir" install # add generic hunspell.so for development and projects not using pkgconfig flags - FS#30592 diff --git a/abs/extra/hyphen/PKGBUILD b/abs/extra/hyphen/PKGBUILD new file mode 100644 index 0000000..2033af4 --- /dev/null +++ b/abs/extra/hyphen/PKGBUILD @@ -0,0 +1,56 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgbase=hyphen +pkgname=('hyphen' 'hyphen-en') +pkgver=2.8.8 +pkgrel=1 +arch=('x86_64') +url="http://hunspell.sf.net" +license=('GPL2' 'LGPL2.1' 'MPL') +makedepends=('glibc' 'perl') +source=(http://downloads.sourceforge.net/hunspell/${pkgname}-${pkgver}.tar.gz) +sha1sums=('0556c392beb59433e577e3517575801212201df6') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +package_hyphen() { + pkgdesc="library for high quality hyphenation and justification" + depends=('glibc' 'perl') + + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir/" install-libLTLIBRARIES + make DESTDIR="$pkgdir/" install-binSCRIPTS + make DESTDIR="$pkgdir/" install-includeHEADERS + + # license + install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +package_hyphen-en() { + pkgdesc="English hyphenation rules" + # arch=('any') + optdepends=('hyphen: offers hyphenation library functions') + + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir/" install-hyphDATA + + pushd ${pkgdir}/usr/share/hyphen/ + en_US_aliases="en_AG en_AU en_BS en_BW en_BZ en_CA en_DK en_GB en_GH en_HK en_IE en_IN en_JM en_NA en_NZ en_PH en_SG en_TT en_ZA en_ZW" + for lang in $en_US_aliases; do + ln -s hyph_en_US.dic hyph_$lang.dic + done + popd + + # the symlinks + install -dm755 ${pkgdir}/usr/share/myspell/dicts + pushd $pkgdir/usr/share/myspell/dicts + for file in $pkgdir/usr/share/hyphen/*; do + ln -sv /usr/share/hyphen/$(basename $file) . + done + popd +} diff --git a/abs/extra/icu/PKGBUILD b/abs/extra/icu/PKGBUILD index 90fb89b..a262359 100644 --- a/abs/extra/icu/PKGBUILD +++ b/abs/extra/icu/PKGBUILD @@ -3,25 +3,22 @@ # Contributor: Art Gramlich <art@gramlich-net.com> pkgname=icu -pkgver=56.1 -pkgrel=2 +pkgver=60.2 +pkgrel=1 pkgdesc="International Components for Unicode library" -arch=(i686 x86_64) +arch=(x86_64) url="http://www.icu-project.org/" license=('custom:icu') -depends=('gcc-libs>=4.7.1-5' 'sh') +depends=('gcc-libs' 'sh') #makedepends=('clang') +# no https available source=(#http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz - http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz - icu.8198.revert.icu5431.patch) -md5sums=('c4a2d71ff56aec5ebfab2a3f059be99d' - 'ebd5470fc969c75e52baf4af94a9ee82') - -prepare() { - cd icu/source - # fix Malayalam encoding https://bugzilla.redhat.com/show_bug.cgi?id=654200 - patch -Rp3 -i ${srcdir}/icu.8198.revert.icu5431.patch -} + https://ssl.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz{,.asc}) +# upstream offers md5sum checks, only asc file for md5sum check +md5sums=('43861b127744b3c0b9d7f386f4b9fa40' + 'SKIP') +validpgpkeys=('BA90283A60D67BA0DD910A893932080F4FB419E3') # "Steven R. Loomis (filfla-signing) <srloomis@us.ibm.com>" +validpgpkeys+=('9731166CD8E23A83BEE7C6D3ACA5DBE1FD8FABF1') # "Steven R. Loomis (ICU Project) <srl@icu-project.org>" build() { cd icu/source @@ -34,7 +31,7 @@ build() { check() { cd icu/source - make -k check # passes all + make -k check } package() { @@ -42,5 +39,5 @@ package() { make -j1 DESTDIR=${pkgdir} install # Install license - install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html + install -Dm644 ${srcdir}/icu/LICENSE ${pkgdir}/usr/share/licenses/icu/LICENSE } diff --git a/abs/extra/icu/icu.8198.revert.icu5431.patch b/abs/extra/icu/icu.8198.revert.icu5431.patch deleted file mode 100644 index 4c3e78b..0000000 --- a/abs/extra/icu/icu.8198.revert.icu5431.patch +++ /dev/null @@ -1,129 +0,0 @@ -Index: icu/trunk/source/layout/IndicReordering.cpp
-===================================================================
---- icu/trunk/source/layout/IndicReordering.cpp (revision 25772)
-+++ icu/trunk/source/layout/IndicReordering.cpp (revision 26090)
-@@ -126,4 +126,8 @@
- FeatureMask fSMFeatures;
-
-+ LEUnicode fPreBaseConsonant;
-+ LEUnicode fPreBaseVirama;
-+ le_int32 fPBCIndex;
-+ FeatureMask fPBCFeatures;
-
- void saveMatra(LEUnicode matra, le_int32 matraIndex, IndicClassTable::CharClass matraClass)
-@@ -172,5 +176,6 @@
- fMatraFeatures(0), fMPreOutIndex(-1), fMPreFixups(mpreFixups),
- fVMabove(0), fVMpost(0), fVMIndex(0), fVMFeatures(0),
-- fSMabove(0), fSMbelow(0), fSMIndex(0), fSMFeatures(0)
-+ fSMabove(0), fSMbelow(0), fSMIndex(0), fSMFeatures(0),
-+ fPreBaseConsonant(0), fPreBaseVirama(0), fPBCIndex(0), fPBCFeatures(0)
- {
- // nothing else to do...
-@@ -191,4 +196,6 @@
- fVMabove = fVMpost = 0;
- fSMabove = fSMbelow = 0;
-+
-+ fPreBaseConsonant = fPreBaseVirama = 0;
- }
-
-@@ -386,4 +393,12 @@
- }
-
-+ void notePreBaseConsonant(le_uint32 index,LEUnicode PBConsonant, LEUnicode PBVirama, FeatureMask features)
-+ {
-+ fPBCIndex = index;
-+ fPreBaseConsonant = PBConsonant;
-+ fPreBaseVirama = PBVirama;
-+ fPBCFeatures = features;
-+ }
-+
- void noteBaseConsonant()
- {
-@@ -465,4 +480,20 @@
- }
-
-+ void writePreBaseConsonant()
-+ {
-+ // The TDIL spec says that consonant + virama + RRA should produce a rakar in Malayalam. However,
-+ // it seems that almost none of the fonts for Malayalam are set up to handle this.
-+ // So, we're going to force the issue here by using the rakar as defined with RA in most fonts.
-+
-+ if (fPreBaseConsonant == 0x0d31) { // RRA
-+ fPreBaseConsonant = 0x0d30; // RA
-+ }
-+
-+ if (fPreBaseConsonant != 0) {
-+ writeChar(fPreBaseConsonant, fPBCIndex, fPBCFeatures);
-+ writeChar(fPreBaseVirama,fPBCIndex-1,fPBCFeatures);
-+ }
-+ }
-+
- le_int32 getOutputIndex()
- {
-@@ -723,4 +754,5 @@
- }
-
-+
- IndicClassTable::CharClass charClass = CC_RESERVED;
- IndicClassTable::CharClass nextClass = CC_RESERVED;
-@@ -730,7 +762,9 @@
- le_bool seenVattu = FALSE;
- le_bool seenBelowBaseForm = FALSE;
-+ le_bool seenPreBaseForm = FALSE;
- le_bool hasNukta = FALSE;
- le_bool hasBelowBaseForm = FALSE;
- le_bool hasPostBaseForm = FALSE;
-+ le_bool hasPreBaseForm = FALSE;
-
- if (postBase < markStart && classTable->isNukta(chars[postBase])) {
-@@ -746,12 +780,20 @@
- hasBelowBaseForm = IndicClassTable::hasBelowBaseForm(charClass) && !hasNukta;
- hasPostBaseForm = IndicClassTable::hasPostBaseForm(charClass) && !hasNukta;
-+ hasPreBaseForm = IndicClassTable::hasPreBaseForm(charClass) && !hasNukta;
-
- if (IndicClassTable::isConsonant(charClass)) {
- if (postBaseLimit == 0 || seenVattu ||
- (baseConsonant > baseLimit && !classTable->isVirama(chars[baseConsonant - 1])) ||
-- !(hasBelowBaseForm || hasPostBaseForm)) {
-+ !(hasBelowBaseForm || hasPostBaseForm || hasPreBaseForm)) {
- break;
- }
-
-+ // Note any pre-base consonants
-+ if ( baseConsonant == lastConsonant && lastConsonant > 0 &&
-+ hasPreBaseForm && classTable->isVirama(chars[baseConsonant - 1])) {
-+ output.notePreBaseConsonant(lastConsonant,chars[lastConsonant],chars[lastConsonant-1],tagArray2);
-+ seenPreBaseForm = TRUE;
-+
-+ }
- // consonants with nuktas are never vattus
- seenVattu = IndicClassTable::isVattu(charClass) && !hasNukta;
-@@ -786,10 +828,12 @@
-
- // write any pre-base consonants
-+ output.writePreBaseConsonant();
-+
- le_bool supressVattu = TRUE;
-
- for (i = baseLimit; i < baseConsonant; i += 1) {
- LEUnicode ch = chars[i];
-- // Don't put 'blwf' on first consonant.
-- FeatureMask features = (i == baseLimit? tagArray2 : tagArray1);
-+ // Don't put 'pstf' or 'blwf' on anything before the base consonant.
-+ FeatureMask features = tagArray1 & ~( pstfFeatureMask | blwfFeatureMask );
-
- charClass = classTable->getCharClass(ch);
-@@ -842,5 +886,5 @@
-
- // write below-base consonants
-- if (baseConsonant != lastConsonant) {
-+ if (baseConsonant != lastConsonant && !seenPreBaseForm) {
- for (i = bcSpan + 1; i < postBase; i += 1) {
- output.writeChar(chars[i], i, tagArray1);
-@@ -872,5 +916,5 @@
- // write post-base consonants
- // FIXME: does this put the right tags on post-base consonants?
-- if (baseConsonant != lastConsonant) {
-+ if (baseConsonant != lastConsonant && !seenPreBaseForm) {
- if (postBase <= lastConsonant) {
- for (i = postBase; i <= lastConsonant; i += 1) {
diff --git a/abs/extra/ijs/PKGBUILD b/abs/extra/ijs/PKGBUILD new file mode 100644 index 0000000..19ab821 --- /dev/null +++ b/abs/extra/ijs/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgname=ijs +pkgver=0.35 +pkgrel=1 +pkgdesc="a library which implements a protocol for transmission of raster page images" +arch=('x86_64') +url="https://www.openprinting.org/download/ijs/" +license=('GPL') +depends=('glibc' 'sh') +makedepends=('docbook-utils' 'ghostscript') +source=("https://www.openprinting.org/download/ijs/download/ijs-$pkgver.tar.bz2") +md5sums=('896fdcb7a01c586ba6eb81398ea3f6e9') + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --disable-static \ + --enable-shared \ + --mandir=/usr/share/man + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + # install doc + install -Dm644 ijs_spec.pdf ${pkgdir}/usr/share/doc/$pkgname/ijs_spec.pdf +} diff --git a/abs/extra/imagemagick6/PKGBUILD b/abs/extra/imagemagick6/PKGBUILD new file mode 100644 index 0000000..d31af99 --- /dev/null +++ b/abs/extra/imagemagick6/PKGBUILD @@ -0,0 +1,132 @@ +# $Id$ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgbase=imagemagick6 +pkgname=(libmagick6 imagemagick6) +pkgver=6.9.9.34 +pkgrel=1 +pkgdesc="An image viewing/manipulation program (version 6)" +url="https://legacy.imagemagick.org/" +arch=(x86_64) +license=(custom) +depends=(libltdl lcms2 fontconfig libxext liblqr libraqm libpng) +makedepends=(ghostscript openexr libwmf librsvg libxml2 openjpeg2 libraw opencl-headers libwebp + chrpath ocl-icd glu ghostpcl ghostxps) +checkdepends=(gsfonts ttf-dejavu) +_relname=ImageMagick-${pkgver%%.*} +_tarname=ImageMagick-${pkgver%.*}-${pkgver##*.} +source=(https://www.imagemagick.org/download/$_tarname.tar.xz{,.asc} + arch-fonts.diff) +sha256sums=('b37d8ea71a367f0d2267e8441b470cc6f2eaac0ce94837dcc87b011c55bf212c' + 'SKIP' + 'a85b744c61b1b563743ecb7c7adad999d7ed9a8af816650e3ab9321b2b102e73') +validpgpkeys=(D8272EF51DA223E4D05B466989AB63D48277377A) # Lexie Parsimoniae + +shopt -s extglob + +prepare() { + mkdir -p binpkg/usr/lib/pkgconfig {binpkg,docpkg}/usr/share + + cd $_tarname + + # Fix up typemaps to match our packages, where possible + patch -Np1 -i ../arch-fonts.diff + + # Don't run auto(re)conf; assumes use of git +} + +build() { + cd $_tarname + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-dejavu-font-dir=/usr/share/fonts/TTF \ + --with-gs-font-dir=/usr/share/fonts/gsfonts \ + PSDelegate=/usr/bin/gs \ + XPSDelegate=/usr/bin/gxps \ + PCLDelegate=/usr/bin/gpcl6 \ + --enable-hdri \ + --enable-opencl \ + --with-gslib \ + --with-lqr \ + --with-modules \ + --with-openexr \ + --with-openjp2 \ + --with-perl \ + --with-perl-options=INSTALLDIRS=vendor \ + --with-rsvg \ + --with-webp \ + --with-wmf \ + --with-xml \ + --without-autotrace \ + --without-djvu \ + --without-dps \ + --without-fftw \ + --without-fpx \ + --without-gcc-arch \ + --without-gvc \ + --without-jbig + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() ( + cd $_tarname + ulimit -n 4096 + make check || : +) + +package_libmagick6() { + pkgdesc="${pkgdesc/)/; library)}" + optdepends=('ghostscript: PS/PDF support' + 'libraw: DNG support' + 'librsvg: SVG support' + 'libwebp: WEBP support' + 'libwmf: WMF support' + 'libxml2: Magick Scripting Language' + 'ocl-icd: OpenCL support' + 'openexr: OpenEXR support' + 'openjpeg2: JPEG2000 support' + 'pango: Text rendering') + backup=(etc/$_relname/{coder,colors,delegates,log,magic,mime,policy,quantization-table,thresholds,type,type-{dejavu,ghostscript}}.xml) + options=('!docs' '!emptydirs' libtool) + + cd $_tarname + make DESTDIR="$pkgdir" install + + mkdir -p "$pkgdir/usr/lib/$pkgbase/pkgconfig" + mv "$pkgdir"/usr/lib/pkgconfig/!(*Q16HDRI*) "$pkgdir/usr/lib/$pkgbase/pkgconfig/" + + rm "$pkgdir"/etc/$_relname/type-{apple,urw-base35,windows}.xml + rm "$pkgdir"/usr/lib/*.la + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE NOTICE + +# Split 'imagemagick' + cd ../binpkg + mv "$pkgdir/usr/bin" usr/ + mv "$pkgdir/usr/lib/perl5" usr/lib/ + mv "$pkgdir/usr/share/man" usr/share/ +} + +package_imagemagick6() { + depends=("libmagick6=$pkgver-$pkgrel") + provides=("imagemagick=$pkgver-$pkgrel") + conflicts=(imagemagick) + options=('!emptydirs') + + mv binpkg/* "$pkgdir" + + find "$pkgdir/usr/lib/perl5" -name '*.so' -exec chrpath -d {} + + +# template start; name=perl-binary-module-dependency; version=1; +if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then + _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') + _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') + depends+=("perl>=$_perlver_min" "perl<$_perlver_max") +fi +# template end; + + cd $_tarname + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE NOTICE +} diff --git a/abs/extra/imagemagick6/arch-fonts.diff b/abs/extra/imagemagick6/arch-fonts.diff new file mode 100644 index 0000000..63a547c --- /dev/null +++ b/abs/extra/imagemagick6/arch-fonts.diff @@ -0,0 +1,107 @@ +diff -u -r ImageMagick-6.9.9-25/config/type-dejavu.xml.in ImageMagick-6.9.9-25-archfonts/config/type-dejavu.xml.in +--- ImageMagick-6.9.9-25/config/type-dejavu.xml.in 2017-11-30 19:24:05.000000000 +0100 ++++ ImageMagick-6.9.9-25-archfonts/config/type-dejavu.xml.in 2017-12-02 18:44:53.410304554 +0100 +@@ -13,27 +13,6 @@ + ImageMagick DejaVU font configuration. + --> + <typemap> +- <type name="DejaVu-LGC-Sans-Bold" fullname="DejaVu LGC Sans Bold" family="DejaVuGC Sans" style="Normal" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSans-Bold.ttf"/> +- <type name="DejaVu-LGC-Sans-Bold-Oblique" fullname="DejaVu LGC Sans Bold Oblique" family="DejaVuGC Sans" style="Oblique" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSans-BoldOblique.ttf"/> +- <type name="DejaVu-LGC-Sans-Book" fullname="DejaVu LGC Sans Book" family="DejaVuGC Sans" style="Normal" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSans.ttf"/> +- <type name="DejaVu-LGC-Sans-Condensed" fullname="DejaVu LGC Sans Condensed" family="DejaVuGC Sans" style="Normal" stretch="SemiCondensed" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSansCondensed.ttf"/> +- <type name="DejaVu-LGC-Sans-Condensed-Bold" fullname="DejaVu LGC Sans Condensed Bold" family="DejaVuGC Sans" style="Normal" stretch="SemiCondensed" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSansCondensed-Bold.ttf"/> +- <type name="DejaVu-LGC-Sans-Condensed-Bold-Oblique" fullname="DejaVu LGC Sans Condensed Bold Oblique" family="DejaVuGC Sans" style="Oblique" stretch="SemiCondensed" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSansCondensed-BoldOblique.ttf"/> +- <type name="DejaVu-LGC-Sans-Condensed-Oblique" fullname="DejaVu LGC Sans Condensed Oblique" family="DejaVuGC Sans" style="Oblique" stretch="SemiCondensed" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSansCondensed-Oblique.ttf"/> +- <type name="DejaVu-LGC-Sans-ExtraLight" fullname="DejaVu LGC Sans ExtraLight" family="DejaVuGC Sans" style="Normal" stretch="Normal" weight="200" glyphs="@dejavu_font_dir@DejaVuLGCSans-ExtraLight.ttf"/> +- <type name="DejaVu-LGC-Sans-Mono-Bold" fullname="DejaVu LGC Sans Mono Bold" family="DejaVuGC Sans Mono" style="Normal" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSansMono-Bold.ttf"/> +- <type name="DejaVu-LGC-Sans-Mono-Bold-Oblique" fullname="DejaVu LGC Sans Mono Bold Oblique" family="DejaVuGC Sans Mono" style="Oblique" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSansMono-BoldOblique.ttf"/> +- <type name="DejaVu-LGC-Sans-Mono-Book" fullname="DejaVu LGC Sans Mono Book" family="DejaVuGC Sans Mono" style="Normal" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSansMono.ttf"/> +- <type name="DejaVu-LGC-Sans-Mono-Oblique" fullname="DejaVu LGC Sans Mono Oblique" family="DejaVuGC Sans Mono" style="Oblique" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSansMono-Oblique.ttf"/> +- <type name="DejaVu-LGC-Sans-Oblique" fullname="DejaVu LGC Sans Oblique" family="DejaVuGC Sans" style="Oblique" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSans-Oblique.ttf"/> +- <type name="DejaVu-LGC-Serif-Bold" fullname="DejaVu LGC Serif Bold" family="DejaVuGC Serif" style="Normal" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSerif-Bold.ttf"/> +- <type name="DejaVu-LGC-Serif-Bold-Italic" fullname="DejaVu LGC Serif Bold Italic" family="DejaVuGC Serif" style="Italic" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSerif-BoldItalic.ttf"/> +- <type name="DejaVu-LGC-Serif-Book" fullname="DejaVu LGC Serif Book" family="DejaVuGC Serif" style="Normal" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSerif.ttf"/> +- <type name="DejaVu-LGC-Serif-Condensed" fullname="DejaVu LGC Serif Condensed" family="DejaVuGC Serif" style="Normal" stretch="SemiCondensed" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSerifCondensed.ttf"/> +- <type name="DejaVu-LGC-Serif-Condensed-Bold" fullname="DejaVu LGC Serif Condensed Bold" family="DejaVuGC Serif" style="Normal" stretch="SemiCondensed" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSerifCondensed-Bold.ttf"/> +- <type name="DejaVu-LGC-Serif-Condensed-Bold-Italic" fullname="DejaVu LGC Serif Condensed Bold Italic" family="DejaVuGC Serif" style="Italic" stretch="SemiCondensed" weight="700" glyphs="@dejavu_font_dir@DejaVuLGCSerifCondensed-BoldItalic.ttf"/> +- <type name="DejaVu-LGC-Serif-Condensed-Italic" fullname="DejaVu LGC Serif -Condensed Italic" family="DejaVuGC Serif" style="Italic" stretch="SemiCondensed" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSerifCondensed-Italic.ttf"/> +- <type name="DejaVu-LGC-Serif-Italic" fullname="DejaVu LGC Serif Italic" family="DejaVuGC Serif" style="Italic" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuLGCSerif-Italic.ttf"/> + <type name="DejaVu-Sans-Bold" fullname="DejaVu Sans Bold" family="DejaVu Sans" style="Normal" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuSans-Bold.ttf"/> + <type name="DejaVu-Sans-Bold-Oblique" fullname="DejaVu Sans Bold Oblique" family="DejaVu Sans" style="Oblique" stretch="Normal" weight="700" glyphs="@dejavu_font_dir@DejaVuSans-BoldOblique.ttf"/> + <type name="DejaVu-Sans-Book" fullname="DejaVu Sans Book" family="DejaVu Sans" style="Normal" stretch="Normal" weight="400" glyphs="@dejavu_font_dir@DejaVuSans.ttf"/> +diff -u -r ImageMagick-6.9.9-25/config/type-ghostscript.xml.in ImageMagick-6.9.9-25-archfonts/config/type-ghostscript.xml.in +--- ImageMagick-6.9.9-25/config/type-ghostscript.xml.in 2017-11-30 19:24:05.000000000 +0100 ++++ ImageMagick-6.9.9-25-archfonts/config/type-ghostscript.xml.in 2017-12-02 19:08:05.669243822 +0100 +@@ -13,38 +13,38 @@ + ImageMagick Ghostscript font configuration. + --> + <typemap> +- <type name="AvantGarde-Book" fullname="AvantGarde Book" family="AvantGarde" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@a010013l.afm" glyphs="@ghostscript_font_dir@a010013l.pfb"/> +- <type name="AvantGarde-BookOblique" fullname="AvantGarde Book Oblique" family="AvantGarde" foundry="URW" weight="400" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_dir@a010033l.afm" glyphs="@ghostscript_font_dir@a010033l.pfb"/> +- <type name="AvantGarde-Demi" fullname="AvantGarde DemiBold" family="AvantGarde" foundry="URW" weight="600" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@a010015l.afm" glyphs="@ghostscript_font_dir@a010015l.pfb"/> +- <type name="AvantGarde-DemiOblique" fullname="AvantGarde DemiOblique" family="AvantGarde" foundry="URW" weight="600" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_dir@a010035l.afm" glyphs="@ghostscript_font_dir@a010035l.pfb"/> +- <type name="Bookman-Demi" fullname="Bookman DemiBold" family="Bookman" foundry="URW" weight="600" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@b018015l.afm" glyphs="@ghostscript_font_dir@b018015l.pfb"/> +- <type name="Bookman-DemiItalic" fullname="Bookman DemiBold Italic" family="Bookman" foundry="URW" weight="600" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@b018035l.afm" glyphs="@ghostscript_font_dir@b018035l.pfb"/> +- <type name="Bookman-Light" fullname="Bookman Light" family="Bookman" foundry="URW" weight="300" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@b018012l.afm" glyphs="@ghostscript_font_dir@b018012l.pfb"/> +- <type name="Bookman-LightItalic" fullname="Bookman Light Italic" family="Bookman" foundry="URW" weight="300" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@b018032l.afm" glyphs="@ghostscript_font_dir@b018032l.pfb"/> +- <type name="Courier" fullname="Courier Regular" family="Courier" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n022003l.afm" glyphs="@ghostscript_font_dir@n022003l.pfb"/> +- <type name="Courier-Bold" fullname="Courier Bold" family="Courier" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n022004l.afm" glyphs="@ghostscript_font_dir@n022004l.pfb"/> +- <type name="Courier-Oblique" fullname="Courier Regular Oblique" family="Courier" foundry="URW" weight="400" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n022023l.afm" glyphs="@ghostscript_font_dir@n022023l.pfb"/> +- <type name="Courier-BoldOblique" fullname="Courier Bold Oblique" family="Courier" foundry="URW" weight="700" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n022024l.afm" glyphs="@ghostscript_font_dir@n022024l.pfb"/> +- <type name="fixed" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n019003l.afm" glyphs="@ghostscript_font_dir@n019003l.pfb"/> +- <type name="Helvetica" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n019003l.afm" glyphs="@ghostscript_font_dir@n019003l.pfb"/> +- <type name="Helvetica-Bold" fullname="Helvetica Bold" family="Helvetica" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n019004l.afm" glyphs="@ghostscript_font_dir@n019004l.pfb"/> +- <type name="Helvetica-Oblique" fullname="Helvetica Regular Italic" family="Helvetica" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n019023l.afm" glyphs="@ghostscript_font_dir@n019023l.pfb"/> +- <type name="Helvetica-BoldOblique" fullname="Helvetica Bold Italic" family="Helvetica" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n019024l.afm" glyphs="@ghostscript_font_dir@n019024l.pfb"/> +- <type name="Helvetica-Narrow" fullname="Helvetica Narrow" family="Helvetica Narrow" foundry="URW" weight="400" style="normal" stretch="condensed" format="type1" metrics="@ghostscript_font_dir@n019043l.afm" glyphs="@ghostscript_font_dir@n019043l.pfb"/> +- <type name="Helvetica-Narrow-Oblique" fullname="Helvetica Narrow Oblique" family="Helvetica Narrow" foundry="URW" weight="400" style="oblique" stretch="condensed" format="type1" metrics="@ghostscript_font_dir@n019063l.afm" glyphs="@ghostscript_font_dir@n019063l.pfb"/> +- <type name="Helvetica-Narrow-Bold" fullname="Helvetica Narrow Bold" family="Helvetica Narrow" foundry="URW" weight="700" style="normal" stretch="condensed" format="type1" metrics="@ghostscript_font_dir@n019044l.afm" glyphs="@ghostscript_font_dir@n019044l.pfb"/> +- <type name="Helvetica-Narrow-BoldOblique" fullname="Helvetica Narrow Bold Oblique" family="Helvetica Narrow" foundry="URW" weight="700" style="oblique" stretch="condensed" format="type1" metrics="@ghostscript_font_dir@n019064l.afm" glyphs="@ghostscript_font_dir@n019064l.pfb"/> +- <type name="NewCenturySchlbk-Roman" fullname="New Century Schoolbook" family="NewCenturySchlbk" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@c059013l.afm" glyphs="@ghostscript_font_dir@c059013l.pfb"/> +- <type name="NewCenturySchlbk-Italic" fullname="New Century Schoolbook Italic" family="NewCenturySchlbk" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@c059033l.afm" glyphs="@ghostscript_font_dir@c059033l.pfb"/> +- <type name="NewCenturySchlbk-Bold" fullname="New Century Schoolbook Bold" family="NewCenturySchlbk" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@c059016l.afm" glyphs="@ghostscript_font_dir@c059016l.pfb"/> +- <type name="NewCenturySchlbk-BoldItalic" fullname="New Century Schoolbook Bold Italic" family="NewCenturySchlbk" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@c059036l.afm" glyphs="@ghostscript_font_dir@c059036l.pfb"/> +- <type name="Palatino-Roman" fullname="Palatino Regular" family="Palatino" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@p052003l.afm" glyphs="@ghostscript_font_dir@p052003l.pfb"/> +- <type name="Palatino-Italic" fullname="Palatino Italic" family="Palatino" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@p052023l.afm" glyphs="@ghostscript_font_dir@p052023l.pfb"/> +- <type name="Palatino-Bold" fullname="Palatino Bold" family="Palatino" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@p052004l.afm" glyphs="@ghostscript_font_dir@p052004l.pfb"/> +- <type name="Palatino-BoldItalic" fullname="Palatino Bold Italic" family="Palatino" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@p052024l.afm" glyphs="@ghostscript_font_dir@p052024l.pfb"/> +- <type name="Times-Roman" fullname="Times Regular" family="Times" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n021003l.afm" glyphs="@ghostscript_font_dir@n021003l.pfb"/> +- <type name="Times-Bold" fullname="Times Medium" family="Times" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n021004l.afm" glyphs="@ghostscript_font_dir@n021004l.pfb"/> +- <type name="Times-Italic" fullname="Times Regular Italic" family="Times" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n021023l.afm" glyphs="@ghostscript_font_dir@n021023l.pfb"/> +- <type name="Times-BoldItalic" fullname="Times Medium Italic" family="Times" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_dir@n021024l.afm" glyphs="@ghostscript_font_dir@n021024l.pfb"/> +- <type name="Symbol" fullname="Symbol" family="Symbol" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_dir@s050000l.afm" glyphs="@ghostscript_font_dir@s050000l.pfb" version="0.1" encoding="AdobeCustom"/> ++ <type name="AvantGarde-Book" fullname="AvantGarde Book" family="AvantGarde" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWGothic-Book.otf"/> ++ <type name="AvantGarde-BookOblique" fullname="AvantGarde Book Oblique" family="AvantGarde" foundry="URW" weight="400" style="oblique" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWGothic-BookOblique.otf"/> ++ <type name="AvantGarde-Demi" fullname="AvantGarde DemiBold" family="AvantGarde" foundry="URW" weight="600" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWGothic-Demi.otf"/> ++ <type name="AvantGarde-DemiOblique" fullname="AvantGarde DemiOblique" family="AvantGarde" foundry="URW" weight="600" style="oblique" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWGothic-DemiOblique.otf"/> ++ <type name="Bookman-Demi" fullname="Bookman DemiBold" family="Bookman" foundry="URW" weight="600" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWBookman-Demi.otf"/> ++ <type name="Bookman-DemiItalic" fullname="Bookman DemiBold Italic" family="Bookman" foundry="URW" weight="600" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWBookman-DemiItalic.otf"/> ++ <type name="Bookman-Light" fullname="Bookman Light" family="Bookman" foundry="URW" weight="300" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWBookman-Light.otf"/> ++ <type name="Bookman-LightItalic" fullname="Bookman Light Italic" family="Bookman" foundry="URW" weight="300" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@URWBookman-LightItalic.otf"/> ++ <type name="Courier" fullname="Courier Regular" family="Courier" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusMonoPS-Regular.otf"/> ++ <type name="Courier-Bold" fullname="Courier Bold" family="Courier" foundry="URW" weight="700" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusMonoPS-Bold.otf"/> ++ <type name="Courier-Oblique" fullname="Courier Regular Oblique" family="Courier" foundry="URW" weight="400" style="oblique" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusMonoPS-Italic.otf"/> ++ <type name="Courier-BoldOblique" fullname="Courier Bold Oblique" family="Courier" foundry="URW" weight="700" style="oblique" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusMonoPS-BoldItalic.otf"/> ++ <type name="fixed" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusSans-Regular.otf"/> ++ <type name="Helvetica" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusSans-Regular.otf"/> ++ <type name="Helvetica-Bold" fullname="Helvetica Bold" family="Helvetica" foundry="URW" weight="700" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusSans-Bold.otf"/> ++ <type name="Helvetica-Oblique" fullname="Helvetica Regular Italic" family="Helvetica" foundry="URW" weight="400" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusSans-Italic.otf"/> ++ <type name="Helvetica-BoldOblique" fullname="Helvetica Bold Italic" family="Helvetica" foundry="URW" weight="700" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusSans-BoldItalic.otf"/> ++ <type name="Helvetica-Narrow" fullname="Helvetica Narrow" family="Helvetica Narrow" foundry="URW" weight="400" style="normal" stretch="condensed" format="cff" glyphs="@ghostscript_font_dir@NimbusSansNarrow-Regular.otf"/> ++ <type name="Helvetica-Narrow-Oblique" fullname="Helvetica Narrow Oblique" family="Helvetica Narrow" foundry="URW" weight="400" style="oblique" stretch="condensed" format="cff" glyphs="@ghostscript_font_dir@NimbusSansNarrow-Oblique.otf"/> ++ <type name="Helvetica-Narrow-Bold" fullname="Helvetica Narrow Bold" family="Helvetica Narrow" foundry="URW" weight="700" style="normal" stretch="condensed" format="cff" glyphs="@ghostscript_font_dir@NimbusSansNarrow-Bold.otf"/> ++ <type name="Helvetica-Narrow-BoldOblique" fullname="Helvetica Narrow Bold Oblique" family="Helvetica Narrow" foundry="URW" weight="700" style="oblique" stretch="condensed" format="cff" glyphs="@ghostscript_font_dir@NimbusSansNarrow-BdOblique.otf"/> ++ <type name="NewCenturySchlbk-Roman" fullname="New Century Schoolbook" family="NewCenturySchlbk" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@C059-Roman.otf"/> ++ <type name="NewCenturySchlbk-Italic" fullname="New Century Schoolbook Italic" family="NewCenturySchlbk" foundry="URW" weight="400" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@C059-Italic.otf"/> ++ <type name="NewCenturySchlbk-Bold" fullname="New Century Schoolbook Bold" family="NewCenturySchlbk" foundry="URW" weight="700" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@C059-Bold.otf"/> ++ <type name="NewCenturySchlbk-BoldItalic" fullname="New Century Schoolbook Bold Italic" family="NewCenturySchlbk" foundry="URW" weight="700" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@C059-BdIta.otf"/> ++ <type name="Palatino-Roman" fullname="Palatino Regular" family="Palatino" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@P052-Roman.otf"/> ++ <type name="Palatino-Italic" fullname="Palatino Italic" family="Palatino" foundry="URW" weight="400" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@P052-Italic.otf"/> ++ <type name="Palatino-Bold" fullname="Palatino Bold" family="Palatino" foundry="URW" weight="700" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@P052-Bold.otf"/> ++ <type name="Palatino-BoldItalic" fullname="Palatino Bold Italic" family="Palatino" foundry="URW" weight="700" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@P052-BoldItalic.otf"/> ++ <type name="Times-Roman" fullname="Times Regular" family="Times" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusRoman-Regular.otf"/> ++ <type name="Times-Bold" fullname="Times Medium" family="Times" foundry="URW" weight="700" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusRoman-Bold.otf"/> ++ <type name="Times-Italic" fullname="Times Regular Italic" family="Times" foundry="URW" weight="400" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusRoman-Italic.otf"/> ++ <type name="Times-BoldItalic" fullname="Times Medium Italic" family="Times" foundry="URW" weight="700" style="italic" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@NimbusRoman-BoldItalic.otf"/> ++ <type name="Symbol" fullname="Symbol" family="Symbol" foundry="URW" weight="400" style="normal" stretch="normal" format="cff" glyphs="@ghostscript_font_dir@StandardSymbolsPS.otf" version="2.0" encoding="AdobeCustom"/> + </typemap> diff --git a/abs/extra/iso-codes/PKGBUILD b/abs/extra/iso-codes/PKGBUILD new file mode 100644 index 0000000..29b5211 --- /dev/null +++ b/abs/extra/iso-codes/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=iso-codes +pkgver=3.76 +pkgrel=1 +pkgdesc="Lists of the country, language, and currency names" +arch=('any') +url="https://pkg-isocodes.alioth.debian.org/" +license=('LGPL') +makedepends=('python' git) +_commit=466dd437f40ec20d328dc5bf9ac57b64c4f954ab # tags/iso-codes-3.76 +source=("git+https://anonscm.debian.org/git/pkg-isocodes/iso-codes.git#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^iso-codes-//;s/-/+/g' +} + +prepare() { + cd $pkgname + autoreconf -fi +} + +build() { + cd "$srcdir/$pkgname" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname" + make DESTDIR="$pkgdir" pkgconfigdir=/usr/lib/pkgconfig install +} + diff --git a/abs/extra/iw/PKGBUILD b/abs/extra/iw/PKGBUILD index 48da071..878b5f6 100644 --- a/abs/extra/iw/PKGBUILD +++ b/abs/extra/iw/PKGBUILD @@ -1,17 +1,19 @@ -# $Id: PKGBUILD 195909 2013-10-05 07:30:47Z thomas $ +# $Id$ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=iw -pkgver=3.11 +pkgver=4.14 pkgrel=1 pkgdesc="nl80211 based CLI configuration utility for wireless devices" -arch=("i686" "x86_64") +arch=("x86_64") url="http://wireless.kernel.org/en/users/Documentation/iw" license=("GPL") depends=("libnl") makedepends=("linux-api-headers") -source=(https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz) -sha256sums=('e90327323821a8219abac56298919076c4bac6636464ca91356f02cfe40530ff') +validpgpkeys=('C0EBC440F6DA091C884D8532E0F373F37BF9099A') # Johannes Berg +source=("https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar."{xz,sign}) +sha256sums=('f01671c0074bfdec082a884057edba1b9efd35c89eda554638496f03b769ad89' + 'SKIP') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/abs/extra/iw/__changelog b/abs/extra/iw/__changelog deleted file mode 100644 index 2f6d9a5..0000000 --- a/abs/extra/iw/__changelog +++ /dev/null @@ -1,4 +0,0 @@ -no changes, but version.c needs to be createdoutside of our git -copy to /tmp -makepkg -copy srcdir back diff --git a/abs/extra/jbig2dec/PKGBUILD b/abs/extra/jbig2dec/PKGBUILD new file mode 100644 index 0000000..cc2bedd --- /dev/null +++ b/abs/extra/jbig2dec/PKGBUILD @@ -0,0 +1,26 @@ +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Bartłomiej Piotrowski +# Contributor: Stefan Husmann <stefan-husmann@t-online.de> + +pkgname=jbig2dec +pkgver=0.14 +pkgrel=1 +pkgdesc='Decoder implementation of the JBIG2 image compression format' +url='https://artifex.com/developers-ghostscript-jbig2dec/' +arch=('x86_64') +license=('GPL3') +depends=('libpng') +source=("https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/${pkgname}-${pkgver}.tar.gz") +sha256sums=('21b498c3ba566f283d02946f7e78e12abbad89f12fe4958974e50882c185014c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./autogen.sh --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/js17/PKGBUILD b/abs/extra/js17/PKGBUILD deleted file mode 100644 index 980e8f0..0000000 --- a/abs/extra/js17/PKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# $Id: PKGBUILD 183635 2013-04-25 18:13:54Z ioni $ -# Maintainer: Ionut Biru <ibiru@archlinux.org> - -pkgname=js17 -pkgver=17.0.0 -pkgrel=1 -pkgdesc="JavaScript interpreter and libraries (legacy)" -arch=(i686 x86_64) -url="https://developer.mozilla.org/En/SpiderMonkey/17" -license=(MPL) -depends=(nspr gcc-libs readline) -makedepends=(python2 zip libffi) -conflicts=('js<24.2.0') -options=(!staticlibs) -source=(http://ftp.mozilla.org/pub/mozilla.org/js/mozjs$pkgver.tar.gz) -md5sums=('20b6f8f1140ef6e47daa3b16965c9202') - -build() { - unset CPPFLAGS - cd mozjs$pkgver/js/src - ./configure --prefix=/usr --with-system-nspr --with-system-ffi \ - --enable-readline --enable-threadsafe - make -} - -check() { - cd mozjs$pkgver/js/src - make check -} - -package() { - cd mozjs$pkgver/js/src - make DESTDIR="$pkgdir" install - find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -x {} + -} - -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/js52/PKGBUILD b/abs/extra/js52/PKGBUILD new file mode 100644 index 0000000..6338a13 --- /dev/null +++ b/abs/extra/js52/PKGBUILD @@ -0,0 +1,75 @@ +# $Id$ +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgname=js52 +pkgver=52.7.3 +pkgrel=1 +_ffver=${pkgver%%.*} +pkgdesc="JavaScript interpreter and libraries - Version $_ffver" +arch=(x86_64) +url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" +license=(MPL) +depends=(gcc-libs readline zlib sh) +makedepends=(python2 zip autoconf2.13 mercurial) +_repo=https://hg.mozilla.org/mozilla-unified +source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}esr_RELEASE" + mozjs52-copy-headers.patch + mozjs52-disable-mozglue.patch + mozjs52-fix-soname.patch + mozjs52-include-configure-script.patch) +sha256sums=('SKIP' + 'c5b3a88e4d10ef149aba6fc48d431db54ff266323fa22a5d549028fd794423cc' + '5a84f02521f37de873991dd360a4c4bfdbdd2fb4a218e11be73f9cbbf02050e8' + '06389b8e30465bb8e6fab6144dadedffa30595f143a686524da175b5cf5e8a27' + 'd91a89acd88bfc747a255050757a0c17139bf5c3508c2e1c3c6bb2056786a344') + +prepare() { + cd mozilla-unified + + # https://anonscm.debian.org/git/pkg-gnome/mozjs52.git/tree/debian/patches + patch -Np1 -i ../mozjs52-fix-soname.patch + patch -Np1 -i ../mozjs52-copy-headers.patch + patch -Np1 -i ../mozjs52-disable-mozglue.patch + patch -Np1 -i ../mozjs52-include-configure-script.patch +} + +build() { + unset CPPFLAGS + CFLAGS+=' -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp -flto=3' + CXXFLAGS+=' -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp -flto=3' + export CC=gcc CXX=g++ PYTHON=/usr/bin/python2 SHELL=/bin/bash + + cd mozilla-unified/js/src + sh configure \ + --prefix=/usr \ + --disable-debug \ + --disable-debug-symbols \ + --disable-strip \ + --enable-gold \ + --enable-optimize="-O2" \ + --enable-pie \ + --enable-posix-nspr-emulation \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --enable-tests \ + --with-intl-api \ + --with-system-zlib \ + --without-system-icu + make +} + +check() { + cd mozilla-unified/js/src + python2 tests/jstests.py -d -s -t 300 --no-progress ../../js/src/js/src/shell/js + python2 jit-test/jit_test.py -s -t 300 --no-progress ../../js/src/js/src/shell/js basic +} + +package() { + cd mozilla-unified/js/src + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/*.ajs + find "$pkgdir"/usr/{lib/pkgconfig,include} -type f -exec chmod -c a-x {} + +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/js52/mozjs52-copy-headers.patch b/abs/extra/js52/mozjs52-copy-headers.patch new file mode 100644 index 0000000..69b2161 --- /dev/null +++ b/abs/extra/js52/mozjs52-copy-headers.patch @@ -0,0 +1,30 @@ +From 8b2d7a77bfb4dbd513763501ed7e9722058ee9af Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz <ricotz@ubuntu.com> +Date: Wed, 5 Jul 2017 22:45:59 -0700 +Subject: [PATCH] build: Copy headers on install instead of symlinking + +Patch ported forward to mozjs52 by Philip Chimento +<philip.chimento@gmail.com>. +--- + python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py +index 132dcf94..33d489a6 100644 +--- a/python/mozbuild/mozbuild/backend/recursivemake.py ++++ b/python/mozbuild/mozbuild/backend/recursivemake.py +@@ -1307,11 +1307,11 @@ def _process_final_target_files(self, obj, files, backend_file): + raise Exception("Wildcards are only supported in the filename part of " + "srcdir-relative or absolute paths.") + +- install_manifest.add_pattern_symlink(basepath, wild, path) ++ install_manifest.add_pattern_copy(basepath, wild, path) + else: +- install_manifest.add_pattern_symlink(f.srcdir, f, path) ++ install_manifest.add_pattern_copy(f.srcdir, f, path) + else: +- install_manifest.add_symlink(f.full_path, dest) ++ install_manifest.add_copy(f.full_path, dest) + else: + install_manifest.add_optional_exists(dest) + backend_file.write('%s_FILES += %s\n' % ( diff --git a/abs/extra/js52/mozjs52-disable-mozglue.patch b/abs/extra/js52/mozjs52-disable-mozglue.patch new file mode 100644 index 0000000..8355cf4 --- /dev/null +++ b/abs/extra/js52/mozjs52-disable-mozglue.patch @@ -0,0 +1,66 @@ +From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001 +From: Till Schneidereit <till@tillschneidereit.net> +Date: Thu, 1 Oct 2015 12:59:09 +0200 +Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all + platforms + +Otherwise, build fails not being able to find HashBytes. + +Patch ported forward to mozjs52 by Philip Chimento +<philip.chimento@gmail.com>. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1176787 +--- + js/src/old-configure.in | 23 ++++++++++++++--------- + mozglue/build/moz.build | 2 +- + 2 files changed, 15 insertions(+), 10 deletions(-) + +diff --git a/js/src/old-configure.in b/js/src/old-configure.in +index 1c5c9e21..ff0617e3 100644 +--- a/js/src/old-configure.in ++++ b/js/src/old-configure.in +@@ -1623,16 +1623,21 @@ dnl ======================================================== + dnl = Enable jemalloc + dnl ======================================================== + +-case "${OS_TARGET}" in +-Android|WINNT|Darwin) ++dnl In stand-alone builds we always only want to link executables against mozglue. ++if test "$JS_STANDALONE"; then + MOZ_GLUE_IN_PROGRAM= +- ;; +-*) +- dnl On !Android !Windows !OSX, we only want to link executables against mozglue +- MOZ_GLUE_IN_PROGRAM=1 +- AC_DEFINE(MOZ_GLUE_IN_PROGRAM) +- ;; +-esac ++else ++ case "${OS_TARGET}" in ++ Android|WINNT|Darwin) ++ MOZ_GLUE_IN_PROGRAM= ++ ;; ++ *) ++ dnl On !Android !Windows !OSX, we only want to link executables against mozglue ++ MOZ_GLUE_IN_PROGRAM=1 ++ AC_DEFINE(MOZ_GLUE_IN_PROGRAM) ++ ;; ++ esac ++fi + + if test "$MOZ_MEMORY"; then + if test "x$MOZ_DEBUG" = "x1"; then +diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build +index d2897477..e3be5a2b 100644 +--- a/mozglue/build/moz.build ++++ b/mozglue/build/moz.build +@@ -6,7 +6,7 @@ + + # Build mozglue as a shared lib on Windows, OSX and Android. + # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in +-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'): ++if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']: + SharedLibrary('mozglue') + else: + Library('mozglue') + diff --git a/abs/extra/js52/mozjs52-fix-soname.patch b/abs/extra/js52/mozjs52-fix-soname.patch new file mode 100644 index 0000000..a91107c --- /dev/null +++ b/abs/extra/js52/mozjs52-fix-soname.patch @@ -0,0 +1,34 @@ +From: Laszlo Boszormenyi (GCS) <gcs@debian.org> +Date: Fri, 02 May 2014 22:20:45 +0200 +Subject: fix soname + +Add soname switch to linker, regardless of Operating System + +Bug-Debian: http://bugs.debian.org/746705 +--- + config/rules.mk | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: mozjs52-52.2.1~artful1/config/rules.mk +=================================================================== +--- mozjs52-52.2.1~artful1.orig/config/rules.mk ++++ mozjs52-52.2.1~artful1/config/rules.mk +@@ -418,7 +418,7 @@ endif # AIX + # + # Linux: add -Bsymbolic flag for components + # +-ifeq ($(OS_ARCH),Linux) ++#ifeq ($(OS_ARCH),Linux) + ifdef IS_COMPONENT + EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic + endif +@@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT + EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT) + EXTRA_DEPS += $(LD_VERSION_SCRIPT) + endif +-endif ++#endif ++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0 + + ifdef SYMBOLS_FILE + ifeq ($(OS_TARGET),WINNT) diff --git a/abs/extra/js52/mozjs52-include-configure-script.patch b/abs/extra/js52/mozjs52-include-configure-script.patch new file mode 100644 index 0000000..523e657 --- /dev/null +++ b/abs/extra/js52/mozjs52-include-configure-script.patch @@ -0,0 +1,63 @@ +From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001 +From: Philip Chimento <philip.chimento@gmail.com> +Date: Wed, 5 Jul 2017 22:57:09 -0700 +Subject: [PATCH] build: Include configure script, be nicer about options + +A configure script is not included in the SpiderMonkey tarball by +default. Also, we have to account for JHbuild passing extra unknown +options like --disable-Werror. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1379540 +--- + js/src/configure | 9 +++++++++ + python/mozbuild/mozbuild/configure/__init__.py | 2 +- + python/mozbuild/mozbuild/configure/options.py | 6 +++++- + 3 files changed, 15 insertions(+), 2 deletions(-) + create mode 100755 js/src/configure + +diff --git a/js/src/configure b/js/src/configure +new file mode 100755 +index 00000000..f1ef8c49 +--- /dev/null ++++ b/js/src/configure +@@ -0,0 +1,9 @@ ++#!/bin/sh ++ ++SRCDIR=$(dirname $0) ++TOPSRCDIR="$SRCDIR"/../.. ++export OLD_CONFIGURE="$SRCDIR"/old-configure ++ ++set -- "$@" --enable-project=js ++ ++which python2.7 > /dev/null && exec python2.7 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@" +diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py +index 0fe640ca..09b460d3 100644 +--- a/python/mozbuild/mozbuild/configure/__init__.py ++++ b/python/mozbuild/mozbuild/configure/__init__.py +@@ -356,7 +356,7 @@ def run(self, path=None): + # All options should have been removed (handled) by now. + for arg in self._helper: + without_value = arg.split('=', 1)[0] +- raise InvalidOptionError('Unknown option: %s' % without_value) ++ print('Ignoring', without_value, ': Unknown option') + + # Run the execution queue + for func, args in self._execution_queue: +diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py +index 4310c862..15bfe425 100644 +--- a/python/mozbuild/mozbuild/configure/options.py ++++ b/python/mozbuild/mozbuild/configure/options.py +@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv): + + def add(self, arg, origin='command-line', args=None): + assert origin != 'default' +- prefix, name, values = Option.split_option(arg) ++ try: ++ prefix, name, values = Option.split_option(arg) ++ except InvalidOptionError as e: ++ print('Ignoring', arg, ':', e) ++ return + if args is None: + args = self._extra_args + if args is self._extra_args and name in self._extra_args: + diff --git a/abs/extra/json-c/PKGBUILD b/abs/extra/json-c/PKGBUILD index 70dd735..d4795e3 100644 --- a/abs/extra/json-c/PKGBUILD +++ b/abs/extra/json-c/PKGBUILD @@ -4,30 +4,30 @@ # Contributor: congyiwu <congyiwu AT gmail DOT com> pkgname=json-c -pkgver=0.12 -pkgrel=2 -pkgdesc="A JSON implementation in C" -url="https://github.com/json-c/json-c/wiki" +pkgver=0.13 +pkgrel=1 +pkgdesc='A JSON implementation in C' +url='https://github.com/json-c/json-c/wiki' license=(MIT) -arch=(i686 x86_64) -depends=(glibc) -source=(https://s3.amazonaws.com/${pkgname}_releases/releases/$pkgname-${pkgver}.tar.gz) -sha256sums=('000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f') +arch=('x86_64') +depends=('glibc') +source=('https://github.com/json-c/json-c/archive/json-c-0.13-20171207.tar.gz') +sha256sums=('26e642456caab38aa9459279b9712ffec52f751e9f46641d28461c244bd6bae6') build() { - cd $pkgname-$pkgver + cd $pkgname-$pkgname-$pkgver-20171207 CFLAGS="$CFLAGS -Wno-error" ./configure --prefix=/usr --disable-static make } check() { - cd $pkgname-$pkgver + cd $pkgname-$pkgname-$pkgver-20171207 make check } package() { - cd $pkgname-$pkgver + cd $pkgname-$pkgname-$pkgver-20171207 make DESTDIR="$pkgdir" install install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } diff --git a/abs/extra/jsoncpp/PKGBUILD b/abs/extra/jsoncpp/PKGBUILD index 693cdbd..a8a1a36 100644 --- a/abs/extra/jsoncpp/PKGBUILD +++ b/abs/extra/jsoncpp/PKGBUILD @@ -1,38 +1,71 @@ -# $Id$ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Jonahtan Schaeffer <joschaeffer@gmail.com> # COntributor: Drake Arconis <lightdrake@gmail.com> -pkgname=jsoncpp -pkgver=1.6.5 -pkgrel=3 -pkgdesc='A C++ library for interacting with JSON' +pkgbase=jsoncpp +pkgname=('jsoncpp' 'jsoncpp-doc') +pkgver=1.8.4 +pkgrel=2 +pkgdesc='C++ library for interacting with JSON' url='https://github.com/open-source-parsers/jsoncpp' +arch=('x86_64') license=('MIT' 'custom:Public_Domain') -arch=('i686' 'x86_64') -depends=('gcc-libs') -makedepends=('cmake') -source=(${pkgname}-${pkgver}.tar.gz::"https://github.com/open-source-parsers/${pkgname}/archive/${pkgver}.tar.gz") -md5sums=('2bb16bb8d2b867acbdd71d1855062a89') +makedepends=('gcc-libs' 'doxygen' 'graphviz' 'python' 'meson') +checkdepends=('python2') +options=('staticlibs') +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/open-source-parsers/${pkgbase}/archive/${pkgver}.tar.gz) +sha256sums=('c49deac9e0933bcb7044f08516861a2d560988540b23de2ac1ad443b219afdb6') +sha512sums=('f70361a3263dd8b9441374a9a409462be1426c0d6587c865171a80448ab73b3f69de2b4d70d2f0c541764e1e6cccc727dd53178347901f625ec6fb54fb94f4f1') + +prepare() { + cd ${pkgbase}-${pkgver} + mkdir -p build +} build() { - cd ${pkgname}-${pkgver} - cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DBUILD_SHARED_LIBS=ON \ - -DBUILD_STATIC_LIBS=OFF - make + cd ${pkgbase}-${pkgver} + msg2 "Building docs..." + python doxybuild.py \ + --doxygen="$(which doxygen)" \ + --with-dot + + msg2 "Building shared library..." + arch-meson --default-library shared build + ninja -C build + + msg2 "Building static library..." + arch-meson --default-library static build-static + ninja -C build-static } check() { - cd ${pkgname}-${pkgver} - make test + cd ${pkgbase}-${pkgver} + ninja -C build test + cd test + python2 runjsontests.py ../build/jsontestrunner + python2 rununittests.py ../build/jsoncpp_test } -package() { - cd ${pkgname}-${pkgver} - make DESTDIR="${pkgdir}" install - install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +package_jsoncpp() { + depends=('gcc-libs') + optdepends=('jsoncpp-doc: documentation') + + cd ${pkgbase}-${pkgver} + DESTDIR="${pkgdir}" ninja -C build install + DESTDIR="${pkgdir}" ninja -C build-static install + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_jsoncpp-doc() { + pkgdesc+=' (documentation)' + optdepends=('jsoncpp') + + cd ${pkgbase}-${pkgver} + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -dm 755 "${pkgdir}/usr/share/doc/${pkgbase}" + cp -a dist/doxygen/jsoncpp-api-html-${pkgver} "${pkgdir}/usr/share/doc/${pkgbase}/html" } +# vim: ts=2 sw=2 et: diff --git a/abs/extra/kodi-platform/PKGBUILD b/abs/extra/kodi-platform/PKGBUILD index a0f776d..2301624 100644 --- a/abs/extra/kodi-platform/PKGBUILD +++ b/abs/extra/kodi-platform/PKGBUILD @@ -2,15 +2,15 @@ # Maintainer: BlackEagle <ike.devolder@gmail.com>> pkgname=kodi-platform -_commit=92583ef -pkgver=20160131.92583ef -pkgrel=2 +_commit=36fb493 +pkgver=20170306.36fb493 +pkgrel=1 pkgdesc="platform library for external kodi addons" -arch=('i686' 'x86_64') +arch=('x86_64') url='https://github.com/xbmc/kodi-platform' license=('GPL') depends=('kodi' 'p8-platform') -makedepends=('git' 'cmake') +makedepends=('git' 'cmake' 'kodi-dev') source=("$pkgname::git://github.com/xbmc/kodi-platform.git#commit=$_commit") sha256sums=('SKIP') diff --git a/abs/extra/kodi/10160.patch b/abs/extra/kodi/10160.patch new file mode 100644 index 0000000..73923ea --- /dev/null +++ b/abs/extra/kodi/10160.patch @@ -0,0 +1,22 @@ +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 new file mode 100644 index 0000000..6188484 --- /dev/null +++ b/abs/extra/kodi/10775.patch @@ -0,0 +1,839 @@ +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 new file mode 100644 index 0000000..9c96dfa --- /dev/null +++ b/abs/extra/kodi/9703.patch @@ -0,0 +1,1432 @@ +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 6623868..14c19f9 100644 --- a/abs/extra/kodi/PKGBUILD +++ b/abs/extra/kodi/PKGBUILD @@ -2,121 +2,154 @@ # $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') -pkgver=16.1 -_codename=Jarvis -pkgrel=2 -arch=('i686' 'x86_64') +pkgname=('kodi' 'kodi-eventclients' 'kodi-tools-texturepacker' 'kodi-dev') +pkgver=17.6 +_codename=Krypton +pkgrel=5 +arch=('x86_64') url="http://kodi.tv" license=('GPL2') makedepends=( - 'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git' 'glew' + 'afpfs-ng' 'bluez-libs' 'cmake' 'curl' 'doxygen' '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' 'sdl2' - 'sdl_image' 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' - 'yajl' 'zip' 'mesa' 'dcadec' 'libcrossguid' + 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump' + 'shairplay' 'smbclient' 'speex' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' + 'yajl' 'zip' 'git' 'giflib' ) +_libdvdcss_commit="2f12236bc1c92f73c21e973363f79eb300de603f" +_libdvdnav_commit="981488f7f27554b103cca10c1fbeba027396c94a" +_libdvdread_commit="17d99db97e7b8f23077b342369d3c22a6250affd" +_ffmpeg_version="3.1.11-$_codename-17.5" source=( - "$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" + "$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' 'kodi.sh' 'kodi_lib.conf' ) - +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() { - 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 - - # patches + [[ -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 } build() { - cd "$srcdir/xbmc-$pkgver-$_codename" - - # Bootstrapping - MAKEFLAGS=-j1 ./bootstrap - - #./configure --help - #return 1 - - # Configuring XBMC - export PYTHON_VERSION=2 # external python v2 - ./configure --prefix=/usr --exec-prefix=/usr \ - --disable-debug \ - --enable-optimizations \ - --enable-libbluray \ - --enable-shared-libraries \ - --with-lirc-device=/run/lirc/lircd \ - ac_cv_type__Bool=yes - - # Now (finally) build + cd kodi-build + 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 + 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=( - 'python2-pillow' 'python2-pybluez' 'python2-simplejson' - 'mesa-demos' 'xorg-xdpyinfo' - 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libass' 'libcdio' - 'libjpeg-turbo' 'libmysqlclient' 'libmicrohttpd' 'libssh' - 'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml' - 'yajl' 'mesa' 'dcadec' 'desktop-file-utils' + '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' ) 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') - cd "$srcdir/xbmc-$pkgver-$_codename" - # Running make install - make DESTDIR="$pkgdir" install + _components=( + 'kodi' + 'kodi-bin' + ) - # 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 + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done # Licenses - install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} + 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} + 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 @@ -124,16 +157,81 @@ package_kodi() { install -D -m0744 ${srcdir}/kodi_lib.conf ${pkgdir}/etc/gen_lib_xml.d/kodi_lib.conf } +# 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' + ) - cd "$srcdir/xbmc-$pkgver-$_codename" + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done - make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD + # python2 is being used + cd "$pkgdir" + grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done } -md5sums=('79358ad5f77f42c5498a9412d5a78dd5' - 'f6adc8e06d7076143ca2ad118126b158' - 'f04d1c89f5108c6aba36cf708a74cc95') +# kodi-tools-texturepacker +# components: kodi-tools-texturepacker + +package_kodi-tools-texturepacker() { + pkgdesc="Kodi Texturepacker tool" + depends=('libpng' 'giflib' 'libjpeg-turbo' 'lzo') + + _components=( + 'kodi-tools-texturepacker' + ) + + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done +} + +# 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 + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done + + # python2 is being used + cd "$pkgdir" + grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done +} diff --git a/abs/extra/kodi/cheat-sse-build.patch b/abs/extra/kodi/cheat-sse-build.patch new file mode 100644 index 0000000..8b4b3b1 --- /dev/null +++ b/abs/extra/kodi/cheat-sse-build.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 0000000..b0884ec --- /dev/null +++ b/abs/extra/kodi/cpuinfo @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..feec949 --- /dev/null +++ b/abs/extra/kodi/fix-ftpparse.patch @@ -0,0 +1,71 @@ +--- 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 new file mode 100644 index 0000000..3956580 --- /dev/null +++ b/abs/extra/kodi/fix-python-lib-path.patch @@ -0,0 +1,29 @@ +--- 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 01c138d..e271256 100644 --- a/abs/extra/kodi/kodi.install +++ b/abs/extra/kodi/kodi.install @@ -1,19 +1,10 @@ post_install() { - update_icons gen_lib_xml.py } post_upgrade() { - update_icons } post_remove() { - update_icons gen_lib_xml.py } - -update_icons() { - type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications - return 0 -} diff --git a/abs/extra/blas/LICENSE.blas b/abs/extra/lapack/LICENSE.blas index 79f3838..79f3838 100644 --- a/abs/extra/blas/LICENSE.blas +++ b/abs/extra/lapack/LICENSE.blas diff --git a/abs/extra/lapack/PKGBUILD b/abs/extra/lapack/PKGBUILD new file mode 100644 index 0000000..7ff50f1 --- /dev/null +++ b/abs/extra/lapack/PKGBUILD @@ -0,0 +1,86 @@ +# $Id$ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: damir <damir@archlinux.org> +# Contributor: Jason Taylor <jftaylor21@gmail.com> + +pkgbase=lapack +pkgname=('lapack' 'blas' 'cblas' 'lapacke') +pkgver=3.8.0 +pkgrel=1 +url="http://www.netlib.org/lapack" +pkgdesc="Linear Algebra PACKage" +makedepends=('gcc-fortran' 'cmake' 'python' 'doxygen') +arch=('x86_64') +license=("custom") +source=(http://www.netlib.org/${pkgbase}/${pkgbase}-${pkgver}.tar.gz LICENSE.blas) +sha1sums=('55ac9d6be510883c5442c8aca967722cdf58fb29' + '2491a151a37f0162b25fc4e4e9a8ac444b574a76') + +build() { + install -d build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_Fortran_COMPILER=gfortran \ + -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ + -DBUILD_DEPRECATED=ON + make + +# Build man pages + cd ../$pkgname-$pkgver + doxygen DOCS/Doxyfile_man +} + +package_lapack() { + depends=("blas") + + cd build + make DESTDIR="$pkgdir" install + + rm -r "$pkgdir"/usr/lib/{libblas.*,libcblas.*,liblapacke.*} + rm -r "$pkgdir"/usr/lib/pkgconfig/{blas.*,cblas.*,lapacke.*} + rm -r "$pkgdir"/usr/lib/cmake/{cblas*,lapacke*} + rm -r "$pkgdir"/usr/include +} + +package_blas() { + pkgdesc="Basic Linear Algebra Subprograms" + depends=('gcc-libs') + + cd build/BLAS + make DESTDIR="$pkgdir" install + + install -m755 -d "${pkgdir}/usr/share/licenses/blas" + install -m644 "${srcdir}/LICENSE.blas" \ + "${pkgdir}/usr/share/licenses/blas/" +} + +package_cblas() { + pkgdesc="C interface to BLAS" + depends=("blas") + + cd build/CBLAS + make DESTDIR="$pkgdir" install +} + +package_lapacke() { + pkgdesc="C interface to LAPACK" + depends=("lapack") + + cd build/LAPACKE + make DESTDIR="$pkgdir" install +} + +package_lapack-doc() { + pkgdesc="Man pages for BLAS/LAPACK" + + mkdir -p "$pkgdir"/usr/share + cp -r lapack-$pkgver/DOCS/man "$pkgdir"/usr/share +} diff --git a/abs/extra/lapack/__changelog b/abs/extra/lapack/__changelog new file mode 100644 index 0000000..fc1acbd --- /dev/null +++ b/abs/extra/lapack/__changelog @@ -0,0 +1 @@ +PKGBUILD: don't build lapack-doc diff --git a/abs/extra/ldb/PKGBUILD b/abs/extra/ldb/PKGBUILD index ed4d1f0..9763216 100644 --- a/abs/extra/ldb/PKGBUILD +++ b/abs/extra/ldb/PKGBUILD @@ -4,16 +4,16 @@ # Contributor: Marco A Rojas <marquicus at gmail dot com> pkgname=ldb -pkgver=1.1.24 +pkgver=1.3.2 pkgrel=1 pkgdesc="A schema-less, ldap like, API and database" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://ldb.samba.org/" source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.asc) license=('GPL3') depends=('talloc' 'tevent' 'tdb' 'popt') -makedepends=('python2') +makedepends=('python2' 'cmocka') optdepends=('python2: for python bindings') validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key <samba-bugs@samba.org> @@ -39,5 +39,5 @@ package() { make DESTDIR=${pkgdir}/ install } -md5sums=('152f061422de5b90f8ce51e0ea316292' +md5sums=('c9433cc914c181481f63dedd7fce5be8' 'SKIP') diff --git a/abs/extra/libburn/PKGBUILD b/abs/extra/libburn/PKGBUILD index 645aa25..2bd7725 100644 --- a/abs/extra/libburn/PKGBUILD +++ b/abs/extra/libburn/PKGBUILD @@ -1,28 +1,29 @@ -# $Id: PKGBUILD 163883 2012-07-21 12:10:06Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: William Rea <sillywilly@gmail.com> pkgname=libburn -pkgver=1.2.4 +pkgver=1.4.8 # .pl01 pkgrel=1 pkgdesc="Library for reading, mastering and writing optical discs" -arch=('i686' 'x86_64') -url="http://libburnia.pykix.org/" +arch=('x86_64') +url="https://dev.lovelyhq.com/libburnia" license=('GPL') depends=('glibc') source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig}) -options=('!libtool' '!emptydirs') -md5sums=('25b45b1ccf6921a5bce4e2d88f55a81f' - 'a6749b55ba9ec9dad471e3a2202de390') +options=('!emptydirs') +sha256sums=('3e81a2e359376c38d96239a9c9967be715f706d150d89c337de0fc85ecb79da6' + 'SKIP') +validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net> build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver/.pl01/} ./configure --prefix=/usr --disable-static make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver/.pl01/} make DESTDIR=${pkgdir} install } diff --git a/abs/extra/libcdio-paranoia/PKGBUILD b/abs/extra/libcdio-paranoia/PKGBUILD index 380ded2..6d169c6 100644 --- a/abs/extra/libcdio-paranoia/PKGBUILD +++ b/abs/extra/libcdio-paranoia/PKGBUILD @@ -1,18 +1,27 @@ -# $Id: PKGBUILD 174870 2013-01-08 10:06:34Z jgc $ -# Maintainer: +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: damir <damir@archlinux.org> pkgname=libcdio-paranoia -pkgver=10.2+0.93+1 -pkgrel=1 +pkgver=10.2+0.94+2 +pkgrel=2 pkgdesc="CD paranoia libraries from libcdio" -arch=('i686' 'x86_64') +arch=('x86_64') license=('GPL' 'LGPL') -url="http://www.gnu.org/software/libcdio/" +url="https://www.gnu.org/software/libcdio/" depends=('libcdio') -source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.bz2{,.sig}) -md5sums=('0255aa50e660db7f2c39658b9c565814' - 'SKIP') +source=(https://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig} + enable_symbol_versions.patch) +sha256sums=('d60f82ece97eeb92407a9ee03f3499c8983206672c28ae5e4e22179063c81941' + 'SKIP' + 'f84a2467ee7ffd747cea7c783d4d53d5439b69f49d01380d650bea8454ddf5f2') +validpgpkeys=('DAA63BC2582034A02B923D521A8DE5008275EC21') # R. Bernstein <rocky@panix.com> + +prepare() { + cd "${pkgname}-${pkgver}" + patch -Np1 -i ../enable_symbol_versions.patch + autoreconf -fi +} build() { cd "${pkgname}-${pkgver}" diff --git a/abs/extra/libcdio-paranoia/enable_symbol_versions.patch b/abs/extra/libcdio-paranoia/enable_symbol_versions.patch new file mode 100644 index 0000000..5b31197 --- /dev/null +++ b/abs/extra/libcdio-paranoia/enable_symbol_versions.patch @@ -0,0 +1,26 @@ +From 69b1fabe1983d4216144c8d271bd90c24a49a9b7 Mon Sep 17 00:00:00 2001 +From: "R. Bernstein" <rocky@gnu.org> +Date: Tue, 9 May 2017 02:34:34 -0400 +Subject: [PATCH] Default enable_version_script is yes (enabled) + +Fixes http://savannah.gnu.org/bugs/?50978 ? +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ed276c2..a502273 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -61,9 +61,9 @@ dnl cheeck whether ld supports --version-script + + AC_ARG_ENABLE(ld-version-script, + AS_HELP_STRING([--disable-ld-version-script], +- [Disable linker vresion script for libraries (Defauilt is to use linker script if the linger supports it)]), ++ [Disable linker version script for libraries (Defauilt is to use linker script if the linger supports it)]), + [enable_version_script=$enableval], +- [enable_version_script=auto]) ++ [enable_version_script=yes]) + + AM_CONDITIONAL(VERSION_SCRIPT, test "x$enable_version_script" = "xyes") + diff --git a/abs/extra/libcdio/PKGBUILD b/abs/extra/libcdio/PKGBUILD index c20a675..3bfed9a 100644 --- a/abs/extra/libcdio/PKGBUILD +++ b/abs/extra/libcdio/PKGBUILD @@ -1,38 +1,41 @@ # $Id$ -# Maintainer: +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: damir <damir@archlinux.org> pkgname=libcdio -pkgver=0.93 -pkgrel=3 +pkgver=2.0.0 +pkgrel=1 pkgdesc="GNU Compact Disc Input and Control Library" -arch=('i686' 'x86_64') -license=('GPL3') -url="http://www.gnu.org/software/libcdio/" -depends=('libcddb' 'ncurses' 'gcc-libs') -install=libcdio.install -source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig} - libcdio-0.83-linking.patch) -md5sums=('d154476feaac5a7b5f180e83eaf3d689' - 'SKIP' - '5a7f50209c03d5919d5b932f07871af7') +url="https://www.gnu.org/software/libcdio/" +arch=(x86_64) +license=(GPL3) +depends=(libcddb ncurses gcc-libs) +source=(https://ftp.gnu.org/gnu/libcdio/$pkgname-$pkgver.tar.bz2{,.sig}) +sha256sums=('cd0da052a0e149e2526c41c5ac37b4865deb5c1cffe6faed18850154dbbd284b' + 'SKIP') validpgpkeys=('DAA63BC2582034A02B923D521A8DE5008275EC21') # R. Bernstein prepare() { - cd ${pkgname}-${pkgver} - patch -Np1 -i ../libcdio-0.83-linking.patch + cd $pkgname-$pkgver + autoreconf -fi } build() { - cd ${pkgname}-${pkgver} + cd $pkgname-$pkgver ./configure --prefix=/usr --disable-vcd-info --enable-cpp-progs --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } +check() { + cd $pkgname-$pkgver + make -C test check +} + package() { - cd ${pkgname}-${pkgver} - make -j1 DESTDIR="${pkgdir}" install - - sed -i "/LIBCDIO_SOURCE_PATH/s|.*|/* #undef LIBCDIO_SOURCE_PATH */|" \ - $pkgdir/usr/include/cdio/cdio_config.h + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + sed -e "/define CDIO_LIBCDIO_SOURCE_PATH/s|.*|/* #undef CDIO_LIBCDIO_SOURCE_PATH */|" \ + -i "$pkgdir/usr/include/cdio/cdio_config.h" } diff --git a/abs/extra/libcdio/libcdio-0.83-linking.patch b/abs/extra/libcdio/libcdio-0.83-linking.patch deleted file mode 100644 index 84a0746..0000000 --- a/abs/extra/libcdio/libcdio-0.83-linking.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Naur libcdio-0.83-orig/example/C++/OO/Makefile.in libcdio-0.83/example/C++/OO/Makefile.in ---- libcdio-0.83-orig/example/C++/OO/Makefile.in 2011-10-27 18:02:31.000000000 +1000 -+++ libcdio-0.83/example/C++/OO/Makefile.in 2012-02-18 11:10:07.369277231 +1000 -@@ -315,15 +315,15 @@ - - isofile2_SOURCES = isofile2.cpp - isofile2_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ -- $(LIBCDIOPP_LIBS) $(LTLIBICONV) -+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) - - isolist_SOURCES = isolist.cpp - isolist_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ -- $(LIBCDIOPP_LIBS) $(LTLIBICONV) -+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) - - iso4_SOURCES = iso4.cpp - iso4_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ -- $(LIBCDIOPP_LIBS) $(LTLIBICONV) -+ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) - - mmc1_SOURCES = mmc1.cpp - mmc1_DEPENDENCIES = $(LIBCDIO_DEPS) diff --git a/abs/extra/libcdio/libcdio.install b/abs/extra/libcdio/libcdio.install deleted file mode 100644 index 33a4e1a..0000000 --- a/abs/extra/libcdio/libcdio.install +++ /dev/null @@ -1,13 +0,0 @@ -info_dir=/usr/share/info - -post_install() { - install-info ${info_dir}/libcdio.info.gz ${info_dir}/dir 2> /dev/null -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - install-info --delete ${info_dir}/libcdio.info.gz ${info_dir}/dir 2> /dev/null -} diff --git a/abs/extra/libcl/PKGBUILD b/abs/extra/libcl/PKGBUILD deleted file mode 100644 index 94f2ca7..0000000 --- a/abs/extra/libcl/PKGBUILD +++ /dev/null @@ -1,38 +0,0 @@ -# $Id$ -#Maintainer: Ionut Biru <ibiru@archlinux.org> - -pkgname=libcl -pkgver=1.1 -_pkgver=304.37 -pkgrel=3 -pkgdesc="OpenCL library and ICD loader from NVIDIA" -arch=('i686' 'x86_64') -url="http://www.nvidia.com/" -depends=('gcc-libs') -license=('custom') -options=('!strip') - -if [ "$CARCH" = "i686" ]; then - _arch='x86' - _pkg="NVIDIA-Linux-${_arch}-${_pkgver}" - source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${_pkgver}/${_pkg}.run") - md5sums=('ee3e97109201ab954c96860e28ada611') -elif [ "$CARCH" = "x86_64" ]; then - _arch='x86_64' - _pkg="NVIDIA-Linux-${_arch}-${_pkgver}-no-compat32" - source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${_pkgver}/${_pkg}.run") - md5sums=('65fce562c0df3def06012db9ff6bafa1') -fi -build() { - cd $srcdir - sh ${_pkg}.run --extract-only -} - -package() { - cd $srcdir/${_pkg} - install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0 - ln -s /usr/lib/libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1 - ln -s /usr/lib/libOpenCL.so.1 $pkgdir/usr/lib/libOpenCL.so - install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE -} -md5sums=('65fce562c0df3def06012db9ff6bafa1') diff --git a/abs/extra/libfastjson/PKGBUILD b/abs/extra/libfastjson/PKGBUILD index ab137ad..42e80ae 100644 --- a/abs/extra/libfastjson/PKGBUILD +++ b/abs/extra/libfastjson/PKGBUILD @@ -1,17 +1,17 @@ -# $Id$ -# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru> -# Maintainer: Bob Gregory <pathogenix@gmail.com> +# Maintainer: Luca P <meti at lplab.net> +# Contributor: Sergej Pupykin <arch+pub@sergej.pp.ru> +# Contributor: Bob Gregory <pathogenix@gmail.com> pkgname=libfastjson -pkgver=0.99.4 +pkgver=0.99.8 pkgrel=1 pkgdesc="A performance-focused json library for C" -arch=('i686' 'x86_64') +arch=('any') url="https://github.com/rsyslog/libfastjson" license=('GPL') depends=() source=($pkgname-$pkgver.tar.gz::https://github.com/rsyslog/$pkgname/archive/v$pkgver.tar.gz) -sha256sums=('03ef63dcc88417e71c19ce4436804159e3397e3a20d3529efef6a43c3bef5c8d') +sha256sums=('7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3') build() { cd "$pkgname-$pkgver" diff --git a/abs/extra/libglvnd/LICENSE b/abs/extra/libglvnd/LICENSE deleted file mode 100644 index 57bc4f4..0000000 --- a/abs/extra/libglvnd/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2013, NVIDIA CORPORATION. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -unaltered in all copies or substantial portions of the Materials. -Any additions, deletions, or changes to the original source files -must be clearly indicated in accompanying documentation. - -If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the -work of the Khronos Group." - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
\ No newline at end of file diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD deleted file mode 100644 index e589b42..0000000 --- a/abs/extra/libglvnd/PKGBUILD +++ /dev/null @@ -1,33 +0,0 @@ -# $Id: PKGBUILD 249779 2015-10-27 00:47:25Z eric $ -# Maintainer: Felix Yan <felixonmars@archlinux.org> - -pkgname=libglvnd -pkgver=1.0.0 -pkgrel=1 -pkgdesc="The GL Vendor-Neutral Dispatch library" -arch=('x86_64') -url="https://github.com/NVIDIA/libglvnd" -license=('custom:BSD-like') -makedepends=('libxext' 'libx11' 'glproto' 'python2') -provides=('libgl' 'libegl' 'libgles') -source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/libglvnd/archive/v$pkgver.tar.gz" - LICENSE) -sha512sums=('c6040b0a508a6b74d7113f8e375fcaf93ec6f2875504953f30e2882e58e22f954bd4027a7d9ab8ac41abef266039e5834fdaf4ce2a69d5d98acf3bbdd54f04b6' - 'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5') - -build() { - cd $pkgname-$pkgver - ./autogen.sh - ./configure --prefix=/usr - make -} - -package() { - # libglvnd needs mesa for indirect rendering - depends=('libxext' 'mesa' 'opengl-driver') - - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install - - install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE -} diff --git a/abs/extra/libglvnd/__changelog b/abs/extra/libglvnd/__changelog deleted file mode 100644 index 99dab7b..0000000 --- a/abs/extra/libglvnd/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD: change python dep to python2 diff --git a/abs/extra/libisoburn/PKGBUILD b/abs/extra/libisoburn/PKGBUILD index 36a6f7e..c094ee0 100644 --- a/abs/extra/libisoburn/PKGBUILD +++ b/abs/extra/libisoburn/PKGBUILD @@ -1,28 +1,30 @@ -# $Id: PKGBUILD 163887 2012-07-21 12:16:22Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Gour <Gour <gour@mail.inet.hr> pkgname=libisoburn -pkgver=1.2.4 -pkgrel=1 +pkgver=1.4.8 #.pl01 +pkgrel=2 pkgdesc="frontend for libraries libburn and libisofs" -url="http://libburnia.pykix.org/wiki/Libisoburn" -arch=('i686' 'x86_64') +url="https://dev.lovelyhq.com/libburnia" +arch=('x86_64') license=('GPL2') -depends=('libburn>=1.2.4' 'libisofs>=1.2.4' 'readline') -options=('!libtool') -install=${pkgname}.install +depends=('libburn' 'libisofs' 'readline') +optdepends=('tk: for xorriso-tcltk frontend') + #'bwidget: for xorriso-tcltk frontend') # AUR +provides=('xorriso' 'xorriso-tcltk') source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig}) -md5sums=('d5d78ec840a8bbc7df6582f65a28ca1e' - '39d26239be2e7ed2ec1dd22e214173dd') +sha256sums=('91cf50473f0f19400629515974bda441545aaae29862dcbbdb28d87b821ca5a5' + 'SKIP') +validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net> build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver/.pl01/} ./configure --prefix=/usr make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver/.pl01/} make DESTDIR=${pkgdir} install } diff --git a/abs/extra/libisoburn/libisoburn.install b/abs/extra/libisoburn/libisoburn.install deleted file mode 100644 index 69f17be..0000000 --- a/abs/extra/libisoburn/libisoburn.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(xorriso.info xorrisofs.info) - -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/libisofs/PKGBUILD b/abs/extra/libisofs/PKGBUILD index a5cfd9d..6c5e0fc 100644 --- a/abs/extra/libisofs/PKGBUILD +++ b/abs/extra/libisofs/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 163885 2012-07-21 12:12:07Z andyrtr $ +# $Id$ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Hugo Doria <hugodoria@gmail.com> # Contributor: Bjorn Martensen pkgname=libisofs -pkgver=1.2.4 +pkgver=1.4.8 pkgrel=1 pkgdesc="Library to pack up hard disk files and directories into a ISO 9660 disk image" -arch=('i686' 'x86_64') -url="http://libburnia.pykix.org/" +arch=('x86_64') +url="https://dev.lovelyhq.com/libburnia" license=('GPL') depends=('acl' 'zlib') source=(http://files.libburnia-project.org/releases/${pkgname}-${pkgver}.tar.gz{,.sig}) -options=('!libtool') -md5sums=('0a86f2cda3b86fc95f7c0efbd793f373' - '8b997974f30da1b7a7f97563df4365a3') +sha256sums=('dc9de9df366c27cf03d31d860c83a08ddad9028fe192801ee344602ccec29b69' + 'SKIP') +validpgpkeys=('44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854') # Thomas Schmitt <scdbackup@gmx.net> build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ --enable-libacl --enable-xattr --disable-static make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} make DESTDIR=${pkgdir} install } diff --git a/abs/extra/libmicrohttpd/PKGBUILD b/abs/extra/libmicrohttpd/PKGBUILD index 316d989..ebd9706 100644 --- a/abs/extra/libmicrohttpd/PKGBUILD +++ b/abs/extra/libmicrohttpd/PKGBUILD @@ -6,30 +6,40 @@ # Contributor: Mathias Rohnstock <linksoft@gmx.de> pkgname=libmicrohttpd -pkgver=0.9.44 +pkgver=0.9.59 pkgrel=1 pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application." -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.gnu.org/software/libmicrohttpd/" license=('LGPL') -depends=('gnutls' 'libgcrypt') -optdepends=('file' 'curl') -install=libmicrohttpd.install -source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz) -md5sums=('9101b5ebf8f71792938ae672da314da2') +depends=('gnutls') +checkdepends=('curl') +validpgpkeys=('289FE99E138CF6D473A3F0CFBF7AC4A5EAC2BAF4' # Evgeny Grin (Karlson2k) <k2k@yandex.ru> + 'D8423BCB326C7907033929C7939E6BE1E29FC3CC') # Christian Grothoff <christian.grothoff@bfh.ch> +source=("https://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz"{,.sig}) +sha256sums=('9b9ccd7d0b11b0e179f1f58dc2caa3e0c62c8609e1e1dc7dcaadf941b67d923c' + 'SKIP') build() { cd ${pkgname}-${pkgver} - ./configure --prefix=/usr --disable-dependency-tracking --enable-largefile \ - --enable-curl --enable-messages --with-pic + ./configure \ + --prefix=/usr \ + --disable-dependency-tracking \ + --disable-examples \ + --enable-curl \ + --enable-https \ + --enable-largefile \ + --enable-messages \ + --with-pic make } +check() { + cd ${pkgname}-${pkgver} + make check +} + package() { cd ${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/platform.h \ - ${pkgdir}/usr/include/$pkgname/platform.h - sed -i 's#Cflags: -I${includedir}#Cflags: -I${includedir} -I${includedir}/libmicrohttpd#' \ - $pkgdir/usr/lib/pkgconfig/libmicrohttpd.pc + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/libmicrohttpd/libmicrohttpd.install b/abs/extra/libmicrohttpd/libmicrohttpd.install deleted file mode 100644 index 7129b17..0000000 --- a/abs/extra/libmicrohttpd/libmicrohttpd.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=usr/share/info -filelist=(libmicrohttpd.info libmicrohttpd-tutorial.info) - -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/libmythes/PKGBUILD b/abs/extra/libmythes/PKGBUILD new file mode 100644 index 0000000..f4aac41 --- /dev/null +++ b/abs/extra/libmythes/PKGBUILD @@ -0,0 +1,38 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=libmythes +pkgver=1.2.4 +pkgrel=2 +epoch=1 +pkgdesc="a simple thesaurus" +arch=('x86_64') +url="http://hunspell.sourceforge.net/ " +license=('custom') +depends=('glibc' 'perl') +makedepends=('hunspell') +provides=('mythes') +source=(http://downloads.sourceforge.net/hunspell/${pkgname/lib/}-${pkgver}.tar.gz) +sha1sums=('c038831d84882cdf639e038e44decb1e40527591') + +build() { + cd ${pkgname/lib/}-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd ${pkgname/lib/}-$pkgver + # run the example program: + ./example th_en_US_new.idx th_en_US_new.dat checkme.lst + # run the example program with stemming and morphological generation: + # e.g. to check mouse, mice, rodents, eats, eaten, ate, eating etc. words + ./example morph.idx morph.dat morph.lst morph.aff morph.dic +} + +package() { + cd ${pkgname/lib/}-$pkgver + make DESTDIR=$pkgdir install + # license + install -Dm644 ${srcdir}/${pkgname/lib/}-$pkgver/COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING +} diff --git a/abs/extra/libproxy/PKGBUILD b/abs/extra/libproxy/PKGBUILD index 70a1362..6fc9798 100644 --- a/abs/extra/libproxy/PKGBUILD +++ b/abs/extra/libproxy/PKGBUILD @@ -2,22 +2,28 @@ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libproxy -pkgver=0.4.11 -pkgrel=4 +pkgver=0.4.15 +pkgrel=6 pkgdesc="A library that provides automatic proxy configuration management" -arch=(i686 x86_64) +arch=(x86_64) license=('LGPL') depends=('gcc-libs') optdepends=('perl: Perl bindings' - 'python2: Python bindings' + 'python2: Python 2.x bindings' + 'python: Python 3.x bindings' 'glib2: gsettings configuration module') -makedepends=('cmake' 'python2' 'perl') -url="http://libproxy.googlecode.com" -source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz) -md5sums=('3cd1ae2a4abecf44b3f24d6639d2cd84') +makedepends=('cmake' 'python' 'python2' 'perl') +url="http://libproxy.github.io/libproxy/" +source=(https://github.com/libproxy/libproxy/archive/${pkgver}.tar.gz) +sha256sums=('18f58b0a0043b6881774187427ead158d310127fc46a1c668ad6d207fb28b4e0') + +prepare() { + if [ ! -d build ]; then + mkdir build + fi +} build() { - mkdir build cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -25,11 +31,12 @@ build() { -DCMAKE_SKIP_RPATH=ON \ -DPERL_VENDORINSTALL=yes \ -DCMAKE_BUILD_TYPE=Release \ - -DWITH_WEBKIT=OFF \ + -DWITH_WEBKIT3=OFF \ + -DWITH_MOZJS=OFF \ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ -DCMAKE_C_FLAGS="${CFLAGS}" \ - -DWITH_KDE4=OFF \ - -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2 + -DPYTHON2_EXECUTABLE:FILEPATH=/usr/bin/python2 \ + -DBIPR=0 make } diff --git a/abs/extra/libproxy/__changelog b/abs/extra/libproxy/__changelog index 178dc00..5b9c04b 100644 --- a/abs/extra/libproxy/__changelog +++ b/abs/extra/libproxy/__changelog @@ -1 +1,2 @@ PKGBUILD: remove networkmanager from makedepends and depends +PKGBUILD: remove webkit2gtk and disable WEBKIT3 diff --git a/abs/extra/libraqm/PKGBUILD b/abs/extra/libraqm/PKGBUILD new file mode 100644 index 0000000..6cc03b9 --- /dev/null +++ b/abs/extra/libraqm/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: +# Contributor: Daniel Bermond < yahoo-com: danielbermond > + +pkgname=libraqm +pkgver=0.4.0 +pkgrel=1 +pkgdesc='A library that encapsulates the logic for complex text layout' +arch=(x86_64) +url='https://github.com/HOST-Oman/libraqm/' +license=(MIT) +depends=(freetype2 fribidi) +makedepends=(gtk-doc) +source=(https://github.com/HOST-Oman/libraqm/releases/download/v$pkgver/raqm-$pkgver.tar.gz) +sha256sums=('f90f79c4d055453d692d45255843589e502d10c83665715c1fc0ed9a1fd0d522') + +build() { + cd raqm-$pkgver + + ./configure \ + --prefix=/usr \ + --enable-static=no \ + --enable-shared=yes \ + --enable-fast-install=yes \ + --enable-gtk-doc=no \ + --enable-gtk-doc-html=no \ + --enable-gtk-doc-pdf=no + make +} + +package() { + cd raqm-$pkgver + + make DESTDIR="$pkgdir" install + + install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/abs/extra/libraqm/__changelog b/abs/extra/libraqm/__changelog new file mode 100644 index 0000000..e8bcfcf --- /dev/null +++ b/abs/extra/libraqm/__changelog @@ -0,0 +1 @@ +PKGBUILD: don't build docs diff --git a/abs/extra/libraw/PKGBUILD b/abs/extra/libraw/PKGBUILD new file mode 100644 index 0000000..1ab58fc --- /dev/null +++ b/abs/extra/libraw/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: Antonio Rojas <arojas@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com> +# Contributor: Brad Fanella <bradfanella@archlinux.us> + +pkgname=libraw +pkgver=0.18.7 +pkgrel=1 +pkgdesc="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)" +arch=('x86_64') +url="https://www.libraw.org/" +license=(CDDL LGPL) +depends=(lcms2 jasper) +source=("https://www.libraw.org/data/LibRaw-${pkgver}.tar.gz") +sha256sums=('87e347c261a8e87935d9a23afd750d27676b99f540e8552314d40db0ea315771') + +build() { + cd LibRaw-$pkgver + ./configure --prefix=/usr \ + --disable-examples + make +} + +package() { + cd LibRaw-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/librelp/PKGBUILD b/abs/extra/librelp/PKGBUILD index 6a6e56a..558b677 100644 --- a/abs/extra/librelp/PKGBUILD +++ b/abs/extra/librelp/PKGBUILD @@ -1,15 +1,17 @@ -# Maintainer: Kaiting Chen <kaiting.chen@kiwilight.com> +# Maintainer: Luca P <meti at lplab.net> +# Contributor: Sergej Pupykin <arch+pub@sergej.pp.ru> +# Contributor: Kaiting Chen <kaiting.chen@kiwilight.com> pkgname='librelp' -pkgver=1.2.12 +pkgver=1.2.14 pkgrel=1 pkgdesc="The Reliable Event Logging Protocol" url="http://www.librelp.com/" -arch=('i686' 'x86_64') +arch=('any') license=('GPL3') depends=('gnutls') source=("http://download.rsyslog.com/librelp/librelp-${pkgver}.tar.gz") -md5sums=('b99eb5e5eb77b4fd999e440876106aee') +sha256sums=('11f6241a4336358a33bfdadd43ef299e8258db0a5243d0c164499c6b85ae5955') build() { cd "$srcdir"/${pkgname}-${pkgver} diff --git a/abs/extra/libsecret/PKGBUILD b/abs/extra/libsecret/PKGBUILD index dcd82fb..4cca08e 100644 --- a/abs/extra/libsecret/PKGBUILD +++ b/abs/extra/libsecret/PKGBUILD @@ -2,26 +2,43 @@ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libsecret -pkgver=0.18 +pkgver=0.18.5+14+g9980655 pkgrel=1 -pkgdesc='Library for storing and retrieving passwords and other secrets.' -arch=('i686' 'x86_64') -license=('LGPL') +pkgdesc="Library for storing and retrieving passwords and other secrets" +arch=(x86_64) +license=(LGPL) url="https://wiki.gnome.org/Projects/Libsecret" -depends=('glib2' 'libgcrypt') -makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'vala') +depends=(glib2 libgcrypt) +checkdepends=(python-dbus dbus-glib python-gobject gjs) +makedepends=(intltool docbook-xsl gobject-introspection vala git gtk-doc) optdepends=('gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)') -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) -sha256sums=('0c73aa762dbd1e38ba7b03de350e23ce818cb810b0784375e95ef61e004b02e3') +_commit=998065599c66055dcffa1ef1ddebb947ccd68248 # master +source=("git+https://git.gnome.org/browse/libsecret#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + NOCONFIGURE=1 ./autogen.sh +} build() { - cd "$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static + cd $pkgname + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-gtk-doc make } +check() { + cd $pkgname + dbus-run-session make -k check +} + package() { - cd "$pkgname-$pkgver" + cd $pkgname make DESTDIR="$pkgdir" install } diff --git a/abs/extra/libsigsegv/PKGBUILD b/abs/extra/libsigsegv/PKGBUILD new file mode 100644 index 0000000..da9e610 --- /dev/null +++ b/abs/extra/libsigsegv/PKGBUILD @@ -0,0 +1,25 @@ +# $Id$ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Johannes Weiner <hannes@saeurebad.de> + +pkgname=libsigsegv +pkgver=2.12 +pkgrel=1 +arch=('x86_64') +pkgdesc="Page fault detection library" +url="http://www.gnu.org/software/libsigsegv/" +license=('GPL2') +depends=('glibc') +source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz") +sha1sums=('df167811328b050d2b746bec3d88423edc5a8cbf') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --enable-shared + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/libsodium/PKGBUILD b/abs/extra/libsodium/PKGBUILD new file mode 100644 index 0000000..09b37e4 --- /dev/null +++ b/abs/extra/libsodium/PKGBUILD @@ -0,0 +1,45 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: namelessjon <jonathan.stott@gmail.com> +# Contributor: Alessio Sergi <asergi at archlinux dot us> + +pkgname=libsodium +pkgver=1.0.16 +pkgrel=1 +pkgdesc="P(ortable|ackageable) NaCl-based crypto library" +arch=('x86_64') +url="https://github.com/jedisct1/libsodium" +license=('custom:ISC') +depends=('glibc') +makedepends=('minisign') +source=("https://download.libsodium.org/libsodium/releases/libsodium-$pkgver.tar.gz"{,.minisig}) +sha512sums=('eab917d599c9c1fe971a6ecf915b9a6476ccec2d46cf23cbfbf06dd3833089b422f192de4d55f17b93362f1251ba8d5ddeb95ced1a422a3a2631b4b82553907f' + '5facb6be0c4e8d390f685a1fce506a46e2768e7eae02b3b67ce7a168c6fbcd16c24d8a52fdbf330209bf9598ab8e4043c55a839795a17062b6f7e892d7a68bd6') +_validminisignkey='RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3' + +prepare() { + minisign -Vm $pkgname-$pkgver.tar.gz -P $_validminisignkey +} + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + # install license + install -d -m 755 "$pkgdir/usr/share/licenses/$pkgname" + install -m 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/libssh/PKGBUILD b/abs/extra/libssh/PKGBUILD index c93c52f..b03945e 100644 --- a/abs/extra/libssh/PKGBUILD +++ b/abs/extra/libssh/PKGBUILD @@ -1,39 +1,51 @@ # $Id$ -# Maintainer: Tom Gundersen <teg@jklm.no> +# Maintainer: Antonio Rojas <arojas@archlinux.org> +# Contributor: Tom Gundersen <teg@jklm.no> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: ice-man <icemanf@gmail.com> # Contributor: sergeantspoon <sergeantspoon@archlinux.us> -pkgname=libssh -pkgver=0.6.3 -pkgrel=1 +pkgbase=libssh +pkgname=(libssh libssh-docs) +pkgver=0.7.5 +pkgrel=2 pkgdesc="Library for accessing ssh client services through C libraries" url="http://www.libssh.org/" -license=('LGPL') -arch=('i686' 'x86_64') -depends=('zlib' 'openssl') -makedepends=('cmake' 'cmocka' 'doxygen') -checkdepends=('openssh') -source=(https://red.libssh.org/attachments/download/87/${pkgname}-${pkgver}.tar.xz) -md5sums=('66cf16e77f60913b4d54f18c92cdbf71') - +license=(LGPL) +arch=(x86_64) +depends=(libgcrypt zlib) # use openssl again for 0.8 +makedepends=(cmake cmocka doxygen) +source=(https://red.libssh.org/attachments/download/218/$pkgname-$pkgver.tar.xz + https://red.libssh.org/attachments/download/217/$pkgname-$pkgver.tar.asc + libssh-fix-read-config.patch::https://git.libssh.org/projects/libssh.git/patch/?id=5333be59) +sha256sums=('54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095' + 'SKIP' + 'c39bed86f34a377015fb6d6552700a3838c5cae1a4a83b3e859539785aeabdba') +validpgpkeys=('8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D') # Andreas Schneider <asn@cryptomilk.org> prepare() { # disable the test. It is confused by our clean container setup. # 'extra-x86-build' uses user 'nobody' that has a record in /etc/passwd file # but $HOME envvar is set to '/build'. The test expects that $HOME corresponds to passwd file. sed 's/unit_test(torture_path_expand_tilde_unix),//' -i libssh-${pkgver}/tests/unittests/torture_misc.c + + mkdir -p build + + cd $pkgname-$pkgver + # Fix reading SSH configuration files + patch -p1 -i ../libssh-fix-read-config.patch } build() { - mkdir build || true cd build - cmake ../${pkgname}-${pkgver} \ + cmake ../$pkgname-$pkgver \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_GSSAPI=OFF \ + -DWITH_GCRYPT=ON \ -DWITH_TESTING=ON make + make doc } check() { @@ -41,7 +53,17 @@ check() { make test } -package(){ +package_libssh() { cd build - make DESTDIR="${pkgdir}" install + make DESTDIR="$pkgdir" install +} + +package_libssh-docs() { + pkgdesc="Documentation for libssh" + depends=() + + mkdir -p "$pkgdir"/usr/share/doc/libssh + cp -r build/doc/html "$pkgdir"/usr/share/doc/libssh + cp -r build/doc/man "$pkgdir"/usr/share + rm "$pkgdir"/usr/share/man/man3/{bug,deprecated}.* } diff --git a/abs/extra/libva/PKGBUILD b/abs/extra/libva/PKGBUILD index 2d6d0e1..b8037c6 100644 --- a/abs/extra/libva/PKGBUILD +++ b/abs/extra/libva/PKGBUILD @@ -1,29 +1,36 @@ # $Id$ -# Maintainer: Ionut Biru <ibiru@archlinux.org> -# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Maintainer: Maxime Gauduin <alucryd@archlonux.org> +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Ionut Biru <ibiru@archlinux.org> pkgname=libva -pkgver=1.7.3 +pkgver=2.1.0 pkgrel=1 pkgdesc='Video Acceleration (VA) API for Linux' -arch=('i686' 'x86_64') -url='http://freedesktop.org/wiki/Software/vaapi' +arch=('x86_64') +url='https://01.org/linuxmedia/vaapi' license=('MIT') -depends=('libgl' 'libdrm' 'libxfixes') +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') -source=(https://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2) -sha1sums=('18e46f3d5a0e971eb0ec9fe14bc021e69eb13fb8') +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') build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr + cd libva-${pkgver} + + ./configure \ + --prefix='/usr' make } package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install - install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING + cd libva-${pkgver} + + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}"/usr/share/licenses/libva } + +# 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 new file mode 100644 index 0000000..4041e6c --- /dev/null +++ b/abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch @@ -0,0 +1,48 @@ +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/libvoikko/PKGBUILD b/abs/extra/libvoikko/PKGBUILD new file mode 100644 index 0000000..b1686f1 --- /dev/null +++ b/abs/extra/libvoikko/PKGBUILD @@ -0,0 +1,34 @@ +# $Id$ +# Maintainer: +# Contributor: Jesse Jaara <gmail.com: jesse.jaara> +# Contributor: Jussi Timperi <gmail.com: jussi.timperi> + +pkgname=libvoikko +pkgver=4.1.1 +pkgrel=1 +pkgdesc="A spelling and grammar checker, hyphenator and collection of related linguistic data for Finnish language" +arch=(x86_64) +url="http://voikko.sourceforge.net" +license=(GPL2) +depends=(gcc-libs) +makedepends=(python) +source=(http://www.puimula.org/voikko-sources/libvoikko/$pkgname-$pkgver.tar.gz) +sha512sums=('eb8e32dc50e2baa4184a2030537c6fe86054053a75b543d38c7bbc0faf1fbea51020ccfd03d5de94b1d78a811a58eabefc7e87c3eae55f7b7b51409bd1dd8665') + +build() { + cd $pkgname-$pkgver + +# Workaround encoding error + export LANG=en_US.UTF-8 + ./configure --prefix=/usr --enable-hfst=false --with-dictionary-path=/usr/share/voikko + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + mkdir -p "$pkgdir"/usr/lib/python3.6/site-packages + cp python/libvoikko.py "$pkgdir"/usr/lib/python3.6/site-packages/libvoikko.py +} + diff --git a/abs/extra/libwebp/PKGBUILD b/abs/extra/libwebp/PKGBUILD index bb87fd6..79ad8a9 100644 --- a/abs/extra/libwebp/PKGBUILD +++ b/abs/extra/libwebp/PKGBUILD @@ -4,39 +4,49 @@ # Contributor: Jon Nordby <jononor@gmail.com> pkgname=libwebp -pkgver=0.4.2 -pkgrel=2 +pkgver=0.6.1 +pkgrel=1 pkgdesc="WebP library and conversion tools" -arch=(x86_64 i686) +arch=(x86_64) url="https://developers.google.com/speed/webp/" license=(BSD) depends=(libpng libjpeg libtiff giflib) -makedepends=(freeglut mesa glu) +makedepends=(freeglut mesa glu git) optdepends=('freeglut: vwebp viewer') -source=("http://downloads.webmproject.org/releases/webp/$pkgname-$pkgver.tar.gz") -sha256sums=('14d825d7c2ef7d49621bcb6b83466be455585e671ae0a2ebc1f2e07775a1722d') +_commit=6b7a95fd8385baa6d18c96d5c0f2bea5632faf55 # tags/v0.6.1^0 +source=("git+https://chromium.googlesource.com/webm/libwebp#commit=$_commit") +sha256sums=('SKIP') +validpgpkeys=('6B0E6B70976DE303EDF2F601F9C3D6BDB8232B5D') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/^v//;s/-/+/g' +} prepare() { - cd "$srcdir/$pkgname-$pkgver" + cd $pkgname + NOCONFIGURE=1 ./autogen.sh } build() { - cd "$srcdir/$pkgname-$pkgver" - + cd $pkgname ./configure --prefix=/usr \ --enable-swap-16bit-csp \ --enable-experimental \ - --enable-libwebpmux \ - --enable-libwebpdemux \ - --enable-libwebpdecoder \ + --enable-libwebp{mux,demux,decoder,extras} \ --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } -package() { - cd "$srcdir/$pkgname-$pkgver" +check() { + cd $pkgname + make check +} - make DESTDIR="$pkgdir/" install +package() { + cd $pkgname + make DESTDIR="$pkgdir" install install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } 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 new file mode 100644 index 0000000..7398b50 --- /dev/null +++ b/abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch @@ -0,0 +1,37 @@ +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/0002-Enable-SSP-and-PIE-by-default.patch b/abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch new file mode 100644 index 0000000..030146c --- /dev/null +++ b/abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch @@ -0,0 +1,268 @@ +From 60fa751da239e592b31bde2533342dac64359e7f 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 + +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 +accordingly; only test/Driver/linux-ld.c has been marked as "expected +failure" due to the number of changes it would require (mostly replacing +crtbegin.o with crtbeginS.o). + +Doing so is needed in order to align clang with the new default GCC +behavior in Arch which generates PIE executables by default and also +defaults to -fstack-protector-strong. It is not meant to be a long term +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.h | 1 + + test/Driver/cross-linux.c | 16 ++++++++-------- + test/Driver/env.c | 2 +- + test/Driver/fsanitize.c | 18 ++++++++++-------- + 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/stack-protector.c | 4 ++-- + 11 files changed, 42 insertions(+), 24 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 +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -810,7 +810,19 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, + } + } + +-bool Linux::isPIEDefault() const { return getSanitizerArgs().requiresPIE(); } ++bool Linux::isPIEDefault() const { ++ const bool IsMips = tools::isMipsArch(getTriple().getArch()); ++ const bool IsAndroid = getTriple().isAndroid(); ++ ++ if (IsMips || IsAndroid) ++ return 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 +--- a/lib/Driver/ToolChains/Linux.h ++++ b/lib/Driver/ToolChains/Linux.h +@@ -36,6 +36,7 @@ public: + void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + bool isPIEDefault() const override; ++ unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override; + SanitizerMask getSupportedSanitizers() const override; + void addProfileRTLibs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; +diff --git a/test/Driver/cross-linux.c b/test/Driver/cross-linux.c +index a5ea832e77..1949c05a60 100644 +--- a/test/Driver/cross-linux.c ++++ b/test/Driver/cross-linux.c +@@ -42,8 +42,8 @@ + // CHECK-MULTI32-I386: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld" + // CHECK-MULTI32-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]" + // CHECK-MULTI32-I386: "-m" "elf_i386" +-// CHECK-MULTI32-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]{{/|\\\\}}crtbegin.o" +-// CHECK-MULTI32-I386: "-L[[gcc_install]]" ++// CHECK-MULTI32-I386: "crti.o" "crtbeginS.o" ++// CHECK-MULTI32-I386: "-L[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]" + // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib32" + // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib" + // CHECK-MULTI32-I386: "-L[[sysroot]]/lib" +@@ -59,8 +59,8 @@ + // CHECK-MULTI32-X86-64: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld" + // CHECK-MULTI32-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]" + // CHECK-MULTI32-X86-64: "-m" "elf_x86_64" +-// CHECK-MULTI32-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]/64{{/|\\\\}}crtbegin.o" +-// CHECK-MULTI32-X86-64: "-L[[gcc_install]]/64" ++// CHECK-MULTI32-X86-64: "crti.o" "crtbeginS.o" ++// CHECK-MULTI32-X86-64: "-L[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]/64" + // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib64" + // CHECK-MULTI32-X86-64: "-L[[gcc_install]]" + // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib" +@@ -77,8 +77,8 @@ + // CHECK-MULTI64-I386: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld" + // CHECK-MULTI64-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]" + // CHECK-MULTI64-I386: "-m" "elf_i386" +-// CHECK-MULTI64-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]/32{{/|\\\\}}crtbegin.o" +-// CHECK-MULTI64-I386: "-L[[gcc_install]]/32" ++// CHECK-MULTI64-I386: "crti.o" "crtbeginS.o" ++// CHECK-MULTI64-I386: "-L[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]/32" + // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib32" + // CHECK-MULTI64-I386: "-L[[gcc_install]]" + // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib" +@@ -95,8 +95,8 @@ + // CHECK-MULTI64-X86-64: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld" + // CHECK-MULTI64-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]" + // CHECK-MULTI64-X86-64: "-m" "elf_x86_64" +-// CHECK-MULTI64-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]{{/|\\\\}}crtbegin.o" +-// CHECK-MULTI64-X86-64: "-L[[gcc_install]]" ++// CHECK-MULTI64-X86-64: "crti.o" "crtbeginS.o" ++// CHECK-MULTI64-X86-64: "-L[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]" + // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib64" + // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib" + // CHECK-MULTI64-X86-64: "-L[[sysroot]]/lib" +diff --git a/test/Driver/env.c b/test/Driver/env.c +index 0371bc91c4..ea89f52512 100644 +--- a/test/Driver/env.c ++++ b/test/Driver/env.c +@@ -20,7 +20,7 @@ + // + // CHECK-LD-32-NOT: warning: + // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +-// CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" ++// CHECK-LD-32: "crtbeginS.o" + // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" + // 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 +--- a/test/Driver/fsanitize.c ++++ b/test/Driver/fsanitize.c +@@ -192,13 +192,13 @@ + // RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr -fno-sanitize=vptr -fsanitize=undefined,address %s -### 2>&1 + // OK + +-// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE +-// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE ++// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE ++// 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 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 ++// RUN: %clang -target i386-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE + + // CHECK-NO-PIE-NOT: "-pie" + // CHECK-NO-PIE: "-mrelocation-model" "static" +@@ -491,12 +491,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 -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 +-// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP ++// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP ++// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP + // 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 ++++ b/test/Driver/gcc-toolchain.cpp +@@ -24,6 +24,6 @@ + // the same precise formatting of the path as the '-internal-system' flags + // above, so we just blanket wildcard match the 'crtbegin.o'. + // CHECK: "{{[^"]*}}ld{{(.exe)?}}" +-// CHECK: "{{[^"]*}}/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o" ++// CHECK: "crtbeginS.o" + // 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 +--- a/test/Driver/hexagon-toolchain-elf.c ++++ b/test/Driver/hexagon-toolchain-elf.c +@@ -449,7 +449,7 @@ + // RUN: %s 2>&1 \ + // RUN: | FileCheck -check-prefix=CHECK042 %s + // CHECK042: "-cc1" +-// CHECK042: "-mrelocation-model" "static" ++// CHECK042: "-mrelocation-model" "pic" + // CHECK042: "-mllvm" "-hexagon-small-data-threshold=8" + // 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 +--- a/test/Driver/linux-as.c ++++ b/test/Driver/linux-as.c +@@ -133,7 +133,7 @@ + // CHECK-PPC-NO-MCPU-NOT: as{{.*}} "-mcpu=invalid-cpu" + // + // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \ +-// RUN: -no-integrated-as -c %s 2>&1 \ ++// RUN: -no-integrated-as -fno-pic -c %s 2>&1 \ + // RUN: | FileCheck -check-prefix=CHECK-SPARCV9 %s + // CHECK-SPARCV9: as + // CHECK-SPARCV9: -64 +@@ -142,7 +142,7 @@ + // CHECK-SPARCV9: -o + // + // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \ +-// RUN: -no-integrated-as -fpic -c %s 2>&1 \ ++// RUN: -no-integrated-as -c %s 2>&1 \ + // RUN: | FileCheck -check-prefix=CHECK-SPARCV9PIC %s + // CHECK-SPARCV9PIC: as + // CHECK-SPARCV9PIC: -64 +diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c +index 1c5f1a4556..2885f78045 100644 +--- a/test/Driver/linux-ld.c ++++ b/test/Driver/linux-ld.c +@@ -1,3 +1,5 @@ ++// XFAIL: linux ++ + // 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/stack-protector.c b/test/Driver/stack-protector.c +index 6769b65f63..180e26f3ea 100644 +--- a/test/Driver/stack-protector.c ++++ b/test/Driver/stack-protector.c +@@ -3,11 +3,11 @@ + // NOSSP-NOT: "-stack-protector-buffer-size" + + // RUN: %clang -target i386-unknown-linux -fstack-protector -### %s 2>&1 | FileCheck %s -check-prefix=SSP +-// SSP: "-stack-protector" "1" ++// SSP: "-stack-protector" "2" + // SSP-NOT: "-stack-protector-buffer-size" + + // RUN: %clang -target i386-unknown-linux -fstack-protector --param ssp-buffer-size=16 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-BUF +-// SSP-BUF: "-stack-protector" "1" ++// SSP-BUF: "-stack-protector" "2" + // SSP-BUF: "-stack-protector-buffer-size" "16" + + // RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD +-- +2.14.1 + diff --git a/abs/extra/llvm/AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch b/abs/extra/llvm/AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch deleted file mode 100644 index f23b916..0000000 --- a/abs/extra/llvm/AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 25e2616626caafb896517e18cd8aa724fba2b200 Mon Sep 17 00:00:00 2001 -From: Tom Stellard <thomas.stellard@amd.com> -Date: Tue, 29 Nov 2016 03:41:28 +0000 -Subject: [PATCH] Merging r280589: - ------------------------------------------------------------------------- -r280589 | nhaehnle | 2016-09-03 05:26:32 -0700 (Sat, 03 Sep 2016) | 19 lines - -AMDGPU: Fix an interaction between WQM and polygon stippling - -Summary: -This fixes a rare bug in polygon stippling with non-monolithic pixel shaders. - -The underlying problem is as follows: the prolog part contains the polygon -stippling sequence, i.e. a kill. The main part then enables WQM based on the -_reduced_ exec mask, effectively undoing most of the polygon stippling. - -Since we cannot know whether polygon stippling will be used, the main part -of a non-monolithic shader must always return to exact mode to fix this -problem. - -Reviewers: arsenm, tstellarAMD, mareko - -Subscribers: arsenm, llvm-commits, kzhuravl - -Differential Revision: https://reviews.llvm.org/D23131 - ------------------------------------------------------------------------- - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_39@288105 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Target/AMDGPU/SIInstructions.td | 1 + - lib/Target/AMDGPU/SIWholeQuadMode.cpp | 7 ----- - test/CodeGen/AMDGPU/wqm.ll | 49 ++++++++++++++++++++++++++++++++--- - 3 files changed, 46 insertions(+), 11 deletions(-) - -diff --git a/lib/Target/AMDGPU/SIInstructions.td b/lib/Target/AMDGPU/SIInstructions.td -index 18b7d5d..dde5f2f 100644 ---- a/lib/Target/AMDGPU/SIInstructions.td -+++ b/lib/Target/AMDGPU/SIInstructions.td -@@ -2029,6 +2029,7 @@ def SI_RETURN : PseudoInstSI < - let hasSideEffects = 1; - let SALU = 1; - let hasNoSchedulingInfo = 1; -+ let DisableWQM = 1; - } - - let Uses = [EXEC], Defs = [EXEC, VCC, M0], -diff --git a/lib/Target/AMDGPU/SIWholeQuadMode.cpp b/lib/Target/AMDGPU/SIWholeQuadMode.cpp -index b200c15..1534d58 100644 ---- a/lib/Target/AMDGPU/SIWholeQuadMode.cpp -+++ b/lib/Target/AMDGPU/SIWholeQuadMode.cpp -@@ -219,13 +219,6 @@ char SIWholeQuadMode::scanInstructions(MachineFunction &MF, - markInstruction(MI, Flags, Worklist); - GlobalFlags |= Flags; - } -- -- if (WQMOutputs && MBB.succ_empty()) { -- // This is a prolog shader. Make sure we go back to exact mode at the end. -- Blocks[&MBB].OutNeeds = StateExact; -- Worklist.push_back(&MBB); -- GlobalFlags |= StateExact; -- } - } - - return GlobalFlags; -diff --git a/test/CodeGen/AMDGPU/wqm.ll b/test/CodeGen/AMDGPU/wqm.ll -index 809a7ba..41e4264 100644 ---- a/test/CodeGen/AMDGPU/wqm.ll -+++ b/test/CodeGen/AMDGPU/wqm.ll -@@ -17,17 +17,18 @@ main_body: - ;CHECK-LABEL: {{^}}test2: - ;CHECK-NEXT: ; %main_body - ;CHECK-NEXT: s_wqm_b64 exec, exec --;CHECK: image_sample - ;CHECK-NOT: exec --;CHECK: _load_dword v0, --define amdgpu_ps float @test2(<8 x i32> inreg %rsrc, <4 x i32> inreg %sampler, float addrspace(1)* inreg %ptr, <4 x i32> %c) { -+define amdgpu_ps void @test2(<8 x i32> inreg %rsrc, <4 x i32> inreg %sampler, float addrspace(1)* inreg %ptr, <4 x i32> %c) { - main_body: - %c.1 = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %c, <8 x i32> %rsrc, <4 x i32> %sampler, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) - %c.2 = bitcast <4 x float> %c.1 to <4 x i32> - %c.3 = extractelement <4 x i32> %c.2, i32 0 - %gep = getelementptr float, float addrspace(1)* %ptr, i32 %c.3 - %data = load float, float addrspace(1)* %gep -- ret float %data -+ -+ call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %data, float undef, float undef, float undef) -+ -+ ret void - } - - ; ... but disabled for stores (and, in this simple case, not re-enabled). -@@ -414,6 +415,46 @@ entry: - ret void - } - -+; Must return to exact at the end of a non-void returning shader, -+; otherwise the EXEC mask exported by the epilog will be wrong. This is true -+; even if the shader has no kills, because a kill could have happened in a -+; previous shader fragment. -+; -+; CHECK-LABEL: {{^}}test_nonvoid_return: -+; CHECK: s_mov_b64 [[LIVE:s\[[0-9]+:[0-9]+\]]], exec -+; CHECK: s_wqm_b64 exec, exec -+; -+; CHECK: s_and_b64 exec, exec, [[LIVE]] -+; CHECK-NOT: exec -+define amdgpu_ps <4 x float> @test_nonvoid_return() nounwind { -+ %tex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) -+ %tex.i = bitcast <4 x float> %tex to <4 x i32> -+ %dtex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %tex.i, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) -+ ret <4 x float> %dtex -+} -+ -+; CHECK-LABEL: {{^}}test_nonvoid_return_unreachable: -+; CHECK: s_mov_b64 [[LIVE:s\[[0-9]+:[0-9]+\]]], exec -+; CHECK: s_wqm_b64 exec, exec -+; -+; CHECK: s_and_b64 exec, exec, [[LIVE]] -+; CHECK-NOT: exec -+define amdgpu_ps <4 x float> @test_nonvoid_return_unreachable(i32 inreg %c) nounwind { -+entry: -+ %tex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> undef, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) -+ %tex.i = bitcast <4 x float> %tex to <4 x i32> -+ %dtex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %tex.i, <8 x i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) -+ -+ %cc = icmp sgt i32 %c, 0 -+ br i1 %cc, label %if, label %else -+ -+if: -+ store volatile <4 x float> %dtex, <4 x float>* undef -+ unreachable -+ -+else: -+ ret <4 x float> %dtex -+} - - declare void @llvm.amdgcn.image.store.v4i32(<4 x float>, <4 x i32>, <8 x i32>, i32, i1, i1, i1, i1) #1 - declare void @llvm.amdgcn.buffer.store.f32(float, <4 x i32>, i32, i32, i1, i1) #1 diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD index 9e69c02..64ba5b2 100644 --- a/abs/extra/llvm/PKGBUILD +++ b/abs/extra/llvm/PKGBUILD @@ -9,62 +9,64 @@ # Contributor: Roberto Alsina <ralsina@kde.org> # Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> -pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lldb' 'clang' 'clang-tools-extra') -pkgver=3.9.1 +pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lld' 'lldb' 'clang' 'clang-tools-extra') +pkgver=5.0.1 pkgrel=2 -_ocaml_ver=4.04.0 -arch=('i686' 'x86_64') +_ocaml_ver=4.06.0 +arch=('x86_64') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') -makedepends=('cmake' 'libffi' 'python2' "ocaml=$_ocaml_ver" 'python2-sphinx' +makedepends=('cmake' 'libffi' 'python2' "ocaml=$_ocaml_ver" 'python-sphinx' 'ocaml-ctypes' 'ocaml-findlib' 'libedit' 'swig') -# Use gcc-multilib to build 32-bit compiler-rt libraries on x86_64 (FS#41911) -#makedepends_x86_64=('gcc-multilib') +# Build 32-bit compiler-rt libraries on x86_64 (FS#41911) +makedepends_x86_64=('lib32-gcc-libs') options=('staticlibs') -source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig} - http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig} - http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig} - http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig} - http://llvm.org/releases/$pkgver/lldb-$pkgver.src.tar.xz{,.sig} - AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch - msan-prevent-initialization-failure-with-newer-glibc.patch - llvm-Config-llvm-config.h) -sha256sums=('1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee' +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 + llvm-config.h) +sha256sums=('5fa7489fc0225b11821cab0362f5813a05f2bcf2533e8a4ea9c9c860168807b0' 'SKIP' - 'e6c4cebb96dee827fa0470af313dff265af391cb6da8d429842ef208c8f25e63' + '135f6c9b0cd2da1aff2250e065946258eb699777888df39ca5a5b4fe5e23d0ff' 'SKIP' - '29a5b65bdeff7767782d4427c7c64d54c3a8684bc6b217b74a70e575e4813635' + '9aada1f9d673226846c3399d13fab6bba4bfd38bcfe8def5ee7b0ec24f8cd225' 'SKIP' - 'd30967b1a5fa51a2503474aacc913e69fd05ae862d37bf310088955bdb13ec99' + '4edd1417f457a9b3f0eb88082530490edf3cf6a7335cdce8ecbc5d3e16a895da' 'SKIP' - '7e3311b2a1f80f4d3426e09f9459d079cab4d698258667e50a46dccbaaa460fc' + 'd5b36c0005824f07ab093616bdff247f3da817cae2c51371e1d1473af717d895' 'SKIP' - 'adadc41090ab0eb33fe4449a0ea3f02b15d03f186262dd89576848a2c66d0ce6' - '8e4f194c2283b91644a7fff43bc4e58c36b5507f2a4d90b72f275c0bd7511c20' + 'b7c1c9e67975ca219089a3a6a9c77c2d102cead2dc38264f2524aa3326da376a' + 'SKIP' + 'a1ba7fb859ac157c4b4342435cd656e29b1e1d9bddcb8ae0158a91c0a8ba6203' + '186f2d10b013395f2dd6e1fd3baf4961a2e40c403f115517c9b253682934f50f' + '6fff47ab5ede79d45fe64bb4903b7dfc27212a38e6cd5d01e60ebd24b7557359' '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' '11E521D646982372EB577A1F8F0871F202119294') prepare() { cd "$srcdir/llvm-$pkgver.src" + mkdir build - # At the present, clang must reside inside the LLVM source code tree to build - # See http://llvm.org/bugs/show_bug.cgi?id=4840 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 - # https://bugs.freedesktop.org/show_bug.cgi?id=99078 - patch -Rp1 -i ../AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch + # Disable test that fails when compiled as PIE + # https://bugs.llvm.org/show_bug.cgi?id=31870 + patch -Np1 <../disable-llvm-symbolizer-test.patch - # https://reviews.llvm.org/D24736 - patch -Np0 -d projects/compiler-rt <../msan-prevent-initialization-failure-with-newer-glibc.patch - - mkdir build + # 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 } build() { @@ -82,7 +84,6 @@ build() { -DLLVM_BUILD_DOCS=ON \ -DLLVM_ENABLE_SPHINX=ON \ -DLLVM_ENABLE_DOXYGEN=OFF \ - -DLLDB_DISABLE_LIBEDIT=1 \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ -DLLVM_BINUTILS_INCDIR=/usr/include \ @@ -92,20 +93,19 @@ build() { make ocaml_doc # Disable automatic installation of components that go into subpackages - sed -i '/\(clang\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake + 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 } check() { cd "$srcdir/llvm-$pkgver.src/build" - make check - make check-clang + make check-{llvm,clang,clang-tools,lld} } package_llvm() { pkgdesc="Low Level Virtual Machine" - depends=("llvm-libs=$pkgver-$pkgrel" 'perl') + depends=('llvm-libs' 'perl') cd "$srcdir/llvm-$pkgver.src" @@ -115,21 +115,19 @@ package_llvm() { rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo} # The runtime libraries go into llvm-libs - mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}*.so "$srcdir" + mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}*.so* "$srcdir" mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir" # OCaml bindings go to a separate package rm -rf "$srcdir"/ocaml.{lib,doc} mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib" - mv "$pkgdir/usr/docs/ocaml/html" "$srcdir/ocaml.doc" - rm -r "$pkgdir/usr/docs" + mv "$pkgdir/usr/share/doc/$pkgname/ocaml-html" "$srcdir/ocaml.doc" if [[ $CARCH == x86_64 ]]; then # Needed for multilib (https://bugs.archlinux.org/task/29951) # Header stub is taken from Fedora mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h - cp "$srcdir/llvm-Config-llvm-config.h" \ - "$pkgdir/usr/include/llvm/Config/llvm-config.h" + cp "$srcdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config.h" fi install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" @@ -141,7 +139,7 @@ package_llvm-libs() { install -d "$pkgdir/usr/lib" cp -P \ - "$srcdir"/lib{LLVM,LTO}*.so \ + "$srcdir"/lib{LLVM,LTO}*.so* \ "$srcdir"/LLVMgold.so \ "$pkgdir/usr/lib/" @@ -156,21 +154,36 @@ package_llvm-libs() { package_llvm-ocaml() { pkgdesc="OCaml bindings for LLVM" - depends=("llvm=$pkgver-$pkgrel" "ocaml=$_ocaml_ver" 'ocaml-ctypes') + depends=('llvm' "ocaml=$_ocaml_ver" 'ocaml-ctypes') cd "$srcdir/llvm-$pkgver.src" - install -d "$pkgdir"/{usr/lib,usr/share/doc} + 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" + 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=('libxml2' 'python2' 'python2-six') + depends=('llvm-libs' 'libxml2' 'python2' 'python2-six') cd "$srcdir/llvm-$pkgver.src" @@ -178,7 +191,7 @@ package_lldb() { # https://bugs.archlinux.org/task/50759 sed -i "/import_module('_lldb')/s/_lldb/lldb.&/" \ - "$pkgdir/usr/lib/python2.7/site-packages/lldb/__init__.py" + "$pkgdir/usr/lib/python2.7/site-packages/lldb/__init__.py" # Remove bundled six library rm "$pkgdir/usr/lib/python2.7/site-packages/six.py" @@ -187,13 +200,13 @@ package_lldb() { 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/lldb/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + 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=$pkgver-$pkgrel" 'gcc' 'libxml2') + 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") @@ -227,19 +240,22 @@ package_clang() { python2 -m compileall "$pkgdir" python2 -O -m compileall "$pkgdir" - install -Dm644 tools/clang/LICENSE.TXT \ + 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=$pkgver-$pkgrel") + 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 diff --git a/abs/extra/llvm/__changelog b/abs/extra/llvm/__changelog deleted file mode 100644 index 57db2dd..0000000 --- a/abs/extra/llvm/__changelog +++ /dev/null @@ -1,2 +0,0 @@ -PKGBUILD: change python-sphinx to python2-sphinx -PKGBUILD: remove gcc-multilib diff --git a/abs/extra/llvm/disable-llvm-symbolizer-test.patch b/abs/extra/llvm/disable-llvm-symbolizer-test.patch new file mode 100644 index 0000000..f949169 --- /dev/null +++ b/abs/extra/llvm/disable-llvm-symbolizer-test.patch @@ -0,0 +1,26 @@ +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/llvm-Config-llvm-config.h b/abs/extra/llvm/llvm-config.h index 2fa08c9..2fa08c9 100644 --- a/abs/extra/llvm/llvm-Config-llvm-config.h +++ b/abs/extra/llvm/llvm-config.h diff --git a/abs/extra/llvm/msan-prevent-initialization-failure-with-newer-glibc.patch b/abs/extra/llvm/msan-prevent-initialization-failure-with-newer-glibc.patch deleted file mode 100644 index 57387a6..0000000 --- a/abs/extra/llvm/msan-prevent-initialization-failure-with-newer-glibc.patch +++ /dev/null @@ -1,103 +0,0 @@ -Index: lib/msan/msan_interceptors.cc -=================================================================== ---- lib/msan/msan_interceptors.cc (revision 282231) -+++ lib/msan/msan_interceptors.cc (revision 282232) -@@ -64,6 +64,23 @@ - return in_interceptor_scope; - } - -+static uptr allocated_for_dlsym; -+static const uptr kDlsymAllocPoolSize = 1024; -+static uptr alloc_memory_for_dlsym[kDlsymAllocPoolSize]; -+ -+static bool IsInDlsymAllocPool(const void *ptr) { -+ uptr off = (uptr)ptr - (uptr)alloc_memory_for_dlsym; -+ return off < sizeof(alloc_memory_for_dlsym); -+} -+ -+static void *AllocateFromLocalPool(uptr size_in_bytes) { -+ uptr size_in_words = RoundUpTo(size_in_bytes, kWordSize) / kWordSize; -+ void *mem = (void *)&alloc_memory_for_dlsym[allocated_for_dlsym]; -+ allocated_for_dlsym += size_in_words; -+ CHECK_LT(allocated_for_dlsym, kDlsymAllocPoolSize); -+ return mem; -+} -+ - #define ENSURE_MSAN_INITED() do { \ - CHECK(!msan_init_is_running); \ - if (!msan_inited) { \ -@@ -227,7 +244,7 @@ - - INTERCEPTOR(void, free, void *ptr) { - GET_MALLOC_STACK_TRACE; -- if (!ptr) return; -+ if (!ptr || UNLIKELY(IsInDlsymAllocPool(ptr))) return; - MsanDeallocate(&stack, ptr); - } - -@@ -234,7 +251,7 @@ - #if !SANITIZER_FREEBSD - INTERCEPTOR(void, cfree, void *ptr) { - GET_MALLOC_STACK_TRACE; -- if (!ptr) return; -+ if (!ptr || UNLIKELY(IsInDlsymAllocPool(ptr))) return; - MsanDeallocate(&stack, ptr); - } - #define MSAN_MAYBE_INTERCEPT_CFREE INTERCEPT_FUNCTION(cfree) -@@ -907,27 +924,29 @@ - - INTERCEPTOR(void *, calloc, SIZE_T nmemb, SIZE_T size) { - GET_MALLOC_STACK_TRACE; -- if (UNLIKELY(!msan_inited)) { -+ if (UNLIKELY(!msan_inited)) - // Hack: dlsym calls calloc before REAL(calloc) is retrieved from dlsym. -- const SIZE_T kCallocPoolSize = 1024; -- static uptr calloc_memory_for_dlsym[kCallocPoolSize]; -- static SIZE_T allocated; -- SIZE_T size_in_words = ((nmemb * size) + kWordSize - 1) / kWordSize; -- void *mem = (void*)&calloc_memory_for_dlsym[allocated]; -- allocated += size_in_words; -- CHECK(allocated < kCallocPoolSize); -- return mem; -- } -+ return AllocateFromLocalPool(nmemb * size); - return MsanCalloc(&stack, nmemb, size); - } - - INTERCEPTOR(void *, realloc, void *ptr, SIZE_T size) { - GET_MALLOC_STACK_TRACE; -+ if (UNLIKELY(IsInDlsymAllocPool(ptr))) { -+ uptr offset = (uptr)ptr - (uptr)alloc_memory_for_dlsym; -+ uptr copy_size = Min(size, kDlsymAllocPoolSize - offset); -+ void *new_ptr = AllocateFromLocalPool(size); -+ internal_memcpy(new_ptr, ptr, copy_size); -+ return new_ptr; -+ } - return MsanReallocate(&stack, ptr, size, sizeof(u64), false); - } - - INTERCEPTOR(void *, malloc, SIZE_T size) { - GET_MALLOC_STACK_TRACE; -+ if (UNLIKELY(!msan_inited)) -+ // Hack: dlsym calls malloc before REAL(malloc) is retrieved from dlsym. -+ return AllocateFromLocalPool(size); - return MsanReallocate(&stack, nullptr, size, sizeof(u64), false); - } - -Index: lib/asan/asan_malloc_linux.cc -=================================================================== ---- lib/asan/asan_malloc_linux.cc (revision 282231) -+++ lib/asan/asan_malloc_linux.cc (revision 282232) -@@ -78,7 +78,11 @@ - if (UNLIKELY(IsInDlsymAllocPool(ptr))) { - uptr offset = (uptr)ptr - (uptr)alloc_memory_for_dlsym; - uptr copy_size = Min(size, kDlsymAllocPoolSize - offset); -- void *new_ptr = asan_malloc(size, &stack); -+ void *new_ptr; -+ if (UNLIKELY(!asan_inited)) -+ new_ptr = AllocateFromLocalPool(size); -+ else -+ new_ptr = asan_malloc(size, &stack); - internal_memcpy(new_ptr, ptr, copy_size); - return new_ptr; - } diff --git a/abs/extra/lm_sensors/PKGBUILD b/abs/extra/lm_sensors/PKGBUILD index 43c813e..2ad82e5 100644 --- a/abs/extra/lm_sensors/PKGBUILD +++ b/abs/extra/lm_sensors/PKGBUILD @@ -3,9 +3,9 @@ pkgname=lm_sensors pkgver=3.4.0 -pkgrel=2 +pkgrel=3 pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.lm-sensors.org/" license=('GPL' 'LGPL') depends=('perl' 'sysfsutils') diff --git a/abs/extra/lua51/PKGBUILD b/abs/extra/lua51/PKGBUILD index 39ac19c..1f802e8 100644 --- a/abs/extra/lua51/PKGBUILD +++ b/abs/extra/lua51/PKGBUILD @@ -5,9 +5,9 @@ pkgname=lua51 pkgver=5.1.5 -pkgrel=4 +pkgrel=6 pkgdesc='Powerful lightweight programming language designed for extending applications' -arch=('i686' 'x86_64') +arch=('x86_64') url='http://www.lua.org/' depends=('readline') license=('MIT') @@ -23,15 +23,15 @@ prepare() { cd lua-$pkgver patch -p1 -i ../lua-arch.patch patch -p1 -i ../lua-5.1-cflags.diff + + sed -e 's:llua:llua5.1:' -e 's:/include:/include/lua5.1:' -i etc/lua.pc + sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.1/' -e '/^LUAC_T=/ s/luac/luac5.1/' -i src/Makefile } build() { cd lua-$pkgver [[ $CARCH == x86_64 ]] && export CFLAGS="$CFLAGS -fPIC" - sed -e 's:llua:llua5.1:' -e 's:/include:/include/lua5.1:' -i etc/lua.pc - sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.1/' -e '/^LUAC_T=/ s/luac/luac5.1/' \ - -i src/Makefile make MYCFLAGS="$CFLAGS" MYLDFLAGS="$LDFLAGS" linux } @@ -47,8 +47,8 @@ package() { INSTALL_MAN="$pkgdir"/usr/share/man/man1 \ install - install -Dm644 etc/lua.pc "$pkgdir"/usr/lib/pkgconfig/lua5.1.pc - install -d "$pkgdir/usr/share/doc/$pkgname" + install -Dm644 etc/lua.pc "$pkgdir"/usr/lib/pkgconfig/$pkgname.pc + install -d "$pkgdir"/usr/share/doc/$pkgname install -m644 doc/*.{gif,png,css,html} "$pkgdir"/usr/share/doc/$pkgname install -Dm644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT diff --git a/abs/extra/lynx/PKGBUILD b/abs/extra/lynx/PKGBUILD index a793fff..c2b4c44 100644 --- a/abs/extra/lynx/PKGBUILD +++ b/abs/extra/lynx/PKGBUILD @@ -1,26 +1,38 @@ -# $Id: PKGBUILD 162749 2012-06-29 12:15:20Z pierre $ -# Maintainer: +# $Id$ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=lynx -pkgver=2.8.7 -_pkgver=2-8-7 -pkgrel=6 +pkgver=2.8.8 +_relver=${pkgver}rel.2 +pkgrel=5 pkgdesc="A text browser for the World Wide Web" -url="http://lynx.isc.org/" -arch=('i686' 'x86_64') +url="http://lynx.browser.org/" +arch=('x86_64') license=('GPL') -depends=('ncurses' 'openssl') +depends=('openssl' 'libidn') backup=('etc/lynx.cfg') -source=("http://lynx.isc.org/release/${pkgname}${pkgver}.tar.gz") -md5sums=('e36d70f3f09b2d502055ca67f09e363c') +source=(http://invisible-mirror.net/archives/lynx/tarballs/${pkgname}${_relver}.tar.bz2{,.asc} + lynx-2.8.8-openssl.patch + ncurses.patch) +sha256sums=('6980e75cf0d677fd52c116e2e0dfd3884e360970c88c8356a114338500d5bee7' + 'SKIP' + '08a331c9fc07547f5a59c9b83077bf18ece0a6012d77a6f3e0dff2be27a07769' + '06d1a968cd7eed0711683ed055c67118f52ef7ea22fcb7995447d3d7a9297f1d') +validpgpkeys=('0AFD1FFEEA2EA063B959ACDA5DDF8FB7688E31A6') +prepare() { + cd ${srcdir}/${pkgname}${pkgver//./-} + patch -Np1 -i ../lynx-2.8.8-openssl.patch + patch -Np1 -i ../ncurses.patch +} + build() { - cd ${srcdir}/${pkgname}${_pkgver} + cd ${srcdir}/${pkgname}${pkgver//./-} ./configure --prefix=/usr \ --sysconfdir=/etc \ - --with-ssl \ + --with-ssl=/usr \ --enable-nls \ --enable-ipv6 \ --mandir=/usr/share/man @@ -28,7 +40,7 @@ build() { } package() { - cd ${srcdir}/${pkgname}${_pkgver} + cd ${srcdir}/${pkgname}${pkgver//./-} make DESTDIR=${pkgdir} install # FS#20404 - points to local help diff --git a/abs/extra/lynx/__changelog b/abs/extra/lynx/__changelog new file mode 100644 index 0000000..06e79aa --- /dev/null +++ b/abs/extra/lynx/__changelog @@ -0,0 +1,2 @@ +PKGGBUILD: add ncurses.patch +ncurses.patch from https://git.alpinelinux.org/cgit/aports/plain/main/lynx/ncurses.patch diff --git a/abs/extra/lynx/lynx-2.8.8-openssl.patch b/abs/extra/lynx/lynx-2.8.8-openssl.patch new file mode 100644 index 0000000..7ab0fb8 --- /dev/null +++ b/abs/extra/lynx/lynx-2.8.8-openssl.patch @@ -0,0 +1,11 @@ +--- lynx2-8-8/WWW/Library/Implementation/HTTP.c.orig 2017-03-16 09:24:30.608537810 +0000 ++++ lynx2-8-8/WWW/Library/Implementation/HTTP.c 2017-03-16 09:25:21.728457895 +0000 +@@ -720,7 +720,7 @@ + #elif SSLEAY_VERSION_NUMBER >= 0x0900 + #ifndef USE_NSS_COMPAT_INCL + if (!try_tls) { +- handle->options |= SSL_OP_NO_TLSv1; ++ SSL_set_options(handle, SSL_OP_NO_TLSv1); + #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) + } else { + int ret = (int) SSL_set_tlsext_host_name(handle, ssl_host); diff --git a/abs/extra/lynx/ncurses.patch b/abs/extra/lynx/ncurses.patch new file mode 100644 index 0000000..5acab0c --- /dev/null +++ b/abs/extra/lynx/ncurses.patch @@ -0,0 +1,78 @@ +From f0b064b47bfa046da941f5029cdc1b4c851553ce Mon Sep 17 00:00:00 2001 +From: "Thomas E. Dickey" <dickey@invisible-island.net> +Date: Sat, 18 Mar 2017 21:44:28 +0000 +Subject: [PATCH] snapshot of project "lynx", label v2-8-9dev_11m + +--- + CHANGES | 5 +++-- + src/LYCurses.c | 18 ++++++++++++------ + src/LYStrings.c | 7 ++++--- + 3 files changed, 19 insertions(+), 11 deletions(-) + +diff --git a/src/LYCurses.c b/src/LYCurses.c +index 6b839c28..63b73ece 100644 +--- a/src/LYCurses.c ++++ b/src/LYCurses.c +@@ -1696,7 +1696,7 @@ void lynx_enable_mouse(int state) + void lynx_nl2crlf(int normal GCC_UNUSED) + { + #if defined(NCURSES_VERSION_PATCH) && defined(SET_TTY) && defined(TERMIOS) && defined(ONLCR) +- static TTY saved_tty; ++ static struct termios saved_tty; + static int did_save = FALSE; + static int waiting = FALSE; + static int can_fix = TRUE; +@@ -1705,8 +1705,10 @@ void lynx_nl2crlf(int normal GCC_UNUSED) + if (cur_term == 0) { + can_fix = FALSE; + } else { +- saved_tty = cur_term->Nttyb; ++ tcgetattr(fileno(stdout), &saved_tty); + did_save = TRUE; ++ if ((saved_tty.c_oflag & ONLCR)) ++ can_fix = FALSE; + #if NCURSES_VERSION_PATCH < 20010529 + /* workaround for optimizer bug with nonl() */ + if ((tigetstr("cud1") != 0 && *tigetstr("cud1") == '\n') +@@ -1718,14 +1720,18 @@ void lynx_nl2crlf(int normal GCC_UNUSED) + if (can_fix) { + if (normal) { + if (!waiting) { +- cur_term->Nttyb.c_oflag |= ONLCR; ++ struct termios alter_tty = saved_tty; ++ ++ alter_tty.c_oflag |= ONLCR; ++ tcsetattr(fileno(stdout), TCSAFLUSH, &alter_tty); ++ def_prog_mode(); + waiting = TRUE; + nonl(); + } + } else { + if (waiting) { +- cur_term->Nttyb = saved_tty; +- SET_TTY(fileno(stdout), &saved_tty); ++ tcsetattr(fileno(stdout), TCSAFLUSH, &saved_tty); ++ def_prog_mode(); + waiting = FALSE; + nl(); + LYrefresh(); +diff --git a/src/LYStrings.c b/src/LYStrings.c +index e97481c2..02b1286d 100644 +--- a/src/LYStrings.c ++++ b/src/LYStrings.c +@@ -1004,12 +1004,13 @@ static const char *expand_tiname(const char *first, size_t len, char **result, c + { + char name[BUFSIZ]; + int code; ++ TERMTYPE *tp = (TERMTYPE *) (cur_term); + + LYStrNCpy(name, first, len); + if ((code = lookup_tiname(name, strnames)) >= 0 + || (code = lookup_tiname(name, strfnames)) >= 0) { +- if (cur_term->type.Strings[code] != 0) { +- LYStrNCpy(*result, cur_term->type.Strings[code], (final - *result)); ++ if (tp->Strings[code] != 0) { ++ LYStrNCpy(*result, tp->Strings[code], (final - *result)); + (*result) += strlen(*result); + } + } diff --git a/abs/extra/lyx/PKGBUILD b/abs/extra/lyx/PKGBUILD new file mode 100644 index 0000000..7938c32 --- /dev/null +++ b/abs/extra/lyx/PKGBUILD @@ -0,0 +1,51 @@ +# $Id$ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=lyx +pkgver=2.3.0 +pkgrel=1 +pkgdesc="An advanced WYSIWYM document processor & LaTeX front-end" +arch=('x86_64') +url="http://www.lyx.org" +depends=('qt5-svg' 'texlive-core' 'python2' 'imagemagick' 'enchant' 'boost-libs' 'libmythes' 'file' + 'hicolor-icon-theme') +makedepends=('boost' 'bc') +optdepends=('rcs: built-in version control system' + 'texlive-latexextra: float wrap support' + 'python: support for python scripts') +license=('GPL') +backup=('etc/lyx/lyxrc.dist') +options=('emptydirs') +source=(ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/$pkgname-$pkgver.tar.xz{,.sig} + lyxrc.dist lyx-enchant2.patch) +validpgpkeys=('FE66471B43559707AFDAD955DE7A44FAC7FB382D') # LyX Release Manager +sha512sums=('77366d365f600069564b6d508ba2169744bbc7bc4dc9cb7e9d5f44941796dd7a027ca9ad08f5a67fd6863cbd1f6308ce5233b6e8685ebc6cf78ed19eef84ccb5' + 'SKIP' + 'eef777cf6033a7b1e04700f33068b07309f8d5c6931c16927305dafb3a00fd46d4b536149349ab56b7455e7dea195c8889da2b6fbf9caa9e76bc0557f9358bc3' + '4c3ac4d6b01cb8072179718d9401e61634ce3ac0f324e1d4955d7026889183734d04d9760cc850bce6308917060584eab41d389812e0ddafdf80386c21e04d49') + + +prepare() { + cd $pkgname-$pkgver + patch -p1 -i ../lyx-enchant2.patch # Fix build with Enchant 2.x + sed -e 's|\[enchant\]|\[enchant-2\]|g' -i config/spell.m4 + autoreconf -vi +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + export CXXFLAGS="$CXXFLAGS -fpermissive" + ./configure --prefix=/usr \ + --enable-qt5 --without-included-boost \ + --without-included-mythes + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + # install default config file + install -Dm644 "${srcdir}/lyxrc.dist" "${pkgdir}/etc/lyx/lyxrc.dist" + ln -sf /etc/lyx/lyxrc.dist "${pkgdir}/usr/share/lyx/lyxrc.dist" +} diff --git a/abs/extra/lyx/lyx-enchant2.patch b/abs/extra/lyx/lyx-enchant2.patch new file mode 100644 index 0000000..9a8c444 --- /dev/null +++ b/abs/extra/lyx/lyx-enchant2.patch @@ -0,0 +1,37 @@ +diff --git a/lyx-2.2.3/src/EnchantChecker.cpp.orig b/lyx-2.2.3/src/EnchantChecker.cpp +index 7be361a..70d9914 100644 +--- lyx-2.2.3/src/EnchantChecker.cpp.orig ++++ lyx-2.2.3/src/EnchantChecker.cpp +@@ -53,6 +53,8 @@ struct EnchantChecker::Private + + /// the spellers + Spellers spellers_; ++ ++ enchant::Broker instance; + }; + + +@@ -68,12 +70,11 @@ EnchantChecker::Private::~Private() + + enchant::Dict * EnchantChecker::Private::addSpeller(string const & lang) + { +- enchant::Broker * instance = enchant::Broker::instance(); + Speller m; + + try { + LYXERR(Debug::FILES, "request enchant speller for language " << lang); +- m.speller = instance->request_dict(lang); ++ m.speller = instance.request_dict(lang); + } + catch (enchant::Exception & e) { + // FIXME error handling? +@@ -186,8 +187,7 @@ bool EnchantChecker::hasDictionary(Language const * lang) const + { + if (!lang) + return false; +- enchant::Broker * instance = enchant::Broker::instance(); +- return (instance->dict_exists(lang->code())); ++ return (d->instance.dict_exists(lang->code())); + } + + diff --git a/abs/extra/lyx/lyxrc.dist b/abs/extra/lyx/lyxrc.dist new file mode 100644 index 0000000..dd18694 --- /dev/null +++ b/abs/extra/lyx/lyxrc.dist @@ -0,0 +1,14 @@ +### This file is part of +### ======================================================== +### LyX, The Document Processor +### +### Copyright 1995 Matthias Ettrich +### Copyright 1995-2011 The LyX Team. +### +### ======================================================== + +# The file lyxrc.dist gives initial global options for all LyX users. +# Almost all settings here can be overridden through the preferences in LyX. + +\thesaurusdir_path "/usr/share/mythes" +\hunspelldir_path "/usr/share/myspell" 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 new file mode 100644 index 0000000..973912b --- /dev/null +++ b/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch @@ -0,0 +1,30 @@ +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/PKGBUILD b/abs/extra/meson/PKGBUILD new file mode 100644 index 0000000..4f93834 --- /dev/null +++ b/abs/extra/meson/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Anatol Pomozov <anatol dot pomozov at gmail> + +pkgname=meson +pkgver=0.44.1 +pkgrel=1 +pkgdesc='High productivity build system' +url='http://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' + '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') +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 + arch-meson) +sha512sums=('1ecccccfa24ec2c5c144f8c13fd95d250b59cb22b79676a2a1a6f9ed30a7b08adb71d5882b2d4421d07689ad6dd6d6aef139ac33f628e55a1d428cbc40b4d93e' + 'SKIP' + '04a0f113ba5f1ae57591fad3f5ecf812ef88b8809b4ffe063e82f6548e728a1a7bd51c171a948873884c2631fc10a9cd141f56de22cd7cf766cdb74996840eec' + 'e901f87f3ee1baa7b9aedb79bd5c9e50898a5695ac938f7f8420d8e81f526a09f07ceedadb65975437efa5a68fcf581110a040f579f2530437d1e6eb5addea76') +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 +} + +build() { + cd ${pkgname}-${pkgver} + python setup.py build +} + +check() ( + cd ${pkgname}-${pkgver} + + # --as-needed breaks openmpi linking + LDFLAGS="${LDFLAGS/,--as-needed/}" + + # set for debug output + #export MESON_PRINT_TEST_OUTPUT=1 + + export LC_CTYPE=en_US.UTF-8 + ./run_tests.py +) + +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 -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/* + + # Arch packaging helper + install -D ../arch-meson -t "${pkgdir}/usr/bin" +} + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/meson/arch-meson b/abs/extra/meson/arch-meson new file mode 100644 index 0000000..c4a9e7c --- /dev/null +++ b/abs/extra/meson/arch-meson @@ -0,0 +1,21 @@ +#!/bin/bash -ex +# Meson 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 diff --git a/abs/extra/minisign/PKGBUILD b/abs/extra/minisign/PKGBUILD new file mode 100644 index 0000000..ceba022 --- /dev/null +++ b/abs/extra/minisign/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@archlinux.org> + +pkgname=minisign +pkgver=0.8 +pkgrel=1 +pkgdesc="A dead simple tool to sign files and verify digital signatures." +arch=('x86_64') +url="https://github.com/jedisct1/minisign" +license=('custom:ISC') +depends=('libsodium') +makedepends=('cmake') +source=("$pkgname-$pkgver.tar.gz::https://github.com/jedisct1/minisign/archive/$pkgver.tar.gz") +sha512sums=('79bf626d0c15e39ce3bdf53600038028c0b22904b648074bf516a9ea6962c9486c41244e80637a5fbac090cce1ed9b4b3d57b8a02632646e01b43aa413cd8bd9') + +prepare() { + mkdir -p build +} + +build() { + cd build + + cmake ../minisign-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + make -C build DESTDIR="$pkgdir" install + + install -Dm644 minisign-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/abs/extra/mkvtoolnix/PKGBUILD b/abs/extra/mkvtoolnix/PKGBUILD index 2a8ff55..2739c09 100644 --- a/abs/extra/mkvtoolnix/PKGBUILD +++ b/abs/extra/mkvtoolnix/PKGBUILD @@ -5,29 +5,31 @@ pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gui') -pkgver=9.1.0 -pkgrel=3 +pkgver=21.0.0 +pkgrel=1 pkgdesc='Set of tools to create, edit and inspect Matroska files' -arch=('i686' 'x86_64') +arch=('x86_64') url='https://www.bunkus.org/videotools/mkvtoolnix/' license=('GPL') -makedepends=('boost' 'boost-libs' 'file' 'flac' 'libebml' 'libmatroska' - 'libogg' 'libvorbis' 'qt5-base' 'ruby' 'zlib') +makedepends=('boost' 'boost-libs' 'cmark' 'docbook-xsl' 'file' 'flac' 'libebml' + 'libmatroska' 'libogg' 'libvorbis' 'qt5-multimedia' 'ruby-rake' + 'zlib') source=("http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-${pkgver}.tar.xz") -md5sums=('7eafd6f5a9affd35f9cbf607d8ccf9b3') +sha256sums=('ad6d1d0ba40b153c155d5b26425e88531b24bb9969bac0341040e48cbb77c391') build() { cd mkvtoolnix-${pkgver} - ./configure --prefix='/usr' \ - --without-curl \ - --disable-qt - ./drake apps:mkvinfo $MAKEFLAGS + ./configure \ + --prefix='/usr' \ + --disable-qt + rake apps:mkvinfo $MAKEFLAGS mv src/mkvinfo{,-cli} - ./configure --prefix='/usr' \ - --without-curl - ./drake $MAKEFLAGS + ./configure \ + --prefix='/usr' \ + --disable-update-check + rake $MAKEFLAGS } package_mkvtoolnix-cli() { @@ -36,21 +38,19 @@ package_mkvtoolnix-cli() { cd mkvtoolnix-${pkgver} - ./drake DESTDIR="${pkgdir}" install + rake DESTDIR="${pkgdir}" install install -m 755 src/mkvinfo-cli "${pkgdir}"/usr/bin/mkvinfo - rm -rf "${pkgdir}"/usr/share/{applications,icons,mime} + rm -rf "${pkgdir}"/usr/share/{applications,icons,mime,mkvtoolnix} find "${pkgdir}" -name mkvtoolnix-gui* -delete } package_mkvtoolnix-gui() { - depends=('desktop-file-utils' 'hicolor-icon-theme' 'mkvtoolnix-cli' - 'qt5-base' 'shared-mime-info' 'xdg-utils') - replaces=('mkvtoolnix-gtk') - install='mkvtoolnix-gui.install' + depends=('cmark' 'hicolor-icon-theme' 'mkvtoolnix-cli' 'qt5-base' + 'qt5-multimedia') cd mkvtoolnix-${pkgver} - ./drake DESTDIR="${pkgdir}" install + rake DESTDIR="${pkgdir}" install rm -rf "${pkgdir}"/usr/share/locale for t in mkv{extract,info,merge,propedit}; do find "${pkgdir}" -name $t* -delete diff --git a/abs/extra/mkvtoolnix/mkvtoolnix-gui.install b/abs/extra/mkvtoolnix/mkvtoolnix-gui.install deleted file mode 100644 index ec2cf43..0000000 --- a/abs/extra/mkvtoolnix/mkvtoolnix-gui.install +++ /dev/null @@ -1,15 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-mime-database /usr/share/mime &> /dev/null - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -pre_remove() { - post_install -} - -# vim: ts=2 sw=2 et: diff --git a/abs/extra/mpdecimal/PKGBUILD b/abs/extra/mpdecimal/PKGBUILD new file mode 100644 index 0000000..44fe617 --- /dev/null +++ b/abs/extra/mpdecimal/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@archlinux.org> + +pkgname=mpdecimal +pkgver=2.4.2 +pkgrel=1 +pkgdesc="Package for correctly-rounded arbitrary precision decimal floating point arithmetic" +arch=('x86_64') +url="http://www.bytereef.org/mpdecimal/index.html" +license=('custom') +depends=('glibc') +source=("http://www.bytereef.org/software/$pkgname/releases/$pkgname-$pkgver.tar.gz") +sha512sums=('eb18ad53b81b93c469db4d915bbb3fae21b36ad82a88e01fef3a6946ac5f50b54376e259a5ecbe23836f1efd59d226b942ecdee87eaba7f9e75cdcaaa9499ef7') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt +} diff --git a/abs/extra/mythappletrailers/PKGBUILD b/abs/extra/mythappletrailers/PKGBUILD index 140c8b7..89ea17f 100644 --- a/abs/extra/mythappletrailers/PKGBUILD +++ b/abs/extra/mythappletrailers/PKGBUILD @@ -3,54 +3,49 @@ pkgname=mythappletrailers pkgver=0.04.3 -pkgrel=46 +pkgrel=47 pkgdesc="Unofficial Add-on for MythTV to get Apple.com Movie Trailers." -arch=('i686' 'x86_64') +arch=('x86_64') license=('GPL2') url="http://www.mythtv.org/wiki/index.php/Myth_Apple_Trailers" depends=('php' 'mythtv' 'mplayer-wrapper') install=mythappletrailers.install source=('myth_trailers_grabber' 'appletrailer.xml'\ - 'trailers' 'loading.sh' 'fix_aple_url.sh'\ + 'trailers' 'loading.sh'\ 'play_trailer.sh' 'gen_trailer_menu.sh'\ - 'all_trailers' 'shuffle_trailers'\ + 'apple_all_trailers' 'apple_shuffle_trailers'\ 'appletrailers_is.conf') #. /usr/MythVantage/bin/install_functions.sh -build() { +package() { MYTHHOME="/home/mythtv" - mkdir -p $startdir/pkg/usr/bin - mkdir -p $startdir/pkg/etc/cron.daily - mkdir -p $startdir/pkg/$MYTHHOME - mkdir -p $startdir/pkg/usr/share/mythtv/ - cp appletrailer.xml $startdir/pkg/$MYTHHOME/appletrailer.xml - chown 1000:1000 $startdir/pkg/$MYTHHOME/appletrailer.xml + mkdir -p $pkgdir/usr/bin + mkdir -p $pkgdir/etc/cron.daily + mkdir -p $pkgdir/$MYTHHOME + mkdir -p $pkgdir/usr/share/mythtv/ + cp appletrailer.xml $pkgdir/$MYTHHOME/appletrailer.xml + chown 1000:1000 $pkgdir/$MYTHHOME/appletrailer.xml chmod 755 trailers chmod 755 myth_trailers_grabber chmod 755 loading.sh - cp myth_trailers_grabber $startdir/pkg/usr/bin/ - cp loading.sh $startdir/pkg/usr/bin/ - cp trailers $startdir/pkg/etc/cron.daily/ - install -m755 $srcdir/fix_aple_url.sh $pkgdir/usr/bin + cp myth_trailers_grabber $pkgdir/usr/bin/ + cp loading.sh $pkgdir/usr/bin/ + cp trailers $pkgdir/etc/cron.daily/ install -m755 $srcdir/play_trailer.sh $pkgdir/usr/bin install -m755 $srcdir/gen_trailer_menu.sh $pkgdir/usr/bin - install -m644 $srcdir/all_trailers $pkgdir/home/mythtv - install -m644 $srcdir/shuffle_trailers $pkgdir/home/mythtv - chown 1000:1000 $startdir/pkg/$MYTHHOME/*_trailers + install -m644 $srcdir/apple_all_trailers $pkgdir/home/mythtv + install -m644 $srcdir/apple_shuffle_trailers $pkgdir/home/mythtv + chown 1000:1000 $pkgdir/$MYTHHOME/*_trailers #add in file for gen_is.xml install -D -m0744 ${srcdir}/appletrailers_is.conf ${pkgdir}/etc/gen_is_xml.d/appletrailers_is.conf } - - - -md5sums=('336e68953d0e1e8a0c7a4990f8d43a2b' +md5sums=('c70339830f6d538035b715ee779a4f2f' 'be0d071981e5536f24aaf67545a96cc5' - 'a508f2de763f5bec5b4549885c062c8a' - 'f072ec9c3d78b107e25039758fd5b378' - 'a2349f844e47fd95a672739177ca44ff' - '14f153c1efa7ae4e192d87010cbf9f7c' - '3e9d8014a0e76e2cf8057291d20c9291' + '1c5a2730628e696606357ad5378a134c' + 'f4a7f6d13ccb61e16934529ad5b7e69a' + 'dfaf2c692c0913f489f479a8fa61a243' + '5b3d9551d363bfbd6c3529984b317940' '7af1e58dfab2772dbb6f339481ae8d5d' 'd26681921482cbf334b43f700adf0d29' '341eb4f98b70b51b9420f58051c8df6a') diff --git a/abs/extra/mythappletrailers/all_trailers b/abs/extra/mythappletrailers/apple_all_trailers index 186c49c..186c49c 100644 --- a/abs/extra/mythappletrailers/all_trailers +++ b/abs/extra/mythappletrailers/apple_all_trailers diff --git a/abs/extra/mythappletrailers/shuffle_trailers b/abs/extra/mythappletrailers/apple_shuffle_trailers index f2d3a5e..f2d3a5e 100644 --- a/abs/extra/mythappletrailers/shuffle_trailers +++ b/abs/extra/mythappletrailers/apple_shuffle_trailers diff --git a/abs/extra/mythappletrailers/fix_aple_url.sh b/abs/extra/mythappletrailers/fix_aple_url.sh deleted file mode 100644 index a08be65..0000000 --- a/abs/extra/mythappletrailers/fix_aple_url.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -cat /home/mythtv/appletrailer.xml | sed -e 's|http:/\/\movies.apple|http:\/\/apple|g' > /tmp/appletrailer.xml -mv /tmp/appletrailer.xml /home/mythtv diff --git a/abs/extra/mythappletrailers/gen_trailer_menu.sh b/abs/extra/mythappletrailers/gen_trailer_menu.sh index 43b2fae..fabf0e0 100644 --- a/abs/extra/mythappletrailers/gen_trailer_menu.sh +++ b/abs/extra/mythappletrailers/gen_trailer_menu.sh @@ -4,26 +4,29 @@ sed -n -e 's/.*<action>\(.*\)<\/action>.*/\1/p' /tmp/appletrailer.xml > /tmp/a.l awk < /tmp/a.log '{ print $NF }' > /tmp/b.log sort -R /tmp/b.log > /tmp/c.log echo "<mythmenu name=\"TRAILERS\">" > /tmp/appletrailer.2.xml -echo " <button>" >> /tmp/appletrailer.2.xml -echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml -echo " <text>Play All Trailers</text>" >> /tmp/appletrailer.2.xml -echo " <action>EXEC /usr/bin/play_trailer.sh /home/mythtv/all_trailers</action>" >> /tmp/appletrailer.2.xml -echo " </button>" >> /tmp/appletrailer.2.xml +echo " <button>" >> /tmp/appletrailer.2.xml +echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml +echo " <text>Play Random Trailer</text>" >> /tmp/appletrailer.2.xml +echo " <action>EXEC loading.sh & mplayer-wrapper.pl -fs -zoom -user-agent "QuickTime/7.6.2" -cache 16000 \$(sort -R /home/mythtv/apple_all_trailers | tail -1)</action>" >> /tmp/appletrailer.2.xml +echo " </button>" >> /tmp/appletrailer.2.xml echo "" >> /tmp/appletrailer.2.xml -echo " <button>" >> /tmp/appletrailer.2.xml -echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml -echo " <text>Shuffle Play Trailers</text>" >> /tmp/appletrailer.2.xml -echo " <action>EXEC /usr/bin/play_trailer.sh /home/mythtv/shuffle_trailers</action>" >> /tmp/appletrailer.2.xml + +grep -v mythmenu /tmp/appletrailer.xml >> /tmp/appletrailer.2.xml + +echo " <button>" >> /tmp/appletrailer.2.xml +echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml +echo " <text>Play All Trailers</text>" >> /tmp/appletrailer.2.xml +echo " <action>EXEC play_trailer.sh /home/mythtv/apple_all_trailers</action>" >> /tmp/appletrailer.2.xml echo " </button>" >> /tmp/appletrailer.2.xml echo "" >> /tmp/appletrailer.2.xml -echo " <button>" >> /tmp/appletrailer.2.xml -echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml -echo " <text>Play Random Trailer</text>" >> /tmp/appletrailer.2.xml -echo " <action>EXEC loading.sh && mplayer -fs -zoom -really-quiet -user-agent "QuickTime/7.6.2" -cache 16000 \$(sort -R /home/mythtv/all_trailers | tail -1)</action>" >> /tmp/appletrailer.2.xml -echo " </button>" >> /tmp/appletrailer.2.xml +echo " <button>" >> /tmp/appletrailer.2.xml +echo " <type>VIDEO_BROWSER</type>" >> /tmp/appletrailer.2.xml +echo " <text>Shuffle All Trailers</text>" >> /tmp/appletrailer.2.xml +echo " <action>EXEC play_trailer.sh /home/mythtv/apple_shuffle_trailers</action>" >> /tmp/appletrailer.2.xml +echo " </button>" >> /tmp/appletrailer.2.xml +echo "</mythmenu>" >> /tmp/appletrailer.2.xml echo "" >> /tmp/appletrailer.2.xml - -grep -v TRAILERS /tmp/appletrailer.xml >> /tmp/appletrailer.2.xml -mv /tmp/b.log /home/mythtv/all_trailers -mv /tmp/c.log /home/mythtv/shuffle_trailers +mv /tmp/b.log /home/mythtv/apple_all_trailers +mv /tmp/c.log /home/mythtv/apple_shuffle_trailers mv /tmp/appletrailer.2.xml /home/mythtv/appletrailer.xml + diff --git a/abs/extra/mythappletrailers/loading.sh b/abs/extra/mythappletrailers/loading.sh index 55321fa..8b191e1 100755 --- a/abs/extra/mythappletrailers/loading.sh +++ b/abs/extra/mythappletrailers/loading.sh @@ -1,5 +1,4 @@ #!/bin/bash -msg_client.py --timeout 10 --msg "Loading . . . " #. /etc/osd_cat.cfg || { # color=yellow @@ -11,3 +10,14 @@ msg_client.py --timeout 10 --msg "Loading . . . " #} #echo -e "Loading . . . " | osd_cat --pos=middle --align=center --delay=10 --color=$color --outline=$outline --outlinecolour=$outlinecolour --shadow=$shadow --shadowcolour=$shadowcolour --font=$font + +msg_client.py --timeout 10 --msg "Loading Trailer..." --tag "trailers" & +sleep 2 +cacheFill=0 +while [[ cacheFill -eq 0 ]] +do + cacheFill=$(tail -n 1 /tmp/.mplayer-status | grep -ci "Cache fill") +done +#sleep 1 +msg_client.py --clear --tag "trailers" +msg_client.py --kill diff --git a/abs/extra/mythappletrailers/myth_trailers_grabber b/abs/extra/mythappletrailers/myth_trailers_grabber index ae32e75..074c879 100755 --- a/abs/extra/mythappletrailers/myth_trailers_grabber +++ b/abs/extra/mythappletrailers/myth_trailers_grabber @@ -1,25 +1,25 @@ <?php /** * Copyright (C) 2007 Ben Leto <undertoe@chemlab.org> - * + * * Description: Apple Trailer Grabber for mythtv - * + * * Version 0.4.3 - * + * * Apple Trailer Grabber is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * Apple Trailer Grabber is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * * Usage: read the INSTALL file * Setup as a cron script to run as frequently as you want * @@ -30,8 +30,8 @@ // CONFIGURATION // command to use when streaming content from the internet - cache 50% before displaying and use 32MB of memory -$STREAMING_EXEC_CMD = 'loading.sh && mplayer-wrapper.pl -fs -zoom -really-quiet -user-agent "QuickTime/7.6.2" -cache 16000'; -$APPLE_FEED = 'http://www.apple.com/trailers/home/xml/current.xml'; +$STREAMING_EXEC_CMD = 'loading.sh & mplayer-wrapper.pl -fs -zoom -user-agent "QuickTime/7.6.2" -cache 16000'; +$APPLE_FEED = 'https://trailers.apple.com/trailers/home/xml/current.xml'; /************************************************************************/ // Shouldn't Need To modify anything beyond here @@ -43,58 +43,54 @@ define("XMLFEED", $APPLE_FEED); init_main(); -// Function: returns null | init_main () +// Function: returns null | init_main () // Description: Outputs Apple Trailer XML feed to watchable movie urls in MythTV menu XML format function init_main() { print "<mythmenu name=\"TRAILERS\">\n"; - + if(valid_url(XMLFEED)){ - - // Gather Array of Current Movie Trailers + //Gather Array of Current Movie Trailers //XML Data $xml_data = url_to_string(XMLFEED); //Creating Instance of the Class $xmlObj = new XmlToArray($xml_data); $arrayData = $xmlObj->createArray(); - + foreach($arrayData['records']['movieinfo'] as $Row){ - + $MovieTitle = $Row['info'][0]['title']; $MovieLink = $Row['preview'][0]['large']; + $MovieLink = preg_replace("/http:\/\//i", "https://", $MovieLink); //change http:// to https:// $VideoPlayCMD = PLAYERCMD . ' ' . $MovieLink; - + if(!valid_url($MovieLink)){ $MovieTitle = $MovieTitle . '*VIDEO ERROR*'; - $VideoPlayCMD = ''; + $VideoPlayCMD = ''; } - + print "\t<button>\n"; print "\t\t<type>VIDEO_BROWSER</type>\n"; $MovieTitle = preg_replace('/ & /', ' & ', $MovieTitle); print "\t\t<text>$MovieTitle</text>\n"; print "\t\t<action>EXEC $VideoPlayCMD</action>\n"; - print "\t</button>\n\n"; - + print "\t</button>\n\n"; + } }else{ print "\t<button>\n"; print "\t\t<type>VIDEO_BROWSER</type>\n"; print "\t\t<text>Error Grabbing XML Feed</text>\n"; print "\t\t<action></action>\n"; - print "\t</button>\n\n"; + print "\t</button>\n\n"; } - print "</mythmenu>\n"; - - - } -// Function: returns boolean | valid_url ( var | url to check) -// Description: Checks to see if a url is a valid page +// Function: returns boolean | valid_url ( var | url to check) +// Description: Checks to see if a url is a valid page function valid_url($str) { if(@fopen($str, "r")) { @@ -104,36 +100,32 @@ function valid_url($str) } } -// Function: returns string | all elements of XML ( var | url to feed) +// Function: returns string | all elements of XML ( var | url to feed) // Description: Converts each element in an XML feed to single line string -// Notes: must have 'allow_url_fopen = On' in php.ini +// Notes: must have 'allow_url_fopen = On' in php.ini function url_to_string($url){ $lines = file($url); foreach ($lines as $line) { $lineR = trim($line); } - $lineR = eregi_replace("<" . "large" . "[^>]*>", "<large>", $lineR); //hack for apple goofy xml + $lineR = preg_replace("/<" . "large" . "[^>]*>/i", "<large>", $lineR); //hack for apple goofy xml return $lineR; } -// Class: returns (~) x array | elements of XML ( var | XML in string) +// Class: returns (~) x array | elements of XML ( var | XML in string) // Description: Converts each element in an XML feed to an Array class XmlToArray { - var $xml=''; - /** * Default Constructor * @param $xml = xml data * @return none */ - function XmlToArray($xml) { - $this->xml = $xml; + $this->xml = $xml; } - /** * _struct_to_array($values, &$i) * @@ -145,34 +137,34 @@ class XmlToArray * @param int $i this is the current location in the array * @return Array */ - + function _struct_to_array($values, &$i) { $child = array(); if (isset($values[$i]['value'])) array_push($child, $values[$i]['value']); - + while ($i++ < count($values)) { switch ($values[$i]['type']) { case 'cdata': array_push($child, $values[$i]['value']); break; - + case 'complete': $name = $values[$i]['tag']; if(!empty($name)){ $child[$name]= ($values[$i]['value'])?($values[$i]['value']):''; - if(isset($values[$i]['attributes'])) { + if(isset($values[$i]['attributes'])) { $child[$name] = $values[$i]['attributes']; } - } + } break; - + case 'open': $name = $values[$i]['tag']; $size = isset($child[$name]) ? sizeof($child[$name]) : 0; $child[$name][$size] = $this->_struct_to_array($values, $i); break; - + case 'close': return $child; break; @@ -180,7 +172,7 @@ class XmlToArray } return $child; }//_struct_to_array - + /** * createArray($data) * @@ -207,8 +199,6 @@ class XmlToArray $array[$name] = $this->_struct_to_array($values, $i); return $array; } - - } ?> diff --git a/abs/extra/mythappletrailers/mythappletrailers.install b/abs/extra/mythappletrailers/mythappletrailers.install index 602b96a..b8e3b97 100644 --- a/abs/extra/mythappletrailers/mythappletrailers.install +++ b/abs/extra/mythappletrailers/mythappletrailers.install @@ -9,7 +9,7 @@ post_upgrade() { /usr/LH/bin/gen_is_xml.py if [ -e /usr/share/mythtv/themes/defaultmenu/appletrailer.xml ] then - exit + exit else ln -s /$MYTHHOME/appletrailer.xml /usr/share/mythtv/themes/defaultmenu/appletrailer.xml fi diff --git a/abs/extra/mythappletrailers/play_trailer.sh b/abs/extra/mythappletrailers/play_trailer.sh index b584bd1..7ea6e9d 100644 --- a/abs/extra/mythappletrailers/play_trailer.sh +++ b/abs/extra/mythappletrailers/play_trailer.sh @@ -1,8 +1,6 @@ #!/bin/bash for TRAILER in $(cat $1) do - /usr/bin/loading.sh - mplayer -fs -zoom -really-quiet -user-agent "QuickTime/7.6.2" -cache 16000 $TRAILER + loading.sh & + mplayer-wrapper.pl -fs -zoom -user-agent "QuickTime/7.6.2" -cache 16000 $TRAILER done - - diff --git a/abs/extra/mythappletrailers/trailers b/abs/extra/mythappletrailers/trailers index 9611439..fb03498 100755 --- a/abs/extra/mythappletrailers/trailers +++ b/abs/extra/mythappletrailers/trailers @@ -1,2 +1,2 @@ #!/bin/sh -su mythtv -c '/usr/bin/php -q /usr/bin/myth_trailers_grabber > /home/mythtv/appletrailer.xml && /usr/bin/fix_aple_url.sh && /usr/bin/gen_trailer_menu.sh' 2>/dev/null +su mythtv -c '/usr/bin/php -q /usr/bin/myth_trailers_grabber > /home/mythtv/appletrailer.xml && /usr/bin/gen_trailer_menu.sh' 2>/dev/null diff --git a/abs/extra/ncdu/PKGBUILD b/abs/extra/ncdu/PKGBUILD index 7973c60..ade6a79 100644 --- a/abs/extra/ncdu/PKGBUILD +++ b/abs/extra/ncdu/PKGBUILD @@ -4,15 +4,17 @@ # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=ncdu -pkgver=1.11 +pkgver=1.13 pkgrel=1 pkgdesc='Disk usage analyzer with an ncurses interface' -url='http://dev.yorhel.nl/ncdu/' +url='https://dev.yorhel.nl/ncdu' license=('custom:MIT') depends=('ncurses') -arch=('i686' 'x86_64') -source=("http://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz") -sha1sums=('8f22d713e6d2b28e1f501eee2bd1e03b55550c8d') +arch=('x86_64') +validpgpkeys=('74460D32B80810EBA9AFA2E962394C698C2739FA') +source=("https://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) +sha256sums=('f4d9285c38292c2de05e444d0ba271cbfe1a705eee37c2b23ea7c448ab37255a' + 'SKIP') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/abs/extra/net-snmp/PKGBUILD b/abs/extra/net-snmp/PKGBUILD index 4e003ed..a17ce4d 100644 --- a/abs/extra/net-snmp/PKGBUILD +++ b/abs/extra/net-snmp/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 198340 2013-10-30 14:16:21Z allan $ -# Maintainer: +# $Id$ +# Maintainer: Felix Yan <felixonmars@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> pkgname=net-snmp -pkgver=5.7.2 -pkgrel=8 +pkgver=5.7.3 +pkgrel=7 pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.net-snmp.org/" license=('BSD') depends=('openssl' 'libnl' 'pciutils') @@ -15,19 +15,21 @@ optdepends=('perl-term-readkey: for snmpcheck application' 'perl-tk: for snmpcheck and tkmib applications' 'python2: for the python modules') options=('!emptydirs' '!makeflags') -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc} - snmpd.service snmptrapd.service libnl32.patch) -sha1sums=('c493027907f32400648244d81117a126aecd27ee' - 'SKIP' +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz + snmpd.service snmptrapd.service net-snmp-5.7.3-perl-5.24.patch fix-openssl-build-errors.patch) +sha1sums=('97dc25077257680815de44e34128d365c76bd839' '84e32c54d32e6b608747054e04a3ddfe6d6638cc' '0244e91c7baa0abebfb5c0560e8ce04c966c5992' - '74a9848b95f63378eb1753fc309d2b74de5afb0f') + '31beef2cb5ad9b4ac655f8ced53058ebf6e99ca9' + 'b329ff700a3e20cdfcab4643a573ef976f9182c0') +validpgpkeys=('8AAA779B597B405BBC329B6376CF47B8A77C5329' + '27CAA4A32E371383A33ED0587D5F9576E0F81533') # Net-SNMP Administrators prepare() { cd ${pkgname}-${pkgver} -# http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694 - patch -Np1 -i "$srcdir/libnl32.patch" - autoreconf -f -i + patch -p1 -i ../net-snmp-5.7.3-perl-5.24.patch + patch -p1 -i ../fix-openssl-build-errors.patch + autoreconf -i } build() { @@ -43,8 +45,7 @@ build() { --with-sys-location="Unknown" \ --with-logfile="/var/log/snmpd.log" \ --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \ - --with-persistent-directory="/var/net-snmp" \ - --disable-static + --with-persistent-directory="/var/net-snmp" make NETSNMP_DONT_CHECK_VERSION=1 } @@ -55,4 +56,12 @@ package() { install -D -m644 "${srcdir}/snmpd.service" "${pkgdir}/usr/lib/systemd/system/snmpd.service" install -D -m644 "${srcdir}/snmptrapd.service" "${pkgdir}/usr/lib/systemd/system/snmptrapd.service" install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + +# template start; name=perl-binary-module-dependency; version=1; +if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then + _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') + _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') + depends+=("perl>=$_perlver_min" "perl<$_perlver_max") +fi +# template end; } diff --git a/abs/extra/net-snmp/fix-openssl-build-errors.patch b/abs/extra/net-snmp/fix-openssl-build-errors.patch new file mode 100644 index 0000000..53bc372 --- /dev/null +++ b/abs/extra/net-snmp/fix-openssl-build-errors.patch @@ -0,0 +1,171 @@ +net-snmp build fails on Debian 9 with OpenSSL 1.1.0 + +With these changes, net-snmp builds with both +OpenSSL 1.0.x and 1.1.x. + +Author: Sharmila Podury <sharmila.podury@brocade.com> + +--- a/apps/snmpusm.c ++++ b/apps/snmpusm.c +@@ -125,6 +125,32 @@ char *usmUserPublic_val = NULL + int docreateandwait = 0; + + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include <string.h> ++#include <openssl/engine.h> ++ ++void DH_get0_pqg(const DH *dh, ++ const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) ++{ ++ if (p != NULL) ++ *p = dh->p; ++ if (q != NULL) ++ *q = dh->q; ++ if (g != NULL) ++ *g = dh->g; ++} ++ ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++#endif ++ + void + usage(void) + { +@@ -190,7 +216,7 @@ get_USM_DH_key(netsnmp_variable_list *va + oid *keyoid, size_t keyoid_len) { + u_char *dhkeychange; + DH *dh; +- BIGNUM *other_pub; ++ BIGNUM *p, *g, *pub_key, *other_pub; + u_char *key; + size_t key_len; + +@@ -205,25 +231,29 @@ get_USM_DH_key(netsnmp_variable_list *va + dh = d2i_DHparams(NULL, &cp, dhvar->val_len); + } + +- if (!dh || !dh->g || !dh->p) { ++ if (dh) ++ DH_get0_pqg(dh, &p, NULL, &g); ++ ++ if (!dh || !g || !p) { + SNMP_FREE(dhkeychange); + return SNMPERR_GENERR; + } + +- DH_generate_key(dh); +- if (!dh->pub_key) { ++ if (!DH_generate_key(dh)) { + SNMP_FREE(dhkeychange); + return SNMPERR_GENERR; + } + +- if (vars->val_len != (unsigned int)BN_num_bytes(dh->pub_key)) { ++ DH_get0_key(dh, &pub_key, NULL); ++ ++ if (vars->val_len != (unsigned int)BN_num_bytes(pub_key)) { + SNMP_FREE(dhkeychange); + fprintf(stderr,"incorrect diffie-helman lengths (%lu != %d)\n", +- (unsigned long)vars->val_len, BN_num_bytes(dh->pub_key)); ++ (unsigned long)vars->val_len, BN_num_bytes(pub_key)); + return SNMPERR_GENERR; + } + +- BN_bn2bin(dh->pub_key, dhkeychange + vars->val_len); ++ BN_bn2bin(pub_key, dhkeychange + vars->val_len); + + key_len = DH_size(dh); + if (!key_len) { +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -327,10 +327,16 @@ if test "x$tryopenssl" != "xno" -a "x$tr + [[#include <openssl/evp.h>]]) + + AC_CHECK_LIB(${CRYPTO}, EVP_MD_CTX_create, +- AC_DEFINE([HAVE_EVP_MD_CTX_CREATE], [], ++ AC_DEFINE([HAVE_EVP_MD_CTX_CREATE], [1], + [Define to 1 if you have the `EVP_MD_CTX_create' function.]) +- AC_DEFINE([HAVE_EVP_MD_CTX_DESTROY], [], ++ AC_DEFINE([HAVE_EVP_MD_CTX_DESTROY], [1], + [Define to 1 if you have the `EVP_MD_CTX_destroy' function.])) ++ ++ AC_CHECK_LIB(${CRYPTO}, EVP_MD_CTX_new, ++ AC_DEFINE([HAVE_EVP_MD_CTX_NEW], [1], ++ [Define to 1 if you have the `EVP_MD_CTX_new' function.]) ++ AC_DEFINE([HAVE_EVP_MD_CTX_FREE], [1], ++ [Define to 1 if you have the `EVP_MD_CTX_free' function.])) + fi + if echo " $transport_result_list " | $GREP "DTLS" > /dev/null; then + AC_CHECK_LIB(ssl, DTLSv1_method, +--- a/include/net-snmp/net-snmp-config.h.in ++++ b/include/net-snmp/net-snmp-config.h.in +@@ -164,6 +164,12 @@ + /* Define to 1 if you have the `EVP_MD_CTX_destroy' function. */ + #undef HAVE_EVP_MD_CTX_DESTROY + ++/* Define to 1 if you have the `EVP_MD_CTX_free' function. */ ++#undef HAVE_EVP_MD_CTX_FREE ++ ++/* Define to 1 if you have the `EVP_MD_CTX_new' function. */ ++#undef HAVE_EVP_MD_CTX_NEW ++ + /* Define if you have EVP_sha224/256 in openssl */ + #undef HAVE_EVP_SHA224 + +--- a/snmplib/keytools.c ++++ b/snmplib/keytools.c +@@ -176,7 +176,9 @@ generate_Ku(const oid * hashtype, u_int + QUITFUN(SNMPERR_GENERR, generate_Ku_quit); + } + +-#ifdef HAVE_EVP_MD_CTX_CREATE ++#ifdef HAVE_EVP_MD_CTX_NEW ++ ctx = EVP_MD_CTX_new(); ++#elif HAVE_EVP_MD_CTX_CREATE + ctx = EVP_MD_CTX_create(); + #else + ctx = malloc(sizeof(*ctx)); +@@ -278,7 +280,9 @@ generate_Ku(const oid * hashtype, u_int + memset(buf, 0, sizeof(buf)); + #ifdef NETSNMP_USE_OPENSSL + if (ctx) { +-#ifdef HAVE_EVP_MD_CTX_DESTROY ++#ifdef HAVE_EVP_MD_CTX_FREE ++ EVP_MD_CTX_free(ctx); ++#elif HAVE_EVP_MD_CTX_DESTROY + EVP_MD_CTX_destroy(ctx); + #else + EVP_MD_CTX_cleanup(ctx); +--- a/snmplib/scapi.c ++++ b/snmplib/scapi.c +@@ -627,7 +627,9 @@ sc_hash(const oid * hashtype, size_t has + return SNMPERR_GENERR; + + /** initialize the pointer */ +-#ifdef HAVE_EVP_MD_CTX_CREATE ++#ifdef HAVE_EVP_MD_CTX_NEW ++ cptr = EVP_MD_CTX_new(); ++#elif HAVE_EVP_MD_CTX_CREATE + cptr = EVP_MD_CTX_create(); + #else + cptr = malloc(sizeof(*cptr)); +@@ -648,7 +650,9 @@ sc_hash(const oid * hashtype, size_t has + /** do the final pass */ + EVP_DigestFinal(cptr, MAC, &tmp_len); + *MAC_len = tmp_len; +-#ifdef HAVE_EVP_MD_CTX_DESTROY ++#ifdef HAVE_EVP_MD_CTX_FREE ++ EVP_MD_CTX_free(cptr); ++#elif HAVE_EVP_MD_CTX_DESTROY + EVP_MD_CTX_destroy(cptr); + #else + #if !defined(OLD_DES) diff --git a/abs/extra/net-snmp/libnl32.patch b/abs/extra/net-snmp/libnl32.patch deleted file mode 100644 index d93d7ef..0000000 --- a/abs/extra/net-snmp/libnl32.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -u -r net-snmp-5.7.1/agent/mibgroup/mibII/tcpTable.c net-snmp-5.7.1-libnl32/agent/mibgroup/mibII/tcpTable.c ---- net-snmp-5.7.1/agent/mibgroup/mibII/tcpTable.c 2011-09-28 06:53:47.000000000 +0200 -+++ net-snmp-5.7.1-libnl32/agent/mibgroup/mibII/tcpTable.c 2012-02-09 20:02:49.136022132 +0100 -@@ -566,8 +566,9 @@ - static int - tcpTable_load_netlink(void) - { -+ int err; - /* TODO: perhaps use permanent nl handle? */ -- struct nl_handle *nl = nl_handle_alloc(); -+ struct nl_sock *nl = nl_socket_alloc(); - - if (nl == NULL) { - DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n")); -@@ -575,10 +576,10 @@ - return -1; - } - -- if (nl_connect(nl, NETLINK_INET_DIAG) < 0) { -- DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror())); -- snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror()); -- nl_handle_destroy(nl); -+ if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) { -+ DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err))); -+ snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err)); -+ nl_socket_free(nl); - return -1; - } - -@@ -590,10 +591,10 @@ - struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST); - nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0); - -- if (nl_send_auto_complete(nl, nm) < 0) { -- DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror())); -- snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror()); -- nl_handle_destroy(nl); -+ if ((err = nl_send_auto_complete(nl, nm)) < 0) { -+ DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err))); -+ snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err)); -+ nl_socket_free(nl); - return -1; - } - nlmsg_free(nm); -@@ -604,9 +605,9 @@ - - while (running) { - if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) { -- DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror())); -- snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror()); -- nl_handle_destroy(nl); -+ DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len))); -+ snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len)); -+ nl_socket_free(nl); - return -1; - } - -@@ -655,7 +656,7 @@ - free(buf); - } - -- nl_handle_destroy(nl); -+ nl_socket_free(nl); - - if (tcp_head) { - DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n")); -diff -u -r net-snmp-5.7.1/configure.d/config_os_libs2 net-snmp-5.7.1-libnl32/configure.d/config_os_libs2 ---- net-snmp-5.7.1/configure.d/config_os_libs2 2011-09-28 06:53:47.000000000 +0200 -+++ net-snmp-5.7.1-libnl32/configure.d/config_os_libs2 2012-02-09 20:10:44.282165275 +0100 -@@ -224,8 +224,9 @@ - if test "x$with_nl" != "xno"; then - case $target_os in - linux*) # Check for libnl (linux) -+ CPPFLAGS="$CPPFLAGS $(pkg-config --cflags-only-I libnl-3.0)" - NETSNMP_SEARCH_LIBS( -- nl_connect, nl, -+ nl_connect, nl-3, - [AC_CHECK_HEADERS(netlink/netlink.h)],,, LMIBLIBS) - ;; - esac diff --git a/abs/extra/net-snmp/net-snmp-5.7.3-perl-5.24.patch b/abs/extra/net-snmp/net-snmp-5.7.3-perl-5.24.patch new file mode 100644 index 0000000..0cb9c7c --- /dev/null +++ b/abs/extra/net-snmp/net-snmp-5.7.3-perl-5.24.patch @@ -0,0 +1,2599 @@ +From 477b4307ef12ddce3b6a9205e0bdddbfb2e0e9b6 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche <bvanassche@acm.org> +Date: Sat, 20 Feb 2016 18:58:18 -0800 +Subject: [PATCH] Remove U64 typedef + +The U64 typedef conflicts with a typedef in a Perl header file. Hence +remove the U64 typedef from the Net-SNMP header files. This patch does +not modify the Net-SNMP ABI. +--- + agent/mibgroup/if-mib/ifXTable/ifXTable.c | 16 +- + agent/mibgroup/if-mib/ifXTable/ifXTable.h | 48 +- + .../mibgroup/if-mib/ifXTable/ifXTable_interface.c | 32 +- + .../ip-mib/data_access/systemstats_common.c | 2 +- + .../ipIfStatsTable/ipIfStatsTable_data_get.c | 28 +- + .../ipIfStatsTable/ipIfStatsTable_data_get.h | 28 +- + .../ipIfStatsTable/ipIfStatsTable_interface.c | 56 +- + .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.c | 28 +- + .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.h | 921 ++------------------- + .../ipSystemStatsTable_interface.c | 56 +- + include/net-snmp/data_access/ipstats.h | 42 +- + include/net-snmp/library/int64.h | 34 +- + snmplib/int64.c | 38 +- + snmplib/read_config.c | 6 +- + testing/fulltests/unit-tests/T015int64_clib.c | 10 +- + 15 files changed, 274 insertions(+), 1071 deletions(-) + +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable.c b/agent/mibgroup/if-mib/ifXTable/ifXTable.c +index bb3e736..0c952ba 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable.c ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable.c +@@ -722,7 +722,7 @@ The total number of octets received on the interface, + */ + int + ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInOctets_val_ptr) ++ struct counter64 *ifHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInOctets_val_ptr); +@@ -779,7 +779,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInUcastPkts_val_ptr) ++ struct counter64 *ifHCInUcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInUcastPkts_val_ptr); +@@ -838,7 +838,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInMulticastPkts_val_ptr) ++ struct counter64 *ifHCInMulticastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInMulticastPkts_val_ptr); +@@ -897,7 +897,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInBroadcastPkts_val_ptr) ++ struct counter64 *ifHCInBroadcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInBroadcastPkts_val_ptr); +@@ -955,7 +955,7 @@ The total number of octets transmitted out of the + */ + int + ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutOctets_val_ptr) ++ struct counter64 *ifHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutOctets_val_ptr); +@@ -1013,7 +1013,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutUcastPkts_val_ptr) ++ struct counter64 *ifHCOutUcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutUcastPkts_val_ptr); +@@ -1074,7 +1074,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutMulticastPkts_val_ptr) ++ struct counter64 *ifHCOutMulticastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutMulticastPkts_val_ptr); +@@ -1134,7 +1134,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutBroadcastPkts_val_ptr) ++ struct counter64 *ifHCOutBroadcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutBroadcastPkts_val_ptr); +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable.h b/agent/mibgroup/if-mib/ifXTable/ifXTable.h +index ba22f97..925af13 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable.h ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable.h +@@ -143,28 +143,28 @@ config_require(if-mib/ifXTable/ifXTable_data_access) + u_long * + ifOutBroadcastPkts_val_ptr); + int ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInOctets_val_ptr); ++ struct counter64 *ifHCInOctets_val_ptr); + int ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInUcastPkts_val_ptr); ++ struct counter64 *ifHCInUcastPkts_val_ptr); + int ifHCInMulticastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCInMulticastPkts_val_ptr); + int ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCInBroadcastPkts_val_ptr); + int ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutOctets_val_ptr); ++ struct counter64 *ifHCOutOctets_val_ptr); + int ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutUcastPkts_val_ptr); ++ struct counter64 *ifHCOutUcastPkts_val_ptr); + int ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCOutMulticastPkts_val_ptr); + int ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCOutBroadcastPkts_val_ptr); + int ifLinkUpDownTrapEnable_get(ifXTable_rowreq_ctx * + rowreq_ctx, +@@ -284,86 +284,86 @@ config_require(if-mib/ifXTable/ifXTable_data_access) + + int ifHCInOctets_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInOctets_val); ++ struct counter64 ifHCInOctets_val); + int ifHCInOctets_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInOctets_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCInOctets_val); ++ struct counter64 ifHCInOctets_val); + int ifHCInOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCInUcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInUcastPkts_val); ++ struct counter64 ifHCInUcastPkts_val); + int ifHCInUcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCInUcastPkts_val); ++ struct counter64 ifHCInUcastPkts_val); + int ifHCInUcastPkts_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCInMulticastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCInMulticastPkts_val); + int ifHCInMulticastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInMulticastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInMulticastPkts_val); ++ struct counter64 ifHCInMulticastPkts_val); + int ifHCInMulticastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCInBroadcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCInBroadcastPkts_val); + int ifHCInBroadcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInBroadcastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInBroadcastPkts_val); ++ struct counter64 ifHCInBroadcastPkts_val); + int ifHCInBroadcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutOctets_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutOctets_val); ++ struct counter64 ifHCOutOctets_val); + int ifHCOutOctets_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutOctets_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCOutOctets_val); ++ struct counter64 ifHCOutOctets_val); + int ifHCOutOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCOutUcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutUcastPkts_val); ++ struct counter64 ifHCOutUcastPkts_val); + int ifHCOutUcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCOutUcastPkts_val); ++ struct counter64 ifHCOutUcastPkts_val); + int ifHCOutUcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutMulticastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCOutMulticastPkts_val); + int ifHCOutMulticastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutMulticastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutMulticastPkts_val); ++ struct counter64 ifHCOutMulticastPkts_val); + int ifHCOutMulticastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutBroadcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCOutBroadcastPkts_val); + int ifHCOutBroadcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutBroadcastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutBroadcastPkts_val); ++ struct counter64 ifHCOutBroadcastPkts_val); + int ifHCOutBroadcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c +index 23b50d0..e561842 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c +@@ -729,72 +729,72 @@ _ifXTable_get_column(ifXTable_rowreq_ctx * rowreq_ctx, + * ifHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInUcastPkts(7)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINUCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInUcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInMulticastPkts(8)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINMULTICASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInBroadcastPkts(9)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINBROADCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutOctets(10)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutUcastPkts(11)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTUCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutUcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutMulticastPkts(12)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTMULTICASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutBroadcastPkts(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTBROADCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +diff --git a/agent/mibgroup/ip-mib/data_access/systemstats_common.c b/agent/mibgroup/ip-mib/data_access/systemstats_common.c +index 29109bd..7434b3a 100644 +--- a/agent/mibgroup/ip-mib/data_access/systemstats_common.c ++++ b/agent/mibgroup/ip-mib/data_access/systemstats_common.c +@@ -264,7 +264,7 @@ _calculate_entries(netsnmp_systemstats_entry * entry) + && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTFRAGCREATES] + && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTDISCARDS]) { + +- U64 tmp, tmp2, tmp3; ++ struct counter64 tmp, tmp2, tmp3; + tmp = entry->stats.HCOutRequests; + u64Incr(&tmp, &entry->stats.HCOutForwDatagrams); + u64Incr(&tmp, &entry->stats.HCOutFragCreates); +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c +index db673dc..fec36b2 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c +@@ -270,7 +270,7 @@ The total number of input IP datagrams received, including + */ + int + ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInReceives_val_ptr) ++ struct counter64 *ipIfStatsHCInReceives_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInReceives_val_ptr); +@@ -395,7 +395,7 @@ The total number of octets received in input IP datagrams, + */ + int + ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInOctets_val_ptr) ++ struct counter64 *ipIfStatsHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInOctets_val_ptr); +@@ -862,7 +862,7 @@ The number of input datagrams for which this entity was not + */ + int + ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInForwDatagrams_val_ptr) ++ struct counter64 *ipIfStatsHCInForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInForwDatagrams_val_ptr); +@@ -1267,7 +1267,7 @@ The total number of datagrams successfully delivered to IP + */ + int + ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInDelivers_val_ptr) ++ struct counter64 *ipIfStatsHCInDelivers_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInDelivers_val_ptr); +@@ -1396,7 +1396,7 @@ The total number of IP datagrams that local IP user- + */ + int + ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutRequests_val_ptr) ++ struct counter64 *ipIfStatsHCOutRequests_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutRequests_val_ptr); +@@ -1532,7 +1532,7 @@ The number of datagrams for which this entity was not their + */ + int + ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutForwDatagrams_val_ptr) ++ struct counter64 *ipIfStatsHCOutForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutForwDatagrams_val_ptr); +@@ -1999,7 +1999,7 @@ The total number of IP datagrams that this entity supplied + */ + int + ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutTransmits_val_ptr) ++ struct counter64 *ipIfStatsHCOutTransmits_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutTransmits_val_ptr); +@@ -2123,7 +2123,7 @@ The total number of octets in IP datagrams delivered to the + */ + int + ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutOctets_val_ptr) ++ struct counter64 *ipIfStatsHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutOctets_val_ptr); +@@ -2245,7 +2245,7 @@ The number of IP multicast datagrams received. This object + */ + int + ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInMcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCInMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInMcastPkts_val_ptr); +@@ -2372,7 +2372,7 @@ The total number of octets received in IP multicast + */ + int + ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInMcastOctets_val_ptr) ++ struct counter64 *ipIfStatsHCInMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInMcastOctets_val_ptr); +@@ -2497,7 +2497,7 @@ The number of IP multicast datagrams transmitted. This + */ + int + ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutMcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCOutMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutMcastPkts_val_ptr); +@@ -2621,7 +2621,7 @@ The total number of octets transmitted in IP multicast + */ + int + ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutMcastOctets_val_ptr) ++ struct counter64 *ipIfStatsHCOutMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutMcastOctets_val_ptr); +@@ -2743,7 +2743,7 @@ The number of IP broadcast datagrams received. This object + */ + int + ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInBcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCInBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInBcastPkts_val_ptr); +@@ -2865,7 +2865,7 @@ The number of IP broadcast datagrams transmitted. This + */ + int + ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutBcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCOutBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutBcastPkts_val_ptr); +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h +index 0cc7e47..ad5d8a0 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h +@@ -50,7 +50,7 @@ extern "C" { + ipIfStatsInReceives_val_ptr); + int ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInReceives_val_ptr); + int ipIfStatsInOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -58,7 +58,7 @@ extern "C" { + ipIfStatsInOctets_val_ptr); + int ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInOctets_val_ptr); + int ipIfStatsInHdrErrors_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -87,7 +87,7 @@ extern "C" { + int + ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInForwDatagrams_val_ptr); + int ipIfStatsReasmReqds_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -111,7 +111,7 @@ extern "C" { + ipIfStatsInDelivers_val_ptr); + int ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInDelivers_val_ptr); + int ipIfStatsOutRequests_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -119,7 +119,7 @@ extern "C" { + ipIfStatsOutRequests_val_ptr); + int ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutRequests_val_ptr); + int ipIfStatsOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +@@ -128,7 +128,7 @@ extern "C" { + int + ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutForwDatagrams_val_ptr); + int ipIfStatsOutDiscards_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -156,7 +156,7 @@ extern "C" { + ipIfStatsOutTransmits_val_ptr); + int ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutTransmits_val_ptr); + int ipIfStatsOutOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -164,7 +164,7 @@ extern "C" { + ipIfStatsOutOctets_val_ptr); + int ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutOctets_val_ptr); + int ipIfStatsInMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -172,7 +172,7 @@ extern "C" { + ipIfStatsInMcastPkts_val_ptr); + int ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInMcastPkts_val_ptr); + int ipIfStatsInMcastOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -180,7 +180,7 @@ extern "C" { + ipIfStatsInMcastOctets_val_ptr); + int ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInMcastOctets_val_ptr); + int ipIfStatsOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -188,7 +188,7 @@ extern "C" { + ipIfStatsOutMcastPkts_val_ptr); + int ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutMcastPkts_val_ptr); + int ipIfStatsOutMcastOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -196,7 +196,7 @@ extern "C" { + ipIfStatsOutMcastOctets_val_ptr); + int ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutMcastOctets_val_ptr); + int ipIfStatsInBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -204,7 +204,7 @@ extern "C" { + ipIfStatsInBcastPkts_val_ptr); + int ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInBcastPkts_val_ptr); + int ipIfStatsOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -212,7 +212,7 @@ extern "C" { + ipIfStatsOutBcastPkts_val_ptr); + int ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutBcastPkts_val_ptr); + int + ipIfStatsDiscontinuityTime_get(ipIfStatsTable_rowreq_ctx * +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c +index 559d1c1..4955a8b 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c +@@ -722,10 +722,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINRECEIVES: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInReceives_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -741,9 +741,9 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ipIfStatsHCInOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ipIfStatsHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +@@ -810,10 +810,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -869,10 +869,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINDELIVERS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInDelivers_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -889,10 +889,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTREQUESTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutRequests_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -909,10 +909,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -979,10 +979,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTTRANSMITS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutTransmits_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -999,9 +999,9 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +@@ -1018,10 +1018,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1038,10 +1038,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1058,10 +1058,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1078,10 +1078,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1098,10 +1098,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1118,10 +1118,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c +index 10587e2..5a9323f 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c +@@ -452,7 +452,7 @@ The total number of input IP datagrams received, including + */ + int + ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInReceives_val_ptr) ++ struct counter64 *ipSystemStatsHCInReceives_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInReceives_val_ptr); +@@ -579,7 +579,7 @@ The total number of octets received in input IP datagrams, + */ + int + ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInOctets_val_ptr) ++ struct counter64 *ipSystemStatsHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInOctets_val_ptr); +@@ -1058,7 +1058,7 @@ The number of input datagrams for which this entity was not + int + ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -1474,7 +1474,7 @@ The total number of datagrams successfully delivered to IP + */ + int + ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInDelivers_val_ptr) ++ struct counter64 *ipSystemStatsHCInDelivers_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInDelivers_val_ptr); +@@ -1602,7 +1602,7 @@ The total number of IP datagrams which local IP user- + */ + int + ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutRequests_val_ptr) ++ struct counter64 *ipSystemStatsHCOutRequests_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutRequests_val_ptr); +@@ -1809,7 +1809,7 @@ The number of datagrams for which this entity was not their + int + ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -2288,7 +2288,7 @@ The total number of IP datagrams that this entity supplied + */ + int + ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutTransmits_val_ptr) ++ struct counter64 *ipSystemStatsHCOutTransmits_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutTransmits_val_ptr); +@@ -2415,7 +2415,7 @@ The total number of octets in IP datagrams delivered to the + */ + int + ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutOctets_val_ptr) ++ struct counter64 *ipSystemStatsHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutOctets_val_ptr); +@@ -2539,7 +2539,7 @@ The number of IP multicast datagrams received. This object + */ + int + ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInMcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCInMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInMcastPkts_val_ptr); +@@ -2665,7 +2665,7 @@ The total number of octets received in IP multicast + int + ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -2790,7 +2790,7 @@ The number of IP multicast datagrams transmitted. This + */ + int + ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutMcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCOutMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutMcastPkts_val_ptr); +@@ -2921,7 +2921,7 @@ The total number of octets transmitted in IP multicast + int + ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -3046,7 +3046,7 @@ The number of IP broadcast datagrams received. This object + */ + int + ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInBcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCInBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInBcastPkts_val_ptr); +@@ -3170,7 +3170,7 @@ The number of IP broadcast datagrams transmitted. This + */ + int + ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutBcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCOutBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutBcastPkts_val_ptr); +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h +index ca1e1f3..5c3823e 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h +@@ -144,93 +144,22 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + ********************************************************************* + * function prototypes + */ +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_pre_request(ipSystemStatsTable_registration * ++ int ipSystemStatsTable_pre_request(ipSystemStatsTable_registration * + user_context); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_post_request(ipSystemStatsTable_registration * ++ int ipSystemStatsTable_post_request(ipSystemStatsTable_registration * + user_context, int rc); + +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + void *user_init_ctx); + void +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + ipSystemStatsTable_rowreq_ctx_cleanup(ipSystemStatsTable_rowreq_ctx + * rowreq_ctx); + + ipSystemStatsTable_data *ipSystemStatsTable_allocate_data(void); + void ipSystemStatsTable_release_data(ipSystemStatsTable_data + * data); +- +- +- +- +- +- +- +- +- ipSystemStatsTable_rowreq_ctx ++ ipSystemStatsTable_rowreq_ctx + * ipSystemStatsTable_row_find_by_mib_index + (ipSystemStatsTable_mib_index * mib_idx); + +@@ -265,226 +194,50 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + * indexes + */ + +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInReceives_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInReceives_val_ptr); + int ipSystemStatsInOctets_get(ipSystemStatsTable_rowreq_ctx + * rowreq_ctx, + u_long * + ipSystemStatsInOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ipSystemStatsHCInOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx * ++ struct counter64 *ipSystemStatsHCInOctets_val_ptr); ++ int ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInHdrErrors_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInNoRoutes_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInAddrErrors_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInUnknownProtos_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInTruncatedPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsReasmReqds_val_ptr); +@@ -492,690 +245,142 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + * rowreq_ctx, + u_long * + ipSystemStatsReasmOKs_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsReasmFails_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInDiscards_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInDelivers_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInDelivers_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutRequests_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutRequests_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutNoRoutes_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutDiscards_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragReqds_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragOKs_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragFails_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragCreates_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutTransmits_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutTransmits_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsDiscontinuityTime_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsRefreshRate_val_ptr); +- +- +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index ++ int ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index + * tbl_idx, + u_long + ipSystemStatsIPVersion_val); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long ipSystemStatsIPVersion_val); + +- +- + /* + ********************************************************************* + * SET function declarations +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c +index e1ca2cb..09c061f 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c +@@ -674,10 +674,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINRECEIVES: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInReceives_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -694,10 +694,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -764,10 +764,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -824,10 +824,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINDELIVERS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInDelivers_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -844,10 +844,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTREQUESTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutRequests_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -874,10 +874,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -944,10 +944,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTTRANSMITS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutTransmits_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -964,10 +964,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -984,10 +984,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1004,10 +1004,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1024,10 +1024,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1044,10 +1044,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1064,10 +1064,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1084,10 +1084,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +diff --git a/include/net-snmp/data_access/ipstats.h b/include/net-snmp/data_access/ipstats.h +index f782459..f0df46b 100644 +--- a/include/net-snmp/data_access/ipstats.h ++++ b/include/net-snmp/data_access/ipstats.h +@@ -58,45 +58,45 @@ typedef struct netsnmp_ipstats_s { + * other columns, when underlying OS does not provide them. + * Always fill at least 32 bits, the table is periodically polled -> 32 bit + * overflow shall be detected and 64 bit value should be computed automatically. */ +- U64 HCInReceives; +- U64 HCInOctets; ++ struct counter64 HCInReceives; ++ struct counter64 HCInOctets; + u_long InHdrErrors; +- U64 HCInNoRoutes; ++ struct counter64 HCInNoRoutes; + u_long InAddrErrors; + u_long InUnknownProtos; + u_long InTruncatedPkts; + + /* optional, can be computed from HCInNoRoutes and HCOutForwDatagrams */ +- U64 HCInForwDatagrams; ++ struct counter64 HCInForwDatagrams; + + u_long ReasmReqds; + u_long ReasmOKs; + u_long ReasmFails; + u_long InDiscards; +- U64 HCInDelivers; +- U64 HCOutRequests; +- U64 HCOutNoRoutes; +- U64 HCOutForwDatagrams; +- U64 HCOutDiscards; ++ struct counter64 HCInDelivers; ++ struct counter64 HCOutRequests; ++ struct counter64 HCOutNoRoutes; ++ struct counter64 HCOutForwDatagrams; ++ struct counter64 HCOutDiscards; + + /* optional, can be computed from HCOutFragOKs + HCOutFragFails*/ +- U64 HCOutFragReqds; +- U64 HCOutFragOKs; +- U64 HCOutFragFails; +- U64 HCOutFragCreates; ++ struct counter64 HCOutFragReqds; ++ struct counter64 HCOutFragOKs; ++ struct counter64 HCOutFragFails; ++ struct counter64 HCOutFragCreates; + + /* optional, can be computed from + * HCOutRequests +HCOutForwDatagrams + HCOutFragCreates + * - HCOutFragReqds - HCOutNoRoutes - HCOutDiscards */ +- U64 HCOutTransmits; ++ struct counter64 HCOutTransmits; + +- U64 HCOutOctets; +- U64 HCInMcastPkts; +- U64 HCInMcastOctets; +- U64 HCOutMcastPkts; +- U64 HCOutMcastOctets; +- U64 HCInBcastPkts; +- U64 HCOutBcastPkts; ++ struct counter64 HCOutOctets; ++ struct counter64 HCInMcastPkts; ++ struct counter64 HCInMcastOctets; ++ struct counter64 HCOutMcastPkts; ++ struct counter64 HCOutMcastOctets; ++ struct counter64 HCInBcastPkts; ++ struct counter64 HCOutBcastPkts; + + /* Array of available columns.*/ + int columnAvail[IPSYSTEMSTATSTABLE_LAST+1]; +diff --git a/include/net-snmp/library/int64.h b/include/net-snmp/library/int64.h +index 9c7c894..3a85213 100644 +--- a/include/net-snmp/library/int64.h ++++ b/include/net-snmp/library/int64.h +@@ -5,31 +5,29 @@ + extern "C" { + #endif + +- typedef struct counter64 U64; +- + #define I64CHARSZ 21 + +- void divBy10(U64, U64 *, unsigned int *); +- void multBy10(U64, U64 *); +- void incrByU16(U64 *, unsigned int); +- void incrByU32(U64 *, unsigned int); ++ void divBy10(struct counter64, struct counter64 *, unsigned int *); ++ void multBy10(struct counter64, struct counter64 *); ++ void incrByU16(struct counter64 *, unsigned int); ++ void incrByU32(struct counter64 *, unsigned int); + NETSNMP_IMPORT +- void zeroU64(U64 *); +- int isZeroU64(const U64 *); ++ void zeroU64(struct counter64 *); ++ int isZeroU64(const struct counter64 *); + NETSNMP_IMPORT +- void printU64(char *, const U64 *); ++ void printU64(char *, const struct counter64 *); + NETSNMP_IMPORT +- void printI64(char *, const U64 *); +- int read64(U64 *, const char *); ++ void printI64(char *, const struct counter64 *); ++ int read64(struct counter64 *, const char *); + NETSNMP_IMPORT +- void u64Subtract(const U64 * pu64one, const U64 * pu64two, +- U64 * pu64out); +- void u64Incr(U64 * pu64out, const U64 * pu64one); +- void u64UpdateCounter(U64 * pu64out, const U64 * pu64one, +- const U64 * pu64two); +- void u64Copy(U64 * pu64one, const U64 * pu64two); ++ void u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two, ++ struct counter64 *pu64out); ++ void u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one); ++ void u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one, ++ const struct counter64 *pu64two); ++ void u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two); + +- int netsnmp_c64_check_for_32bit_wrap(U64 *old_val, U64 *new_val, ++ int netsnmp_c64_check_for_32bit_wrap(struct counter64 *old_val, struct counter64 *new_val, + int adjust); + NETSNMP_IMPORT + int netsnmp_c64_check32_and_update(struct counter64 *prev_val, +diff --git a/snmplib/int64.c b/snmplib/int64.c +index 51f1f32..951f813 100644 +--- a/snmplib/int64.c ++++ b/snmplib/int64.c +@@ -33,7 +33,7 @@ + * @param[out] puR Remainder. + */ + void +-divBy10(U64 u64, U64 * pu64Q, unsigned int *puR) ++divBy10(struct counter64 u64, struct counter64 *pu64Q, unsigned int *puR) + { + unsigned long ulT; + unsigned long ulQ; +@@ -83,7 +83,7 @@ divBy10(U64 u64, U64 * pu64Q, unsigned int *puR) + * @param[out] pu64P Product. + */ + void +-multBy10(U64 u64, U64 * pu64P) ++multBy10(struct counter64 u64, struct counter64 *pu64P) + { + unsigned long ulT; + unsigned long ulP; +@@ -130,7 +130,7 @@ multBy10(U64 u64, U64 * pu64P) + * + */ + void +-incrByU16(U64 * pu64, unsigned int u16) ++incrByU16(struct counter64 *pu64, unsigned int u16) + { + incrByU32(pu64, u16); + } +@@ -143,7 +143,7 @@ incrByU16(U64 * pu64, unsigned int u16) + * + */ + void +-incrByU32(U64 * pu64, unsigned int u32) ++incrByU32(struct counter64 *pu64, unsigned int u32) + { + uint32_t tmp; + +@@ -161,7 +161,7 @@ incrByU32(U64 * pu64, unsigned int u32) + * @param[out] pu64out pu64one - pu64two. + */ + void +-u64Subtract(const U64 * pu64one, const U64 * pu64two, U64 * pu64out) ++u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two, struct counter64 *pu64out) + { + int carry; + +@@ -177,7 +177,7 @@ u64Subtract(const U64 * pu64one, const U64 * pu64two, U64 * pu64out) + * @param[in,out] pu64out pu64out += pu64one. + */ + void +-u64Incr(U64 * pu64out, const U64 * pu64one) ++u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one) + { + pu64out->high = (uint32_t)(pu64out->high + pu64one->high); + incrByU32(pu64out, pu64one->low); +@@ -191,9 +191,9 @@ u64Incr(U64 * pu64out, const U64 * pu64one) + * @param[out] pu64out pu64out += (pu64one - pu64two) + */ + void +-u64UpdateCounter(U64 * pu64out, const U64 * pu64one, const U64 * pu64two) ++u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one, const struct counter64 *pu64two) + { +- U64 tmp; ++ struct counter64 tmp; + + u64Subtract(pu64one, pu64two, &tmp); + u64Incr(pu64out, &tmp); +@@ -208,7 +208,7 @@ netsnmp_feature_child_of(u64copy, netsnmp_unused) + * @param[out] pu64one Where to store the copy - *pu64one = *pu64two. + */ + void +-u64Copy(U64 * pu64one, const U64 * pu64two) ++u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two) + { + *pu64one = *pu64two; + } +@@ -220,7 +220,7 @@ u64Copy(U64 * pu64one, const U64 * pu64two) + * @param[in] pu64 Number to be zeroed. + */ + void +-zeroU64(U64 * pu64) ++zeroU64(struct counter64 *pu64) + { + pu64->low = 0; + pu64->high = 0; +@@ -232,7 +232,7 @@ zeroU64(U64 * pu64) + * @param[in] pu64 Number to be checked. + */ + int +-isZeroU64(const U64 * pu64) ++isZeroU64(const struct counter64 *pu64) + { + return pu64->low == 0 && pu64->high == 0; + } +@@ -390,10 +390,10 @@ netsnmp_c64_check32_and_update(struct counter64 *prev_val, struct counter64 *new + /** Convert an unsigned 64-bit number to ASCII. */ + void + printU64(char *buf, /* char [I64CHARSZ+1]; */ +- const U64 * pu64) ++ const struct counter64 *pu64) + { +- U64 u64a; +- U64 u64b; ++ struct counter64 u64a; ++ struct counter64 u64b; + + char aRes[I64CHARSZ + 1]; + unsigned int u; +@@ -414,9 +414,9 @@ printU64(char *buf, /* char [I64CHARSZ+1]; */ + /** Convert a signed 64-bit number to ASCII. */ + void + printI64(char *buf, /* char [I64CHARSZ+1]; */ +- const U64 * pu64) ++ const struct counter64 *pu64) + { +- U64 u64a; ++ struct counter64 u64a; + + if (pu64->high & 0x80000000) { + u64a.high = (uint32_t) ~pu64->high; +@@ -429,11 +429,11 @@ printI64(char *buf, /* char [I64CHARSZ+1]; */ + } + } + +-/** Convert a signed 64-bit integer from ASCII to U64. */ ++/** Convert a signed 64-bit integer from ASCII to struct counter64. */ + int +-read64(U64 * i64, const char *str) ++read64(struct counter64 *i64, const char *str) + { +- U64 i64p; ++ struct counter64 i64p; + unsigned int u; + int sign = 0; + int ok = 0; +diff --git a/snmplib/read_config.c b/snmplib/read_config.c +index e159c27..ab5b6a3 100644 +--- a/snmplib/read_config.c ++++ b/snmplib/read_config.c +@@ -2279,10 +2279,10 @@ read_config_read_memory(int type, char *readfrom, + return readfrom; + + case ASN_COUNTER64: +- if (*len < sizeof(U64)) ++ if (*len < sizeof(struct counter64)) + return NULL; +- *len = sizeof(U64); +- read64((U64 *) dataptr, readfrom); ++ *len = sizeof(struct counter64); ++ read64((struct counter64 *) dataptr, readfrom); + readfrom = skip_token(readfrom); + return readfrom; + } +diff --git a/testing/fulltests/unit-tests/T015int64_clib.c b/testing/fulltests/unit-tests/T015int64_clib.c +index 5f5f4b6..66f66b7 100644 +--- a/testing/fulltests/unit-tests/T015int64_clib.c ++++ b/testing/fulltests/unit-tests/T015int64_clib.c +@@ -1,4 +1,4 @@ +-/* HEADER Testing 64-bit integer operations (U64). */ ++/* HEADER Testing 64-bit integer operations (struct counter64). */ + + int i, j; + char buf[22]; +@@ -15,7 +15,7 @@ static const int64_t intval[] = { + }; + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { +- U64 a, b; ++ struct counter64 a, b; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); + printI64(buf, &a); +@@ -27,7 +27,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) { +- U64 a, b; ++ struct counter64 a, b; + uint64_t d; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); +@@ -43,7 +43,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) { +- U64 a, b, c; ++ struct counter64 a, b, c; + uint64_t d; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); +@@ -58,7 +58,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + } + + { +- U64 old_val, new_val; ++ struct counter64 old_val, new_val; + old_val.low = 7; + old_val.high = 0; + new_val = old_val; +-- +2.8.2 + +diff -puNr net-snmp-5.7.3.orig/perl/agent/default_store/Makefile.PL net-snmp-5.7.3/perl/agent/default_store/Makefile.PL +--- net-snmp-5.7.3.orig/perl/agent/default_store/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/agent/default_store/Makefile.PL 2016-05-11 00:02:32.571453072 +0200 +@@ -1,3 +1,4 @@ ++package agent_default_store; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/agent/Makefile.PL net-snmp-5.7.3/perl/agent/Makefile.PL +--- net-snmp-5.7.3.orig/perl/agent/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/agent/Makefile.PL 2016-05-11 00:02:32.571453072 +0200 +@@ -1,3 +1,4 @@ ++package agent; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/agent/Support/Makefile.PL net-snmp-5.7.3/perl/agent/Support/Makefile.PL +--- net-snmp-5.7.3.orig/perl/agent/Support/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/agent/Support/Makefile.PL 2016-05-11 00:02:32.571453072 +0200 +@@ -1,3 +1,4 @@ ++package agent_Support; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/AnyData_SNMP/Makefile.PL net-snmp-5.7.3/perl/AnyData_SNMP/Makefile.PL +--- net-snmp-5.7.3.orig/perl/AnyData_SNMP/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/AnyData_SNMP/Makefile.PL 2016-05-11 00:02:32.570453079 +0200 +@@ -1,3 +1,4 @@ ++package AnyData_SNMP; + use ExtUtils::MakeMaker; + # See lib/ExtUtils/MakeMaker.pm for details of how to influence + # the contents of the Makefile that is written. +diff -puNr net-snmp-5.7.3.orig/perl/ASN/Makefile.PL net-snmp-5.7.3/perl/ASN/Makefile.PL +--- net-snmp-5.7.3.orig/perl/ASN/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/ASN/Makefile.PL 2016-05-11 00:02:32.551453196 +0200 +@@ -1,3 +1,4 @@ ++package ASN; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/default_store/Makefile.PL net-snmp-5.7.3/perl/default_store/Makefile.PL +--- net-snmp-5.7.3.orig/perl/default_store/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/default_store/Makefile.PL 2016-05-11 00:02:32.572453066 +0200 +@@ -1,3 +1,4 @@ ++package default_store; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/manager/Makefile.PL net-snmp-5.7.3/perl/manager/Makefile.PL +--- net-snmp-5.7.3.orig/perl/manager/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/manager/Makefile.PL 2016-05-11 00:02:32.572453066 +0200 +@@ -1,3 +1,4 @@ ++package manager; + use ExtUtils::MakeMaker; + # See lib/ExtUtils/MakeMaker.pm for details of how to influence + # the contents of the Makefile that is written. +diff -puNr net-snmp-5.7.3.orig/perl/OID/Makefile.PL net-snmp-5.7.3/perl/OID/Makefile.PL +--- net-snmp-5.7.3.orig/perl/OID/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/OID/Makefile.PL 2016-05-11 00:02:32.570453079 +0200 +@@ -1,3 +1,4 @@ ++package OID; + # See lib/ExtUtils/MakeMaker.pm for details of how to influence + # the contents of the Makefile that is written. + +diff -puNr net-snmp-5.7.3.orig/perl/SNMP/Makefile.PL net-snmp-5.7.3/perl/SNMP/Makefile.PL +--- net-snmp-5.7.3.orig/perl/SNMP/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/SNMP/Makefile.PL 2016-05-11 00:02:32.570453079 +0200 +@@ -1,3 +1,4 @@ ++package SNMP; + use ExtUtils::MakeMaker; + require 5; + use Config; +diff -puNr net-snmp-5.7.3.orig/perl/TrapReceiver/Makefile.PL net-snmp-5.7.3/perl/TrapReceiver/Makefile.PL +--- net-snmp-5.7.3.orig/perl/TrapReceiver/Makefile.PL 2014-12-08 21:23:22.000000000 +0100 ++++ net-snmp-5.7.3/perl/TrapReceiver/Makefile.PL 2016-05-11 00:02:32.571453072 +0200 +@@ -1,3 +1,4 @@ ++package TrapReceiver; + use ExtUtils::MakeMaker; + require 5; + use Config; diff --git a/abs/extra/nvidia-settings/PKGBUILD b/abs/extra/nvidia-settings/PKGBUILD index 87fad7e..a9f8744 100644 --- a/abs/extra/nvidia-settings/PKGBUILD +++ b/abs/extra/nvidia-settings/PKGBUILD @@ -3,9 +3,9 @@ pkgbase=nvidia-settings pkgname=('nvidia-settings' 'libxnvctrl') -pkgver=387.22 +pkgver=390.48 pkgrel=1 -pkgdesc="Tool for configuring the NVIDIA graphics driver" +pkgdesc='Tool for configuring the NVIDIA graphics driver' url='https://github.com/NVIDIA/nvidia-settings' arch=('x86_64') license=('GPL2') @@ -13,7 +13,7 @@ makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidi options=('staticlibs') source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz libxnvctrl_so.patch) -sha512sums=('dae157a54d0e48e94776db95927d27fca0370c7ffa67d79ce6fa372ce40bd766c081a65cd090a532c311a8f727beca6d0d9fcd526dc7791b2c73d4193854439b' +sha512sums=('5f8a6403edf8636cfb2aec8f01fb160030a2538140fe3d10a71863fd1f793eea3f8a6f1bc55baa7dff047bd1bef9c3bd579cf818af38b535fa172b3aaf122e55' 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8') prepare() { diff --git a/abs/extra/ocaml-ctypes/PKGBUILD b/abs/extra/ocaml-ctypes/PKGBUILD index 66a5721..df374a8 100644 --- a/abs/extra/ocaml-ctypes/PKGBUILD +++ b/abs/extra/ocaml-ctypes/PKGBUILD @@ -3,17 +3,17 @@ # Contributor: Armin K. <krejzi at email dot com> pkgname=ocaml-ctypes -pkgver=0.10.2 -pkgrel=1 +pkgver=0.11.5 +pkgrel=2 pkgdesc="Library for binding to C libraries using pure OCaml" -arch=('i686' 'x86_64') +arch=('x86_64') url="https://github.com/ocamllabs/ocaml-ctypes" license=('MIT') -depends=('ocaml=4.04.0' 'libffi') -makedepends=('ocaml-findlib') +depends=('ocaml=4.06.0' 'libffi') +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=('9888667de03c330d3845e8ded0df53f9e1d234be2c3696517a1e98e176116cea') +sha256sums=('ee0f9a61cdc9bd3de7dc6f605d556533536e27694f5e2ea9bf25f76f74f68f98') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/abs/extra/ocaml/PKGBUILD b/abs/extra/ocaml/PKGBUILD index 7f60fc6..2527a98 100644 --- a/abs/extra/ocaml/PKGBUILD +++ b/abs/extra/ocaml/PKGBUILD @@ -3,22 +3,22 @@ pkgbase='ocaml' pkgname=('ocaml' 'ocaml-compiler-libs') -pkgver=4.04.0 -pkgrel=1 +pkgver=4.06.0 +pkgrel=2 pkgdesc="A functional language with OO extensions" -arch=('i686' 'x86_64') +arch=('x86_64') license=('LGPL2.1' 'custom: QPL-1.0') url="http://caml.inria.fr/" depends=('gdbm') makedepends=('tk>=8.6.0' 'ncurses>=5.6-7' 'libx11') optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features') source=(http://caml.inria.fr/distrib/ocaml-${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha1sums=('1878ba4338e4fad5b057428e182fba806c545d57') +sha1sums=('831fab643feb0f78bd206f0a9a09a92df58838e7') options=('!makeflags' '!emptydirs' 'staticlibs') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure -prefix /usr -x11include /usr/include + ./configure -prefix /usr -x11include /usr/include make world.opt } @@ -32,6 +32,9 @@ package_ocaml() { # install license install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" + + # remove compiler libs + rm -rf "${pkgdir}/usr/lib/ocaml/compiler-libs" } package_ocaml-compiler-libs() { @@ -41,15 +44,19 @@ depends=('ocaml') optdepends=() cd "${srcdir}/${pkgbase}-${pkgver}" - - # Install compiler libraries - local compiler_libs="${pkgdir}/usr/lib/ocaml/compiler-libs" - mkdir -p "$compiler_libs"/{parsing,typing,utils} - cp parsing/*.{cmi,cmo,cmx,ml,mli,mll,o} "$compiler_libs"/parsing - cp typing/*.{cmi,cmo,cmx,ml,mli,o} "$compiler_libs"/typing - cp utils/*.{cmi,cmo,cmx,ml,mli,o} "$compiler_libs"/utils - # duplicated by installation - rm -f "$compiler_libs"/typing/outcometree.{cmi,mli} + # from Makefile + BYTESTART=driver/main.cmo + TOPLEVELSTART=toplevel/topstart.cmo + mkdir -p "${pkgdir}/usr/lib/ocaml/compiler-libs" + cp utils/*.cmi utils/*.cmt utils/*.cmti utils/*.mli \ + parsing/*.cmi parsing/*.cmt parsing/*.cmti parsing/*.mli \ + typing/*.cmi typing/*.cmt typing/*.cmti typing/*.mli \ + bytecomp/*.cmi bytecomp/*.cmt bytecomp/*.cmti bytecomp/*.mli \ + driver/*.cmi driver/*.cmt driver/*.cmti driver/*.mli \ + toplevel/*.cmi toplevel/*.cmt toplevel/*.cmti toplevel/*.mli \ + "${pkgdir}/usr/lib/ocaml/compiler-libs" + cp compilerlibs/* ${BYTESTART} ${TOPLEVELSTART} \ + "${pkgdir}/usr/lib/ocaml/compiler-libs" # install license install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/abs/extra/ocl-icd/PKGBUILD b/abs/extra/ocl-icd/PKGBUILD new file mode 100644 index 0000000..91e1e8a --- /dev/null +++ b/abs/extra/ocl-icd/PKGBUILD @@ -0,0 +1,42 @@ +# $Id$ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> + +pkgname=ocl-icd +pkgver=2.2.12 +_pkgver=836 +pkgrel=1 +pkgdesc="OpenCL ICD Bindings" +arch=('x86_64') +url="https://forge.imag.fr/projects/ocl-icd/" +license=('BSD') +depends=('glibc') +makedepends=('ruby' 'mesa' 'opencl-headers>=2.1') +checkdepends=() +provides=('opencl-icd-loader') +conflicts=('libcl') +replaces=('libcl') +optdepends=('opencl-driver: packaged opencl driver') +source=(https://forge.imag.fr/frs/download.php/$_pkgver/$pkgname-$pkgver.tar.gz) +sha256sums=('7665f368354e3d2b7787ba4a23c6f061db1181195ba1914dd1cdcd462eca4df4') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +# fail in i686 +check() { + cd "$srcdir/$pkgname-$pkgver" + make -k check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + + install -m755 -d "$pkgdir/usr/share/licenses/ocl-icd" + install -m644 "$srcdir/$pkgname-$pkgver/COPYING" "${pkgdir}/usr/share/licenses/ocl-icd/" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/openjade/PKGBUILD b/abs/extra/openjade/PKGBUILD new file mode 100644 index 0000000..ced29b6 --- /dev/null +++ b/abs/extra/openjade/PKGBUILD @@ -0,0 +1,63 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=openjade +pkgver=1.3.2 +pkgrel=5 +_debpatch=13 +pkgdesc="Implementation of the DSSSL language" +arch=('x86_64') +url="http://openjade.sourceforge.net/" +license=('custom') +depends=('opensp' 'sgml-common') +makedepends=('perl-perl4-corelibs') +install=${pkgname}.install +conflicts=('jade') +provides=('jade') +source=(http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz + http://ftp.debian.org/debian/pool/main/o/${pkgname}1.3/${pkgname}1.3_${pkgver}-${_debpatch}.diff.gz) +sha256sums=('1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1' + '11d90e242eae60ce06bf27fd234adbd8efd7d4a9a4a2da058faa4e8336dc423a') + +prepare() { + cd ${pkgname}-$pkgver + patch -Np1 -i $srcdir/${pkgname}1.3_${pkgver}-${_debpatch}.diff + # https://bugs.archlinux.org/task/55331 / https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69534#c9 + export CXXFLAGS+=' -fno-lifetime-dse' +} + +build() { + cd ${pkgname}-$pkgver + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-default-catalog=/etc/sgml/catalog \ + --datadir=/usr/share/sgml/openjade-${pkgver} \ + --enable-html \ + --enable-http \ + --enable-mif + make +} + +package() { + cd ${pkgname}-$pkgver + make DESTDIR="$pkgdir/" install install-man + + # add unversioned symlink + ln -svf openjade-${pkgver} ${pkgdir}/usr/share/sgml/openjade + + # openjade -> jade compat symlinks + ln -svf /usr/bin/openjade $pkgdir/usr/bin/jade + ln -svf /usr/lib/libogrove.so $pkgdir/usr/lib/libgrove.so + ln -svf /usr/lib/libospgrove.so $pkgdir/usr/lib/libspgrove.so + ln -svf /usr/lib/libostyle.so $pkgdir/usr/lib/libstyle.so + ln -svf /usr/share/man/man1/openjade.1.gz $pkgdir/usr/share/man/man1/jade.1.gz + + # license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" + + install -dm755 "$pkgdir"/usr/share/sgml/openjade-${pkgver} + install -m644 dsssl/builtins.dsl dsssl/dsssl.dtd \ + dsssl/style-sheet.dtd dsssl/fot.dtd \ + dsssl/catalog "$pkgdir"/usr/share/sgml/openjade-${pkgver} +} diff --git a/abs/extra/openjade/openjade.install b/abs/extra/openjade/openjade.install new file mode 100644 index 0000000..7b060b5 --- /dev/null +++ b/abs/extra/openjade/openjade.install @@ -0,0 +1,23 @@ +post_install() { + /usr/bin/install-catalog --add \ + /etc/sgml/openjade-1.3.2.cat \ + /usr/share/sgml/openjade-1.3.2/catalog > /dev/null 2>&1 + + /usr/bin/install-catalog --add \ + /etc/sgml/openjade.cat \ + /etc/sgml/openjade-1.3.2.cat > /dev/null 2>&1 +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + /usr/bin/install-catalog --remove \ + /etc/sgml/openjade-1.3.2.cat \ + /usr/share/sgml/openjade-1.3.2/catalog > /dev/null 2>&1 + + /usr/bin/install-catalog --remove \ + /etc/sgml/openjade.cat \ + /etc/sgml/openjade-1.3.2.cat > /dev/null 2>&1 +} diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD index 4962a65..21eb1d3 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=1 +pkgrel=3 pkgdesc='OpenPHT is a community driven fork of Plex Home Theater' arch=('i686' 'x86_64') url='https://github.com/RasPlex/OpenPHT/' @@ -21,18 +21,22 @@ depends=('alsa-lib' 'avahi' 'boost-libs' 'curl' 'expat' 'ffmpeg2.8' 'freetype2' 'libxext' 'libxrandr' 'lzo' 'pcre' 'python2' 'sdl' 'sdl_image' 'sdl_mixer' 'sqlite' 'smbclient' 'taglib' 'tinyxml' 'yajl' 'zlib' 'rtmpdump') makedepends=('boost' 'cmake' 'doxygen' 'git' 'java-environment' 'shairplay' - 'libcec' 'libplist' 'nasm' 'swig' 'unzip' 'zip' 'gcc-libs' 'glibc' 'llvm-libs') + 'libplist' 'nasm' 'swig' 'unzip' 'zip' 'gcc-libs' 'glibc' 'llvm-libs') optdepends=('libplist: AirPlay support' 'libcec: Pulse-Eight USB-CEC adapter support' 'shairplay: Shairplay Support') source=("https://github.com/RasPlex/OpenPHT/archive/v${pkgver}-${_pkghash}.tar.gz" 'plex_lib.conf' 'fribidi.patch' + 'websocketSSL.patch' + 'plexNetwork.patch' 'plexhometheater.desktop') prepare() { cd OpenPHT-${pkgver}-${_pkghash} patch -Np1 <../fribidi.patch + patch -Np2 <../plexNetwork.patch + patch -Np1 <../websocketSSL.patch } build() { @@ -49,7 +53,8 @@ build() { -DENABLE_AUTOUPDATE='FALSE' \ -DENABLE_PYTHON='TRUE' \ -DPYTHON_EXEC='/usr/bin/python2' \ - -DUSE_INTERNAL_FFMPEG='FALSE' + -DUSE_INTERNAL_FFMPEG='FALSE' \ + -DENABLE_CEC:BOOL='FALSE' make } @@ -57,15 +62,14 @@ package() { cd OpenPHT-${pkgver}-${_pkghash}/build make DESTDIR="${pkgdir}" install - install -dm 755 "${pkgdir}"/usr/{share/{applications,pixmaps}} - install -m 644 "${srcdir}"/plexhometheater.desktop "${pkgdir}"/usr/share/applications/ - install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png # LinHES stuff # add in plex_lib.conf install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf } -md5sums=('cd2fff943de57123008c0f10f7fb20d1' +md5sums=('7eddac9c7638d70c2a25d04cc451ddcc' 'b9524fe29d0cc65087ba447d1b892da2' 'a5980579c1b6341a6d06e80d9da2a924' + 'ed2262e0991a4f28483542abc05d8d90' + 'b4abf25d4da8e4f8e8722a9233fe7fc1' 'e530e2b4d8333863ba1c87862c291ba1') diff --git a/abs/extra/openpht/__changelog b/abs/extra/openpht/__changelog index 140f8a0..244ed7e 100644 --- a/abs/extra/openpht/__changelog +++ b/abs/extra/openpht/__changelog @@ -2,4 +2,6 @@ copied plex-home-theater to openpht PKGBUILD - Remove opt dep pulseaudio PKGBUILD - Add dep ffmpeg2.8 PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/ +PKGBUILD - add plexNetwork.patch +PKDBUILD - add websocketSSL.patch openpht.install - add gen_lib_xml.py to post_install and post_remove and post_update diff --git a/abs/extra/openpht/plexNetwork.patch b/abs/extra/openpht/plexNetwork.patch new file mode 100644 index 0000000..9d3bd70 --- /dev/null +++ b/abs/extra/openpht/plexNetwork.patch @@ -0,0 +1,38 @@ +diff -u ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkInterfaceLinux.cpp ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkInterfaceLinux.cpp +--- ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkInterfaceLinux.cpp 2017-03-16 22:22:06.000000000 +0000 ++++ ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkInterfaceLinux.cpp 2018-04-24 17:16:23.300466486 +0000 +@@ -148,8 +148,8 @@ + { + // Start the thread. + dprintf("NetworkInterface: Starting watch thread."); +- thread t = thread(boost::bind(&RunWatchingForChanges)); +- t.detach(); ++ boost::thread* t = new boost::thread(boost::bind(&RunWatchingForChanges)); ++ t->detach(); + + // Start with a change, because otherwise we're in steady state. + NetworkChanged(); +diff -u ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkServiceAdvertiser.h ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkServiceAdvertiser.h +--- ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkServiceAdvertiser.h 2017-03-16 22:22:06.000000000 +0000 ++++ ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkServiceAdvertiser.h 2018-04-24 17:16:23.280469056 +0000 +@@ -193,7 +193,7 @@ + } + else + { +- eprintf("Network Service: Error in advertiser handle read: %d (%s) socket=%d", error.value(), error.message().c_str(), socket->native()); ++ eprintf("Network Service: Error in advertiser handle read: %d (%s) socket=%d", error.value(), error.message().c_str(), socket->native_handle()); + usleep(1000 * 100); + } + +diff -u ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkServiceBrowser.h ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkServiceBrowser.h +--- ./OpenPHT-1.8.0.148-573b6d73.a/plex/Network/NetworkServiceBrowser.h 2017-03-16 22:22:06.000000000 +0000 ++++ ./OpenPHT-1.8.0.148-573b6d73/plex/Network/NetworkServiceBrowser.h 2018-04-24 17:16:23.290467773 +0000 +@@ -279,7 +279,7 @@ + } + else + { +- eprintf("Network Service: Error in browser handle read: %d (%s) socket=%d", error.value(), error.message().c_str(), socket->native()); ++ eprintf("Network Service: Error in browser handle read: %d (%s) socket=%d", error.value(), error.message().c_str(), socket->native_handle()); + usleep(1000 * 100); + } + diff --git a/abs/extra/openpht/websocketSSL.patch b/abs/extra/openpht/websocketSSL.patch new file mode 100644 index 0000000..cf9d89d --- /dev/null +++ b/abs/extra/openpht/websocketSSL.patch @@ -0,0 +1,27 @@ +From 1dd07113f2a7489444a8990a95be42e035f8e9df Mon Sep 17 00:00:00 2001 +From: Kurt Roeckx <kroeckx@debian.org> +Date: Tue, 1 Nov 2016 12:57:35 +0100 +Subject: [PATCH] Fix issue #599 + +--- + websocketpp/transport/asio/security/tls.hpp | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp +index 7b32db81..a8aafec5 100644 +--- a/lib/websocketpp/transport/asio/security/tls.hpp ++++ b/lib/websocketpp/transport/asio/security/tls.hpp +@@ -355,13 +355,9 @@ class connection : public lib::enable_shared_from_this<connection> { + template <typename ErrorCodeType> + lib::error_code translate_ec(ErrorCodeType ec) { + if (ec.category() == lib::asio::error::get_ssl_category()) { +- if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) { +- return make_error_code(transport::error::tls_short_read); +- } else { + // We know it is a TLS related error, but otherwise don't know + // more. Pass through as TLS generic. + return make_error_code(transport::error::tls_error); +- } + } else { + // We don't know any more information about this error so pass + // through diff --git a/abs/extra/opensp/PKGBUILD b/abs/extra/opensp/PKGBUILD index ff23a6d..c54eb12 100644 --- a/abs/extra/opensp/PKGBUILD +++ b/abs/extra/opensp/PKGBUILD @@ -1,35 +1,52 @@ -# $Id: PKGBUILD 150566 2012-02-18 14:51:32Z pierre $ -# Maintainer: +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=opensp pkgver=1.5.2 -pkgrel=3 +pkgrel=8 pkgdesc="A library and a set of tools for validating, parsing and manipulating SGML and XML documents" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://openjade.sourceforge.net/" license=('BSD') -depends=('gcc-libs') +depends=('sgml-common' 'perl') makedepends=('xmlto' 'docbook-xsl') -options=('!libtool') -source=("http://download.sourceforge.net/openjade/OpenSP-$pkgver.tar.gz") -md5sums=('670b223c5d12cee40c9137be86b6c39b') +source=("https://downloads.sourceforge.net/project/openjade/opensp/$pkgver/OpenSP-$pkgver.tar.gz") +sha256sums=('57f4898498a368918b0d49c826aa434bb5b703d2c3b169beb348016ab25617ce') build() { - cd "${srcdir}"/OpenSP-$pkgver + cd OpenSP-$pkgver ./configure --prefix=/usr \ --mandir=/usr/share/man \ --disable-nls \ --enable-http \ - --enable-default-catalog=/etc/sgml/catalog:/etc/xml/catalog \ + --enable-default-catalog=/etc/sgml/catalog \ --enable-default-search-path=/usr/share/sgml:/usr/share/xml \ --enable-xml-messages + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } +check() { + cd OpenSP-$pkgver + make check || /bin/true +} + package() { - cd "${srcdir}"/OpenSP-$pkgver + cd OpenSP-$pkgver make DESTDIR="${pkgdir}" install + + # add symlinks for compatibility with jade, see FS#49775 + for file in nsgmls sgmlnorm spam spcat spent sx ; do + ln -s o$file $pkgdir/usr/bin/$file + echo ".so man1/o${file}.1" > $pkgdir/usr/share/man/man1/${file}.1 + done + ln -v -sf libosp.so $pkgdir/usr/lib/libsp.so + + # Rename sx to sgml2xml; FS#49792 + mv $pkgdir/usr/bin/sx $pkgdir/usr/bin/sgml2xml + mv $pkgdir/usr/share/man/man1/{sx,sgml2xml}.1 + install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE } diff --git a/abs/extra/p8-platform/PKGBUILD b/abs/extra/p8-platform/PKGBUILD index f0c3beb..8cc938f 100644 --- a/abs/extra/p8-platform/PKGBUILD +++ b/abs/extra/p8-platform/PKGBUILD @@ -3,10 +3,10 @@ # Contributor: Cedric Girard <girard.cedric@gmail.com> pkgname=p8-platform -pkgver=2.0.1 -pkgrel=2 +pkgver=2.1.0.1 +pkgrel=1 pkgdesc="Platform support library used by libCEC and binary add-ons for Kodi" -arch=('i686' 'x86_64') +arch=('x86_64') url="https://github.com/Pulse-Eight/platform" license=('GPL') conflicts=('libplatform') @@ -14,7 +14,7 @@ replaces=('libplatform') makedepends=('cmake') depends=('gcc-libs') source=(https://github.com/Pulse-Eight/platform/archive/p8-platform-${pkgver}.tar.gz) -sha256sums=('e97e45273e90571aa37732cde913b262f5f519c387083645d2557d7189c054cf') +sha256sums=('064f8d2c358895c7e0bea9ae956f8d46f3f057772cb97f2743a11d478a0f68a0') build() { cd "$srcdir"/platform-p8-platform-${pkgver} diff --git a/abs/extra/pcsclite/PKGBUILD b/abs/extra/pcsclite/PKGBUILD new file mode 100644 index 0000000..02e309a --- /dev/null +++ b/abs/extra/pcsclite/PKGBUILD @@ -0,0 +1,44 @@ +# $Id$ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Daniel Plaza <daniel.plaza.espi@gmail.com> + +pkgname=pcsclite +pkgver=1.8.23 +_dlid=4235 +pkgrel=1 +pkgdesc="PC/SC Architecture smartcard middleware library" +arch=('x86_64') +url="https://alioth.debian.org/projects/pcsclite/" +license=('BSD') +depends=('python') +makedepends=('pkg-config') +options=('!docs') +source=("https://alioth.debian.org/frs/download.php/file/${_dlid}/pcsc-lite-${pkgver}.tar.bz2" + "https://alioth.debian.org/frs/download.php/file/$((_dlid+1))/pcsc-lite-${pkgver}.tar.bz2.asc") +sha256sums=('5a27262586eff39cfd5c19aadc8891dd71c0818d3d629539bd631b958be689c9' + 'SKIP') +validpgpkeys=('F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E') # Ludovic Rousseau <rousseau@debian.org> + +build() { + cd "${srcdir}/pcsc-lite-${pkgver}" + + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --enable-filter \ + --enable-ipcdir=/run/pcscd \ + --enable-libudev \ + --enable-usbdropdir=/usr/lib/pcsc/drivers +# --with-systemdsystemunitdir=/usr/lib/systemd/system + + make +} + +package() { + cd "${srcdir}/pcsc-lite-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -D -m644 ${srcdir}/pcsc-lite-${pkgver}/COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + install -d ${pkgdir}/usr/lib/pcsc/drivers +} diff --git a/abs/extra/perl-class-inspector/PKGBUILD b/abs/extra/perl-class-inspector/PKGBUILD deleted file mode 100644 index 5eb8012..0000000 --- a/abs/extra/perl-class-inspector/PKGBUILD +++ /dev/null @@ -1,48 +0,0 @@ -# Maintainer: Justin "juster" Davis <jrcd83@gmail.com> -# $Id: PKGBUILD 150510 2012-02-18 11:51:33Z allan $ - -pkgname=perl-class-inspector -pkgver=1.27 -pkgrel=1 -pkgdesc="Get information about a class and its structure" -arch=(any) -license=(PerlArtistic GPL) -options=(!emptydirs) -depends=('perl>=5.6.0') -url=http://search.cpan.org/dist/Class-Inspector -source=("http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Class-Inspector-${pkgver}.tar.gz") -md5sums=('52e6391cae3c2abdfcd1d450b42bba7e') -sha512sums=('e16786d32c695863b474036c494efa5ee2ea84f5c460e49fa58bb645c0332810796ddb81865f30e1c942a697556af9e26b47a4dc4300c10da37fde499f9507d8') -_distdir="${srcdir}/Class-Inspector-${pkgver}" - -build() { - ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \ - PERL_AUTOINSTALL=--skipdeps \ - PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \ - PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \ - MODULEBUILDRC=/dev/null - - cd "$_distdir" - /usr/bin/perl Makefile.PL - make - ) -} - -check() { - ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" - cd "$_distdir" - make test - ) -} - -package() { - cd "$_distdir" - make DESTDIR="$pkgdir" install - find "$pkgdir" -name .packlist -o -name perllocal.pod -delete -} - -# Local Variables: -# mode: shell-script -# sh-basic-offset: 2 -# End: -# vim:set ts=2 sw=2 et: diff --git a/abs/extra/perl-net-smtp-ssl/PKGBUILD b/abs/extra/perl-net-smtp-ssl/PKGBUILD deleted file mode 100644 index 0a10c5b..0000000 --- a/abs/extra/perl-net-smtp-ssl/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# $Id: PKGBUILD 64819 2012-02-18 11:10:48Z cbrannon $ -# Maintainer: Chris Brannon <cmbrannon79@gmail.com> -# Contributor: Abhishek Dasgupta <abhidg@gmail.com> - -pkgname=perl-net-smtp-ssl -pkgver=1.01 -pkgrel=3 -pkgdesc="SSL support for Net::SMTP" -arch=(any) -url="http://search.cpan.org/dist/Net-SMTP-SSL/" -license=('GPL' 'PerlArtistic') -depends=('perl-io-socket-ssl') -source=("http://www.cpan.org/authors/id/C/CW/CWEST/Net-SMTP-SSL-${pkgver}.tar.gz") -options=(!emptydirs) - -package() { - cd "${srcdir}/Net-SMTP-SSL-${pkgver}" - # Install module into the vendor directories. - perl Makefile.PL INSTALLDIRS=vendor - make - make DESTDIR="$pkgdir" install || return 1 - - # Remove .packlist and perllocal.pod files. - find "$pkgdir" -name '.packlist' -delete - find "$pkgdir" -name 'perllocal.pod' -delete -} -md5sums=('ba039288ebf7a343feecacd374da8c1a') diff --git a/abs/extra/perl-perl4-corelibs/PKGBUILD b/abs/extra/perl-perl4-corelibs/PKGBUILD deleted file mode 100644 index 7ff205c..0000000 --- a/abs/extra/perl-perl4-corelibs/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# $Id$ -# Maintainer: - -pkgname=perl-perl4-corelibs -pkgver=0.003 -pkgrel=2 -pkgdesc="Libraries historically supplied with Perl 4" -arch=('any') -url="https://metacpan.org/release/Perl4-CoreLibs" -license=('PerlArtistic' 'GPL') -depends=('perl') -options=('!emptydirs') -source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-$pkgver.tar.gz") -sha1sums=('ad4c5a9fa8da4f461dc774e5c53136a55413ef2f') - -build() { - cd Perl4-CoreLibs-$pkgver - perl Build.PL - ./Build -} - -check() { - cd Perl4-CoreLibs-$pkgver - ./Build test -} - -package() { - cd Perl4-CoreLibs-$pkgver - ./Build install installdirs=vendor destdir="$pkgdir" -} diff --git a/abs/extra/perl-sgmls/PKGBUILD b/abs/extra/perl-sgmls/PKGBUILD deleted file mode 100644 index 3fd816b..0000000 --- a/abs/extra/perl-sgmls/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# $Id: PKGBUILD 22119 2010-07-19 15:47:35Z spupykin $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> - -pkgname=perl-sgmls -pkgver=1.03ii -pkgrel=4 -pkgdesc="A Post-Processor for SGMLS and NSGMLS" -arch=('any') -url="http://search.cpan.org/dist/SGMLSpm" -license=('GPL' 'PerlArtistic') -depends=('perl') -options=('!emptydirs' 'docs') -source=(http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-$pkgver.tar.gz) -md5sums=('5bcb197fd42e67d51c739b1414d514a7') - -build() { - cd $srcdir/SGMLSpm - - mkdir -p $pkgdir/usr/bin $pkgdir/usr/lib/perl5/vendor_perl $pkgdir/usr/share/doc/perl-sgmls - - patch Makefile <<EOF -84a85 -> find \${HTMLDIR} -type l -exec rm -f {} \; -EOF - - make install install_html \ - BINDIR=$pkgdir/usr/bin \ - PERL5DIR=$pkgdir/usr/lib/perl5/vendor_perl \ - HTMLDIR=$pkgdir/usr/share/doc/perl-sgmls || return 1 - - find $pkgdir -name '.packlist' -delete - find $pkgdir -name '*.pod' -delete -} diff --git a/abs/extra/perl-sgmls/__changelog b/abs/extra/perl-sgmls/__changelog deleted file mode 100644 index 632f625..0000000 --- a/abs/extra/perl-sgmls/__changelog +++ /dev/null @@ -1 +0,0 @@ -7/17/11 - chw - Removed "force" from options in PKGBUILD diff --git a/abs/extra/perl-sys-mmap/PKGBUILD b/abs/extra/perl-sys-mmap/PKGBUILD deleted file mode 100644 index a5e73f7..0000000 --- a/abs/extra/perl-sys-mmap/PKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman -# Contributor: Ross melin <rdmelin@gmail.com> - -# Required by zoneminder =>1.24.0 - -pkgname=perl-sys-mmap -pkgver=0.13 -pkgrel=1 -pkgdesc="uses mmap to map in a file as a Perl variable" -arch=('i686' 'x86_64') -url="http://search.cpan.org/~SWALTERS/Sys-Mmap" -license=('GPL' 'PerlArtistic') -depends=('perl') -options=('!emptydirs') -source=(http://www.cpan.org/authors/id/S/SW/SWALTERS/Sys-Mmap-$pkgver.tar.gz) -md5sums=('e65a007157e3e26807db52299497109d') - -build() { - cd $startdir/src/Sys-Mmap-$pkgver - PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 - make || return 1 - make install DESTDIR=$startdir/pkg || return 1 - find $startdir/pkg -name '.packlist' -delete - find $startdir/pkg -name '*.pod' -delete -} - -# vim:set ts=2 sw=2 et:
\ No newline at end of file diff --git a/abs/extra/php-apcu/PKGBUILD b/abs/extra/php-apcu/PKGBUILD new file mode 100644 index 0000000..5f1fa76 --- /dev/null +++ b/abs/extra/php-apcu/PKGBUILD @@ -0,0 +1,44 @@ +# $Id$ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=php-apcu +pkgver=5.1.11 +pkgrel=1 +arch=('x86_64') +pkgdesc='A userland caching module for PHP' +url='https://pecl.php.net/package/APCu' +depends=('php') +license=('PHP') +source=("https://pecl.php.net/get/apcu-$pkgver.tgz" + 'apcu.ini') +backup=('etc/php/conf.d/apcu.ini') +md5sums=('576c51d928f582b67ccb222bc34f6abd' + 'a353f7efe61928aa2162720789fa171f') + +build() { + cd $srcdir/apcu-$pkgver + + phpize + ./configure --prefix=/usr + make +} + +check() { + cd $srcdir/apcu-$pkgver + + export REPORT_EXIT_STATUS=1 + export NO_INTERACTION=1 + export SKIP_ONLINE_TESTS=1 + export SKIP_SLOW_TESTS=1 + make test +} + +package() { + cd $srcdir/apcu-$pkgver + + make INSTALL_ROOT=$pkgdir install + + install -D -m644 $srcdir/apcu.ini $pkgdir/etc/php/conf.d/apcu.ini + install -D -m644 apc.php $pkgdir/usr/share/webapps/php-apcu/apc.php + install -D -m644 INSTALL $pkgdir/usr/share/doc/php-apcu/install.txt +} diff --git a/abs/extra/php-apcu/apcu.ini b/abs/extra/php-apcu/apcu.ini new file mode 100644 index 0000000..d01cd90 --- /dev/null +++ b/abs/extra/php-apcu/apcu.ini @@ -0,0 +1,3 @@ +;extension=apcu.so +; install php-apcu-bc and enable apc.so for APC compatibility +;extension=apc.so diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD index 276b2c5..76377a0 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.10.1.4602 -_pkgsum=f54242b6b +pkgver=1.13.5.5291 +_pkgsum=6fa5e50a8 pkgrel=1 pkgdesc='Plex Media Server' arch=('x86_64') @@ -23,8 +23,8 @@ source=('plexmediaserver.conf.d' 'plexmediaserver.service' 'plex.sysusers' 'plexmediascanner.sh' - 'terms.txt') -source_x86_64=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm") + 'terms.txt' + "https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm") package() { install -dm 755 "${pkgdir}"/{opt,etc/conf.d,usr/lib/systemd/system} @@ -44,5 +44,5 @@ md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc' '3f39ee0e8b1ebb1c7ca714f67fa88641' '97241861f2c0b7c82d1945a6c5de8e35' '506ec15815bba749a743780edd2323c8' - 'af6d0a81c7821b2eddb1bc137310ca1b') -md5sums_x86_64=('ba3d53cb049edf368383154ae0d89ca5') + 'af6d0a81c7821b2eddb1bc137310ca1b' + 'b0f64d2edd27a4849c6274382509130d') diff --git a/abs/extra/po4a/PKGBUILD b/abs/extra/po4a/PKGBUILD new file mode 100644 index 0000000..e63e519 --- /dev/null +++ b/abs/extra/po4a/PKGBUILD @@ -0,0 +1,35 @@ +# $Id$ +# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> +# Contributor: Francois Boulogne <fboulogne at april dot org> +# Contributor: Andre Klitzing <aklitzing () online () de> +# Contributor : Allan McRae <mcrae_allan@hotmail.com> +# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi> aka Neverth + +_dlid=4229 +pkgname=po4a +pkgver=0.52 +pkgrel=1 +pkgdesc="tools for helping translation of documentation" +arch=('any') +license=('GPL') +url="http://po4a.alioth.debian.org/" +depends=('perl' 'gettext') +makedepends=('docbook-xsl' 'perl-text-wrapi18n' 'perl-locale-gettext' + 'perl-term-readkey' 'perl-sgmls' 'perl-module-build' 'perl-unicode-linebreak') +options=('!emptydirs') +source=(https://alioth.debian.org/frs/download.php/file/${_dlid}/${pkgname}-${pkgver}.tar.gz) +sha256sums=('60a243da3ae372f019cd71483d46c898897f8692958403dfc2c8001c713e6fcf') + +build() { + cd ${pkgname}-${pkgver} + perl Build.PL installdirs=vendor create_packlist=0 + # The script expects a UTF-8 locale + LC_ALL=en_US.UTF-8 perl Build +} + +package() { + cd ${pkgname}-${pkgver} + perl Build destdir="${pkgdir}" install + # remove perllocal.pod and .packlist + find "${pkgdir}" -name .packlist -o -name perllocal.pod -delete +} diff --git a/abs/extra/polkit/PKGBUILD b/abs/extra/polkit/PKGBUILD index b120d65..30eaa69 100644 --- a/abs/extra/polkit/PKGBUILD +++ b/abs/extra/polkit/PKGBUILD @@ -2,36 +2,57 @@ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=polkit -pkgver=0.112 -pkgrel=2 +pkgver=0.114 +pkgrel=1 pkgdesc="Application development toolkit for controlling system-wide privileges" -arch=(i686 x86_64) +arch=(x86_64) license=(LGPL) -url="http://www.freedesktop.org/wiki/Software/polkit" -depends=(glib2 pam expat systemd js17) -makedepends=(intltool gtk-doc gobject-introspection) -install=polkit.install -source=(http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz - polkit.pam) +url="https://www.freedesktop.org/wiki/Software/polkit/" +depends=(glib2 pam expat systemd js52) +makedepends=(intltool gtk-doc gobject-introspection git autoconf-archive) +_commit=ed06baed179166389d536420a6fc532781d48178 # tags/0.114^0 +source=("git+https://anongit.freedesktop.org/git/polkit#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + git cherry-pick -n 373705b35e7f6c7dc83de5e0a3ce11ecd15d0409 + NOCONFIGURE=1 ./autogen.sh +} build() { - cd $pkgname-$pkgver + cd $pkgname ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \ - --enable-libsystemd-login=no --disable-static \ - --enable-gtk-doc + --localstatedir=/var --libexecdir=/usr/lib \ + --enable-libsystemd-login=yes --disable-static \ + --enable-gtk-doc --with-os-type=redhat + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make } +check() { + cd $pkgname + make -k check || : +} + package() { - cd $pkgname-$pkgver + cd $pkgname make DESTDIR="$pkgdir" install - chown 102 "$pkgdir/etc/polkit-1/rules.d" - chown 102 "$pkgdir/usr/share/polkit-1/rules.d" + install -d -o root -g 102 -m 750 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d - install -m644 "$srcdir/polkit.pam" "$pkgdir/etc/pam.d/polkit-1" + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" <<END +u polkitd 102 "PolicyKit daemon" +m polkitd proc +END } -md5sums=('b0f2fa00a55f47c6a5d88e9b73f80127' - '6564f95878297b954f0572bc1610dd15') + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/polkit/__changelog b/abs/extra/polkit/__changelog deleted file mode 100644 index 8a7d752..0000000 --- a/abs/extra/polkit/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD: change --enable-libsystemd-login=yes to --enable-libsystemd-login=no diff --git a/abs/extra/polkit/polkit.install b/abs/extra/polkit/polkit.install deleted file mode 100644 index fbb9891..0000000 --- a/abs/extra/polkit/polkit.install +++ /dev/null @@ -1,18 +0,0 @@ -post_install() { - getent group polkitd >/dev/null || groupadd -g 102 polkitd - getent passwd polkitd >/dev/null || useradd -c 'Policy Kit Daemon' -u 102 -g polkitd -d '/' -s /bin/false polkitd - passwd -l polkitd &>/dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - if getent passwd polkitd >/dev/null; then - userdel polkitd - fi - if getent group polkitd >/dev/null; then - groupdel polkitd - fi -} diff --git a/abs/extra/polkit/polkit.pam b/abs/extra/polkit/polkit.pam deleted file mode 100644 index 04f53e0..0000000 --- a/abs/extra/polkit/polkit.pam +++ /dev/null @@ -1,7 +0,0 @@ -auth requisite pam_nologin.so -auth required pam_env.so -auth required pam_unix.so -account required pam_unix.so -session required pam_limits.so -session required pam_unix.so -password required pam_unix.so diff --git a/abs/extra/postfix/PKGBUILD b/abs/extra/postfix/PKGBUILD index 86b79f6..4683391 100644 --- a/abs/extra/postfix/PKGBUILD +++ b/abs/extra/postfix/PKGBUILD @@ -4,55 +4,90 @@ # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=postfix -pkgver=2.10.2 -pkgrel=1 -pkgdesc='Fast, easy to administer, secure mail server' +pkgver=3.3.0 +pkgrel=3 url='http://www.postfix.org/' +pkgdesc='Fast, easy to administer, secure mail server' license=('custom') -arch=('i686' 'x86_64') -depends=('pcre' 'libsasl' 'db') -backup=('etc/postfix/'{access,aliases,canonical,generic,header_checks,main.cf,master.cf,relocated,transport,virtual}) -source=("ftp://ftp.porcupine.org/mirrors/postfix-release/official/${pkgname}-${pkgver}.tar.gz"{,.sig} +arch=('x86_64') +depends=('openssl' 'pcre' 'icu' 'libsasl' 'db') +source=("ftp://ftp.porcupine.org/mirrors/postfix-release/official/${pkgname}-${pkgver}.tar.gz" 'aliases.patch' + 'sysusers.d' 'service') -sha1sums=('4721024784d071c3e663d610db17f8bd99821f3d' 'SKIP' - '5fc3de6c7df1e5851a0a379e825148868808318b' - 'dd12885d367bebaf0fc9d2e9823a7f82086b6ee9') +sha256sums=('7942e89721e30118d7050675b0d976955e3160e21f7898b85a79cac4f4baef39' + 'f4c766efc20b4638f9fd72707ca6d4c2628279ebd79f5227276fa4ca6867c336' + '63f39147887336bdd173fb9425998f0a0c6f00a31241f922a255c157bfd8d02e' + '52781649c49a50cecd7d20f693f602d7dc78b985ac5f0e72c4abfa0d800e58f0') -provides=('smtp-server' 'smtp-forwarder') -conflicts=('smtp-server' 'smtp-forwarder') +backup=('etc/postfix/'{access,aliases,canonical,generic,header_checks,main.cf,master.cf,relocated,transport,virtual}) -install=install +conflicts=('smtp-server' 'smtp-forwarder' 'postfix-tools') +provides=('smtp-server' 'smtp-forwarder' 'postfix-tools') +replaces=('postfix-tools') build() { cd "${srcdir}/${pkgname}-${pkgver}" - make makefiles DEBUG='' CCARGS=' \ - -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl \ - -DUSE_TLS \ - -DDEF_COMMAND_DIR=\"/usr/bin\" \ - -DDEF_DAEMON_DIR=\"/usr/lib/postfix\" \ - -DDEF_SENDMAIL_PATH=\"/usr/bin/sendmail\" \ -# -DDEF_README_DIR=\"/usr/share/doc/postfix\" \ - -DDEF_SAMPLE_DIR=\"/etc/postfix/sample\" \ - -DDEF_MANPAGE_DIR=\"/usr/share/man\" \ - ' AUXLIBS=' \ - -lsasl2 \ - -lssl -lcrypto \ - ' OPT="${CFLAGS} ${LDFLAGS}" + CCARGS=' + -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl + -DUSE_TLS + -DDEF_COMMAND_DIR=\"/usr/bin\" + -DDEF_DAEMON_DIR=\"/usr/lib/postfix/bin\" + -DDEF_SENDMAIL_PATH=\"/usr/bin/sendmail\" + -DDEF_README_DIR=\"/usr/share/doc/postfix\" + -DDEF_MANPAGE_DIR=\"/usr/share/man\" + ' + AUXLIBS=' + -lsasl2 + -llber + -lssl -lcrypto + -lpthread + ' + make makefiles \ + DEBUG='' \ + pie=yes \ + shared=yes \ + CCARGS="${CCARGS//$'\n'/}" \ + AUXLIBS="${AUXLIBS//$'\n'/}" \ + OPT="${CFLAGS} ${LDFLAGS}" \ make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/postfix-${pkgver}" + sed 's:bin/postconf -dhx:bin/postconf -c conf -dhx:g' -i postfix-install + LD_LIBRARY_PATH=lib:$LD_LIBRARY_PATH \ sh postfix-install -non-interactive install_root="${pkgdir}" install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" install -Dm644 ../service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" + install -Dm644 ../sysusers.d "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" + + for name in posttls-finger {smtp,qmqp}-{sink,source}; do + install -Dm644 "man/man1/${name}.1" "${pkgdir}/usr/share/man/man1/${name}.1" + install -Dm755 "bin/${name}" "${pkgdir}/usr/bin/${name}" + done + # now set permissions right to appease the pacman gods + sed -r \ + -e '/override=1/d' \ + -e '/absolute path name/d' \ + -e 's/\$POSTCONF -/$POSTCONF -c .\/etc\/postfix -/g' \ + -e '/(if \[|chmod|chown|find|mkdir|test)/s/\$path/.\/$path/g' \ + libexec/post-install > ../arch-post-install cd "${pkgdir}" - patch -p0 -i "${srcdir}"/aliases.patch - sed 's/^\(\$manpage[^:]*\):/\1.gz:/' -i "usr/lib/${pkgname}/postfix-files" + LD_LIBRARY_PATH=usr/lib/postfix:$LD_LIBRARY_PATH \ + sh "${srcdir}/arch-post-install" \ + command_directory=usr/bin \ + config_directory=etc/postfix \ + meta_directory=etc/postfix \ + setgid_group=75 \ + mail_owner=73 \ + set-permissions + + patch --no-backup-if-mismatch -p0 -i "${srcdir}"/aliases.patch + sed 's/^\(\$manpage[^:]*\):/\1.gz:/' -i "etc/postfix/postfix-files" } diff --git a/abs/extra/postfix/__changelog b/abs/extra/postfix/__changelog index 25ca6b4..2826faf 100644 --- a/abs/extra/postfix/__changelog +++ b/abs/extra/postfix/__changelog @@ -1 +1 @@ -remove ldap/mysql/pg support +remove ldap/mysql/pg/cdb support diff --git a/abs/extra/postfix/sysusers.d b/abs/extra/postfix/sysusers.d new file mode 100644 index 0000000..677b1b1 --- /dev/null +++ b/abs/extra/postfix/sysusers.d @@ -0,0 +1,2 @@ +g postdrop 75 - +u postfix 73 - /var/spool/postfix diff --git a/abs/extra/postgresql/PKGBUILD b/abs/extra/postgresql/PKGBUILD index a00160c..c1a35dc 100644 --- a/abs/extra/postgresql/PKGBUILD +++ b/abs/extra/postgresql/PKGBUILD @@ -1,86 +1,111 @@ -# $Id: PKGBUILD 160730 2012-06-04 17:58:05Z dan $ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> # Maintainer: Dan McGee <dan@archlinux.org> pkgbase=postgresql pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql') -pkgver=9.1.4 +pkgver=10.2 _majorver=${pkgver%.*} pkgrel=1 -arch=('i686' 'x86_64') -url="http://www.postgresql.org/" +pkgdesc='Sophisticated object-relational DBMS' +url='https://www.postgresql.org/' +arch=('x86_64') license=('custom:PostgreSQL') -makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl' 'openssl>=1.0.0') -source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 - postgresql.rcd postgresql.confd postgresql.pam postgresql.logrotate) +makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl>=8.6.0' 'openssl>=1.0.0' 'pam' 'zlib') +source=(https://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 + postgresql-run-socket.patch + postgresql.pam + postgresql.logrotate + postgresql.service + postgresql-check-db-dir) +sha256sums=('fe32009b62ddb97f7f014307ce9d0edb6972f5a698e63cb531088e147d145bad' + '8538619cb8bea51078b605ad64fe22abd6050373c7ae3ad6595178da52f6a7d9' + '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' + '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e' + 'b48fe97f8e43ed0d2041d519119a4dafb70fcae72870951bf4fb7350fe169ac8' + '888a1d44f03fccfa4bf344ee45824fefb846ae3c1c0c40113ad6020b4be3b0cf') +sha512sums=('bac61644c12c31e2dce97ec0134902a2a7141e922619015425961b963961b21210ca840f59ba585d3d75c7e34cb640f2ebeaa2b25c4a866db68f5e73a8f8a448' + '031efe12d18ce386989062327cdbbe611c5ef1f94e4e1bead502304cb3e2d410af533d3c7f1109d24f9da9708214fe32f9a10ba373a3ca8d507bdb521fbb75f7' + '1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67' + '9ab4da01337ffbab8faec0e220aaa2a642dbfeccf7232ef2645bdc2177a953f17ee3cc14a4d8f8ebd064e1dae8b3dba6029adbffb8afaabea383963213941ba8' + 'ec2625c3ccfb6c142ea12ef4392b00f3d4cb0a5411d603b98157d55cd162ed3b422dbbd42e8b13211063db94a42f6d1f3febd4acaadde69ea17bfd8eccae3539' + '56974ef34a8d94596068413154b1a7ed5a71f5a3942bd79427f05e6f6b7853036874dedd8d988bb94306023f2a675996d500b075eaf8a192ef5c24026eb28eb0') + +prepare() { + cd postgresql-${pkgver} + patch -p1 < ../postgresql-run-socket.patch +} build() { - cd "${srcdir}/postgresql-${pkgver}" - - ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - --datadir=/usr/share/postgresql \ - --with-krb5 \ - --with-libxml \ - --with-openssl \ - --with-perl \ - --with-python PYTHON=/usr/bin/python2 \ - --with-tcl \ - --with-pam \ - --with-system-tzdata=/usr/share/zoneinfo \ - --enable-nls \ - --enable-thread-safety - + cd postgresql-${pkgver} + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --datadir=/usr/share/postgresql \ + --sysconfdir=/etc \ + --with-gssapi \ + --with-libxml \ + --with-openssl \ + --with-perl \ + --with-python PYTHON=/usr/bin/python2 \ + --with-tcl \ + --with-pam \ + --with-system-tzdata=/usr/share/zoneinfo \ + --with-uuid=e2fs \ + --enable-nls \ + --enable-thread-safety make world } package_postgresql-libs() { pkgdesc="Libraries for use with PostgreSQL" - depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0') + depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0' 'zlib') provides=('postgresql-client') conflicts=('postgresql-client') - cd "${srcdir}/postgresql-${pkgver}" + cd postgresql-${pkgver} # install license - install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-libs/LICENSE" + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" - # install libs - for dir in src/interfaces src/bin/pg_config src/bin/psql; do + # install libs and non-server binaries + for dir in src/interfaces src/bin/pg_config src/bin/pg_dump src/bin/psql src/bin/scripts; do make -C ${dir} DESTDIR="${pkgdir}" install done - install -D -m644 doc/src/sgml/man1/pg_config.1 "${pkgdir}/usr/share/man/man1/pg_config.1" - install -D -m644 doc/src/sgml/man1/psql.1 "${pkgdir}/usr/share/man/man1/psql.1" + for util in pg_config pg_dump pg_dumpall pg_restore psql \ + clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do + install -Dm 644 doc/src/sgml/man1/${util}.1 "${pkgdir}"/usr/share/man/man1/${util}.1 + done cd src/include mkdir -p "${pkgdir}"/usr/include/{libpq,postgresql/internal/libpq} # these headers are needed by the public headers of the interfaces - install -m644 pg_config.h "${pkgdir}/usr/include/" - install -m644 pg_config_os.h "${pkgdir}/usr/include/" - install -m644 postgres_ext.h "${pkgdir}/usr/include/" - install -m644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq/" - install -m644 pg_config_manual.h "${pkgdir}/usr/include/" - - # these headers are needed by the not-so-public headers of the interfaces - install -m644 c.h "${pkgdir}/usr/include/postgresql/internal/" - install -m644 port.h "${pkgdir}/usr/include/postgresql/internal/" - install -m644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal/" - install -m644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq/" + install -m 644 pg_config.h "${pkgdir}/usr/include" + install -m 644 pg_config_os.h "${pkgdir}/usr/include" + install -m 644 pg_config_ext.h "${pkgdir}/usr/include" + install -m 644 postgres_ext.h "${pkgdir}/usr/include" + install -m 644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq" + install -m 644 pg_config_manual.h "${pkgdir}/usr/include" + + # these he aders are needed by the not-so-public headers of the interfaces + install -m 644 c.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 port.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq" } package_postgresql-docs() { pkgdesc="HTML documentation for PostgreSQL" - options=(docs) + options=('docs') - cd "${srcdir}/postgresql-${pkgver}" + cd postgresql-${pkgver} - # install license - install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-docs/LICENSE" + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" make -C doc/src/sgml DESTDIR="${pkgdir}" install-html - chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html/" + chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html" # clean up rmdir "${pkgdir}"/usr/share/man/man{1,3,7} @@ -88,16 +113,17 @@ package_postgresql-docs() { } package_postgresql() { - pkgdesc="A sophisticated object-relational DBMS" - backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql' 'etc/logrotate.d/postgresql') - depends=("postgresql-libs>=${pkgver}" 'krb5' 'libxml2' 'readline>=6.0' 'openssl>=1.0.0') + pkgdesc='Sophisticated object-relational DBMS' + backup=('etc/pam.d/postgresql' 'etc/logrotate.d/postgresql') + depends=("postgresql-libs>=${pkgver}" 'krb5' 'libxml2' 'readline>=6.0' 'openssl>=1.0.0' 'pam') optdepends=('python2: for PL/Python support' 'perl: for PL/Perl support' 'tcl: for PL/Tcl support' 'postgresql-old-upgrade: upgrade from previous major version using pg_upgrade') + options=('staticlibs') install=postgresql.install - cd "${srcdir}/postgresql-${pkgver}" + cd postgresql-${pkgver} # install make DESTDIR="${pkgdir}" install @@ -105,14 +131,16 @@ package_postgresql() { make -C doc/src/sgml DESTDIR="${pkgdir}" install-man # we don't want these, they are in the -libs package - for dir in src/interfaces src/bin/pg_config src/bin/psql; do + for dir in src/interfaces src/bin/pg_config src/bin/pg_dump src/bin/psql src/bin/scripts; do make -C ${dir} DESTDIR="${pkgdir}" uninstall done - rm "${pkgdir}/usr/share/man/man1/pg_config.1" - rm "${pkgdir}/usr/share/man/man1/psql.1" + for util in pg_config pg_dump pg_dumpall pg_restore psql \ + clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do + rm "${pkgdir}"/usr/share/man/man1/${util}.1 + done # install license - install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE" + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" # clean up unneeded installed items rm -rf "${pkgdir}/usr/include/postgresql/internal" @@ -120,27 +148,11 @@ package_postgresql() { find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} + rmdir "${pkgdir}/usr/share/doc/postgresql/html" - # install launch script - install -D -m755 "${srcdir}/postgresql.rcd" "${pkgdir}/etc/rc.d/postgresql" - - # install conf file - install -D -m644 ${srcdir}/postgresql.confd \ - "${pkgdir}/etc/conf.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.service" -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 755 "${srcdir}/postgresql-check-db-dir" -t "${pkgdir}/usr/bin" - install -D -m644 ${srcdir}/postgresql.pam \ - "${pkgdir}/etc/pam.d/postgresql" - - install -D -m644 ${srcdir}/postgresql.logrotate \ - "${pkgdir}/etc/logrotate.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.pam" "${pkgdir}/etc/pam.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.logrotate" "${pkgdir}/etc/logrotate.d/postgresql" } -md5sums=('a8035688dba988b782725ac1aec60186' - '1ddd1df8010549f237e7983bb326025e' - 'a54d09a20ab1672adf08f037df188d53' - '96f82c38f3f540b53f3e5144900acf17' - 'd28e443f9f65a5712c52018b84e27137') -sha256sums=('a0795a8eb3ae2d1a2914b63bf143d20182835d90699915ff43567c041d3c9712' - '9f6307b1358892e304f9474a456f0cb9160cfb8812a9da0430abe647f8a9cf45' - '3de5c059eead8816db15c2c5588e6196d6c4b0d704faf1a20912796cf589ba81' - '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' - '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e') +# vim: ts=2 sw=2 et: diff --git a/abs/extra/postgresql/postgresql-check-db-dir b/abs/extra/postgresql/postgresql-check-db-dir new file mode 100755 index 0000000..acf73eb --- /dev/null +++ b/abs/extra/postgresql/postgresql-check-db-dir @@ -0,0 +1,49 @@ +#!/bin/sh + +# This script verifies that the postgresql data directory has been correctly +# initialized. We do not want to automatically initdb it, because that has +# a risk of catastrophic failure (ie, overwriting a valuable database) in +# corner cases, such as a remotely mounted database on a volume that's a +# bit slow to mount. But we can at least emit a message advising newbies +# what to do. + +PGDATA="$1" + +if [ -z "$PGDATA" ] +then + echo "Usage: $0 database-path" + exit 1 +fi + +# PGMAJORVERSION is major version +PGMAJORVERSION=10 +# PREVMAJORVERSION is the previous major version +PREVMAJORVERSION=9.6 + +# Check for the PGDATA structure +if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ] +then + # Check version of existing PGDATA + if [ x`cat "$PGDATA/PG_VERSION"` = x"$PGMAJORVERSION" ] + then + : A-OK + elif [ x`cat "$PGDATA/PG_VERSION"` = x"$PREVMAJORVERSION" ] + then + echo $"An old version of the database format was found." + echo $"See https://wiki.archlinux.org/index.php/PostgreSQL#Upgrading_PostgreSQL" + exit 1 + else + echo $"An old version of the database format was found." + echo $"You need to dump and reload before using PostgreSQL $PGMAJORVERSION." + echo $"See http://www.postgresql.org/docs/$PGMAJORVERSION/static/upgrading.html" + exit 1 + fi +else + # No existing PGDATA! Warn the user to initdb it. + echo $"\"$PGDATA\" is missing or empty. Use a command like" + echo $" su - postgres -c \"initdb --locale en_US.UTF-8 -D '$PGDATA'\"" + echo $"with relevant options, to initialize the database cluster." + exit 1 +fi + +exit 0 diff --git a/abs/extra/postgresql/postgresql-run-socket.patch b/abs/extra/postgresql/postgresql-run-socket.patch new file mode 100644 index 0000000..b558c7b --- /dev/null +++ b/abs/extra/postgresql/postgresql-run-socket.patch @@ -0,0 +1,12 @@ +diff -Naur postgresql-9.2.0.sockets/src/include/pg_config_manual.h postgresql-9.2.0/src/include/pg_config_manual.h +--- postgresql-9.2.0.sockets/src/include/pg_config_manual.h 2012-09-06 17:26:17.000000000 -0400 ++++ postgresql-9.2.0/src/include/pg_config_manual.h 2012-09-06 18:13:18.183092471 -0400 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/abs/extra/postgresql/postgresql.confd b/abs/extra/postgresql/postgresql.confd deleted file mode 100644 index 6001c16..0000000 --- a/abs/extra/postgresql/postgresql.confd +++ /dev/null @@ -1,11 +0,0 @@ -## -## Parameters to be passed to postgresql -## -## Default data directory location -#PGROOT="/var/lib/postgres" -## Passed to initdb if necessary -INITOPTS="--locale en_US.UTF-8" -## Default log file location -#PGLOG="/var/log/postgresql.log" -## Additional options to pass via pg_ctl's '-o' option -#PGOPTS="" diff --git a/abs/extra/postgresql/postgresql.install b/abs/extra/postgresql/postgresql.install index c524322..0d23d47 100644 --- a/abs/extra/postgresql/postgresql.install +++ b/abs/extra/postgresql/postgresql.install @@ -2,9 +2,17 @@ post_install() { if [ ! -d '/var/lib/postgres' ]; then mkdir -p '/var/lib/postgres' fi - getent group postgres >/dev/null || groupadd -g 88 postgres - getent passwd postgres >/dev/null || useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres - passwd -l postgres >/dev/null + if ! getent group postgres >/dev/null; then + groupadd -g 88 postgres + fi + if ! getent passwd postgres >/dev/null; then + useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres + passwd -l postgres >/dev/null + fi + if [ ! -d '/var/lib/postgres/data' ]; then + mkdir -p '/var/lib/postgres/data' + chown postgres:postgres '/var/lib/postgres/data' + fi } post_upgrade() { @@ -15,12 +23,3 @@ post_upgrade() { chsh -s /bin/bash postgres fi } - -post_remove() { - if getent passwd postgres >/dev/null; then - userdel postgres - fi - if getent group postgres >/dev/null; then - groupdel postgres - fi -} diff --git a/abs/extra/postgresql/postgresql.logrotate b/abs/extra/postgresql/postgresql.logrotate new file mode 100644 index 0000000..9c36918 --- /dev/null +++ b/abs/extra/postgresql/postgresql.logrotate @@ -0,0 +1,4 @@ +/var/log/postgresql.log { + copytruncate + missingok +} diff --git a/abs/extra/postgresql/postgresql.rcd b/abs/extra/postgresql/postgresql.rcd deleted file mode 100755 index f3600b3..0000000 --- a/abs/extra/postgresql/postgresql.rcd +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/postgresql - -# Default PGROOT if it wasn't defined in the conf.d file -PGROOT=${PGROOT:-/var/lib/postgres} -PGLOG=${PGLOG:-/var/log/postgresql.log} -PGCTL_BIN=/usr/bin/pg_ctl -PGCTL_ARGS=(-D "$PGROOT/data" -l "$PGLOG" -s -w) -[[ $PGOPTS ]] && PGCTL_ARGS+=(-o "$PGOPTS") - -postgres_init() { - # initialization - if [[ ! -d "$PGROOT/data" ]]; then - mkdir -p "$PGROOT/data" && chown -R postgres:postgres "$PGROOT" - su - postgres -c "/usr/bin/initdb $INITOPTS -D '$PGROOT/data'" - fi - if [[ ! -e "$PGLOG" ]]; then - touch "$PGLOG" - chown postgres "$PGLOG" - fi -} - -do_postgres() { - su - postgres -c "'$PGCTL_BIN' $(printf '%q ' "${PGCTL_ARGS[@]}" "$@")" -} - -case $1 in - start) - postgres_init - stat_busy "Starting PostgreSQL" - if do_postgres start; then - add_daemon postgresql - stat_done - else - stat_fail - exit 1 - fi - ;; - stop) - stat_busy "Stopping PostgreSQL" - if do_postgres stop -m fast; then - rm_daemon postgresql - stat_done - else - stat_fail - exit 1 - fi - ;; - reload) - stat_busy "Reloading PostgreSQL" - if do_postgres reload; then - stat_done - else - stat_fail - exit 1 - fi - ;; - restart) - postgres_init - stat_busy "Restarting PostgreSQL" - if do_postgres restart -m fast; then - add_daemon postgresql - stat_done - else - stat_fail - exit 1 - fi - ;; - status) - stat_busy "Checking PostgreSQL status"; - ck_status postgresql - ;; - *) - echo "usage: $0 {start|stop|reload|restart|status}" - exit 1 -esac diff --git a/abs/extra/postgresql/postgresql.service b/abs/extra/postgresql/postgresql.service new file mode 100644 index 0000000..37fcae9 --- /dev/null +++ b/abs/extra/postgresql/postgresql.service @@ -0,0 +1,34 @@ +[Unit] +Description=PostgreSQL database server +After=network.target + +[Service] +Type=forking +TimeoutSec=120 +User=postgres +Group=postgres + +Environment=PGROOT=/var/lib/postgres + +SyslogIdentifier=postgres +PIDFile=/var/lib/postgres/data/postmaster.pid +RuntimeDirectory=postgresql +RuntimeDirectoryMode=755 + +ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data +ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 +ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload +ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast + +# Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in +# killing Postgres, so adjust it downward +OOMScoreAdjust=-200 + +# Additional security-related features +PrivateTmp=true +ProtectHome=true +ProtectSystem=full +NoNewPrivileges=true + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/protobuf/PKGBUILD b/abs/extra/protobuf/PKGBUILD new file mode 100644 index 0000000..c2c786b --- /dev/null +++ b/abs/extra/protobuf/PKGBUILD @@ -0,0 +1,96 @@ +# Maintainer: Lukas Fleischer <lfleischer@archlinux.org> +# Contributor: Aleksey Filippov <sarum9in@gmail.com> +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Thomas S Hatch <thatch45@gmail.com> +# Contributor: Geoffroy Carrier <geoffroy@archlinux.org> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgbase='protobuf' +pkgname=('protobuf' 'python2-protobuf' 'python-protobuf') +pkgver=3.5.1.1 +_gtestver=1.8.0 +pkgrel=1 +pkgdesc="Protocol Buffers - Google's data interchange format" +arch=('x86_64') +url='https://developers.google.com/protocol-buffers/' +license=('BSD') +depends=('gcc-libs' 'zlib') +makedepends=('unzip' 'python-setuptools' 'python2-setuptools' 'clang') +source=("$pkgbase-$pkgver.tgz::https://github.com/google/${pkgbase}/archive/v${pkgver}.tar.gz" + "gtest-${_gtestver}.tar.gz::https://github.com/google/googletest/archive/release-${_gtestver}.tar.gz") +md5sums=('5005003ae6b94773c4bbca87a644b131' + '16877098823401d1bf2ed7891d7dce36') + +prepare() { + cd "$pkgbase-$pkgver" + + rm -rf gmock && cp -r "$srcdir/googletest-release-${_gtestver}/googlemock" gmock + rm -rf googletest && cp -r "$srcdir/googletest-release-${_gtestver}/googletest" googletest + ln -sf ../googletest gmock/gtest + + sed -r 's|/usr/bin/env python|/usr/bin/env python2|' -i googletest/scripts/*.py +} + +build() { + # GCC is stuck on src/google/protobuf/util/internal/protostream_objectsource_test.cc + # and src/google/protobuf/util/internal/protostream_objectwriter_test.cc. + export CC=/usr/bin/clang CXX=/usr/bin/clang++ + + cd "$srcdir/$pkgbase-$pkgver" + ./autogen.sh + + cd "$srcdir/$pkgbase-$pkgver/googletest" + ./configure + make + + cd "$srcdir/$pkgbase-$pkgver/gmock" + ./configure + make + + cd "$srcdir/$pkgbase-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + make -C "$srcdir/$pkgbase-$pkgver" check +} + +package_protobuf() { + conflicts=('protobuf' 'protobuf-cpp') + provides=('protobuf' 'protobuf-cpp') + replaces=('protobuf-cpp') + + cd "$srcdir/$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 editors/protobuf-mode.el "$pkgdir"/usr/share/emacs/site-lisp/protobuf-mode.el +} + +package_python2-protobuf() { + pkgdesc='Python 2 bindings for Google Protocol Buffers' + depends=('python2' 'python2-six' "protobuf=$pkgver") + conflicts=('python2-protobuf') + provides=('python2-protobuf') + + cd "$srcdir/$pkgbase-$pkgver/python" + python2 setup.py install --root="$pkgdir" + + install -d "$pkgdir/usr/share/licenses/$pkgname" + ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_python-protobuf() { + pkgdesc='Python 3 bindings for Google Protocol Buffers' + depends=('python' 'python-six' "protobuf=$pkgver") + conflicts=('python-protobuf') + provides=('python-protobuf') + + cd "$srcdir/$pkgbase-$pkgver/python" + python3 setup.py install --root="$pkgdir" + + install -d "$pkgdir/usr/share/licenses/$pkgname" + ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/abs/extra/publicsuffix-list/PKGBUILD b/abs/extra/publicsuffix-list/PKGBUILD new file mode 100644 index 0000000..6dfc4e4 --- /dev/null +++ b/abs/extra/publicsuffix-list/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> + +pkgname=publicsuffix-list +_gitcommit=85fa8fbdf73a0f2fcf5f4790c204394557dfbaf3 +pkgver=20180223.632.85fa8fb +pkgrel=1 +pkgdesc='Cross-vendor public domain suffix database' +url='https://github.com/publicsuffix/list' +arch=('any') +license=('custom:MPL2') +makedepends=('git') +source=(${pkgname}::"git+https://github.com/publicsuffix/list#commit=${_gitcommit}") +sha512sums=('SKIP') + +pkgver() { + cd ${pkgname} + printf "%s.%s.%s" "$(date +%Y%m%d --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}")" \ + "$(git rev-list --count HEAD)" \ + "$(git rev-parse --short HEAD)" +} + +package() { + cd ${pkgname} + install -Dm 644 public_suffix_list.dat tests/test_psl.txt -t "${pkgdir}/usr/share/publicsuffix" + ln -s public_suffix_list.dat "${pkgdir}/usr/share/publicsuffix/effective_tld_names.dat" + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/qtchooser/4.conf b/abs/extra/qtchooser/4.conf deleted file mode 100644 index 96e344e..0000000 --- a/abs/extra/qtchooser/4.conf +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/qt4/bin -/usr/lib diff --git a/abs/extra/qtchooser/5.conf b/abs/extra/qtchooser/5.conf deleted file mode 100644 index bcd76de..0000000 --- a/abs/extra/qtchooser/5.conf +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/qt/bin -/usr/lib diff --git a/abs/extra/qtchooser/PKGBUILD b/abs/extra/qtchooser/PKGBUILD deleted file mode 100644 index a5339f0..0000000 --- a/abs/extra/qtchooser/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# $Id$ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> - -pkgname=qtchooser -pkgver=53 -pkgrel=2 -pkgdesc='Wrap the other Qt tools by searching for different instances of Qt on the system' -arch=('i686' 'x86_64') -url='http://code.qt.io/cgit/qt/qtchooser.git/' -license=('GPL') -backup=('etc/xdg/qtchooser/default.conf') -depends=('gcc-libs') -makedepends=('git') -source=("git://code.qt.io/qt/${pkgname}.git#commit=d20fdc63" - {4,5}.conf) -md5sums=('SKIP' - 'aa4d49b269e1b806f5eea170801f0aa6' - 'cf83f09a9a5a44d898b93f624d74dd11') - -pkgver() { - cd $pkgname - echo $(git rev-list --count HEAD) -} - -build() { - cd $pkgname - make -} - -package() { - cd $pkgname - make INSTALL_ROOT="$pkgdir" install - - install -d "$pkgdir"/etc/xdg/qtchooser - install -m644 "$srcdir"/{4,5}.conf \ - "$pkgdir"/etc/xdg/qtchooser/ - - # Set the default Qt - ln -s /etc/xdg/qtchooser/5.conf \ - "$pkgdir"/etc/xdg/qtchooser/default.conf -} diff --git a/abs/extra/ragel/PKGBUILD b/abs/extra/ragel/PKGBUILD new file mode 100644 index 0000000..7d45026 --- /dev/null +++ b/abs/extra/ragel/PKGBUILD @@ -0,0 +1,34 @@ +# $Id$ +# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com> +# Contributor: Michael P <ptchinster@archlinux.us> +# Contributor: Roberto Alsina <ralsina@kde.org> +# Contributor: Will Chappell <mr.chapendi@gmail.com> +# Contributor: Jesse Young <jesse.young@gmail.com> +# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com> + +pkgname=ragel +pkgver=6.10 +pkgrel=2 +pkgdesc="Compiles finite state machines from regular languages into executable C, C++, Objective-C, or D code." +arch=('x86_64') +url="http://www.complang.org/ragel/" +license=('GPL') +depends=('gcc-libs') +source=(https://www.colm.net/files/$pkgname/$pkgname-$pkgver.tar.gz{,.asc}) +validpgpkeys=(C3260F001EE3780F1BC3D4F650FE47277DC196FB) +md5sums=('748cae8b50cffe9efcaa5acebc6abf0d' + 'SKIP') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr CXXFLAGS="$CXXFLAGS -std=gnu++98" + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install + install -m0644 -D ragel.vim "$pkgdir"/usr/share/vim/vimfiles/syntax/ragel.vim +} diff --git a/abs/extra/re2/PKGBUILD b/abs/extra/re2/PKGBUILD new file mode 100644 index 0000000..46ae739 --- /dev/null +++ b/abs/extra/re2/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com> +# Contributor: Alexandre Bique <bique.alexandre@gmail.com> + +pkgname=re2 +_re2ver=2018-03-01 +pkgver=${_re2ver//-} +pkgrel=1 +pkgdesc="Fast, safe, thread-friendly regular expression engine" +arch=('x86_64') +url="https://github.com/google/re2" +license=('BSD') +depends=('gcc-libs') +source=(re2-$pkgver.tar.gz::https://github.com/google/re2/archive/$_re2ver.tar.gz) +sha256sums=('51dc7ee9d1a68ee0209672ac4bdff56766c56606dfcdd57aed022015c4784178') + +build() { + cd $pkgname-$_re2ver + make +} + +check() { + cd $pkgname-$_re2ver + make test +} + +package() { + cd $pkgname-$_re2ver + make prefix=/usr DESTDIR="$pkgdir" install + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/abs/extra/rhash/PKGBUILD b/abs/extra/rhash/PKGBUILD new file mode 100644 index 0000000..c3e844f --- /dev/null +++ b/abs/extra/rhash/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Johannes Löthberg <johannes@kyriasis.com> +# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG +# Contributor: 謝致邦 <Yeking@Red54.com> +# Contributor: cantabile <cantabile dot desu at gmail dot com> +# Contributor: reMiND <detanator@gmail.com> + +pkgname=rhash +pkgver=1.3.5 +pkgrel=2 + +pkgdesc='Utility for verifying hash sums of files' +url='http://rhash.anz.ru/?l=en' +license=('custom' 'MIT') +arch=('x86_64') + +depends=('glibc') + +backup=('etc/rhashrc') + +source=(https://downloads.sourceforge.net/rhash/rhash-$pkgver-src.tar.gz) + +sha256sums=('98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e') +validpgpkeys=('2875F6B1C2D27A4F0C8AF60B2A714497E37363AE') + +build() { + cd RHash-$pkgver + export ADDCFLAGS="$CFLAGS" + export ADDLDFLAGS="$LDFLAGS" + make build-shared + make -C librhash +} + +check() { + cd RHash-$pkgver + make test-shared +} + +package() { + cd RHash-$pkgver + + # program + make PREFIX=/usr DESTDIR="$pkgdir" install-shared + + # library + make -C librhash PREFIX=/usr DESTDIR="$pkgdir" install-headers install-lib-shared install-so-link + + # license + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/rhash/LICENSE +} diff --git a/abs/extra/rrdtool/PKGBUILD b/abs/extra/rrdtool/PKGBUILD index 1e997ad..df5bf07 100644 --- a/abs/extra/rrdtool/PKGBUILD +++ b/abs/extra/rrdtool/PKGBUILD @@ -2,14 +2,14 @@ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=rrdtool -pkgver=1.6.0 -pkgrel=2 +pkgver=1.7.0 +pkgrel=5 pkgdesc="Data logging and graphing application" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://www.rrdtool.org" license=('GPL' 'custom') depends=('libxml2' 'pango' 'ttf-dejavu') -makedepends=('intltool' 'ruby' 'python2' 'tcl' 'lua51') +makedepends=('intltool' 'ruby' 'python2-setuptools' 'tcl' 'lua51') optdepends=('perl: to use corresponding binding' 'tcl: to use corresponding binding' 'python2: to use corresponding binding' @@ -17,7 +17,7 @@ optdepends=('perl: to use corresponding binding' 'lua51: to use corresponding binding') options=('!emptydirs' '!makeflags') source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz) -sha1sums=('9866b41bda9416188f236d61d24f185b173fd571') +sha1sums=('15a2009e2ee67eb41a2598d1a0f1f7cf1a651c78') prepare() { cd ${pkgname}-${pkgver} diff --git a/abs/extra/rtmpdump/PKGBUILD b/abs/extra/rtmpdump/PKGBUILD index e7432cb..44c322f 100644 --- a/abs/extra/rtmpdump/PKGBUILD +++ b/abs/extra/rtmpdump/PKGBUILD @@ -1,29 +1,52 @@ -# $Id: PKGBUILD 202973 2013-12-29 17:17:31Z bpiotrowski $ -# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# $Id$ +# Maintainer: Maxime Gauduin <alucryd@archlinux.org> +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> # Contributor: xduugu # Contributor: Elis Hughes <elishughes@googlemail.com> pkgname=rtmpdump -pkgver=20131205 -pkgrel=1 +pkgver=2.4.r96.fa8646d +pkgrel=3 +epoch=1 pkgdesc='Tool to download rtmp streams' -arch=('i686' 'x86_64') -url='http://rtmpdump.mplayerhq.hu/' +arch=('x86_64') +url='https://rtmpdump.mplayerhq.hu/' license=('GPL2' 'LGPL2.1') -depends=('openssl') +depends=('glibc' 'gnutls' 'zlib') makedepends=('git') +provides=('librtmp.so') options=('!makeflags') -source=(git://git.ffmpeg.org/rtmpdump#commit=dc76f0a8) +_commit='fa8646d' +source=("git+https://git.ffmpeg.org/rtmpdump#commit=${_commit}") +sha256sums=('SKIP') + +pkgver() { + cd rtmpdump + + _ver_name='2.4' + _ver_commit='c28f1bab7822de97353849e7787b59e50bbb1428' + + echo "${_ver_name}.r$(git rev-list --count ${_ver_commit}..HEAD).${_commit}" +} build() { - cd $pkgname - make + cd rtmpdump + sed -e 's/^CRYPTO=OPENSSL/#CRYPTO=OPENSSL/' -e 's/#CRYPTO=GNUTLS/CRYPTO=GNUTLS/' -i Makefile -i librtmp/Makefile + + make \ + OPT="$CFLAGS" \ + XLDFLAGS="$LDFLAGS" } package() { - cd $pkgname - make prefix=/usr sbindir=/usr/bin \ - mandir=/usr/share/man DESTDIR="$pkgdir" \ + cd rtmpdump + + make \ + prefix='/usr' \ + sbindir='/usr/bin' \ + mandir='/usr/share/man' \ + DESTDIR="${pkgdir}" \ install } -md5sums=('SKIP') + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/ruby-hpricot/PKGBUILD b/abs/extra/ruby-hpricot/PKGBUILD new file mode 100644 index 0000000..6b78783 --- /dev/null +++ b/abs/extra/ruby-hpricot/PKGBUILD @@ -0,0 +1,31 @@ +#$Id$ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Andrea Scarpino <bash.lnx@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> +# Contributor: <stefanh-husmann@t-online.de> +# Contributor: Alexsandr Pavlov <kidoz at mail dot ru> + +_gemname=hpricot +pkgname=ruby-$_gemname +pkgver=0.8.6 +pkgrel=6 +pkgdesc='A swift, liberal HTML parser with a fantastic library' +arch=(x86_64) +url='http://code.whytheluckystiff.net/hpricot/' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('87ce2c17960a5e1d7ceaa16d0591ca6a28379ce0') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + find "$pkgdir/$_gemdir/extensions/" -name *.so -delete + rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/test" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/ext" +} diff --git a/abs/extra/ruby-mustache/PKGBUILD b/abs/extra/ruby-mustache/PKGBUILD new file mode 100644 index 0000000..c19193c --- /dev/null +++ b/abs/extra/ruby-mustache/PKGBUILD @@ -0,0 +1,23 @@ +# Generated by gem2arch (https://github.com/anatol/gem2arch) +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> + +_gemname=mustache +pkgname=ruby-$_gemname +pkgver=1.0.3 +pkgrel=3 +pkgdesc='Mustache is a framework-agnostic way to render logic-free views.' +arch=(any) +url='http://github.com/defunkt/mustache' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('9e3da0dbb4542a31a995c08be95f154e129719e4') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/abs/extra/ruby-rake/PKGBUILD b/abs/extra/ruby-rake/PKGBUILD new file mode 100644 index 0000000..e4724f5 --- /dev/null +++ b/abs/extra/ruby-rake/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> + +_gemname=rake +pkgname=ruby-$_gemname +pkgver=12.3.0 +pkgrel=1 +pkgdesc='Make-like build tool implemented in Ruby' +provides=(rake) +arch=(any) +url='https://ruby.github.io/rake/' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('8f9e0c0a5fc64bb5d5d4343224ea11497fc1e653') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" +} diff --git a/abs/extra/ruby-rdiscount/PKGBUILD b/abs/extra/ruby-rdiscount/PKGBUILD new file mode 100644 index 0000000..6c43f01 --- /dev/null +++ b/abs/extra/ruby-rdiscount/PKGBUILD @@ -0,0 +1,27 @@ +# $Id$ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Massimiliano Torromeo <massimiliano.torromeo at gmail dot com> +# Contributor: Alexsandr Pavlov <kidoz at mail dot ru> + +_gemname=rdiscount +pkgname=ruby-$_gemname +pkgver=2.2.0.1 +pkgrel=3 +pkgdesc="Fast Implementation of Gruber's Markdown in C" +arch=(x86_64) +url='http://dafoster.net/projects/rdiscount/' +license=(BSD) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('1fb5666607a1c0925d909e05d83a873d751bf3e3') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + rm -rf "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/ext" +} diff --git a/abs/extra/ruby-rdoc/PKGBUILD b/abs/extra/ruby-rdoc/PKGBUILD new file mode 100644 index 0000000..aeb0c8c --- /dev/null +++ b/abs/extra/ruby-rdoc/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> + +_gemname=rdoc +pkgname=ruby-$_gemname +pkgver=6.0.1 +pkgrel=1 +pkgdesc='Command-line documentation generator for Ruby projects' +arch=(any) +url='https://ruby.github.io/rdoc/' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('ba0979650b3637cd00126d50d631e381caff72a7') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" +} diff --git a/abs/extra/ruby-ronn/PKGBUILD b/abs/extra/ruby-ronn/PKGBUILD new file mode 100644 index 0000000..bbda0e9 --- /dev/null +++ b/abs/extra/ruby-ronn/PKGBUILD @@ -0,0 +1,27 @@ +# Generated by gem2arch (https://github.com/anatol/gem2arch) +# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Alexsandr Pavlov <kidoz at mail dot ru> + +_gemname=ronn +pkgname=ruby-$_gemname +pkgver=0.7.3 +pkgrel=7 +pkgdesc='Manual page formatter that generates man pages from markdown' +arch=(any) +url='http://rtomayko.github.com/ronn' +license=(MIT) +depends=(ruby ruby-hpricot ruby-rdiscount ruby-mustache) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('e30936a7e93204a81dd84fc0bff283b645fa1c29') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/man/ronn.1" "$pkgdir/usr/share/man/man1/ronn.1" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/man/ronn-format.7" "$pkgdir/usr/share/man/man7/ronn-format.7" +} diff --git a/abs/extra/ruby/PKGBUILD b/abs/extra/ruby/PKGBUILD index 2e104bd..057d0a2 100644 --- a/abs/extra/ruby/PKGBUILD +++ b/abs/extra/ruby/PKGBUILD @@ -1,25 +1,31 @@ -# Maintainer: Thomas Dziedzic <gostrc@gmail.com> +# Contributor: Thomas Dziedzic <gostrc@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> # Contributor: Jeramy Rutley <jrutley@gmail.com> pkgname=(ruby ruby-docs) -pkgver=2.4.0 -pkgrel=1 -arch=(i686 x86_64) +pkgver=2.5.0 +pkgrel=4 +arch=(x86_64) url='http://www.ruby-lang.org/en/' license=(BSD custom) makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk) options=(!emptydirs) source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz gemrc) -sha1sums=('038804bbd0e77508dd2510b729a9f3b325489b2e' - 'dc536754c8fac2c3d82965c5a708cd8f79562d98') +sha512sums=('55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578' + '8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911') + +prepare() { + cd ruby-${pkgver} + # remove bundled gems, we are going to ship them as separate packages + rm -rf gems/ +} build() { cd ruby-${pkgver} - PKG_CONFIG=/usr/bin/pkg-config ./configure \ + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ @@ -45,8 +51,7 @@ package_ruby() { 'ruby-docs: Ruby documentation' 'tk: for Ruby/TK' ) - provides=(rubygems rake) - conflicts=(rake) + provides=(rubygems) backup=(etc/gemrc) install=ruby.install @@ -58,6 +63,14 @@ package_ruby() { install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE" install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL" + + gemver=${pkgver:0:3}.0 + # remove bundled rdoc gem + # we are doing it here instead of prepare() because rdoc used doring Ruby build process + rm -r "${pkgdir}"/usr/lib/ruby/${gemver}/rdoc/ + rm -r "${pkgdir}"/usr/bin/{rdoc,ri} + rm -r "${pkgdir}"/usr/lib/ruby/gems/${gemver}/gems/* + rm -r "${pkgdir}"/usr/lib/ruby/gems/${gemver}/specifications/default/rdoc-*.gemspec } package_ruby-docs() { diff --git a/abs/extra/ruby/ruby.install b/abs/extra/ruby/ruby.install index ce78e96..165936c 100644 --- a/abs/extra/ruby/ruby.install +++ b/abs/extra/ruby/ruby.install @@ -3,7 +3,7 @@ print_gem_default_target() { echo 'The default location of gem installs is $HOME/.gem/ruby' echo 'Add the following line to your PATH if you plan to install using gem' - echo '$(ruby -rubygems -e "puts Gem.user_dir")/bin' + echo '$(ruby -e "puts Gem.user_dir")/bin' echo 'If you want to install to the system wide location, you must either:' echo 'edit /etc/gemrc or run gem with the --no-user-install flag.' } diff --git a/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch deleted file mode 100644 index d77d7fb..0000000 --- a/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 9d9b38b434b9d2e4b3bddd618cea944dfb960966 Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras <evangelos@foutrelis.com> -Date: Mon, 13 Apr 2015 22:03:14 +0300 -Subject: [PATCH] s4:lib/tls: use gnutls_priority_set_direct() - -gnutls_certificate_type_set_priority() was removed in GnuTLS 3.4.0. ---- - source4/lib/tls/tls.c | 4 +--- - source4/lib/tls/tls_tstream.c | 9 +-------- - 2 files changed, 2 insertions(+), 11 deletions(-) - -diff --git a/source4/lib/tls/tls.c b/source4/lib/tls/tls.c -index b9182ad..2bcbb80 100644 ---- a/source4/lib/tls/tls.c -+++ b/source4/lib/tls/tls.c -@@ -572,7 +572,6 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx, - { - struct tls_context *tls; - int ret = 0; -- const int cert_type_priority[] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 }; - struct socket_context *new_sock; - NTSTATUS nt_status; - -@@ -597,8 +596,7 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx, - gnutls_certificate_allocate_credentials(&tls->xcred); - gnutls_certificate_set_x509_trust_file(tls->xcred, ca_path, GNUTLS_X509_FMT_PEM); - TLSCHECK(gnutls_init(&tls->session, GNUTLS_CLIENT)); -- TLSCHECK(gnutls_set_default_priority(tls->session)); -- gnutls_certificate_type_set_priority(tls->session, cert_type_priority); -+ TLSCHECK(gnutls_priority_set_direct(tls->session, "NORMAL:+CTYPE-OPENPGP", NULL)); - TLSCHECK(gnutls_credentials_set(tls->session, GNUTLS_CRD_CERTIFICATE, tls->xcred)); - - talloc_set_destructor(tls, tls_destructor); -diff --git a/source4/lib/tls/tls_tstream.c b/source4/lib/tls/tls_tstream.c -index f19f5c5..ff0e881 100644 ---- a/source4/lib/tls/tls_tstream.c -+++ b/source4/lib/tls/tls_tstream.c -@@ -967,11 +967,6 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx, - #if ENABLE_GNUTLS - struct tstream_tls *tlss; - int ret; -- static const int cert_type_priority[] = { -- GNUTLS_CRT_X509, -- GNUTLS_CRT_OPENPGP, -- 0 -- }; - #endif /* ENABLE_GNUTLS */ - - req = tevent_req_create(mem_ctx, &state, -@@ -1007,15 +1002,13 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx, - return tevent_req_post(req, ev); - } - -- ret = gnutls_set_default_priority(tlss->tls_session); -+ ret = gnutls_priority_set_direct(tlss->tls_session, "NORMAL:+CTYPE-OPENPGP", NULL); - if (ret != GNUTLS_E_SUCCESS) { - DEBUG(0,("TLS %s - %s\n", __location__, gnutls_strerror(ret))); - tevent_req_error(req, EINVAL); - return tevent_req_post(req, ev); - } - -- gnutls_certificate_type_set_priority(tlss->tls_session, cert_type_priority); -- - ret = gnutls_credentials_set(tlss->tls_session, - GNUTLS_CRD_CERTIFICATE, - tls_params->x509_cred); --- -2.3.5 - diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD index 13ddd78..54f5b82 100644 --- a/abs/extra/samba/PKGBUILD +++ b/abs/extra/samba/PKGBUILD @@ -10,49 +10,42 @@ pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=4.3.4 -# We use the 'A' to fake out pacman's version comparators. Samba chooses -# to append 'a','b',etc to their subsequent releases, which pacman -# misconstrues as alpha, beta, etc. Bad samba! -_realver=4.3.4 +pkgver=4.8.0 pkgrel=1 -arch=(i686 x86_64) +arch=(x86_64) url="http://www.samba.org" license=('GPL3') makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' - 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' - 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus') -source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz - http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.asc + 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' 'systemd' + 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus' 'libaio' 'perl-parse-yapp') +source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar.gz + http://us1.samba.org/samba/ftp/stable/${pkgbase}-${pkgver}.tar.asc samba.logrotate samba.pam - samba.service - samba.conf.d - smbd.service - smbd.socket - nmbd.service - smbd@.service - winbindd.service samba.conf) validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key <samba-bugs@samba.org> ### UNINSTALL dmapi package before building!!! +prepare() { + cd samba-${pkgver} +} + build() { # Use samba-pkg as a staging directory for the split packages # (This is so RPATHS and symlinks are generated correctly via # make install, but the otherwise unsplit pieces can be split) _pkgsrc=${srcdir}/samba-pkg rm -rf ${_pkgsrc} - cd ${srcdir}/samba-${_realver} + cd ${srcdir}/samba-${pkgver} # change to use python2 SAVEIFS=${IFS} IFS=$(echo -en "\n\b") - PYTHON_CALLERS="$(find ${srcdir}/samba-${_realver} -name '*.py') -$(find ${srcdir}/samba-${_realver} -name 'wscript*') -$(find ${srcdir}/samba-${_realver} -name 'configure.ac') -$(find ${srcdir}/samba-${_realver} -name 'upgrade_from_s3') -$(find ${srcdir}/samba-${_realver}/buildtools -type f) -$(find ${srcdir}/samba-${_realver}/source4/scripting -type f)" + PYTHON_CALLERS="$(find ${srcdir}/samba-${pkgver} -name '*.py') +$(find ${srcdir}/samba-${pkgver} -name 'wscript*') +$(find ${srcdir}/samba-${pkgver} -name 'configure.ac') +$(find ${srcdir}/samba-${pkgver} -name 'upgrade_from_s3') +$(find ${srcdir}/samba-${pkgver}/buildtools -type f) +$(find ${srcdir}/samba-${pkgver}/source4/scripting -type f)" sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \ -e "s|python-config|python2-config|" \ -e "s|bin/python|bin/python2|" \ @@ -63,11 +56,12 @@ $(find ${srcdir}/samba-${_realver}/source4/scripting -type f)" _samba4_idmap_modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2 _samba4_pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4 _samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 - cd ${srcdir}/samba-${_realver} + cd ${srcdir}/samba-${pkgver} ./configure --enable-fhs \ --prefix=/usr \ --sbindir=/usr/bin \ --libdir=/usr/lib \ + --libexecdir=/usr/lib/samba \ --localstatedir=/var \ --with-configdir=/etc/samba \ --with-lockdir=/var/cache/samba \ @@ -77,6 +71,8 @@ _samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,a --with-ldap \ --with-winbind \ --with-acl-support \ + --with-systemd \ + --systemd-install-services \ --enable-gnutls \ --with-pam \ --with-pammodulesdir=/usr/lib/security \ @@ -91,7 +87,7 @@ _samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,a # This gets skipped somehow if [ ! -e ${_pkgsrc}/usr/bin/smbtar ]; then - install -m755 ${srcdir}/samba-${_realver}/source3/script/smbtar ${_pkgsrc}/usr/bin/ + install -m755 ${srcdir}/samba-${pkgver}/source3/script/smbtar ${_pkgsrc}/usr/bin/ fi } @@ -107,7 +103,7 @@ depends=('glibc' 'libbsd') install -d -m755 ${pkgdir}/usr/lib/samba mv ${_pkgsrc}/usr/lib/samba/libwinbind-client*.so* ${pkgdir}/usr/lib/samba/ - #mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/ + mv ${_pkgsrc}/usr/lib/samba/libreplace-samba4.so* ${pkgdir}/usr/lib/samba/ install -d -m755 ${pkgdir}/usr/lib/pkgconfig mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/ @@ -149,7 +145,6 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' install -d -m755 ${pkgdir}/usr/lib/pkgconfig mv ${_pkgsrc}/usr/lib/pkgconfig/smbclient.pc ${pkgdir}/usr/lib/pkgconfig/ - mv ${_pkgsrc}/usr/lib/pkgconfig/smbclient-raw.pc ${pkgdir}/usr/lib/pkgconfig/ mv ${_pkgsrc}/usr/lib/pkgconfig/netapi.pc ${pkgdir}/usr/lib/pkgconfig/ install -d -m755 ${pkgdir}/usr/share/man/man1 @@ -175,8 +170,8 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' package_samba() { pkgdesc="SMB Fileserver and AD Domain server" -depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gnutls>=2.4.1' - 'talloc' 'ldb' 'libbsd' 'python2' 'iniparser' 'tdb' 'libaio' "smbclient>=$pkgver") +depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gamin' 'gnutls>=2.4.1' + 'talloc' 'ldb' 'libbsd' 'python2' 'iniparser' 'tdb' 'libaio' 'perl-parse-yapp' "smbclient>=$pkgver") backup=(etc/logrotate.d/samba etc/pam.d/samba etc/samba/smb.conf @@ -208,20 +203,16 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ ${pkgdir}/usr/${script} done - # install systemd files - install -d -m755 ${pkgdir}/usr/lib/systemd/system - #for i in smbd nmbd winbindd; do - install -m644 ${srcdir}/*.service ${pkgdir}/usr/lib/systemd/system/ - install -m644 ${srcdir}/*.socket ${pkgdir}/usr/lib/systemd/system/ - install -d -m755 ${pkgdir}/etc/conf.d - install -m644 ${srcdir}/samba.conf.d ${pkgdir}/etc/conf.d/samba - #done + # packaging/wscript_build to use /etc/conf.d + sed -i -e '/^EnvironmentFile/ s/sysconfig/conf.d/' "${pkgdir}"/usr/lib/systemd/system/*.service + install -d -m755 "${pkgdir}"/etc/conf.d + install -m644 "${srcdir}"/samba-${pkgver}/packaging/systemd/samba.sysconfig "${pkgdir}"/etc/conf.d/samba + # create ephemeral dirs via tmpfiles rather than shipping them in package install -D -m644 ${srcdir}/samba.conf ${pkgdir}/usr/lib/tmpfiles.d/samba.conf - # install sample smb.conf + # create config dir install -d -m755 ${pkgdir}/etc/samba - install -m644 ${srcdir}/samba-${_realver}/packaging/LSB/smb.conf ${pkgdir}/etc/samba/smb.conf.default - + mkdir -p ${pkgdir}/etc/samba/private chmod 700 ${pkgdir}/etc/samba/private @@ -231,9 +222,6 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ # winbind krb5 locator mkdir -p ${pkgdir}/usr/lib/krb5/plugins/libkrb5 mv ${pkgdir}/usr/lib/*.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/ - - # fix logrotate - sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default # spool directory install -d -m1777 ${pkgdir}/var/spool/samba @@ -241,17 +229,10 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ rm -rf ${pkgdir}/var/run # copy ldap example - install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema + install -D -m644 ${srcdir}/samba-${pkgver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('48df803c6c6c475a714cae82a2dc219e' +md5sums=('3724c1d3d1befe12ecf7bb86ed7e3463' 'SKIP' - '5697da77590ec092cc8a883bae06093c' + '995621522c6ec9b68c1b858ceed627ed' '96f82c38f3f540b53f3e5144900acf17' - 'ee4763a656cf00d92bfda31b6bb2c5cb' - '6c447748a064d631435dbef0a3dcf32f' - 'e4ae6a3cac080602120aa151918c4a36' - 'a78b9aa93eb14b0ac445897395693225' - 'df6380c73cb73163968eabc8650f7358' - '70afd2db60a2e8eff7615dbdecd887ac' - 'd5f56f43e1280bba20f6bbd88d16fa41' '49abd7b719e3713a3f75a8a50958e381') diff --git a/abs/extra/samba/__changelog b/abs/extra/samba/__changelog index 8fcf9eb..3bbb112 100644 --- a/abs/extra/samba/__changelog +++ b/abs/extra/samba/__changelog @@ -1,2 +1,2 @@ -PKGBUILD: remove fam/gamin, systemd +PKGBUILD: remove fam/gamin samba.install: add systemconfig.py -m fileshare diff --git a/abs/extra/samba/samba.install b/abs/extra/samba/samba.install index 26dbfa4..9562d78 100644 --- a/abs/extra/samba/samba.install +++ b/abs/extra/samba/samba.install @@ -1,9 +1,5 @@ #!/bin/sh -post_install() { - systemd-tmpfiles --create samba.conf -} - post_upgrade() { if [ "$(vercmp $2 4.0.4)" -lt 0 ]; then echo "Major upgrade from samba 3.x to 4.x," diff --git a/abs/extra/samba/samba.logrotate b/abs/extra/samba/samba.logrotate index 581f4c3..ff28608 100644 --- a/abs/extra/samba/samba.logrotate +++ b/abs/extra/samba/samba.logrotate @@ -1,9 +1,5 @@ /var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log { notifempty missingok - sharedscripts copytruncate - postrotate - /bin/kill -HUP `cat /var/run/samba/*.pid 2>/dev/null` 2>/dev/null || true - endscript } diff --git a/abs/extra/serf/PKGBUILD b/abs/extra/serf/PKGBUILD new file mode 100644 index 0000000..cc509c3 --- /dev/null +++ b/abs/extra/serf/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> + +pkgname=serf +pkgver=1.3.9 +pkgrel=2 +pkgdesc="High-performance asynchronous HTTP client library" +arch=('x86_64') +url="https://serf.apache.org" +license=('Apache') +depends=('apr-util') +makedepends=('scons') +source=(https://www.apache.org/dist/serf/${pkgname}-${pkgver}.tar.bz2{,.asc}) +validpgpkeys=('C236283C970D2C3CFEEB4936BF35CF0078383142') +sha256sums=('549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + scons CFLAGS="${CFLAGS}" \ + LINKFLAGS="${LDFLAGS}" \ + PREFIX=/usr GSSAPI=/usr/bin/krb5-config +} + +check() { + cd ${pkgname}-${pkgver} + # Runs into infinite loop + #scons check +} + +package() { + cd ${pkgname}-${pkgver} + install -d "${pkgdir}/usr" + scons install --install-sandbox="${pkgdir}" +} diff --git a/abs/extra/sgml-common/PKGBUILD b/abs/extra/sgml-common/PKGBUILD new file mode 100644 index 0000000..9182f0e --- /dev/null +++ b/abs/extra/sgml-common/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor: Andrew Fyfe <andrew@neptune-one.net> +# Maintainer: Jonas Heinrich <onny@project-insanity.org> + +pkgname='sgml-common' +pkgver=0.6.3 +pkgrel=5 +pkgdesc='Tools for maintaining centralized SGML catalogs.' +arch=('any') +url='http://www.docbook.org/xml/' +license=('GPL') +install='sgml-common.install' +depends=('sh') +source=("ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-${pkgver}.tgz" + 'sgml-common-0.6.3-manpage-1.patch') +sha512sums=('3c4a55f555596b2a6bf6af66c497679226e7b40625ac16832150488311cba7f9fc523435eea5837262a5517f5c09c4c0e07fe4a2cf02184d4027609c26e4bc0c' + 'c584ff6e66e1d58456c07849bf96fedd3f1df0b93430f6301c4d4ab9906821dea0cbac82eada19197540b5e31f13febd04fadda5b6e2ba4b0b6ee8f0328292f7') + +prepare() { + cd sgml-common-${pkgver} + patch -Np1 -i ../sgml-common-0.6.3-manpage-1.patch +} + +build() { + cd sgml-common-${pkgver} + autoreconf -vfi + ./configure --prefix=/usr --sysconfdir=/etc + make +} +package(){ + cd sgml-common-${pkgver} + make DESTDIR="$pkgdir" docdir=/usr/share/doc install + +# "$pkgdir/usr/doc" "$pkgdir/usr/share/doc" +} + diff --git a/abs/extra/sgml-common/sgml-common-0.6.3-manpage-1.patch b/abs/extra/sgml-common/sgml-common-0.6.3-manpage-1.patch new file mode 100644 index 0000000..c3773d1 --- /dev/null +++ b/abs/extra/sgml-common/sgml-common-0.6.3-manpage-1.patch @@ -0,0 +1,14 @@ +Submitted By: Thomas Pegg <lnxfreak123 at insightbb dot com> +Date: 2003-11-18 +Initial Package Version: 0.6.3 +Origin: Thomas Pegg +Description: Fixes syntax of Makefile.am for installation of man pages, +for use with current automake versions 1.7.8 and higher. + +diff -Naur sgml-common-0.6.3.orig/doc/man/Makefile.am sgml-common-0.6.3/doc/man/Makefile.am +--- sgml-common-0.6.3.orig/doc/man/Makefile.am 2001-01-30 14:42:22.000000000 +0000 ++++ sgml-common-0.6.3/doc/man/Makefile.am 2003-11-18 16:48:47.000000000 +0000 +@@ -1,2 +1 @@ +-man8dir = $(mandir)/man8 +-man8_DATA = *.8 ++man_MANS = install-catalog.8 diff --git a/abs/extra/sgml-common/sgml-common.install b/abs/extra/sgml-common/sgml-common.install new file mode 100644 index 0000000..4bec109 --- /dev/null +++ b/abs/extra/sgml-common/sgml-common.install @@ -0,0 +1,55 @@ +# arg 1: the new package version +pre_install() { + /bin/true +} + +# arg 1: the new package version +post_install() { + add_catalog "${1%-*}" +} + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + remove_catalog "${2%-*}" +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + add_catalog "${1%-*}" +} + +# arg 1: the old package version +pre_remove() { + remove_catalog "${1%-*}" +} + +# arg 1: the old package version +post_remove() { + /bin/true +} + + +add_catalog() { + install-catalog --add /etc/sgml/sgml-ent.cat \ + /usr/share/sgml/sgml-iso-entities-8879.1986/catalog > /dev/null 2>&1 + + install-catalog --add /etc/sgml/sgml-docbook.cat \ + /etc/sgml/sgml-ent.cat > /dev/null 2>&1 +} + +remove_catalog() { + install-catalog --remove /etc/sgml/sgml-ent.cat \ + /usr/share/sgml/sgml-iso-entities-8879.1986/catalog > /dev/null 2>&1 + + install-catalog --remove /etc/sgml/sgml-docbook.cat \ + /etc/sgml/sgml-ent.cat > /dev/null 2>&1 +} + +op=$1 +shift +$op "$@" + +# vim:set syntax=sh ts=4 sw=4 noet: + diff --git a/abs/extra/shairplay/PKGBUILD b/abs/extra/shairplay/PKGBUILD index 6dcd537..32840e9 100644 --- a/abs/extra/shairplay/PKGBUILD +++ b/abs/extra/shairplay/PKGBUILD @@ -3,27 +3,33 @@ # Contributor: winlu pkgname=shairplay -_gitname=shairplay -pkgver=20140422 -pkgrel=2 +_commit=ce80e00 +pkgver=20160101.ce80e00 +pkgrel=1 pkgdesc='Apple airplay and raop protocol server' -arch=('i686' 'x86_64') +arch=('x86_64') url='https://github.com/juhovh/shairplay' license=('custom') depends=('libao') optdepends=('avahi: to run the server') makedepends=('git') -source=("$_gitname::git://github.com/juhovh/shairplay.git#commit=64d59e3087f829006d091fa0d114efb50972a2bf" - 'shairplay.service') +source=( + "$pkgname::git://github.com/juhovh/shairplay.git#commit=$_commit" + 'shairplay.service' +) sha256sums=('SKIP' 'f0a176539a6c5be46dc832d054be2f18c3256e5fd34c5f1416c9463bd75c82b3') -options=(!libtool) + +pkgver() { + cd "$pkgname" + git log -1 --date=short --format="%cd.%h" | tr -d '-' +} build() { - cd $_gitname + cd "$pkgname" # installing airport.key to /etc/shairplay/ - sed 's/airport.key/\/etc\/shairplay\/airport.key/' -i "$srcdir/$_gitname"/src/shairplay.c + sed 's/airport.key/\/etc\/shairplay\/airport.key/' -i "$srcdir/$pkgname"/src/shairplay.c ./autogen.sh ./configure --prefix=/usr/ @@ -32,7 +38,7 @@ build() { package() { - cd $_gitname + cd "$pkgname" make DESTDIR="$pkgdir" install # install systemd service file diff --git a/abs/extra/shellinabox/PKGBUILD b/abs/extra/shellinabox/PKGBUILD index fc9a679..baa19a5 100644 --- a/abs/extra/shellinabox/PKGBUILD +++ b/abs/extra/shellinabox/PKGBUILD @@ -1,5 +1,5 @@ pkgname=shellinabox -pkgver=2.19 +pkgver=2.20 pkgrel=1 _pkghash=master pkgdesc="Implementation of a web server that can export arbitrary command line tools to a web based terminal emulator" @@ -18,10 +18,18 @@ build() { #change default to show onscreen keyboard sed -i "s/this.softKeyboard = false;/this.softKeyboard = true;/g" ./shellinabox/vt100.jspp + #fix unsupported option errors with openssh + find . -name "service.c" -exec sed -i -e "s|-oRhostsRSAAuthentication=no||g" {} \; + find . -name "service.c" -exec sed -i -e "s|-oRSAAuthentication=no||g" {} \; + autoreconf -i export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/}" ./configure --prefix=/usr - make + + #fix ssl libs + sed -i -e "s|LIBS = -lz -ldl -lutil|LIBS = -lz -ldl -lutil -lssl -lcrypto|g" ./Makefile + + make } package() { cd "$srcdir/$pkgname-${_pkghash}" @@ -33,6 +41,6 @@ package() { #gen_light_conf install -D -m 744 ${srcdir}/shellinaboxd.gen_light_conf.d ${pkgdir}/etc/gen_light_conf.d/shellinaboxd.conf } -md5sums=('7b7d178a2ec5b63f2b31b2869aa7b755' - 'dd46ab61bfafdb56ea705a876963550e' +md5sums=('20e8876ce8637ebf4fc98b1e7807bed9' + '4c5ce3c17bed94ca71ebafba7f934bba' 'aadd1edf4110aca2d16d806791e90019') diff --git a/abs/extra/shellinabox/shellinaboxd.include b/abs/extra/shellinabox/shellinaboxd.include index 8d2befa..405a323 100644 --- a/abs/extra/shellinabox/shellinaboxd.include +++ b/abs/extra/shellinabox/shellinaboxd.include @@ -1,3 +1,16 @@ +#redirect http to https for /shell +server.modules += ( "mod_redirect" ) + +$HTTP["url"] =~ "^/shell" { + $HTTP["scheme"] == "http" { + # capture vhost name with regex conditiona -> %0 in redirect pattern + # must be the most inner block to the redirect rule + $HTTP["host"] =~ ".*" { + url.redirect = (".*" => "https://%0$0") + } + } +} + #proxy for shellinaboxd $HTTP["url"] =~ "/shell/" { proxy.server = ( "" => ( diff --git a/abs/extra/sip/PKGBUILD b/abs/extra/sip/PKGBUILD deleted file mode 100644 index 866d89d..0000000 --- a/abs/extra/sip/PKGBUILD +++ /dev/null @@ -1,65 +0,0 @@ -# $Id: PKGBUILD 162739 2012-06-29 11:34:13Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> -# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> -# Contributor: riai <riai@bigfoot.com>, Ben <ben@benmazer.net> - -pkgbase=sip -pkgname=('sip' 'python2-sip') -pkgver=4.13.3 -pkgrel=2 -arch=('i686' 'x86_64') -url="http://www.riverbankcomputing.com/software/sip/" -license=('custom:"sip"') -makedepends=( 'python2') -source=("http://www.riverbankcomputing.com/static/Downloads/sip4/${pkgbase}-${pkgver}.tar.gz") -md5sums=('76192829cc42ec558db46e4f9e1d8ba9') - -build() { - cd "${srcdir}" - cp -r ${pkgbase}-${pkgver} python2-${pkgbase}-${pkgver} - - #cd "${srcdir}/${pkgbase}-${pkgver}" - #python configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}" - #make - - ### Python2 version ### - cd "${srcdir}/python2-${pkgbase}-${pkgver}" - python2 configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}" - make -} - -package_sip() { - pkgdesc="A tool that makes it easy to create Python bindings for C and C++ libraries" - depends=('glibc') - - cd "${srcdir}/python2-${pkgbase}-${pkgver}" - make DESTDIR="${pkgdir}" install -C sipgen - - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} - -package_python-sip1() { - pkgdesc="Python 3.x SIP bindings for C and C++ libraries" - depends=('sip' 'python') - - cd "${srcdir}/${pkgbase}-${pkgver}" - make DESTDIR="${pkgdir}" install -C siplib - - install -Dm644 sipconfig.py "${pkgdir}"/usr/lib/python3.2/site-packages/sipconfig.py - install -Dm644 sipdistutils.py "${pkgdir}"/usr/lib/python3.2/site-packages/sipdistutils.py - - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} - -package_python2-sip() { - pkgdesc="Python 2.x SIP bindings for C and C++ libraries" - depends=('sip' 'python2') - - cd "${srcdir}/python2-${pkgbase}-${pkgver}" - make DESTDIR="${pkgdir}" install -C siplib - - install -Dm644 sipconfig.py "${pkgdir}"/usr/lib/python2.7/site-packages/sipconfig.py - install -Dm644 sipdistutils.py "${pkgdir}"/usr/lib/python2.7/site-packages/sipdistutils.py - - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" -} diff --git a/abs/extra/sip/__changelog b/abs/extra/sip/__changelog deleted file mode 100644 index 9731eb3..0000000 --- a/abs/extra/sip/__changelog +++ /dev/null @@ -1 +0,0 @@ -removed python3 diff --git a/abs/extra/smpeg/PKGBUILD b/abs/extra/smpeg/PKGBUILD index fe2acfe..3b8ee65 100644 --- a/abs/extra/smpeg/PKGBUILD +++ b/abs/extra/smpeg/PKGBUILD @@ -1,35 +1,34 @@ -# $Id: PKGBUILD 168611 2012-10-13 11:49:26Z andyrtr $ -# Maintainer: Eric Belanger <eric@archlinux.org> +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Eric Belanger <eric@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=smpeg -pkgver=0.4.4 -pkgrel=7 +pkgver=0.4.5 +pkgrel=3 pkgdesc="SDL MPEG Player Library" -arch=('i686' 'x86_64') -url="http://icculus.org/smpeg/" -license=('LGPL') -depends=('sdl') -#makedepends=('gtk' 'mesa' 'glu') -makedepends=('gtk' 'mesa' ) -optdepends=('gtk: to use gtv ' 'glu: to use glmovie') -options=('!libtool' '!makeflags') -source=(http://mirrors.dotsrc.org/lokigames/open-source/smpeg/${pkgname}-${pkgver}.tar.gz - smpeg-0.4.4-gcc41.patch) -sha1sums=('6d7f4449472e6270ab435b2224f3fad951c35259' - '7d9a2ad7f6b702dfe3adcb87601d9b55022bbd1e') +arch=(x86_64) +url="https://icculus.org/smpeg/" +license=(LGPL) +depends=(sdl) +makedepends=(mesa glu subversion) +optdepends=('glu: to use glmovie') +source=("$pkgname-$pkgver::svn://svn.icculus.org/smpeg/tags/release_${pkgver//./_}") +sha256sums=('SKIP') + +prepare() { + cd $pkgname-$pkgver + ./autogen.sh +} build() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -p1 -i $srcdir/smpeg-0.4.4-gcc41.patch + cd $pkgname-$pkgver + CFLAGS+=" -Wno-error=narrowing" ./configure --prefix=/usr --mandir=/usr/share/man --disable-static - make LDFLAGS+=-lstdc++ + make } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - # fix aclocal warnings - sed -i "s#(AM_PATH_SMPEG#([AM_PATH_SMPEG]#" ${pkgdir}/usr/share/aclocal/smpeg.m4 + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/smpeg/smpeg-0.4.4-gcc41.patch b/abs/extra/smpeg/smpeg-0.4.4-gcc41.patch deleted file mode 100644 index 4a0eeb4..0000000 --- a/abs/extra/smpeg/smpeg-0.4.4-gcc41.patch +++ /dev/null @@ -1,41 +0,0 @@ -Index: MPEGaudio.h -=================================================================== -RCS file: /cvs/cvsroot/smpeg/MPEGaudio.h,v -retrieving revision 1.23 -diff -u -p -r1.23 MPEGaudio.h ---- smpeg/MPEGaudio.h 17 Jul 2001 19:52:24 -0000 1.23 -+++ smpeg/MPEGaudio.h 6 Dec 2005 06:10:43 -0000 -@@ -151,12 +151,6 @@ private: - /* The actual MPEG audio class */ - class MPEGaudio : public MPEGerror, public MPEGaudioaction { - -- friend void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); -- friend int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len); --#ifdef THREADED_AUDIO -- friend int Decode_MPEGaudio(void *udata); --#endif -- - public: - MPEGaudio(MPEGstream *stream, bool initSDL = true); - virtual ~MPEGaudio(); -@@ -367,6 +361,20 @@ public: - #define N_TIMESTAMPS 5 - - double timestamp[N_TIMESTAMPS]; -+ -+ /* Functions which access MPEGaudio internals */ -+ friend void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); -+ friend int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len); -+#ifdef THREADED_AUDIO -+ friend int Decode_MPEGaudio(void *udata); -+#endif - }; - -+/* Need to duplicate the prototypes, this is not a typo :) */ -+void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len); -+int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len); -+#ifdef THREADED_AUDIO -+int Decode_MPEGaudio(void *udata); -+#endif -+ - #endif /* _MPEGAUDIO_H_ */ diff --git a/abs/extra/source-highlight/PKGBUILD b/abs/extra/source-highlight/PKGBUILD new file mode 100644 index 0000000..6c1ae0c --- /dev/null +++ b/abs/extra/source-highlight/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Douglas Soares de Andrade <douglas@archlinux.org> + +pkgname=source-highlight +pkgver=3.1.8 +pkgrel=14 +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') + +build() { + cd ${pkgname}-${pkgver} + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-bash-completion=/usr/share/bash-completion/completions + make +} + +package() { + cd ${pkgname}-${pkgver} + + make prefix="${pkgdir}/usr" bash_completiondir="${pkgdir}/usr/share/bash-completion/completions" install + + # PKGBUILD syntax highlighting + echo -e "\npkgbuild = sh.lang" >> "${pkgdir}"/usr/share/${pkgname}/lang.map +} diff --git a/abs/extra/sqlite/PKGBUILD b/abs/extra/sqlite/PKGBUILD index 062789e..1e09121 100644 --- a/abs/extra/sqlite/PKGBUILD +++ b/abs/extra/sqlite/PKGBUILD @@ -1,70 +1,108 @@ -# $Id: PKGBUILD 161621 2012-06-12 15:12:59Z andyrtr $ +# $Id$ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgbase="sqlite" -pkgname=('sqlite' 'sqlite-tcl' 'sqlite-doc') -_amalgamationver=3071300 -_amalgamationver2=${_amalgamationver/00/} -_docver=${_amalgamationver} #3070700 -#pkgver=${_amalgamationver2//0/.} -pkgver=3.7.13 +pkgname=('sqlite' 'sqlite-tcl' 'sqlite-doc' 'sqlite-analyzer') +_srcver=3220000 +_docver=${_srcver} +#_docver=3080001 +pkgver=3.22.0 pkgrel=1 pkgdesc="A C library that implements an SQL database engine" -arch=('i686' 'x86_64') -license=('custom') +arch=('x86_64') +license=('custom:Public Domain') url="http://www.sqlite.org/" -makedepends=('tcl' 'readline') -source=( # tarball containing the amalgamation for SQLite >= 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA) - http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz - #http://www.sqlite.org/sqlite-doc-${_amalgamationver}.zip - http://www.sqlite.org/sqlite-doc-${_docver}.zip - license.txt) -options=('!libtool' '!emptydirs') -md5sums=('c97df403e8a3d5b67bb408fcd6aabd8e' - '16a003d5a619a6c725e3d81cf5aaba2a' - 'c1cdbc5544034d9012e421e75a5e4890') +makedepends=('tcl' 'readline' 'zlib') +source=(https://www.sqlite.org/2018/sqlite-src-${_srcver}.zip + https://www.sqlite.org/2018/sqlite-doc-${_docver}.zip + license.txt) +options=('!emptydirs' '!makeflags') # json extensions breaks parallel build +sha1sums=('2bc86f2c63868cebd0db913843b919d62d284094' + '4cbcc5c5029b8e355fa1e5c563a15b91f7ea7ced' + 'f34f6daa4ab3073d74e774aad21d66878cf26853') + +prepare() { + cd sqlite-src-$_srcver +# autoreconf -vfi +} build() { - export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_SECURE_DELETE" + export CPPFLAGS="$CPPFLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1 \ + -DSQLITE_ENABLE_UNLOCK_NOTIFY \ + -DSQLITE_ENABLE_DBSTAT_VTAB=1 \ + -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \ + -DSQLITE_SECURE_DELETE \ + -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ + -DSQLITE_MAX_EXPR_DEPTH=10000" # build sqlite - cd "$srcdir"/sqlite-autoconf-$_amalgamationver - ./configure --prefix=/usr \ - --disable-static - make - - # build the tcl extension - cd "$srcdir"/sqlite-autoconf-$_amalgamationver/tea + cd sqlite-src-$_srcver ./configure --prefix=/usr \ - --with-system-sqlite + --disable-static \ + --disable-amalgamation \ + --enable-fts3 \ + --enable-fts4 \ + --enable-fts5 \ + --enable-rtree \ + --enable-json1 \ + TCLLIBDIR=/usr/lib/sqlite$pkgver make - + # build additional tools + make showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer } package_sqlite() { - + pkgdesc="A C library that implements an SQL database engine" - depends=('readline') + depends=('readline' 'zlib') provides=("sqlite3=$pkgver") replaces=("sqlite3") - - cd ${srcdir}/sqlite-autoconf-$_amalgamationver + + cd sqlite-src-$_srcver make DESTDIR=${pkgdir} install - - # license - install -D -m644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt + + install -m755 showdb showjournal showstat4 showwal sqldiff ${pkgdir}/usr/bin/ + + # install manpage + install -m755 -d ${pkgdir}/usr/share/man/man1 + install -m644 sqlite3.1 ${pkgdir}/usr/share/man/man1/ + + # license - no linking required because pkgbase=pkgname + install -D -m644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgbase}/license.txt + + # split out tcl extension + mkdir $srcdir/tcl + mv $pkgdir/usr/lib/sqlite* $srcdir/tcl } package_sqlite-tcl() { - + pkgdesc="sqlite Tcl Extension Architecture (TEA)" depends=('sqlite') provides=("sqlite3-tcl=$pkgver") replaces=("sqlite3-tcl") - - cd ${srcdir}/sqlite-autoconf-$_amalgamationver/tea - make DESTDIR=${pkgdir} install + + install -m755 -d ${pkgdir}/usr/lib + mv $srcdir/tcl/* ${pkgdir}/usr/lib + + # install manpage + install -m755 -d ${pkgdir}/usr/share/man/mann + install -m644 ${srcdir}/sqlite-src-$_srcver/autoconf/tea/doc/sqlite3.n ${pkgdir}/usr/share/man/mann/ + + # link license + install -m755 -d ${pkgdir}/usr/share/licenses + ln -sf /usr/share/licenses/${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}" +} + +package_sqlite-analyzer() { + + pkgdesc="An analysis program for sqlite3 database files" + depends=('sqlite' 'tcl') + + cd sqlite-src-$_srcver + install -m755 -d ${pkgdir}/usr/bin + install -m755 sqlite3_analyzer ${pkgdir}/usr/bin/ } package_sqlite-doc() { @@ -73,21 +111,8 @@ package_sqlite-doc() { #arch=('any') - not yet supported provides=("sqlite3-doc=$pkgver") replaces=("sqlite3-doc") - - #cd ${srcdir}/sqlite-doc-${_amalgamationver} - cd ${srcdir}/sqlite-doc-${_docver} + + cd sqlite-doc-${_docver} mkdir -p ${pkgdir}/usr/share/doc/${pkgbase} cp -R * ${pkgdir}/usr/share/doc/${pkgbase}/ - - # fix permissions and remove obsolete files; https://bugs.archlinux.org/task/24605 - find ${pkgdir} -type f -perm 755 -exec ls -lha {} \; - find ${pkgdir} -type f -perm 755 -exec chmod 644 {} \; - - find ${pkgdir} -type f -name '*~' -exec ls -lha {} \; - find ${pkgdir} -type d -name '*~' -exec ls -lha {} \; - find ${pkgdir} -name '*~' -exec rm -f {} \; - - find ${pkgdir} -type f -name '.~*' -exec ls -lha {} \; # /build/pkg/sqlite-doc/usr/share/doc/sqlite/images/fileformat/.~lock.indexpage.odg# - find ${pkgdir} -type d -name '.~*' -exec ls -lha {} \; - find ${pkgdir} -name '.~*' -exec rm -f {} \; } diff --git a/abs/extra/subversion/PKGBUILD b/abs/extra/subversion/PKGBUILD index 0086102..c5bee1f 100644 --- a/abs/extra/subversion/PKGBUILD +++ b/abs/extra/subversion/PKGBUILD @@ -1,76 +1,104 @@ -# $Id: PKGBUILD 160577 2012-06-02 10:29:00Z bluewind $ -# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# $Id$ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=subversion -pkgver=1.7.5 -pkgrel=2 +pkgver=1.9.7 +pkgrel=4 pkgdesc="A Modern Concurrent Version Control System" -arch=('i686' 'x86_64') +arch=('x86_64') +url="http://subversion.apache.org/" license=('APACHE') -depends=('neon' 'apr-util' 'sqlite' 'file') -#optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \ -optdepends=('bash-completion: for svn bash completion' \ - 'python2: for some hook scripts') - -makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'autoconf' 'db' 'e2fsprogs') +depends=('sqlite' 'file' 'serf' 'systemd') +makedepends=('apache' 'python2' 'perl' 'swig' 'java-environment' + 'libgnome-keyring' 'ruby') +optdepends=('libgnome-keyring: for GNOME Keyring for auth credentials' + 'kdebase-runtime: for KWallet for auth credentials' + 'bash-completion: for svn bash completion' + 'python2: for some hook scripts' + 'java-environment: for Java support' + 'ruby: for some hook scripts') +provides=('svn') backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') +options=('!makeflags' '!emptydirs') +source=(https://www.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{,.asc} + svn + svnserve.conf + svnserve.tmpfiles + svnserve.service + subversion.rpath.fix.patch + ruby-frozen-nil.patch) +sha512sums=('a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b' + 'SKIP' + '3df59e92aa0314ff6adce26e2e1162bf2872ca03ff1f78891081a60e67b521b6046b4a2f85f718dcd27f9d5709594658817a09548cdb74e3976d371dbe47e7db' + 'f7f2ceac2446cc94ac2be3404083cc54a0f1f4d04d5301f600dfafca38819669bcffdfa45f1b90b9f3cdb042469385a764f11dc1a827f10c23ddf73b7ac6c9da' + '7775f4da5003970c9ebdc2f696ba090df194a77d9daed791875488c943f72ae496b5f9cc6f3ff9f3f4de9f352a3b518137babdea38947d1a2d5dd16aa1844036' + '8cc23ae71bd7ce7c337eaf12929f1af0a11b55250808e88f06397b874daf2efb9491c464be3d082d937a82c2b0b7c3ed06d6695cfd8a3fda1f803bbfd15837de' + '60d538160e738eb3b3e84a3881fe5a8d75c79053d3f31c4c29ef6ace6ccc5dd4367ed712766c911bae3436e9706e4dd144b270bb45161a6c1834a37e154d0440' + 'bb772e55acd9601121ad06b254c364e8d8cf772ca59b8df0cf4c5c5ecba110d4108d0363672f121f770550cdd052802474029e57643258f398aacd2b63ccb898') +validpgpkeys=('19BBCAEF7B19B280A0E2175E62D48FAD16A0DE01' + '8BC4DAE0C5A4D65F404401074F7DBAA99A59B973' + 'BA3C15B1337CF0FB222BD41A1BCA6586A347943F' + 'E7B2A7F4EC28BE9FF8B38BA4B64FFF1209F9FA74' + '3D1DC66D6D2E0B9039528138C4A6C625CCC8E1DF') +# Ben Reser / Stefan Sperling / Branko Čibej / Evgeny Kotkov / Bert Huijben -url="http://subversion.apache.org/" -provides=('svn') -options=('!makeflags' '!libtool' '!emptydirs') -source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc} - svnserve svn svnserve.conf subversion.rpath.fix.patch) -sha1sums=('05c079762690d5ac1ccd2549742e7ef70fa45cf1' - 'b267cba19b4f56360657a5bf5b231950e027a45a' - '64ba3e6ebafc08ac62f59d788f7a825fdce69573' - '73b36c046c09cec2093354911c89e3ba8056af6c' - 'ad117bf3b2a838a9a678a93fd8db1a066ad46c41' - '3d1e28408a9abb42af2e531adc0d01ce21acfad6') +prepare() { + cd ${pkgname}-${pkgver} + patch -Np0 -i ../subversion.rpath.fix.patch + patch -p1 -i ../ruby-frozen-nil.patch + sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py subversion/tests/cmdline/*.py +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} export PYTHON=/usr/bin/python2 - - patch -p0 -i ../subversion.rpath.fix.patch - sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py - ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \ - --with-zlib=/usr --with-neon=/usr --with-apxs \ - --with-sqlite=/usr --with-berkeley-db=:/usr/include/:/usr/lib:db-5.3 -# --enable-javahl --with-gnome-keyring --with-kwallet + --with-zlib=/usr --with-serf=/usr --with-apxs \ + --with-sqlite=/usr \ + --enable-javahl --with-jdk=/usr/lib/jvm/default \ + --with-gnome-keyring --without-kwallet \ + --with-apache-libexecdir=/usr/lib/httpd/modules \ + --with-ruby-sitedir=/usr/lib/ruby/vendor_ruby \ + --disable-static - make external-all - make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all + make LT_LDFLAGS="-L$Fdestdir/usr/lib" make swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ - swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl #javahl # swig-rb + swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl swig-rb } -#check() { -# cd "${srcdir}/${pkgname}-${pkgver}" -# export LANG=C LC_ALL=C -# make check check-swig-pl check-swig-py check-javahl CLEANUP=yes # check-swig-rb -#} +check() { + cd ${pkgname}-${pkgver} + export LANG=C LC_ALL=C + make check check-swig-pl check-swig-py check-swig-rb CLEANUP=yes # check-javahl +} package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH} make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \ swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \ - install install-swig-py install-swig-pl #install-javahl # install-swig-rb + install install-swig-py install-swig-pl install-javahl install-swig-rb - install -d "${pkgdir}"/usr/share/subversion + install -dm755 "${pkgdir}"/usr/share/subversion cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/ rm "${pkgdir}"/usr/share/subversion/hook-scripts/*.in - rm "${pkgdir}"/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist - rm -r "${pkgdir}"/usr/lib/perl5/core_perl + ## svnserve ... - install -D -m 755 "${srcdir}"/svnserve "${pkgdir}"/etc/rc.d/svnserve + # xinetd install -D -m 644 "${srcdir}"/svn "${pkgdir}"/etc/xinetd.d/svn + + # ... systemd + install -D -m 644 "${srcdir}"/svnserve.service "${pkgdir}"/usr/lib/systemd/system/svnserve.service + install -D -m 644 "${srcdir}"/svnserve.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/svnserve.conf + + # ... common config install -D -m 644 "${srcdir}"/svnserve.conf "${pkgdir}"/etc/conf.d/svnserve install -Dm 644 tools/client-side/bash_completion \ @@ -79,3 +107,4 @@ package() { ln -sf subversion "${pkgdir}"/usr/share/bash-completion/completions/${i} done } + diff --git a/abs/extra/subversion/__changelog b/abs/extra/subversion/__changelog index 24ce429..8b2015e 100644 --- a/abs/extra/subversion/__changelog +++ b/abs/extra/subversion/__changelog @@ -1 +1 @@ -remove java,kdelibs , libgnome +PKGBUILD: remove dep kdelibs and --without-kwallet diff --git a/abs/extra/subversion/ruby-frozen-nil.patch b/abs/extra/subversion/ruby-frozen-nil.patch new file mode 100644 index 0000000..ef29bc1 --- /dev/null +++ b/abs/extra/subversion/ruby-frozen-nil.patch @@ -0,0 +1,42 @@ +commit 6c69127693e9e395c026d982f871253548037a4d +Author: James McCoy <jamessan@debian.org> +Date: Sun Nov 8 23:06:45 2015 -0500 + + Create a new Ruby Object instead of attempting to modify nil. + + Starting in Ruby 2.2, the nil, true, and false objects are frozen. This + was causing test_repos.rb's test_load to fail due to calling + "repos.load_fs(nil)". This results in svn_swig_rb_make_stream trying to + attributes on nil, which isn't allowed. + + * subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c: + (svn_swig_rb_make_stream): Create a new Object if the given io is nil. + Also call svn_swig_rb_get_pool in order to deduplicate some + pool-handling code. + +diff --git a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c +index a25ec5a..2210853 100644 +--- a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c ++++ b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c +@@ -3230,14 +3230,16 @@ svn_swig_rb_make_stream(VALUE io) + stream_p = &stream; + r2c_swig_type2(io, "svn_stream_t *", (void **)stream_p); + } else { ++ if (NIL_P(io)) { ++ io = rb_class_new_instance(0, NULL, rb_cObject); ++ } + VALUE rb_pool = rb_pool_new(Qnil); +- apr_pool_wrapper_t *pool_wrapper; +- apr_pool_wrapper_t **pool_wrapper_p; ++ apr_pool_t *pool; ++ ++ svn_swig_rb_get_pool(0, NULL, io, &rb_pool, &pool); + + rb_set_pool(io, rb_pool); +- pool_wrapper_p = &pool_wrapper; +- r2c_swig_type2(rb_pool, "apr_pool_wrapper_t *", (void **)pool_wrapper_p); +- stream = svn_stream_create((void *)io, pool_wrapper->pool); ++ stream = svn_stream_create((void *)io, pool); + svn_stream_set_read2(stream, NULL /* only full read support */, + read_handler_rbio); + svn_stream_set_write(stream, write_handler_rbio); diff --git a/abs/extra/subversion/subversion.rpath.fix.patch b/abs/extra/subversion/subversion.rpath.fix.patch index ba6ee9e..aaec8fd 100644 --- a/abs/extra/subversion/subversion.rpath.fix.patch +++ b/abs/extra/subversion/subversion.rpath.fix.patch @@ -3,8 +3,9 @@ @@ -678,6 +678,7 @@ $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL - cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL + cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix) + cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}} - swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \ - $(SWIG_PL_DIR)/native/Makefile + # There is a "readlink -f" command on some systems for the same purpose, + # but it's not as portable (e.g. Mac OS X doesn't have it). These should + # only be used where Python/Perl are known to be available. diff --git a/abs/extra/subversion/svnserve b/abs/extra/subversion/svnserve deleted file mode 100755 index 670fee7..0000000 --- a/abs/extra/subversion/svnserve +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/svnserve - -PID=`pidof -o %PPID /usr/bin/svnserve` -case "$1" in - start) - stat_busy "Starting svnserve" - if [ -z "$PID" ]; then - if [ -n "$SVNSERVE_USER" ]; then - su -s '/bin/sh' $SVNSERVE_USER -c "/usr/bin/svnserve -d $SVNSERVE_ARGS" & - else - /usr/bin/svnserve -d $SVNSERVE_ARGS & - fi - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon svnserve - stat_done - fi - ;; - stop) - stat_busy "Stopping svnserve" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon svnserve - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac diff --git a/abs/extra/subversion/svnserve.conf b/abs/extra/subversion/svnserve.conf index 37fb7ea..f4dc40f 100644 --- a/abs/extra/subversion/svnserve.conf +++ b/abs/extra/subversion/svnserve.conf @@ -3,5 +3,3 @@ # #SVNSERVE_ARGS="-r /path/to/some/repos" SVNSERVE_ARGS="" - -#SVNSERVE_USER="svn" diff --git a/abs/extra/subversion/svnserve.service b/abs/extra/subversion/svnserve.service new file mode 100644 index 0000000..713aba5 --- /dev/null +++ b/abs/extra/subversion/svnserve.service @@ -0,0 +1,11 @@ +[Unit] +Description=Subversion protocol daemon +After=syslog.target network.target + +[Service] +Type=forking +EnvironmentFile=/etc/conf.d/svnserve +ExecStart=/usr/bin/svnserve --daemon $SVNSERVE_ARGS + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/subversion/svnserve.tmpfiles b/abs/extra/subversion/svnserve.tmpfiles new file mode 100644 index 0000000..e8487d3 --- /dev/null +++ b/abs/extra/subversion/svnserve.tmpfiles @@ -0,0 +1 @@ +D /run/svnserve 0700 root root - diff --git a/abs/extra/sysstat/PKGBUILD b/abs/extra/sysstat/PKGBUILD index 0c7867a..bf22090 100644 --- a/abs/extra/sysstat/PKGBUILD +++ b/abs/extra/sysstat/PKGBUILD @@ -1,43 +1,48 @@ -# $Id: PKGBUILD 77464 2012-10-10 16:04:46Z spupykin $ +# $Id$ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Martin Devera <devik@cdi.cz> pkgname=sysstat -pkgver=10.1.2 +pkgver=11.7.3 pkgrel=1 pkgdesc="a collection of performance monitoring tools (iostat,isag,mpstat,pidstat,sadf,sar)" -arch=('i686' 'x86_64') +arch=('x86_64') url="http://pagesperso-orange.fr/sebastien.godard/" license=('GPL') depends=('lm_sensors') +makedepends=('systemd') optdepends=('tk: to use isag' 'gnuplot: to use isag') -options=(zipman) +options=('zipman') backup=('etc/conf.d/sysstat' 'etc/conf.d/sysstat.ioconf') -source=(http://pagesperso-orange.fr/sebastien.godard/$pkgname-$pkgver.tar.gz - sysstat - sysstat.service) -md5sums=('c40626b96cc2b4cf303cbcf1efc96eba' - '3ce41ebf7330aba01e70b38658afed1f' - '12ba479c606620193e8b7c6e982d5088') +source=("http://pagesperso-orange.fr/sebastien.godard/${pkgname}-${pkgver}.tar.xz" + 'lib64-fix.patch') +sha512sums=('c752ebba4d25a30147e68d0cb44d93020bb9b44823812c99550f6b34b42fc6f015c28ef0e6609a1e33ae6e4de566ae2d0e8a4711e412a4298baf5721dd15d27f' + '46ec3eebb12232d30cddba60f16a57cd8d625513cf002d9e501797a6660f9da9cb4116ec81d0c292644fb6d91eb05c7be458da667260b238bcfef532a020b114') + +prepare() { + cd "${srcdir}"/"${pkgname}"-"${pkgver}" + patch -p1 < "${srcdir}"/lib64-fix.patch + autoreconf +} build() { - cd $srcdir/$pkgname-$pkgver + cd "${srcdir}"/"${pkgname}"-"${pkgver}" conf_dir=/etc/conf.d ./configure --prefix=/usr \ --enable-yesterday \ --mandir=/usr/share/man \ --enable-install-isag \ + --enable-install-cron \ + --enable-copy-only \ --disable-man-group make } package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - install -D -m 744 cron/sysstat.cron.hourly $pkgdir/etc/cron.hourly/sysstat - install -D -m 744 cron/sysstat.cron.daily $pkgdir/etc/cron.daily/sysstat - install -D -m 755 $srcdir/sysstat $pkgdir/etc/rc.d/sysstat - chown -R root:root $pkgdir - install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service + cd "${srcdir}"/"${pkgname}"-"${pkgver}" + mkdir -p "${pkgdir}"/usr/lib/systemd/system + make DESTDIR="${pkgdir}" install + chown -R root:root "${pkgdir}" + rm -rf "${pkgdir}"/etc/rc* } diff --git a/abs/extra/sysstat/lib64-fix.patch b/abs/extra/sysstat/lib64-fix.patch new file mode 100644 index 0000000..10984f7 --- /dev/null +++ b/abs/extra/sysstat/lib64-fix.patch @@ -0,0 +1,25 @@ +diff -wbBur sysstat-11.1.3.org/configure.in sysstat-11.1.3/configure.in +--- sysstat-11.1.3.org/configure.in 2015-02-13 17:05:44.000000000 +0300 ++++ sysstat-11.1.3/configure.in 2015-02-16 13:25:26.201405593 +0300 +@@ -209,21 +209,6 @@ + fi + + SADC_DIR=$AuxPrefix/lib +-if test -d $AuxPrefix/lib64; then +- # Verify that this OS is really 64 bit +- BITS=$(getconf LONG_BIT 2>/dev/null) +- if test $? = 0; then +- if test $BITS = 64; then +- SADC_DIR=$AuxPrefix/lib64 +- fi +- else +- # Fallback: look for lm (long mode) flag to know if CPU is 64 bit +- grep " lm " /proc/cpuinfo >/dev/null 2>&1 +- if test $? = 0; then +- SADC_DIR=$AuxPrefix/lib64 +- fi +- fi +-fi + + AC_MSG_CHECKING(sadc directory) + AC_ARG_VAR([sa_lib_dir],[sadc directory]) diff --git a/abs/extra/sysstat/sysstat.service b/abs/extra/sysstat/sysstat.service deleted file mode 100644 index 2ff2365..0000000 --- a/abs/extra/sysstat/sysstat.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description= Resets System Activity Logs -After=syslog.target - -[Service] -Type=oneshot -ExecStart=/usr/lib/sa/sa1 --boot -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/abs/extra/t1lib/CVE-2010-2642.patch b/abs/extra/t1lib/CVE-2010-2642.patch new file mode 100644 index 0000000..cd54889 --- /dev/null +++ b/abs/extra/t1lib/CVE-2010-2642.patch @@ -0,0 +1,24 @@ +diff --git a/lib/t1lib/parseAFM.c b/lib/t1lib/parseAFM.c +index 6a31d7f..ba64541 100644 +--- a/lib/t1lib/parseAFM.c ++++ b/lib/t1lib/parseAFM.c +@@ -199,7 +199,9 @@ static char *token(stream) + idx = 0; + + while (ch != EOF && ch != ' ' && ch != CR && ch != LF && +- ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){ ++ ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';' ++ && idx < (MAX_NAME -1)) ++ { + ident[idx++] = ch; + ch = fgetc(stream); + } /* while */ +@@ -235,7 +237,7 @@ static char *linetoken(stream) + while ((ch = fgetc(stream)) == ' ' || ch == '\t' ); + + idx = 0; +- while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z) ++ while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1)) + { + ident[idx++] = ch; + ch = fgetc(stream); diff --git a/abs/extra/t1lib/CVE-2011-0764.diff b/abs/extra/t1lib/CVE-2011-0764.diff new file mode 100644 index 0000000..c2d9e17 --- /dev/null +++ b/abs/extra/t1lib/CVE-2011-0764.diff @@ -0,0 +1,32 @@ +Description: Don't lookup previous point if there isn't any +Author: Marc Deslauriers <marc.deslauriers@canonical.com> +Forwarded: no + +Index: t1lib-5.1.2/lib/type1/type1.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/type1.c 2011-12-13 14:24:14.280965637 -0600 ++++ t1lib-5.1.2/lib/type1/type1.c 2011-12-13 14:25:25.893320747 -0600 +@@ -1700,6 +1700,7 @@ + long pindex = 0; + + /* compute hinting for previous segment! */ ++ if (ppoints == NULL) Error0i("RLineTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy); + + /* Allocate a new path point and pre-setup data */ +@@ -1728,6 +1729,7 @@ + long pindex = 0; + + /* compute hinting for previous point! */ ++ if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1); + + /* Allocate three new path points and pre-setup data */ +@@ -1903,6 +1905,7 @@ + FindStems( currx, curry, 0, 0, dx, dy); + } + else { ++ if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n"); + FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy); + } + diff --git a/abs/extra/t1lib/CVE-2011-1552_1553_1554.patch b/abs/extra/t1lib/CVE-2011-1552_1553_1554.patch new file mode 100644 index 0000000..aaa31f7 --- /dev/null +++ b/abs/extra/t1lib/CVE-2011-1552_1553_1554.patch @@ -0,0 +1,133 @@ +Author: Jaroslav Škarvada <jskarvad@redhat.com> +Description: Fix more crashes on oversized fonts +Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909 +Index: t1lib-5.1.2/lib/type1/lines.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600 +@@ -67,6 +67,10 @@ + None. + */ + ++#define BITS (sizeof(LONG)*8) ++#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */ ++#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy)) ++ + /* + :h2.StepLine() - Produces Run Ends for a Line After Checks + +@@ -84,6 +88,9 @@ + IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n", + x1, y1, x2, y2); + ++ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2)) ++ abort("Lines this big not supported", 49); ++ + dy = y2 - y1; + + /* +Index: t1lib-5.1.2/lib/type1/objects.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600 +@@ -1137,12 +1137,13 @@ + "Context: out of them", /* 46 */ + "MatrixInvert: can't", /* 47 */ + "xiStub called", /* 48 */ +- "Illegal access type1 abort() message" /* 49 */ ++ "Lines this big not supported", /* 49 */ ++ "Illegal access type1 abort() message" /* 50 */ + }; + +- /* no is valid from 1 to 48 */ +- if ( (number<1)||(number>48)) +- number=49; ++ /* no is valid from 1 to 49 */ ++ if ( (number<1)||(number>49)) ++ number=50; + return( err_msgs[number-1]); + + } +Index: t1lib-5.1.2/lib/type1/type1.c +=================================================================== +--- t1lib-5.1.2.orig/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600 ++++ t1lib-5.1.2/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600 +@@ -1012,6 +1012,7 @@ + double nextdtana = 0.0; /* tangent of post-delta against horizontal line */ + double nextdtanb = 0.0; /* tangent of post-delta against vertical line */ + ++ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n"); + + /* setup default hinted position */ + ppoints[numppoints-1].ax = ppoints[numppoints-1].x; +@@ -1289,7 +1290,7 @@ + static int DoRead(CodeP) + int *CodeP; + { +- if (strindex >= CharStringP->len) return(FALSE); /* end of string */ ++ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */ + /* We handle the non-documented Adobe convention to use lenIV=-1 to + suppress charstring encryption. */ + if (blues->lenIV==-1) { +@@ -1700,7 +1701,7 @@ + long pindex = 0; + + /* compute hinting for previous segment! */ +- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy); + + /* Allocate a new path point and pre-setup data */ +@@ -1729,7 +1730,7 @@ + long pindex = 0; + + /* compute hinting for previous point! */ +- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n"); + FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1); + + /* Allocate three new path points and pre-setup data */ +@@ -1788,7 +1789,9 @@ + long tmpind; + double deltax = 0.0; + double deltay = 0.0; +- ++ ++ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!"); ++ + /* If this ClosePath command together with the starting point of this + path completes to a segment aligned to a stem, we would miss + hinting for this point. --> Check and explicitly care for this! */ +@@ -1803,6 +1806,7 @@ + deltax = ppoints[i].x - ppoints[numppoints-1].x; + deltay = ppoints[i].y - ppoints[numppoints-1].y; + ++ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!"); + /* save nummppoints and reset to move point */ + tmpind = numppoints; + numppoints = i + 1; +@@ -1905,7 +1909,7 @@ + FindStems( currx, curry, 0, 0, dx, dy); + } + else { +- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n"); ++ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n"); + FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy); + } + +@@ -2155,6 +2159,7 @@ + DOUBLE cx, cy; + DOUBLE ex, ey; + ++ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!"); + + /* Our PPOINT list now contains 7 moveto commands which + are about to be consumed by the Flex mechanism. --> Remove these +@@ -2324,6 +2329,7 @@ + /* Returns currentpoint on stack */ + static void FlxProc2() + { ++ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!"); + /* Push CurrentPoint on fake PostScript stack */ + PSFakePush( ppoints[numppoints-1].x); + PSFakePush( ppoints[numppoints-1].y); diff --git a/abs/extra/t1lib/PKGBUILD b/abs/extra/t1lib/PKGBUILD new file mode 100644 index 0000000..1c43cc8 --- /dev/null +++ b/abs/extra/t1lib/PKGBUILD @@ -0,0 +1,44 @@ +# $Id$ +# Maintainer: tobias <tobias@archlinux.org> +# Contributor: Rainer Moll <renari@arcor.de> + +pkgname=t1lib +pkgver=5.1.2 +pkgrel=6 +pkgdesc="Library for generating character- and string-glyphs from Adobe Type 1 fonts" +arch=('x86_64') +url="https://www.ibiblio.org/pub/Linux/libs/graphics/!INDEX.html" +license=('GPL') +depends=('libxaw') +source=(https://www.ibiblio.org/pub/Linux/libs/graphics/${pkgname}-${pkgver}.tar.gz + lib-cleanup.diff + format-security.diff + CVE-2011-0764.diff + CVE-2011-1552_1553_1554.patch + CVE-2010-2642.patch) +sha256sums=('821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59' + '5b161f4e0f4ad297ad8eea70ea99620f5db6f7e487bbd63a819b6a9958540961' + '89b0aa7ca57fd8e9753336033c1d3e3e58c6c79e943144430e8af9a4626fdd25' + 'a763650bdcffd33a61cd2cecef766b8d6baa9999561463ae9dfdc20d55caef04' + '4bc34e092fdec37e06b38b5b7a3b02194732dbe6a39edbd174b36c2db1f113ac' + 'dcd9064f368e0fc1f3ede0a45e61b364f6b5d3607dccae78ac07e74ca315a27d') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../lib-cleanup.diff + patch -Np1 -i ../format-security.diff + patch -Np1 -i ../CVE-2011-0764.diff + patch -Np1 -i ../CVE-2011-1552_1553_1554.patch + patch -Np1 -i ../CVE-2010-2642.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make without_doc +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/t1lib/format-security.diff b/abs/extra/t1lib/format-security.diff new file mode 100644 index 0000000..4425455 --- /dev/null +++ b/abs/extra/t1lib/format-security.diff @@ -0,0 +1,33 @@ +--- a/lib/type1/objects.c ++++ b/lib/type1/objects.c +@@ -957,7 +957,7 @@ + + sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n", + name, TypeFmt(expect), TypeFmt(obj->type)); +- IfTrace0(TRUE,typemsg); ++ IfTrace1(TRUE, "%s", typemsg); + + ObjectPostMortem(obj); + +--- a/lib/t1lib/t1subset.c ++++ b/lib/t1lib/t1subset.c +@@ -759,7 +759,7 @@ + tr_len); + T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf, + T1LOG_DEBUG); +- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */ ++ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */ + } + + /* compute size of output file */ +--- a/lib/type1/objects.h ++++ b/lib/type1/objects.h +@@ -214,7 +214,7 @@ + /*SHARED*/ + /* NDW: personally, I want to see status and error messages! */ + #define IfTrace0(condition,model) \ +- {if (condition) printf(model);} ++ {if (condition) fputs(model,stdout);} + #define IfTrace1(condition,model,arg0) \ + {if (condition) printf(model,arg0);} + #define IfTrace2(condition,model,arg0,arg1) \ diff --git a/abs/extra/t1lib/lib-cleanup.diff b/abs/extra/t1lib/lib-cleanup.diff new file mode 100644 index 0000000..bd109d1 --- /dev/null +++ b/abs/extra/t1lib/lib-cleanup.diff @@ -0,0 +1,59 @@ +do not link against libraries that are not needed + +Index: t1lib-5.1.1/lib/Makefile.in +=================================================================== +--- t1lib-5.1.1.orig/lib/Makefile.in 2008-01-05 19:17:21.000000000 +0100 ++++ t1lib-5.1.1/lib/Makefile.in 2008-01-05 19:17:38.000000000 +0100 +@@ -24,7 +24,7 @@ + X_LIBS = @X_LIBS@ + TOPSRC = @top_srcdir@ + XPM_LIB = -lXpm +-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ ++XLIB = -lX11 + LDFLAGS = @LDFLAGS@ + LDLIBS = @LDLIBS@ + AR = ar rc +@@ -137,7 +137,7 @@ + $(LIBTOOL) --mode=link \ + $(CC) $(LDFLAGS) -o $@ $(T1LIBX_OBJS) \ + -version-info @T1LIB_LT_CURRENT@:@T1LIB_LT_REVISION@:@T1LIB_LT_AGE@ \ +- libt1.la $(X_LIBS) $(XPM_LIB) $(XLIB) -no-undefined -rpath $(libdir) ++ libt1.la $(X_LIBS) $(XLIB) -no-undefined -rpath $(libdir) + cp t1lib/t1libx.h . + + +Index: t1lib-5.1.1/type1afm/Makefile.in +=================================================================== +--- t1lib-5.1.1.orig/type1afm/Makefile.in 2008-01-05 19:17:52.000000000 +0100 ++++ t1lib-5.1.1/type1afm/Makefile.in 2008-01-05 19:18:02.000000000 +0100 +@@ -70,7 +70,7 @@ + + type1afm: $(OBJS) ../lib/t1lib.h + $(LIBTOOL) --mode=link \ +- $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB) $(LDLIBS) ++ $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB) + + .SUFFIXES: .lo + .c.lo: +Index: t1lib-5.1.1/xglyph/Makefile.in +=================================================================== +--- t1lib-5.1.1.orig/xglyph/Makefile.in 2008-01-05 19:18:15.000000000 +0100 ++++ t1lib-5.1.1/xglyph/Makefile.in 2008-01-05 19:18:31.000000000 +0100 +@@ -24,7 +24,7 @@ + X_LIBS = @X_LIBS@ + TOPSRC = @top_srcdir@ + XPM_LIB = -lXpm +-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ ++XLIB = -lX11 @X_EXTRA_LIBS@ + LDFLAGS = @LDFLAGS@ + LDLIBS = @LDLIBS@ + AR = ar rc +@@ -65,7 +65,7 @@ + + T1LIB = ../lib/libt1.la + T1LIBX = ../lib/libt1x.la +-XAWLIB = -lXaw -lXt -lXmu ++XAWLIB = -lXaw -lXt + + + all: xglyph diff --git a/abs/extra/tevent/PKGBUILD b/abs/extra/tevent/PKGBUILD index 11c1a6d..a7aec06 100644 --- a/abs/extra/tevent/PKGBUILD +++ b/abs/extra/tevent/PKGBUILD @@ -6,10 +6,11 @@ # Contributor: Thomas Burdick <thomas.burdick@gmail.com> pkgname=tevent -pkgver=0.9.26 +pkgver=0.9.36 pkgrel=1 +epoch=1 pkgdesc="An event system based on the talloc memory management library" -arch=('i686' 'x86_64') +arch=('x86_64') url="https://tevent.samba.org/" source=("http://samba.org/ftp/tevent/${pkgname}-${pkgver}.tar.gz") license=('GPL3') @@ -35,4 +36,4 @@ package() { make make DESTDIR=${pkgdir}/ install } -md5sums=('22c372f3d936d751271f588ab71f829b') +md5sums=('87d67bca75b231814435c47bec0aff8a') diff --git a/abs/extra/texlive-bin/PKGBUILD b/abs/extra/texlive-bin/PKGBUILD new file mode 100644 index 0000000..9c289ab --- /dev/null +++ b/abs/extra/texlive-bin/PKGBUILD @@ -0,0 +1,381 @@ +# $Id$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> +# Contributor: francois <francois.archlinux.org> + +pkgname=('texlive-bin' 'libsynctex') +pkgver=2017.44590 +pkgrel=10 +license=('GPL') +arch=('x86_64') +makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' + 'perl' 'clisp' 'ffcall') +url='http://tug.org/texlive/' +source=("http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz" + "luatex-gcc7.patch" + "texlive-poppler-0.59.patch") +sha256sums=('4645b4d55fc500ba9be7156a6a330afb44fbf7fda40dfd73fe9cb16d207f2038' + 'ee97f3e07e235dee4ad6d0c3e85c2260914c965e94d5ffbf481fa506df5f01ec' + '76bc0528da33b1f980f85464c95d00736d9997ba7f8d11475c88f03e099e91b0') + +prepare() { + cd "$srcdir/source" + + # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) + sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c + + ## prevent compiling Xdvi with libXp + sed -i~ 's|-lXp ||' texk/xdvik/configure + + # Luatex crashes when compiled with GCC7.1 + patch -Np0 -i "${srcdir}/luatex-gcc7.patch" + + # Poppler 0.58 introduces API changes by hiding internal object + # management. + patch -Np1 -i "${srcdir}/texlive-poppler-0.59.patch" +} + +build() { + cd "$srcdir" + + ############################################################# + ### configure + cd source + mkdir -p Work + cd Work + echo "--> Initial configuration..." + # we use temporary prefix to avoid messing the existing + # $pkgdir/usr/share/texmf tree + ../configure --prefix=/usr -C \ + --sysconfdir=/etc \ + --datarootdir=/usr/share \ + --datadir=/usr/share \ + --mandir=/usr/share/man \ + --disable-native-texlive-build \ + --with-banner-add="/Arch Linux" \ + --disable-multiplatform \ + --disable-dialog \ + --disable-psutils \ + --disable-t1utils \ + --disable-bibtexu \ + --disable-xz \ + --enable-shared \ + --disable-static \ + --with-system-zlib \ + --with-system-zziplib \ + --with-system-pnglib \ + --with-system-ncurses \ + --with-system-t1lib \ + --with-system-gd \ + --with-system-poppler \ + --with-system-xpdf \ + --with-system-freetype2 \ + --with-system-pixman \ + --with-system-cairo \ + --with-system-harfbuzz \ + --with-system-graphite \ + --with-system-icu \ + --with-system-gmp \ + --with-system-mpfr \ + --with-system-potrace \ + --with-system-libpaper \ + --with-freetype2-libdir=/usr/lib \ + --with-freetype2-include=/usr/include/freetype2 \ + --with-xdvi-x-toolkit=xaw \ + --disable-dump-share \ + --disable-aleph \ + --enable-luatex \ + --with-clisp-runtime=default \ + --enable-xindy --disable-xindy-rules --disable-xindy-docs + ############################################################# + ### make + echo "-------------------------------------------------------" + echo "--> Building the whole beast ..." + echo "-------------------------------------------------------" + make +} + +package_libsynctex() { + pkgdesc='Library for synchronization between TeX files and resulting file' + depends=('glibc' 'zlib') + + cd "${srcdir}/source/Work" + make -C texk/web2c DESTDIR="${pkgdir}" \ + install-data-am install-libLTLIBRARIES +} + +package_texlive-bin() { + pkgdesc="TeX Live binaries" + depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper' + 'libsynctex') + provides=('lcdf-typetools' 'kpathsea' 'xindy') + optdepends=('ed: for texconfig' + 'biber: for bibliography processing') + options=('!strip') + + cd "$srcdir" + + ############################################################# + ### install + cd source + # fixes for xindy + find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \; + + echo "-------------------------------------------------------" + echo "--> Proceeding with make install ..." + echo "-------------------------------------------------------" + cd Work + make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install + rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist} + + ## symlink engines by hand. texlinks has moved to texlive-core... + mkdir -p ${pkgdir}/usr/bin + ln -s eptex ${pkgdir}/usr/bin/platex + ln -s euptex ${pkgdir}/usr/bin/uplatex + ln -s luatex ${pkgdir}/usr/bin/dvilualatex + ln -s luatex ${pkgdir}/usr/bin/dviluatex + ln -s luatex ${pkgdir}/usr/bin/lualatex + ln -s pdftex ${pkgdir}/usr/bin/amstex + ln -s pdftex ${pkgdir}/usr/bin/cslatex + ln -s pdftex ${pkgdir}/usr/bin/csplain + ln -s pdftex ${pkgdir}/usr/bin/eplain + ln -s pdftex ${pkgdir}/usr/bin/etex + ln -s pdftex ${pkgdir}/usr/bin/jadetex + ln -s pdftex ${pkgdir}/usr/bin/latex + ln -s tex ${pkgdir}/usr/bin/lollipop + ln -s pdftex ${pkgdir}/usr/bin/mex + ln -s pdftex ${pkgdir}/usr/bin/mllatex + ln -s pdftex ${pkgdir}/usr/bin/mltex + ln -s pdftex ${pkgdir}/usr/bin/pdfetex + ln -s pdftex ${pkgdir}/usr/bin/pdfcslatex + ln -s pdftex ${pkgdir}/usr/bin/pdfcsplain + ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex + ln -s pdftex ${pkgdir}/usr/bin/pdflatex + ln -s pdftex ${pkgdir}/usr/bin/pdfmex + ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex + ln -s pdftex ${pkgdir}/usr/bin/texsis + ln -s pdftex ${pkgdir}/usr/bin/utf8mex + ln -s pdftex ${pkgdir}/usr/bin/xmltex + ln -s xetex ${pkgdir}/usr/bin/xelatex + + ############################################################# + # remove dangling symlinks + _bibtexextra_scripts=" +bbl2bib +bibdoiadd +bibexport +bibmradd +bibzbladd +listbib +ltx2crossrefxml +multibibliography +urlbst +" + _core_scripts=" +a2ping +a5toa4 +adhocfilelist +afm2afm +allcm +allec +allneeded +arara +arlatex +autoinst +bundledoc +checkcites +checklistings +chkweb +cjk-gs-integrate +context +contextjit +ctanify +ctanupload +de-macro +depythontex +deweb +dosepsbin +dtxgen +dvi2fax +dviasm +dvired +e2pall +epstopdf +findhyph +fmtutil +fmtutil-sys +fmtutil-user +fontinst +fragmaster +ht +htcontext +htlatex +htmex +httex +httexi +htxelatex +htxetex +installfont-tl +kpsepath +kpsetool +kpsewhere +kpsexpand +latex-git-log +latex-papersize +latex2man +latex2nemeth +latexdiff +latexdiff-vc +latexfileversion +latexindent +latexmk +latexpand +latexrevise +listings-ext.sh +ltxfileinfo +ltximg +lua2dox_filter +luaotfload-tool +luatools +lwarpmk +make4ht +match_parens +mf2pt1 +mk4ht +mkjobtexmf +mkt1font +mktexfmt +mptopdf +mtxrun +mtxrunjit +ot2kpx +pdf180 +pdf270 +pdf90 +pdfatfi +pdfbook +pdfbook2 +pdfcrop +pdfflip +pdfjam +pdfjam-pocketmod +pdfjam-slides3up +pdfjam-slides6up +pdfjoin +pdflatexpicscale +pdfnup +pdfpun +pdfxup +pfarrei +pkfix +pkfix-helper +ps2eps +ps2frag +pslatex +purifyeps +pythontex +repstopdf +rpdfcrop +rungs +simpdftex +srcredact +sty2dtx +tex4ebook +texconfig +texconfig-dialog +texconfig-sys +texcount +texdef +texdiff +texdirflatten +texdoc +texdoctk +texexec +texfot +texindy +texlinks +texliveonfly +texloganalyser +texmfstart +texosquery +texosquery-jre5 +texosquery-jre8 +thumbpdf +typeoutfileinfo +updmap +updmap-sys +updmap-user +vpl2ovp +vpl2vpl +xhlatex +xindy +" + _games_scripts="rubikrotation" + _humanities_scripts="diadia" + _langcyrillic_scripts="rubibtex rumakeindex" + _langextra_scripts="ebong" + _langgreek_scripts="mkgrkindex" + _langjapanese_scripts="convbkmk ptex2pdf +kanji-fontmap-creator +kanji-config-updmap +kanji-config-updmap-sys +kanji-config-updmap-user +" + _langkorean_scripts="jamo-normalize komkindex ttf2kotexfont" + _latexextra_scripts=" +authorindex +exceltex +makedtx +makeglossaries +makeglossaries-lite +pdfannotextractor +perltex +ps4pdf +splitindex +svn-multi +vpe +yplan" + _music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs +m-tx musixtex musixflx pmxchords" + _pictures_scripts=" +cachepic +epspdf +epspdftk +fig4latex +getmapdl +mathspic +mkpic +pn2pdf" + _pstricks_scripts="pedigree pst2pdf" + _science_scripts="pygmentex ulqda" + for s in \ + ${_bibtexextra_scripts} \ + ${_core_scripts} \ + ${_games_scripts} \ + ${_htmlxml_scripts} \ + ${_humanities_scripts} \ + ${_langcyrillic_scripts} \ + ${_langextra_scripts} \ + ${_langgreek_scripts} \ + ${_langjapanese_scripts} \ + ${_langkorean_scripts} \ + ${_latexextra_scripts} \ + ${_music_scripts} \ + ${_pictures_scripts} \ + ${_pstricks_scripts} \ + ${_science_scripts} \ + tlmgr; do + ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s + done + ################################################################### + + # remove libsynctex + rm -f "$pkgdir"/usr/include/synctex/* + rm -f "$pkgdir"/usr/lib/libsynctex.* + rm -f "$pkgdir"/usr/lib/pkgconfig/synctex.pc + rm -f "$pkgdir"/usr/share/man/man*/synctex.* +} + diff --git a/abs/extra/texlive-bin/luatex-gcc7.patch b/abs/extra/texlive-bin/luatex-gcc7.patch new file mode 100644 index 0000000..7bbf557 --- /dev/null +++ b/abs/extra/texlive-bin/luatex-gcc7.patch @@ -0,0 +1,32 @@ +Author: Dr. Werner Fink <werner@suse.de> + +--- + texk/web2c/luatexdir/luaffi/ctype.c | 4 ++++ + texk/web2c/luatexdir/luaffi/ffi.h | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +--- texk/web2c/luatexdir/luaffi/ctype.c ++++ texk/web2c/luatexdir/luaffi/ctype.c 2017-05-31 13:08:25.421741873 +0000 +@@ -245,6 +245,10 @@ void* to_cdata(lua_State* L, int idx, st + + lua_pop(L, 1); /* mt */ + cd = (struct cdata*) lua_touserdata(L, idx); ++ if (!cd) { ++ lua_pushnil(L); ++ return NULL; ++ } + *ct = cd->type; + lua_getuservalue(L, idx); + +--- texk/web2c/luatexdir/luaffi/ffi.h ++++ texk/web2c/luatexdir/luaffi/ffi.h 2017-06-01 09:12:45.128442092 +0000 +@@ -370,7 +370,7 @@ __declspec(align(16)) + #endif + struct cdata { + const struct ctype type +-#ifdef __GNUC__ ++#if 0 /* def __GNUC__ */ + __attribute__ ((aligned(16))) + #endif + ; + diff --git a/abs/extra/texlive-bin/texlive-poppler-0.59.patch b/abs/extra/texlive-bin/texlive-poppler-0.59.patch new file mode 100644 index 0000000..401315a --- /dev/null +++ b/abs/extra/texlive-bin/texlive-poppler-0.59.patch @@ -0,0 +1,1142 @@ +diff -ur source.orig/texk/web2c/luatexdir/image/pdftoepdf.w source/texk/web2c/luatexdir/image/pdftoepdf.w +--- source.orig/texk/web2c/luatexdir/image/pdftoepdf.w 2017-05-08 22:39:36.639375783 +0200 ++++ source/texk/web2c/luatexdir/image/pdftoepdf.w 2017-09-19 11:23:36.586768739 +0200 +@@ -224,7 +224,7 @@ + free(checksum); + } + if (pdf_doc->doc == NULL) { +- docmemstream = new MemStream( docstream,0,streamsize, obj.initNull() ); ++ docmemstream = new MemStream( docstream,0,streamsize, Object(objNull) ); + doc = new PDFDoc(docmemstream); /* takes ownership of docmemstream */ + pdf_doc->pc++; + if (!doc->isOk() || !doc->okToPrint()) { +@@ -408,9 +408,8 @@ + Object obj1; + pdf_begin_array(pdf); + for (i = 0, l = array->getLength(); i < l; ++i) { +- array->getNF(i, &obj1); ++ obj1 = array->getNF(i); + copyObject(pdf, pdf_doc, &obj1); +- obj1.free(); + } + pdf_end_array(pdf); + } +@@ -422,9 +421,8 @@ + pdf_begin_dict(pdf); + for (i = 0, l = dict->getLength(); i < l; ++i) { + copyName(pdf, dict->getKey(i)); +- dict->getValNF(i, &obj1); ++ obj1 = dict->getValNF(i); + copyObject(pdf, pdf_doc, &obj1); +- obj1.free(); + } + pdf_end_dict(pdf); + } +@@ -510,13 +508,12 @@ + PDFDoc *doc = pdf_doc->doc; + xref = doc->getXRef(); + for (r = pdf_doc->inObjList; r != NULL;) { +- xref->fetch(r->ref.num, r->ref.gen, &obj1); ++ obj1 = xref->fetch(r->ref.num, r->ref.gen); + if (obj1.isStream()) + pdf_begin_obj(pdf, r->num, OBJSTM_NEVER); + else + pdf_begin_obj(pdf, r->num, 2); + copyObject(pdf, pdf_doc, &obj1); +- obj1.free(); + pdf_end_obj(pdf); + n = r->next; + delete r; +@@ -740,7 +737,7 @@ + catalog = doc->getCatalog(); + page = catalog->getPage(img_pagenum(idict)); + pageref = catalog->getPageRef(img_pagenum(idict)); +- doc->getXRef()->fetch(pageref->num, pageref->gen, &pageobj); ++ pageobj = doc->getXRef()->fetch(pageref->num, pageref->gen); + pageDict = pageobj.getDict(); + /* write the Page header */ + pdf_begin_obj(pdf, img_objnum(idict), OBJSTM_NEVER); +@@ -757,12 +754,11 @@ + pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict)); + } + if ((suppress_optional_info & 8) == 0) { +- doc->getDocInfoNF(&obj1); ++ obj1 = doc->getDocInfoNF(); + if (obj1.isRef()) { + /* the info dict must be indirect (PDF Ref p. 61) */ + pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc, obj1.getRef())); + } +- obj1.free(); + } + if (img_is_bbox(idict)) { + bbox[0] = sp2bp(img_bbox(idict)[0]); +@@ -788,19 +784,17 @@ + Now all relevant parts of the Page dictionary are copied. Metadata validity + check is needed(as a stream it must be indirect). + */ +- pageDict->lookupNF("Metadata", &obj1); ++ obj1 = pageDict->lookupNF("Metadata"); + if (!obj1.isNull() && !obj1.isRef()) + formatted_warning("pdf inclusion","/Metadata must be indirect object"); +- obj1.free(); + /* copy selected items in Page dictionary */ + for (i = 0; pagedictkeys[i] != NULL; i++) { +- pageDict->lookupNF(pagedictkeys[i], &obj1); ++ obj1 = pageDict->lookupNF(pagedictkeys[i]); + if (!obj1.isNull()) { + pdf_add_name(pdf, pagedictkeys[i]); + /* preserves indirection */ + copyObject(pdf, pdf_doc, &obj1); + } +- obj1.free(); + } + /* + If there are no Resources in the Page dict of the embedded page, +@@ -808,32 +802,28 @@ + PDF file, climbing up the tree until the Resources are found. + (This fixes a problem with Scribus 1.3.3.14.) + */ +- pageDict->lookupNF("Resources", &obj1); ++ obj1 = pageDict->lookupNF("Resources"); + if (obj1.isNull()) { + op1 = &pagesobj1; + op2 = &pagesobj2; +- pageDict->lookup("Parent", op1); ++ *op1 = pageDict->lookup("Parent"); + while (op1->isDict()) { +- obj1.free(); +- op1->dictLookupNF("Resources", &obj1); ++ obj1 = op1->dictLookupNF("Resources"); + if (!obj1.isNull()) { + pdf_add_name(pdf, "Resources"); + copyObject(pdf, pdf_doc, &obj1); + break; + } +- op1->dictLookup("Parent", op2); ++ *op2 = op1->dictLookup("Parent"); + optmp = op1; + op1 = op2; + op2 = optmp; +- op2->free(); + }; + if (!op1->isDict()) + formatted_warning("pdf inclusion","Page /Resources missing"); +- op1->free(); + } +- obj1.free(); + /* Write the Page contents. */ +- page->getContents(&contents); ++ contents = page->getContents(); + if (contents.isStream()) { + /* + Variant A: get stream and recompress under control of \pdfcompresslevel +@@ -844,27 +834,23 @@ + + Variant B: copy stream without recompressing + */ +- contents.streamGetDict()->lookup("F", &obj1); ++ obj1 = contents.streamGetDict()->lookup("F"); + if (!obj1.isNull()) { + normal_error("pdf inclusion","unsupported external stream"); + } +- obj1.free(); +- contents.streamGetDict()->lookup("Length", &obj1); ++ obj1 = contents.streamGetDict()->lookup("Length"); + pdf_add_name(pdf, "Length"); + copyObject(pdf, pdf_doc, &obj1); +- obj1.free(); +- contents.streamGetDict()->lookup("Filter", &obj1); ++ obj1 = contents.streamGetDict()->lookup("Filter"); + if (!obj1.isNull()) { + pdf_add_name(pdf, "Filter"); + copyObject(pdf, pdf_doc, &obj1); +- obj1.free(); +- contents.streamGetDict()->lookup("DecodeParms", &obj1); ++ obj1 = contents.streamGetDict()->lookup("DecodeParms"); + if (!obj1.isNull()) { + pdf_add_name(pdf, "DecodeParms"); + copyObject(pdf, pdf_doc, &obj1); + } + } +- obj1.free(); + pdf_end_dict(pdf); + pdf_begin_stream(pdf); + copyStreamStream(pdf, contents.getStream()->getUndecodedStream()); +@@ -875,8 +861,8 @@ + pdf_end_dict(pdf); + pdf_begin_stream(pdf); + for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { +- copyStreamStream(pdf, (contents.arrayGet(i, &obj1))->getStream()); +- obj1.free(); ++ obj1 = contents.arrayGet(i); ++ copyStreamStream(pdf, obj1.getStream()); + if (i < (l - 1)) { + /* + Put a space between streams to be on the safe side (streams +@@ -897,8 +883,6 @@ + } + /* write out all indirect objects */ + writeRefs(pdf, pdf_doc); +- contents.free(); +- pageobj.free(); + /* + unrefPdfDocument() must come after contents.free() and pageobj.free()! + TH: The next line makes repeated pdf inclusion unacceptably slow +diff -ur source.orig/texk/web2c/luatexdir/lua/lepdflib.cc source/texk/web2c/luatexdir/lua/lepdflib.cc +--- source.orig/texk/web2c/luatexdir/lua/lepdflib.cc 2017-05-08 22:39:36.689375107 +0200 ++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2017-09-19 09:48:19.658021769 +0200 +@@ -538,7 +538,7 @@ + pdfdoc_changed_error(L); \ + uout = new_Object_userdata(L); \ + uout->d = new Object(); \ +- ((in *) uin->d)->function((Object *) uout->d); \ ++ *((Object *)uout->d) = ((in *) uin->d)->function(); \ + uout->atype = ALLOC_LEPDF; \ + uout->pc = uin->pc; \ + uout->pd = uin->pd; \ +@@ -668,13 +668,11 @@ + + static int m_Array_incRef(lua_State * L) + { +- int i; + udstruct *uin; + uin = (udstruct *) luaL_checkudata(L, 1, M_Array); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- i = ((Array *) uin->d)->incRef(); +- lua_pushinteger(L, i); ++ lua_pushinteger(L, 1); + return 1; + } + +@@ -685,8 +683,7 @@ + uin = (udstruct *) luaL_checkudata(L, 1, M_Array); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- i = ((Array *) uin->d)->decRef(); +- lua_pushinteger(L, i); ++ lua_pushinteger(L, 1); + return 1; + } + +@@ -702,7 +699,7 @@ + if ((uin->pd != NULL && uin->pd->pc != uin->pc) + || (uobj->pd != NULL && uobj->pd->pc != uobj->pc)) + pdfdoc_changed_error(L); +- ((Array *) uin->d)->add(((Object *) uobj->d)); ++ ((Array *) uin->d)->add(std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -718,7 +715,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Array *) uin->d)->get(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Array *) uin->d)->get(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -739,7 +736,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Array *) uin->d)->getNF(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -953,25 +950,21 @@ + + static int m_Dict_incRef(lua_State * L) + { +- int i; + udstruct *uin; + uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- i = ((Dict *) uin->d)->incRef(); +- lua_pushinteger(L, i); ++ lua_pushinteger(L, 1); + return 1; + } + + static int m_Dict_decRef(lua_State * L) + { +- int i; + udstruct *uin; + uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- i = ((Dict *) uin->d)->decRef(); +- lua_pushinteger(L, i); ++ lua_pushinteger(L, 1); + return 1; + } + +@@ -986,7 +979,7 @@ + pdfdoc_changed_error(L); + s = copyString(luaL_checkstring(L, 2)); + uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); +- ((Dict *) uin->d)->add(s, ((Object *) uobj->d)); ++ ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -999,7 +992,7 @@ + pdfdoc_changed_error(L); + s = luaL_checkstring(L, 2); + uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); +- ((Dict *) uin->d)->set(s, ((Object *) uobj->d)); ++ ((Dict *) uin->d)->set(s, std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -1027,7 +1020,7 @@ + s = luaL_checkstring(L, 2); + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Dict *) uin->d)->lookup(s, (Object *) uout->d); ++ *((Object *) uout->d) = ((Dict *) uin->d)->lookup(s); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1044,7 +1037,7 @@ + s = luaL_checkstring(L, 2); + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Dict *) uin->d)->lookupNF(s, (Object *) uout->d); ++ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1096,7 +1089,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Dict *) uin->d)->getVal(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Dict *) uin->d)->getVal(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1117,7 +1110,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Dict *) uin->d)->getValNF(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1381,9 +1374,9 @@ + pdfdoc_changed_error(L); + luaL_checktype(L, 2, LUA_TBOOLEAN); + if (lua_toboolean(L, 2) != 0) +- ((Object *) uin->d)->initBool(gTrue); ++ *((Object *) uin->d) = Object(gTrue); + else +- ((Object *) uin->d)->initBool(gFalse); ++ *((Object *) uin->d) = Object(gFalse); + return 0; + } + +@@ -1395,7 +1388,7 @@ + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + i = luaL_checkint(L, 2); +- ((Object *) uin->d)->initInt(i); ++ *((Object *) uin->d) = Object(i); + return 0; + } + +@@ -1407,7 +1400,7 @@ + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + d = luaL_checknumber(L, 2); +- ((Object *) uin->d)->initReal(d); ++ *((Object *) uin->d) = Object(d); + return 0; + } + +@@ -1422,7 +1415,7 @@ + pdfdoc_changed_error(L); + s = luaL_checklstring(L, 2, &len); + gs = new GooString(s, len); +- ((Object *) uin->d)->initString(gs); ++ *((Object *) uin->d) = Object(gs); + return 0; + } + +@@ -1434,7 +1427,7 @@ + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + s = luaL_checkstring(L, 2); +- ((Object *) uin->d)->initName(s); ++ *((Object *) uin->d) = Object(objName, s); + return 0; + } + +@@ -1444,13 +1437,14 @@ + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initNull(); ++ *((Object *) uin->d) = Object(objNull); + return 0; + } + + static int m_Object_initArray(lua_State * L) + { + udstruct *uin, *uxref; ++ Array *a; + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); + if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) +@@ -1458,7 +1452,8 @@ + if ((uin->pd != NULL && uin->pd->pc != uin->pc) + || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initArray((XRef *) uxref->d); ++ a = new Array((XRef *) uxref->d); ++ *((Object *) uin->d) = Object(a); + return 0; + } + +@@ -1469,6 +1464,7 @@ + static int m_Object_initDict(lua_State * L) + { + udstruct *uin, *uxref; ++ Dict *d; + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); + if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) +@@ -1476,7 +1472,8 @@ + if ((uin->pd != NULL && uin->pd->pc != uin->pc) + || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initDict((XRef *) uxref->d); ++ d = new Dict((XRef *) uxref->d); ++ *((Object *) uin->d) = Object(d); + return 0; + } + +@@ -1490,7 +1487,7 @@ + if ((uin->pd != NULL && uin->pd->pc != uin->pc) + || (ustream->pd != NULL && ustream->pd->pc != ustream->pc)) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initStream((Stream *) ustream->d); ++ *((Object *) uin->d) = Object((Stream *) ustream->d); + return 0; + } + +@@ -1503,7 +1500,7 @@ + pdfdoc_changed_error(L); + num = luaL_checkint(L, 2); + gen = luaL_checkint(L, 3); +- ((Object *) uin->d)->initRef(num, gen); ++ *((Object *) uin->d) = Object(num, gen); + return 0; + } + +@@ -1515,7 +1512,7 @@ + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + s = luaL_checkstring(L, 2); +- ((Object *) uin->d)->initCmd(CHARP_CAST s); ++ *((Object *) uin->d) = Object(objCmd, CHARP_CAST s); + return 0; + } + +@@ -1525,7 +1522,7 @@ + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initError(); ++ *((Object *) uin->d) = Object(objError); + return 0; + } + +@@ -1535,7 +1532,7 @@ + uin = (udstruct *) luaL_checkudata(L, 1, M_Object); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); +- ((Object *) uin->d)->initEOF(); ++ *((Object *) uin->d) = Object(objEOF); + return 0; + } + +@@ -1551,7 +1548,7 @@ + pdfdoc_changed_error(L); + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->fetch((XRef *) uxref->d, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->fetch((XRef *) uxref->d); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1816,7 +1813,7 @@ + pdfdoc_changed_error(L); + if (!((Object *) uin->d)->isArray()) + luaL_error(L, "Object is not an Array"); +- ((Object *) uin->d)->arrayAdd((Object *) uobj->d); ++ ((Object *) uin->d)->arrayAdd(std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -1833,7 +1830,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->arrayGet(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->arrayGet(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1857,7 +1854,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->arrayGetNF(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1897,7 +1894,7 @@ + pdfdoc_changed_error(L); + if (!((Object *) uin->d)->isDict()) + luaL_error(L, "Object is not a Dict"); +- ((Object *) uin->d)->dictAdd(copyString(s), (Object *) uobj->d); ++ ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -1915,7 +1912,7 @@ + pdfdoc_changed_error(L); + if (!((Object *) uin->d)->isDict()) + luaL_error(L, "Object is not a Dict"); +- ((Object *) uin->d)->dictSet(s, (Object *) uobj->d); ++ ((Object *) uin->d)->dictSet(s, std::move(*((Object *) uobj->d))); + return 0; + } + +@@ -1930,7 +1927,7 @@ + if (((Object *) uin->d)->isDict()) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->dictLookup(s, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->dictLookup(s); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1950,7 +1947,7 @@ + if (((Object *) uin->d)->isDict()) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->dictLookupNF(s, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -1991,7 +1988,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->dictGetVal(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->dictGetVal(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -2015,7 +2012,7 @@ + if (i > 0 && i <= len) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((Object *) uin->d)->dictGetValNF(i - 1, (Object *) uout->d); ++ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -2243,7 +2240,7 @@ + m_poppler_get_poppler(Page, Dict, getPieceInfo); + m_poppler_get_poppler(Page, Dict, getSeparationInfo); + m_poppler_get_poppler(Page, Dict, getResourceDict); +-m_poppler_get_OBJECT(Page, getAnnots); ++m_poppler_get_OBJECT(Page, getAnnotsObject); + + m_poppler_get_OBJECT(Page, getContents); + +@@ -2270,7 +2267,7 @@ + {"getPieceInfo", m_Page_getPieceInfo}, + {"getSeparationInfo", m_Page_getSeparationInfo}, + {"getResourceDict", m_Page_getResourceDict}, +- {"getAnnots", m_Page_getAnnots}, ++ {"getAnnots", m_Page_getAnnotsObject}, + {"getContents", m_Page_getContents}, + {"__tostring", m_Page__tostring}, + {NULL, NULL} // sentinel +@@ -2520,7 +2517,7 @@ + if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((PdfDocument *) uin->d)->doc->getDocInfo((Object *) uout->d); ++ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfo(); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -2538,7 +2535,7 @@ + if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((PdfDocument *) uin->d)->doc->getDocInfoNF((Object *) uout->d); ++ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfoNF(); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -2841,7 +2838,7 @@ + uout = new_Object_userdata(L); + uout->d = new Object(); + origin = (Object *) (((Attribute *) uin->d)->getValue()); +- origin->copy ( ((Object *)uout->d) ); ++ *((Object *) uout->d) = origin->copy(); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -3320,7 +3317,7 @@ + parent = root->findParentElement(i-1); + if (parent != NULL) { + uout = new_StructElement_userdata(L); +- uout->d = new StructElement( *parent ); ++ uout->d = (StructElement *) parent; + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +@@ -3370,7 +3367,7 @@ + gen = luaL_checkint(L, 3); + uout = new_Object_userdata(L); + uout->d = new Object(); +- ((XRef *) uin->d)->fetch(num, gen, (Object *) uout->d); ++ *((Object *) uout->d) = ((XRef *) uin->d)->fetch(num, gen); + uout->atype = ALLOC_LEPDF; + uout->pc = uin->pc; + uout->pd = uin->pd; +diff -ur source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc +--- source.orig/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-05-08 22:39:36.692708395 +0200 ++++ source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-09-19 09:48:19.658021769 +0200 +@@ -634,7 +634,7 @@ + int i; + for (i=0;i<count;i++) { + Object *val = new Object(); +- arrayref->get(i, val); ++ *val = arrayref->get(i); + if (val->isStream()) { + ObjectList *rover = self->_streams; + ObjectList *item = (ObjectList *)priv_xmalloc (sizeof(ObjectList)); +diff -ur source.orig/texk/web2c/pdftexdir/pdftoepdf.cc source/texk/web2c/pdftexdir/pdftoepdf.cc +--- source.orig/texk/web2c/pdftexdir/pdftoepdf.cc 2017-06-16 21:49:09.293857387 +0200 ++++ source/texk/web2c/pdftexdir/pdftoepdf.cc 2017-09-19 09:48:19.661355046 +0200 +@@ -84,31 +84,6 @@ + #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04 + #define MASK_SUPPRESS_PTEX_INFODICT 0x08 + +-// PdfObject encapsulates the xpdf Object type, +-// and properly frees its resources on destruction. +-// Use obj-> to access members of the Object, +-// and &obj to get a pointer to the object. +-// It is no longer necessary to call Object::free explicitely. +- +-class PdfObject { +- public: +- PdfObject() { // nothing +- } ~PdfObject() { +- iObject.free(); +- } +- Object *operator->() { +- return &iObject; +- } +- Object *operator&() { +- return &iObject; +- } +- private: // no copying or assigning +- PdfObject(const PdfObject &); +- void operator=(const PdfObject &); +- public: +- Object iObject; +-}; +- + // When copying the Resources of the selected page, all objects are copied + // recusively top-down. Indirect objects however are not fetched during + // copying, but get a new object number from pdfTeX and then will be +@@ -212,18 +187,6 @@ + delete pdf_doc; + } + +-// Replacement for +-// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; } +- +-static void initDictFromDict(PdfObject & obj, Dict * dict) +-{ +- obj->initDict(xref); +- for (int i = 0, l = dict->getLength(); i < l; i++) { +- Object obj1; +- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); +- } +-} +- + // -------------------------------------------------------------------- + + static int addEncoding(GfxFont * gfont) +@@ -320,10 +283,10 @@ + + static void copyDictEntry(Object * obj, int i) + { +- PdfObject obj1; ++ Object obj1; + copyName(obj->dictGetKey(i)); + pdf_puts(" "); +- obj->dictGetValNF(i, &obj1); ++ obj1 = obj->dictGetValNF(i); + copyObject(&obj1); + pdf_puts("\n"); + } +@@ -376,17 +339,17 @@ + static void copyProcSet(Object * obj) + { + int i, l; +- PdfObject procset; ++ Object procset; + if (!obj->isArray()) + pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>", + obj->getTypeName()); + pdf_puts("/ProcSet [ "); + for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { +- obj->arrayGetNF(i, &procset); +- if (!procset->isName()) ++ procset = obj->arrayGetNF(i); ++ if (!procset.isName()) + pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", +- procset->getTypeName()); +- copyName(procset->getName()); ++ procset.getTypeName()); ++ copyName(procset.getName()); + pdf_puts(" "); + } + pdf_puts("]\n"); +@@ -394,10 +357,29 @@ + + #define REPLACE_TYPE1C true + ++static bool embeddableFont(Object * fontdesc) ++{ ++ Object fontfile, ffsubtype; ++ ++ if (!fontdesc->isDict()) ++ return false; ++ fontfile = fontdesc->dictLookup("FontFile"); ++ if (fontfile.isStream()) ++ return true; ++ if (REPLACE_TYPE1C) { ++ fontfile = fontdesc->dictLookup("FontFile3"); ++ if (!fontfile.isStream()) ++ return false; ++ ffsubtype = fontfile.streamGetDict()->lookup("Subtype"); ++ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"); ++ } ++ return false; ++} ++ + static void copyFont(char *tag, Object * fontRef) + { +- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset, +- fontfile, ffsubtype, stemV; ++ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, ++ stemV; + GfxFont *gfont; + fd_entry *fd; + fm_entry *fontmap; +@@ -413,33 +395,39 @@ + } + // Only handle included Type1 (and Type1C) fonts; anything else will be copied. + // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true. +- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict() +- && fontdict->dictLookup("Subtype", &subtype)->isName() +- && !strcmp(subtype->getName(), "Type1") +- && fontdict->dictLookup("BaseFont", &basefont)->isName() +- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef() +- && fontdescRef->fetch(xref, &fontdesc)->isDict() +- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream() +- || (REPLACE_TYPE1C +- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream() +- && fontfile->streamGetDict()->lookup("Subtype", +- &ffsubtype)->isName() +- && !strcmp(ffsubtype->getName(), "Type1C"))) +- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) { ++ fontdict = fontRef->fetch(xref); ++ fontdesc = Object(objNull); ++ if (fontdict.isDict()) { ++ subtype = fontdict.dictLookup("Subtype"); ++ basefont = fontdict.dictLookup("BaseFont"); ++ fontdescRef = fontdict.dictLookupNF("FontDescriptor"); ++ if (fontdescRef.isRef()) { ++ fontdesc = fontdescRef.fetch(xref); ++ } ++ } ++ if (!fixedinclusioncopyfont && fontdict.isDict() ++ && subtype.isName() ++ && !strcmp(subtype.getName(), "Type1") ++ && basefont.isName() ++ && fontdescRef.isRef() ++ && fontdesc.isDict() ++ && embeddableFont(&fontdesc) ++ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { + // round /StemV value, since the PDF input is a float + // (see Font Descriptors in PDF reference), but we only store an + // integer, since we don't want to change the struct. +- fontdesc->dictLookup("StemV", &stemV); +- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum())); +- if (fontdesc->dictLookup("CharSet", &charset) && +- charset->isString() && is_subsetable(fontmap)) +- epdf_mark_glyphs(fd, charset->getString()->getCString()); ++ stemV = fontdesc.dictLookup("StemV"); ++ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum())); ++ charset = fontdesc.dictLookup("CharSet"); ++ if (!charset.isNull() && ++ charset.isString() && is_subsetable(fontmap)) ++ epdf_mark_glyphs(fd, charset.getString()->getCString()); + else + embed_whole_font(fd); +- addFontDesc(fontdescRef->getRef(), fd); ++ addFontDesc(fontdescRef.getRef(), fd); + copyName(tag); + gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), +- fontdict->getDict()); ++ fontdict.getDict()); + pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, + addEncoding(gfont))); + } else { +@@ -451,24 +439,24 @@ + + static void copyFontResources(Object * obj) + { +- PdfObject fontRef; ++ Object fontRef; + int i, l; + if (!obj->isDict()) + pdftex_fail("PDF inclusion: invalid font resources dict type <%s>", + obj->getTypeName()); + pdf_puts("/Font << "); + for (i = 0, l = obj->dictGetLength(); i < l; ++i) { +- obj->dictGetValNF(i, &fontRef); +- if (fontRef->isRef()) ++ fontRef = obj->dictGetValNF(i); ++ if (fontRef.isRef()) + copyFont(obj->dictGetKey(i), &fontRef); +- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object ++ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object + copyName(obj->dictGetKey(i)); + pdf_puts(" "); + copyObject(&fontRef); + } + else + pdftex_fail("PDF inclusion: invalid font in reference type <%s>", +- fontRef->getTypeName()); ++ fontRef.getTypeName()); + } + pdf_puts(">>\n"); + } +@@ -557,7 +545,7 @@ + + static void copyObject(Object * obj) + { +- PdfObject obj1; ++ Object obj1; + int i, l, c; + Ref ref; + char *p; +@@ -601,8 +589,8 @@ + } else if (obj->isArray()) { + pdf_puts("["); + for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { +- obj->arrayGetNF(i, &obj1); +- if (!obj1->isName()) ++ obj1 = obj->arrayGetNF(i); ++ if (!obj1.isName()) + pdf_puts(" "); + copyObject(&obj1); + } +@@ -612,9 +600,8 @@ + copyDict(obj); + pdf_puts(">>"); + } else if (obj->isStream()) { +- initDictFromDict(obj1, obj->streamGetDict()); + pdf_puts("<<\n"); +- copyDict(&obj1); ++ copyDict(obj->getStream()->getDictObject()); + pdf_puts(">>\n"); + pdf_puts("stream\n"); + copyStream(obj->getStream()->getUndecodedStream()); +@@ -638,9 +625,8 @@ + InObj *r; + for (r = inObjList; r != 0; r = r->next) { + if (!r->written) { +- Object obj1; + r->written = 1; +- xref->fetch(r->ref.num, r->ref.gen, &obj1); ++ Object obj1 = xref->fetch(r->ref.num, r->ref.gen); + if (r->type == objFont) { + assert(!obj1.isStream()); + pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this +@@ -656,7 +642,6 @@ + pdf_puts("\n"); + pdfendobj(); + } +- obj1.free(); + } + } + } +@@ -839,8 +824,8 @@ + Page *page; + Ref *pageRef; + Dict *pageDict; +- PdfObject contents, obj1, obj2, pageObj, dictObj; +- PdfObject groupDict; ++ Object contents, obj1, obj2, pageObj, dictObj; ++ Object groupDict; + bool writeSepGroup = false; + Object info; + char *key; +@@ -867,8 +852,8 @@ + encodingList = 0; + page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page); + pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page); +- xref->fetch(pageRef->num, pageRef->gen, &pageObj); +- pageDict = pageObj->getDict(); ++ pageObj = xref->fetch(pageRef->num, pageRef->gen); ++ pageDict = pageObj.getDict(); + rotate = page->getRotate(); + PDFRectangle *pagebox; + // write the Page header +@@ -886,7 +871,7 @@ + pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); + } + if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { +- pdf_doc->doc->getDocInfoNF(&info); ++ info = pdf_doc->doc->getDocInfoNF(); + if (info.isRef()) { + // the info dict must be indirect (PDF Ref p. 61) + pdf_printf("/%s.InfoDict ", pdfkeyprefix); +@@ -942,14 +927,14 @@ + pdf_puts(stripzeros(s)); + + // Metadata validity check (as a stream it must be indirect) +- pageDict->lookupNF("Metadata", &dictObj); +- if (!dictObj->isNull() && !dictObj->isRef()) ++ dictObj = pageDict->lookupNF("Metadata"); ++ if (!dictObj.isNull() && !dictObj.isRef()) + pdftex_warn("PDF inclusion: /Metadata must be indirect object"); + + // copy selected items in Page dictionary except Resources & Group + for (i = 0; pageDictKeys[i] != NULL; i++) { +- pageDict->lookupNF(pageDictKeys[i], &dictObj); +- if (!dictObj->isNull()) { ++ dictObj = pageDict->lookupNF(pageDictKeys[i]); ++ if (!dictObj.isNull()) { + pdf_newline(); + pdf_printf("/%s ", pageDictKeys[i]); + copyObject(&dictObj); // preserves indirection +@@ -957,8 +942,8 @@ + } + + // handle page group +- pageDict->lookupNF("Group", &dictObj); +- if (!dictObj->isNull()) { ++ dictObj = pageDict->lookupNF("Group"); ++ if (!dictObj.isNull()) { + if (pdfpagegroupval == 0) { + // another pdf with page group was included earlier on the + // same page; copy the Group entry as is. See manual for +@@ -972,11 +957,11 @@ + copyObject(&dictObj); + } else { + // write Group dict as a separate object, since the Page dict also refers to it +- pageDict->lookup("Group", &dictObj); +- if (!dictObj->isDict()) ++ dictObj = pageDict->lookup("Group"); ++ if (!dictObj.isDict()) + pdftex_fail("PDF inclusion: /Group dict missing"); + writeSepGroup = true; +- initDictFromDict(groupDict, page->getGroup()); ++ groupDict = Object(page->getGroup()); + pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); + } + } +@@ -989,14 +974,14 @@ + pdftex_warn + ("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)"); + } else { +- initDictFromDict(obj1, page->getResourceDict()); ++ Object *obj1 = page->getResourceDictObject(); + if (!obj1->isDict()) + pdftex_fail("PDF inclusion: invalid resources dict type <%s>", + obj1->getTypeName()); + pdf_newline(); + pdf_puts("/Resources <<\n"); + for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { +- obj1->dictGetVal(i, &obj2); ++ obj2 = obj1->dictGetVal(i); + key = obj1->dictGetKey(i); + if (strcmp("Font", key) == 0) + copyFontResources(&obj2); +@@ -1009,8 +994,8 @@ + } + + // write the page contents +- page->getContents(&contents); +- if (contents->isStream()) { ++ contents = page->getContents(); ++ if (contents.isStream()) { + + // Variant A: get stream and recompress under control + // of \pdfcompresslevel +@@ -1021,36 +1006,35 @@ + + // Variant B: copy stream without recompressing + // +- contents->streamGetDict()->lookup("F", &obj1); +- if (!obj1->isNull()) { ++ obj1 = contents.streamGetDict()->lookup("F"); ++ if (!obj1.isNull()) { + pdftex_fail("PDF inclusion: Unsupported external stream"); + } +- contents->streamGetDict()->lookup("Length", &obj1); +- assert(!obj1->isNull()); ++ obj1 = contents.streamGetDict()->lookup("Length"); ++ assert(!obj1.isNull()); + pdf_puts("/Length "); + copyObject(&obj1); + pdf_puts("\n"); +- contents->streamGetDict()->lookup("Filter", &obj1); +- if (!obj1->isNull()) { ++ obj1 = contents.streamGetDict()->lookup("Filter"); ++ if (!obj1.isNull()) { + pdf_puts("/Filter "); + copyObject(&obj1); + pdf_puts("\n"); +- contents->streamGetDict()->lookup("DecodeParms", &obj1); +- if (!obj1->isNull()) { ++ obj1 = contents.streamGetDict()->lookup("DecodeParms"); ++ if (!obj1.isNull()) { + pdf_puts("/DecodeParms "); + copyObject(&obj1); + pdf_puts("\n"); + } + } + pdf_puts(">>\nstream\n"); +- copyStream(contents->getStream()->getUndecodedStream()); ++ copyStream(contents.getStream()->getUndecodedStream()); + pdfendstream(); +- } else if (contents->isArray()) { ++ } else if (contents.isArray()) { + pdfbeginstream(); +- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) { +- Object contentsobj; +- copyStream((contents->arrayGet(i, &contentsobj))->getStream()); +- contentsobj.free(); ++ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { ++ Object contentsobj = contents.arrayGet(i); ++ copyStream(contentsobj.getStream()); + if (i < l - 1) + pdf_newline(); // add a newline after each stream except the last + } +diff -ur source.orig/texk/web2c/pdftexdir/pdftosrc.cc source/texk/web2c/pdftexdir/pdftosrc.cc +--- source.orig/texk/web2c/pdftexdir/pdftosrc.cc 2017-06-16 21:49:09.297190679 +0200 ++++ source/texk/web2c/pdftexdir/pdftosrc.cc 2017-09-19 09:48:19.661355046 +0200 +@@ -86,22 +86,20 @@ + objgen = atoi(argv[3]); + } + xref = doc->getXRef(); +- catalogDict.initNull(); +- xref->getCatalog(&catalogDict); ++ catalogDict = xref->getCatalog(); + if (!catalogDict.isDict("Catalog")) { + fprintf(stderr, "No Catalog found\n"); + exit(1); + } +- srcStream.initNull(); ++ srcStream = Object(objNull); + if (objnum == 0) { +- catalogDict.dictLookup("SourceObject", &srcStream); ++ srcStream = catalogDict.dictLookup("SourceObject"); + static char const_SourceFile[] = "SourceFile"; + if (!srcStream.isStream(const_SourceFile)) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); + } +- srcName.initNull(); +- srcStream.getStream()->getDict()->lookup("SourceName", &srcName); ++ srcName = srcStream.getStream()->getDict()->lookup("SourceName"); + if (!srcName.isString()) { + fprintf(stderr, "No SourceName found\n"); + exit(1); +@@ -110,7 +108,7 @@ + // We cannot free srcName, as objname shares its string. + // srcName.free(); + } else if (objnum > 0) { +- xref->fetch(objnum, objgen, &srcStream); ++ srcStream = xref->fetch(objnum, objgen); + if (!srcStream.isStream()) { + fprintf(stderr, "Not a Stream object\n"); + exit(1); +@@ -159,29 +157,26 @@ + int localOffset = 0; + Guint firstOffset; + +- assert(xref->fetch(e->offset, 0, &objStr)->isStream()); +- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt(); +- obj1.free(); +- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt(); +- obj1.free(); ++ objStr = xref->fetch(e->offset, 0); ++ assert(objStr.isStream()); ++ obj1 = objStr.streamGetDict()->lookup("N"); ++ nObjects = obj1.getInt(); ++ obj1 = objStr.streamGetDict()->lookup("First"); ++ first = obj1.getInt(); + firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; + + // parse the header: object numbers and offsets + objStr.streamReset(); +- obj1.initNull(); +- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first); ++ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); + parser = new Parser(xref, new Lexer(xref, str), gFalse); + for (n = 0; n < nObjects; ++n) { +- parser->getObj(&obj1); +- parser->getObj(&obj2); ++ obj1 = parser->getObj(); ++ obj2 = parser->getObj(); + if (n == e->gen) + localOffset = obj2.getInt(); +- obj1.free(); +- obj2.free(); + } + while (str->getChar() != EOF) ; + delete parser; +- objStr.free(); + + fprintf(outfile, "%.10lu 00000 n\n", + (long unsigned)(firstOffset + localOffset)); +@@ -192,7 +187,6 @@ + s->reset(); + while ((c = s->getChar()) != EOF) + fputc(c, outfile); +- srcStream.free(); + } + if (objnum == 0) + fprintf(stderr, "Source file extracted to %s\n", outname); +@@ -201,7 +195,6 @@ + else + fprintf(stderr, "Cross-reference table extracted to %s\n", outname); + fclose(outfile); +- catalogDict.free(); + delete doc; + delete globalParams; + } diff --git a/abs/extra/texlive-core/09-texlive-fonts.conf b/abs/extra/texlive-core/09-texlive-fonts.conf new file mode 100644 index 0000000..f870fbd --- /dev/null +++ b/abs/extra/texlive-core/09-texlive-fonts.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<fontconfig> + <dir>/usr/share/texmf-dist/fonts/opentype</dir> + <dir>/usr/share/texmf-dist/fonts/truetype</dir> + <dir>/usr/local/share/texmf/fonts/opentype</dir> + <dir>/usr/local/share/texmf/fonts/truetype</dir> +</fontconfig> + diff --git a/abs/extra/texlive-core/Changelog b/abs/extra/texlive-core/Changelog new file mode 100644 index 0000000..9300833 --- /dev/null +++ b/abs/extra/texlive-core/Changelog @@ -0,0 +1,376 @@ +texlive-core 2012.28273 + +- new package a2ping +- new package adhocfilelist +- new package basque-book +- upgrade package beamer 26788 -> 28273 +- upgrade package bibleref-french 25516 -> 27098 +- upgrade package bidi 26822 -> 28144 +- new package bropd +- upgrade package chickenize 26702 -> 27720 +- upgrade package context-filter 26471 -> 27157 +- upgrade package context-gantt 25712 -> 27472 +- upgrade package context-gnuplot 26852 -> 27837 +- upgrade package context-letter 26753 -> 27787 +- upgrade package context-rst 24199 -> 27236 +- upgrade package context-simplefonts 25094 -> 27171 +- upgrade package context-vim 26873 -> 27374 +- upgrade package dvips 26765 -> 28191 +- upgrade package findhyph 26313 -> 28254 +- upgrade package fontinst 26689 -> 27335 +- upgrade package fontools 25995 -> 28093 +- upgrade package genmisc 20683 -> 27208 +- upgrade package helvetic 21993 -> 28007 +- upgrade package hyperref 26331 -> 28213 +- upgrade package interpreter 24740 -> 27232 +- upgrade package isomath 21296 -> 27654 +- upgrade package koma-script 26455 -> 27255 +- upgrade package l3experimental 26109 -> 27900 +- upgrade package l3kernel 26111 -> 27898 +- upgrade package l3packages 26110 -> 27899 +- upgrade package latex 23639 -> 27907 +- upgrade package latexmk 26313 -> 28264 +- new package latexpand +- upgrade package lm 23165 -> 28119 +- new package lm-math +- new package lua-check-hyphen +- new package lua2dox +- upgrade package lualatex-math 24009 -> 28101 +- new package luaxml +- upgrade package mf2pt1 25811 -> 27032 +- upgrade package mpgraphics 22142 -> 27230 +- new package odsfile +- upgrade package pdfcrop 26313 -> 28175 +- upgrade package pdfpages 25883 -> 27574 +- new package pdftex +- new package pdftools +- new package pstools +- new package ptext +- upgrade package rec-thy 20909 -> 27225 +- upgrade package sty2dtx 26313 -> 28206 +- upgrade package tetex 26892 -> 28191 +- upgrade package tex-gyre-math 26838 -> 28081 +- upgrade package texdoc 26780 -> 27321 +- upgrade package texinfo 26886 -> 28224 +- upgrade package typeoutfileinfo 26313 -> 27846 +- new package ucharclasses +- upgrade package unicode-math 26720 -> 27257 +- upgrade package xecjk 26553 -> 28115 +- upgrade package xepersian 26823 -> 28145 +- upgrade package xkeyval 15878 -> 27995 +- upgrade package ytableau 21264 -> 27430 +- deleted package luapersian + +texlive-core 2012.26892 + +- TEXLive 2012 release. + +texlive-core 2011.24722 + +- upgrade package amscls 22145 -> 23392 +- upgrade package amsmath 22147 -> 23390 +- upgrade package babel 22149 -> 23397 +- upgrade package beamer 19443 -> 24067 +- upgrade package bibleref-french 22077 -> 24267 +- upgrade package bidi 22125 -> 24680 +- upgrade package caption 16715 -> 24571 +- upgrade package cmarrows 15878 -> 24378 +- upgrade package context 23169 -> 24174 +- upgrade package context-filter 23170 -> 24389 +- upgrade package context-french 23167 -> 24582 +- new package context-gantt +- upgrade package context-gnuplot 23167 -> 24028 +- upgrade package context-letter 23167 -> 24045 +- upgrade package context-rst 23167 -> 24199 +- upgrade package context-simplefonts 23167 -> 23369 +- upgrade package context-simpleslides 23167 -> 24165 +- upgrade package context-typescripts 23167 -> 24492 +- upgrade package context-vim 23167 -> 24359 +- upgrade package cslatex 22650 -> 23409 +- upgrade package ctable 22269 -> 23834 +- new package ctanify +- new package ctanupload +- upgrade package dehyph-exptl 18640 -> 23403 +- new package dhua +- upgrade package dvips 23089 -> 24563 +- upgrade package emp 15878 -> 23483 +- new package facture +- new package fontbook +- upgrade package fontname 23088 -> 24661 +- upgrade package fontools 20048 -> 23329 +- upgrade package fontspec 21527 -> 24114 +- upgrade package frontespizio 21648 -> 24054 +- upgrade package graphics 22151 -> 23395 +- upgrade package hatching 18486 -> 23818 +- upgrade package hyperref 22110 -> 24686 +- upgrade package hyph-utf8 23085 -> 24089 +- new package impnattypo +- upgrade package index 15878 -> 24099 +Upgrading package texlive-core from 23170 to 24722 +- upgrade package amscls 22145 -> 23392 +- upgrade package amsmath 22147 -> 23390 +- upgrade package babel 22149 -> 23397 +- upgrade package beamer 19443 -> 24067 +- upgrade package bibleref-french 22077 -> 24267 +- upgrade package bidi 22125 -> 24680 +- upgrade package caption 16715 -> 24571 +- upgrade package cmarrows 15878 -> 24378 +- upgrade package context 23169 -> 24174 +- upgrade package context-filter 23170 -> 24389 +- upgrade package context-french 23167 -> 24582 +- new package context-gantt +- upgrade package context-gnuplot 23167 -> 24028 +- upgrade package context-letter 23167 -> 24045 +- upgrade package context-rst 23167 -> 24199 +- upgrade package context-simplefonts 23167 -> 23369 +- upgrade package context-simpleslides 23167 -> 24165 +- upgrade package context-typescripts 23167 -> 24492 +- upgrade package context-vim 23167 -> 24359 +- upgrade package cslatex 22650 -> 23409 +- upgrade package ctable 22269 -> 23834 +- new package ctanify +- new package ctanupload +- upgrade package dehyph-exptl 18640 -> 23403 +- new package dhua +- upgrade package dvips 23089 -> 24563 +- upgrade package emp 15878 -> 23483 +- new package facture +- new package fontbook +- upgrade package fontname 23088 -> 24661 +- upgrade package fontools 20048 -> 23329 +- upgrade package fontspec 21527 -> 24114 +- upgrade package frontespizio 21648 -> 24054 +- upgrade package graphics 22151 -> 23395 +- upgrade package hatching 18486 -> 23818 +- upgrade package hyperref 22110 -> 24686 +- upgrade package hyph-utf8 23085 -> 24089 +- new package impnattypo +- upgrade package index 15878 -> 24099 +- new package interpreter +- upgrade package ionumbers 15878 -> 23380 +- upgrade package koma-script 21983 -> 23235 +- new package l3experimental +- new package l3kernel +- new package l3packages +- upgrade package latex 22152 -> 23639 +- upgrade package latexmk 22466 -> 24722 +- new package luabibentry +- new package luaindex +- upgrade package lualatex-math 22339 -> 24009 +- new package luapersian +- upgrade package marvosym 22202 -> 23630 +- new package match_parens +- new package mf2pt1 +- upgrade package mh 21405 -> 23333 +- upgrade package misc 17497 -> 23699 +- new package mpcolornames +- upgrade package ms 16596 -> 24467 +- upgrade package pdfcrop 19781 -> 23499 +- upgrade package pdfpages 21680 -> 23319 +- upgrade package polyglossia 19698 -> 24291 +- upgrade package powerdot 22510 -> 24587 +- new package przechlewski-book +- upgrade package psnfss 22153 -> 23394 +- new package showhyphens +- upgrade package statex2 20307 -> 23961 +- upgrade package tabvar 21678 -> 23278 +- upgrade package texcount 18835 -> 23293 +- upgrade package texdef 22049 -> 23260 +- upgrade package texdoc 23089 -> 24354 +- upgrade package texinfo 22646 -> 24108 +- new package texliveonfly +- upgrade package thumbpdf 23089 -> 23503 +- upgrade package tools 22154 -> 24253 +- upgrade package unicode-math 21391 -> 24022 +- upgrade package xecjk 22487 -> 23994 +- new package xecolor +- upgrade package xepersian 21397 -> 24687 +- upgrade package xetex 18937 -> 24091 +- upgrade package xetex-itrans 20757 -> 24105 +- upgrade package xunicode 20553 -> 23897 +- deleted package expl3 +- deleted package xecolour +- deleted package xetex-devanagari +- deleted package xpackages + +texlive-core 2011.23170 + +- upgrade package amstex 22650 -> 23089 +- upgrade package bibtex 22198 -> 23089 +- upgrade package context 22719 -> 23169 +- upgrade package context-account 16837 -> 23167 +- upgrade package context-algorithmic 15878 -> 23167 +- upgrade package context-bnf 15878 -> 23167 +- upgrade package context-chromato 15878 -> 23167 +- upgrade package context-construction-plan 15878 -> 23167 +- upgrade package context-degrade 15878 -> 23167 +- upgrade package context-filter 21636 -> 23170 +- upgrade package context-fixme 16141 -> 23167 +- upgrade package context-french 15878 -> 23167 +- upgrade package context-fullpage 21201 -> 23167 +- upgrade package context-games 15878 -> 23167 +- upgrade package context-gnuplot 21379 -> 23167 +- upgrade package context-letter 21349 -> 23167 +- upgrade package context-lettrine 15878 -> 23167 +- upgrade package context-lilypond 17445 -> 23167 +- upgrade package context-mathsets 21969 -> 23167 +- upgrade package context-rst 22387 -> 23167 +- upgrade package context-ruby 16847 -> 23167 +- upgrade package context-simplefonts 21854 -> 23167 +- upgrade package context-simpleslides 16975 -> 23167 +- upgrade package context-typearea 15878 -> 23167 +- upgrade package context-typescripts 21034 -> 23167 +- upgrade package context-vim 21637 -> 23167 +- upgrade package cweb 22198 -> 23089 +- upgrade package dvips 22534 -> 23089 +- upgrade package fontinst 18835 -> 23089 +- upgrade package fontname 21489 -> 23088 +- upgrade package hyph-utf8 21077 -> 23085 +- upgrade package latexconfig 21697 -> 22998 +- upgrade package lm 18651 -> 23165 +- upgrade package luamplib 20881 -> 23137 +- upgrade package makeindex 21345 -> 23089 +- upgrade package metafont 22646 -> 23089 +- upgrade package metapost 22680 -> 23089 +- upgrade package mfware 22534 -> 23089 +- upgrade package mptopdf 22719 -> 23089 +- upgrade package pkfix-helper 20168 -> 22981 +- new package texdoc +- upgrade package thumbpdf 19315 -> 23089 +- upgrade package ttfutils 22534 -> 23089 + +texlive-core 2011.22722 + +- upgrade package amstex 22089 -> 22650 +- upgrade package bibtex 22089 -> 22198 +- upgrade package bundledoc 18835 -> 22307 +- upgrade package context 21345 -> 22719 +- new package context-rst +- upgrade package cslatex 18835 -> 22650 +- upgrade package csplain 18835 -> 22650 +- upgrade package ctable 22095 -> 22269 +- upgrade package cweb 22089 -> 22198 +- upgrade package dvips 22035 -> 22534 +- upgrade package etex 22089 -> 22198 +- upgrade package euro 15878 -> 22191 +- upgrade package expl3 21634 -> 22236 +- upgrade package ifluatex 22124 -> 22180 +- upgrade package jmn 15878 -> 22719 +- upgrade package latexmk 22132 -> 22466 +- upgrade package lithuanian 15878 -> 22722 +- upgrade package luacode 20372 -> 22605 +- new package lualatex-math +- upgrade package luaotfload 21450 -> 22165 +- upgrade package luatexbase 20476 -> 22560 +- upgrade package marvosym 15878 -> 22202 +- upgrade package metafont 22089 -> 22646 +- upgrade package metapost 22106 -> 22680 +- upgrade package mex 18835 -> 22650 +- upgrade package mfware 22089 -> 22534 +- upgrade package mptopdf 18835 -> 22719 +- upgrade package oberdiek 22124 -> 22180 +- upgrade package pdftex-def 21241 -> 22653 +- upgrade package pgf 20236 -> 22614 +- upgrade package pkfix 18835 -> 22168 +- upgrade package powerdot 20970 -> 22510 +- upgrade package texinfo 21803 -> 22646 +- upgrade package ttfutils 18835 -> 22534 +- upgrade package unisugar 21552 -> 22357 +- upgrade package xecjk 21117 -> 22487 +- new package xetex-devanagari +- upgrade package xpackages 21184 -> 22347 +- deleted package eurofont +- deleted package eurosans +- deleted package harvardkyoto + +texlive-core 2010.22154-1 + +- upgrade package amscls 20248 -> 22145 +- upgrade package amsmath 20250 -> 22147 +- upgrade package amstex 18835 -> 22089 +- upgrade package avantgar 15878 -> 21993 +- upgrade package babel 20253 -> 22149 +- new package bibleref-french +- new package bibleref-german +- upgrade package bibtex 20729 -> 22089 +- upgrade package bidi 20057 -> 22125 +- upgrade package bookman 15878 -> 21993 +- upgrade package context 20438 -> 21345 +- upgrade package context-filter 20288 -> 21636 +- upgrade package context-fullpage 18021 -> 21201 +- upgrade package context-gnuplot 15878 -> 21379 +- upgrade package context-letter 20359 -> 21349 +- upgrade package context-mathsets 15878 -> 21969 +- upgrade package context-simplefonts 20103 -> 21854 +- upgrade package context-typescripts 19977 -> 21034 +- upgrade package context-vim 15878 -> 21637 +- upgrade package courier 20926 -> 21993 +- upgrade package ctable 20274 -> 22095 +- upgrade package cweb 18835 -> 22089 +- upgrade package drv 20511 -> 21499 +- upgrade package dvips 20950 -> 22035 +- upgrade package epsf 17190 -> 21461 +- upgrade package eso-pic 20020 -> 21515 +- upgrade package etex 16381 -> 22089 +- upgrade package expl3 20793 -> 21634 +- new package fixlatvian +- upgrade package fontname 20190 -> 21489 +- upgrade package fontspec 20472 -> 21527 +- upgrade package fragmaster 18835 -> 21460 +- upgrade package frontespizio 19139 -> 21648 +- new package gmp +- upgrade package graphics 20255 -> 22151 +- upgrade package helvetic 20926 -> 21993 +- upgrade package hyperref 20783 -> 22110 +- upgrade package hyph-utf8 19815 -> 21077 +- upgrade package ifluatex 18100 -> 22124 +- upgrade package isomath 19786 -> 21296 +- upgrade package koma-script 19797 -> 21983 +- upgrade package latex 20256 -> 22152 +- upgrade package latexconfig 20663 -> 21697 +- upgrade package latexmk 20887 -> 22132 +- upgrade package ltxmisc 20350 -> 21927 +- upgrade package lualibs 19328 -> 21149 +- upgrade package luaotfload 20475 -> 21450 +- upgrade package makeindex 18835 -> 21345 +- upgrade package memoir 19810 -> 21638 +- upgrade package metafont 18835 -> 22089 +- upgrade package metapost 18835 -> 22106 +- upgrade package mfpic 18920 -> 21800 +- upgrade package mfware 18835 -> 22089 +- upgrade package mh 19794 -> 21405 +- upgrade package mkjobtexmf 20859 -> 21345 +- upgrade package mp3d 15878 -> 21771 +- new package mpgraphics +- upgrade package ncntrsbk 15878 -> 21993 +- upgrade package oberdiek 18100 -> 22124 +- upgrade package oubraces 17175 -> 21833 +- upgrade package palatino 15878 -> 21993 +- upgrade package path 19866 -> 22045 +- upgrade package pdfpages 20796 -> 21680 +- upgrade package pdftex-def 20593 -> 21241 +- upgrade package powerdot 20649 -> 20970 +- upgrade package psnfss 20257 -> 22153 +- upgrade package ruhyphen 18394 -> 21081 +- upgrade package setspace 15878 -> 21104 +- upgrade package stmaryrd 15878 -> 22027 +- new package sty2dtx +- upgrade package symbol 15878 -> 21570 +- upgrade package tabvar 19619 -> 21678 +- new package texdef +- upgrade package texinfo 20918 -> 21803 +- upgrade package times 20926 -> 21993 +- upgrade package tools 20258 -> 22154 +- upgrade package ukrhyph 18396 -> 21081 +- upgrade package ulem 20083 -> 21840 +- upgrade package unicode-math 19934 -> 21391 +- new package unisugar +- upgrade package xecjk 18848 -> 21117 +- upgrade package xepersian 20681 -> 21397 +- upgrade package xpackages 20954 -> 21184 +- upgrade package ytableau 20357 -> 21264 +- upgrade package zapfchan 15878 -> 21993 +- upgrade package zapfding 15878 -> 21570 +- deleted package circle +- deleted package citeref + diff --git a/abs/extra/texlive-core/PKGBUILD b/abs/extra/texlive-core/PKGBUILD new file mode 100644 index 0000000..78e0f7d --- /dev/null +++ b/abs/extra/texlive-core/PKGBUILD @@ -0,0 +1,333 @@ +# $Id$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> + +pkgname=texlive-core +pkgver=2017.45811 +_revnr=${pkgver#2017.} +pkgrel=1 +pkgdesc="TeX Live core distribution" +license=('GPL') +arch=(any) +depends=('texlive-bin' 'perl') +optdepends=( + 'dialog: for texconfig' + 'ghostscript: for epstopdf, epspdf and other ConTeXt tools' + 'java-runtime: for utilities like arara' + 'perl-tk: for texdoctk' + 'psutils: to manipulate the output of dvips' + 'python: for pythontex' + 'python2: for dviasm' + 'ruby: for old ConTeXT MkII and epspdf' + 't1utils: can be useful when installing Type1 fonts' +) +groups=('texlive-most') +conflicts=('tetex' 'texlive-latex3' 'pdfjam' + 'texlive-genericextra' + 'texlive-plainextra') +provides=('tetex' 'texlive-latex3' 'pdfjam' + 'texlive-genericextra' + 'texlive-plainextra') +replaces=('tetex' 'texlive-latex3' 'pdfjam' + 'texlive-genericextra' + 'texlive-plainextra') +url='http://tug.org/texlive/' +source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" + "$pkgname.maps" + "$pkgname.fmts" + "mktexlsr.hook" + "mktexlsr.script" + "texlive-updmap.hook" + "texlive-updmap.script" + "texlive-fmtutil.hook" + "texlive-fmtutil.script" + "texmf.cnf" + "texmfcnf.lua" + "09-texlive-fonts.conf") +install=texlive.install +backup=(etc/texmf/web2c/texmf.cnf \ + etc/texmf/chktex/chktexrc \ + etc/texmf/dvipdfmx/dvipdfmx.cfg \ + etc/texmf/dvips/config/config.ps \ + etc/texmf/tex/generic/config/language.dat \ + etc/texmf/tex/generic/config/language.def \ + etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex \ + etc/texmf/ttf2pk/ttf2pk.cfg \ + etc/texmf/web2c/fmtutil.cnf \ + etc/texmf/web2c/mktex.cnf \ + etc/texmf/xdvi/XDvi) +sha256sums=('c0e3ce33ec3eccf4fe97dda08ab5b47ae45c9c5b368d4a4dee8920ff7e626baa' + '275253728d884b2b75e01840b0824c1fe5afbdda91fafeacd33deb6cd92341a3' + '009ab6be9e4fa18709fc74d26a3777372f4b5af9313421ff0546ba94a9d5ff13' + '1d62d46d4d3a538ccad48d31192fccdfc8d6c0a60b331575a10a007d46812d46' + '05afeae62a5d4c9de79c838c9636e2aefe9ad1d6b787fed4e5930c13baf60eba' + '9a0e462ad44d2ced432860ff62288b1c2f55b04c8d0c92887672478752417cf4' + 'ee6e76192a5ad880a2152cd7900b86c8465239fb228045a2f8360b0d7a449f4a' + '1f2c67e3cab02398980008f3095257ade3bb79f188cf0815a2671af3080e21af' + 'f96e9f815fa0a4b85e677f2a9215d9106b8abe46eceb3f3e36a6c76eda3e4a85' + '52d5bbb2eb34e20a01fb84210de7b1ff029259900976583bedba890e6d5e7873' + '0b6c3ee516608ce04d7133db52cadfa1be5d885b3f82bb39dc5897b213847e0d' + '5e79c40cf3ab93348fc89e97890198601767ea2c8fea89ea76088c17a2b35962') + +build() { + cd "$srcdir" + echo -n " --> extracting all packages... " + for p in *.tar.xz; do + bsdtar -xf $p + done + echo "done" + rm -rf source doc +} + +package() { + cd "$srcdir" + + # Install packages. + install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs + install -m644 $pkgname.maps $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m644 $pkgname.fmts $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m755 -d $pkgdir/usr/share + wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true + for dir in $wanteddirs; do + find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \; + find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \; + done + find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \; + find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \; + find texmf-dist -type f -executable -exec chmod 755 $pkgdir/usr/share/'{}' \; + + ############################################################# + ### install texmf tree + echo "--> installing the /etc/texmf tree" + install -d -m755 "$pkgdir"/etc/texmf/web2c + install -d -m755 "$pkgdir"/etc/texmf/chktex + install -d -m755 "$pkgdir"/etc/texmf/dvips/config + install -d -m755 "$pkgdir"/etc/texmf/dvipdfmx + install -d -m755 "$pkgdir"/etc/texmf/tex/generic/config + install -d -m755 "$pkgdir"/etc/texmf/tex/generic/tex-ini-files + install -d -m755 "$pkgdir"/etc/texmf/ttf2pk + install -d -m755 "$pkgdir"/etc/texmf/xdvi + install -d -m755 "$pkgdir"/etc/fonts/conf.avail + install -m644 "$srcdir"/09-texlive-fonts.conf "$pkgdir"/etc/fonts/conf.avail/ + + # Remove manpages (already in texlive-bin). + rm -rf "$pkgdir"/usr/share/texmf-dist/doc/man + + # copy config files to $TEXMFCONFIG tree + cp -a "$pkgdir"/usr/share/texmf-dist/chktex/chktexrc \ + "$pkgdir"/etc/texmf/chktex/ + cp -a "$pkgdir"/usr/share/texmf-dist/web2c/mktex.cnf \ + "$pkgdir"/etc/texmf/web2c/ + cp -a "$pkgdir"/usr/share/texmf-dist/web2c/updmap-hdr.cfg \ + "$pkgdir"/etc/texmf/web2c/ + cp -a "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil-hdr.cnf \ + "$pkgdir"/etc/texmf/web2c/fmtutil.cnf + cp -a "$pkgdir"/usr/share/texmf-dist/dvips/config/config.ps \ + "$pkgdir"/etc/texmf/dvips/config/ + cp -a "$pkgdir"/usr/share/texmf-dist/dvipdfmx/dvipdfmx.cfg \ + "$pkgdir"/etc/texmf/dvipdfmx/ + cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex \ + "$pkgdir"/etc/texmf/tex/generic/tex-ini-files/ + cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.dat \ + "$pkgdir"/etc/texmf/tex/generic/config/ + cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.def \ + "$pkgdir"/etc/texmf/tex/generic/config/ + cp -a "$pkgdir"/usr/share/texmf-dist/ttf2pk/ttf2pk.cfg \ + "$pkgdir"/etc/texmf/ttf2pk/ + cp -a "$pkgdir"/usr/share/texmf-dist/xdvi/XDvi \ + "$pkgdir"/etc/texmf/xdvi/ + # remove TL specific warnings in the language.{dat,def} files: + sed -i -e '/DO NOT EDIT/,+3 d' "$pkgdir"/etc/texmf/tex/generic/config/language.* + + # replace upstream texmf.cnf with ours + rm -f "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf + install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf + # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c + # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter + ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf + # replace upstream texmfcnf.lua with ours + install -m644 "$srcdir"/texmfcnf.lua "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua + + # create symlinks for formats + echo "--> Create symlinks for TeX formats ..." + mkdir -p "${pkgdir}/usr/bin" + bash "${pkgdir}"/usr/share/texmf-dist/scripts/texlive/texlinks.sh -f "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf "$pkgdir"/usr/bin/ + + # use python2 instead of python for scripts. + sed -i '1s/python/python2/' $pkgdir/usr/share/texmf-dist/scripts/de-macro/de-macro + sed -i 's/env python/env python2/' $pkgdir/usr/share/texmf-dist/scripts/dviasm/dviasm.py + + # install Perl libraries + mv "$pkgdir"/usr/share/texmf-dist/tlpkg "$pkgdir"/usr/share + rm -rf "$pkgdir"/usr/share/tlpkg/tlpobj + + ## install pacman hooks + install -D -m644 ${srcdir}/mktexlsr.hook "$pkgdir/usr/share/libalpm/hooks/mktexlsr.hook" + install -D -m644 ${srcdir}/texlive-updmap.hook "$pkgdir/usr/share/libalpm/hooks/texlive-updmap.hook" + install -D -m644 ${srcdir}/texlive-fmtutil.hook "$pkgdir/usr/share/libalpm/hooks/texlive-fmtutil.hook" + install -D -m755 ${srcdir}/mktexlsr.script "$pkgdir/usr/share/libalpm/scripts/mktexlsr" + install -D -m755 ${srcdir}/texlive-updmap.script "$pkgdir/usr/share/libalpm/scripts/texlive-updmap" + install -D -m755 ${srcdir}/texlive-fmtutil.script "$pkgdir/usr/share/libalpm/scripts/texlive-fmtutil" + + # copy config file to texmf-config + #mkdir -p $pkgdir/etc/texmf/tex/context/config + #cp -a $pkgdir/usr/share/texmf-dist/tex/context/config/cont-usr.tex \ + # $pkgdir/etc/texmf/tex/context/config/cont-usr.tex + + # remove upstream updmap.cfg: it contains too many maps. + rm "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg" + # remove upstream fmtutil.cnf: it will be autogenerated + rm "${pkgdir}/usr/share/texmf-dist/web2c/fmtutil.cnf" + + # more cleanup + rm -rf $pkgdir/usr/share/texmf-dist/scripts/context/stubs/mswin/ + + # link programs from /usr/share/texmf-dist/scripts + _linked_scripts=" +a2ping/a2ping.pl +accfonts/mkt1font +accfonts/vpl2ovp +accfonts/vpl2vpl +adhocfilelist/adhocfilelist.sh +arara/arara.sh +bundledoc/arlatex +bundledoc/bundledoc +checkcites/checkcites.lua +checklistings/checklistings.sh +chktex/chkweb.sh +chktex/deweb.pl +cjk-gs-integrate/cjk-gs-integrate.pl +context/perl/mptopdf.pl +context/stubs/unix/context +context/stubs/unix/contextjit +context/stubs/unix/luatools +context/stubs/unix/mtxrun +context/stubs/unix/mtxrunjit +context/stubs/unix/texexec +context/stubs/unix/texmfstart +ctanify/ctanify +ctanupload/ctanupload.pl +de-macro/de-macro +dosepsbin/dosepsbin.pl +dtxgen/dtxgen +dviasm/dviasm.py +dviinfox/dviinfox.pl +epstopdf/epstopdf.pl +findhyph/findhyph +fontools/afm2afm +fontools/autoinst +fontools/ot2kpx +fragmaster/fragmaster.pl +installfont/installfont-tl +latex-git-log/latex-git-log +latex-papersize/latex-papersize.py +latex2man/latex2man +latex2nemeth/latex2nemeth +latexdiff/latexdiff-vc.pl +latexdiff/latexdiff.pl +latexdiff/latexrevise.pl +latexfileversion/latexfileversion +latexindent/latexindent.pl +latexmk/latexmk.pl +latexpand/latexpand +ltxfileinfo/ltxfileinfo +ltximg/ltximg.pl +lua2dox/lua2dox_filter +luaotfload/luaotfload-tool.lua +lwarp/lwarpmk.lua +make4ht/make4ht +match_parens/match_parens +mf2pt1/mf2pt1.pl +mkjobtexmf/mkjobtexmf.pl +oberdiek/pdfatfi.pl +pdfbook2/pdfbook2 +pdfcrop/pdfcrop.pl +pdfjam/pdf180 +pdfjam/pdf270 +pdfjam/pdf90 +pdfjam/pdfbook +pdfjam/pdfflip +pdfjam/pdfjam +pdfjam/pdfjam-pocketmod +pdfjam/pdfjam-slides3up +pdfjam/pdfjam-slides6up +pdfjam/pdfjoin +pdfjam/pdfnup +pdfjam/pdfpun +pdflatexpicscale/pdflatexpicscale.pl +pdfxup/pdfxup +pfarrei/a5toa4.tlu +pfarrei/pfarrei.tlu +pkfix-helper/pkfix-helper +pkfix/pkfix.pl +ps2eps/ps2eps.pl +purifyeps/purifyeps +pythontex/pythontex.py +pythontex/depythontex.py +simpdftex/simpdftex +srcredact/srcredact.pl +sty2dtx/sty2dtx.pl +texcount/texcount.pl +tex4ebook/tex4ebook +tex4ht/ht.sh +tex4ht/htcontext.sh +tex4ht/htlatex.sh +tex4ht/htmex.sh +tex4ht/httex.sh +tex4ht/httexi.sh +tex4ht/htxelatex.sh +tex4ht/htxetex.sh +tex4ht/mk4ht.pl +tex4ht/xhlatex.sh +texdef/texdef.pl +texdiff/texdiff +texdirflatten/texdirflatten +texdoc/texdoc.tlu +texdoctk/texdoctk.pl +texfot/texfot.pl +texlive/allcm.sh +texlive/allneeded.sh +texlive/dvi2fax.sh +texlive/dvired.sh +texlive/e2pall.pl +texlive/fmtutil-sys.sh +texlive/fmtutil-user.sh +texlive/fmtutil.pl +texlive/fontinst.sh +texlive/kpsetool.sh +texlive/kpsewhere.sh +texlive/ps2frag.sh +texlive/pslatex.sh +texlive/rungs.tlu +texlive/texconfig-dialog.sh +texlive/texconfig-sys.sh +texlive/texconfig.sh +texlive/texlinks.sh +texlive/updmap-sys.sh +texlive/updmap-user.sh +texlive/updmap.pl +texliveonfly/texliveonfly.py +texloganalyser/texloganalyser +thumbpdf/thumbpdf.pl +typeoutfileinfo/typeoutfileinfo.sh +xindy/texindy.pl +xindy/xindy.pl +" + install -m755 -d $pkgdir/usr/bin + for _script in ${_linked_scripts}; do + _scriptbase=$(basename $_script) + _scriptbase=${_scriptbase%.*} + ln -s /usr/share/texmf-dist/scripts/${_script} ${pkgdir}/usr/bin/${_scriptbase} + done + ln -s /usr/share/texmf-dist/scripts/listings-ext/listings-ext.sh ${pkgdir}/usr/bin/listings-ext.sh + + # additional symlinks + ln -s allcm ${pkgdir}/usr/bin/allec + ln -s fmtutil ${pkgdir}/usr/bin/mktexfmt + ln -s kpsetool ${pkgdir}/usr/bin/kpsexpand + ln -s kpsetool ${pkgdir}/usr/bin/kpsepath + ln -s epstopdf ${pkgdir}/usr/bin/repstopdf + ln -s pdfcrop ${pkgdir}/usr/bin/rpdfcrop + ln -s luaotfload-tool ${pkgdir}/usr/bin/mkluatexfontdb +} diff --git a/abs/extra/texlive-core/mktexlsr.hook b/abs/extra/texlive-core/mktexlsr.hook new file mode 100644 index 0000000..f1a3b8b --- /dev/null +++ b/abs/extra/texlive-core/mktexlsr.hook @@ -0,0 +1,16 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/bin/mktexlsr +Target = etc/texmf/* +Target = usr/share/texmf/* +Target = usr/share/texmf-dist/* +Target = var/lib/texmf/* + +[Action] +Description = Updating TeXLive filename database... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/mktexlsr + diff --git a/abs/extra/texlive-core/mktexlsr.script b/abs/extra/texlive-core/mktexlsr.script new file mode 100644 index 0000000..6894415 --- /dev/null +++ b/abs/extra/texlive-core/mktexlsr.script @@ -0,0 +1,12 @@ +#!/bin/bash + +/usr/bin/mktexlsr +(cd /etc/texmf && /usr/bin/mtxrun --generate >/dev/null) +# We need to remove directory "." from luatex cache to avoid absurd +# behaviour. +for item in /var/lib/texmf/luatex-cache/context/*/trees/*.lua; do + if grep -F '["root"]="."' "$item" >/dev/null; then + rm -f "$item" "${item%.lua}.luc" + fi +done + diff --git a/abs/extra/texlive-core/texlive-core.fmts b/abs/extra/texlive-core/texlive-core.fmts new file mode 100644 index 0000000..944c9de --- /dev/null +++ b/abs/extra/texlive-core/texlive-core.fmts @@ -0,0 +1,32 @@ +cont-en pdftex cont-usr.tex -8bit *cont-en.mkii +cont-en xetex cont-usr.tex -8bit *cont-en.mkii +#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii +#! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii +#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii +#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii +cslatex pdftex - -etex cslatex.ini +csplain pdftex - -etex -enc csplain-utf8.ini +dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini +dviluatex luatex language.def,language.dat.lua dviluatex.ini +etex pdftex language.def -translate-file=cp227.tcx *etex.ini +latex pdftex language.dat -translate-file=cp227.tcx *latex.ini +#! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini +luajittex luajittex language.def,language.dat.lua luatex.ini +lualatex luatex language.dat,language.dat.lua lualatex.ini +luatex luatex language.def,language.dat.lua luatex.ini +mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini +mf mf-nowin - -translate-file=cp227.tcx mf.ini +#! mflua mflua-nowin - mf.ini +mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex +pdfcslatex pdftex - -etex cslatex.ini +pdfcsplain luatex - -etex csplain.ini +pdfcsplain pdftex - -etex -enc csplain-utf8.ini +pdfcsplain xetex - -etex csplain.ini +pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini +pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini +pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini +pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini +tex tex - tex.ini +utf8mex pdftex mexconf.tex -enc *utf8mex.ini +xelatex xetex language.dat -etex xelatex.ini +xetex xetex language.def -etex xetex.ini diff --git a/abs/extra/texlive-core/texlive-core.maps b/abs/extra/texlive-core/texlive-core.maps new file mode 100644 index 0000000..129718f --- /dev/null +++ b/abs/extra/texlive-core/texlive-core.maps @@ -0,0 +1,60 @@ +Map euler.map +Map charter.map +Map cs-charter.map +Map csfonts.map +Map dummy-space.map +Map fpls.map +Map garuda-c90.map +Map l7x-urwvn.map +Map lm.map +Map marvosym.map +Map mathpple.map +Map norasi-c90.map +Map original-context-symbol.map +Map pazo.map +Map pxfonts.map +Map qag.map +Map qbk.map +Map qcr.map +Map qcs.map +Map qhv.map +Map qpl.map +Map qtm.map +Map qzc.map +Map tabvar.map +Map troff-updmap.map +Map txfonts.map +Map uag.map +Map ubk.map +Map ucr.map +Map uhv.map +Map unc.map +Map upl.map +Map usy.map +Map utm.map +Map utopia.map +Map uzc.map +Map uzd.map +MixedMap arss.map +MixedMap artm.map +MixedMap ccpl.map +MixedMap cm-super-t1.map +MixedMap cm-super-t2a.map +MixedMap cm-super-t2b.map +MixedMap cm-super-t2c.map +MixedMap cm-super-ts1.map +MixedMap cm-super-x2.map +MixedMap cm.map +MixedMap cmextra.map +MixedMap cmtext-bsr-interpolated.map +MixedMap cyrillic.map +MixedMap eurosym.map +MixedMap latxfont.map +MixedMap manfnt.map +MixedMap mflogo.map +MixedMap plother.map +MixedMap pltext.map +MixedMap rsfs.map +MixedMap symbols.map +MixedMap tipa.map +MixedMap wasy.map diff --git a/abs/extra/texlive-core/texlive-fmtutil.hook b/abs/extra/texlive-core/texlive-fmtutil.hook new file mode 100644 index 0000000..cb5bcc9 --- /dev/null +++ b/abs/extra/texlive-core/texlive-fmtutil.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = var/lib/texmf/arch/installedpkgs/*.fmts + +[Action] +Description = Updating TeXLive format files... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/texlive-fmtutil + diff --git a/abs/extra/texlive-core/texlive-fmtutil.script b/abs/extra/texlive-core/texlive-fmtutil.script new file mode 100644 index 0000000..0e3b943 --- /dev/null +++ b/abs/extra/texlive-core/texlive-fmtutil.script @@ -0,0 +1,19 @@ +#!/bin/bash + +FMTUTIL="etc/texmf/web2c/fmtutil.cnf" +FMTUTILLOCAL="etc/texmf/web2c/fmtutil-local.cnf" + +cp usr/share/texmf-dist/web2c/fmtutil-hdr.cnf $FMTUTIL +for file in var/lib/texmf/arch/installedpkgs/*.fmts; do + echo >> $FMTUTIL + echo "# $file" >> $FMTUTIL + cat $file >> $FMTUTIL +done +if [[ -f "$FMTUTILLOCAL" ]]; then + echo >> $FMTUTIL + echo "# $FMTUTILLOCAL" >> $FMTUTIL + cat "$FMTUTILLOCAL" >> $FMTUTIL +fi + +/usr/bin/fmtutil-sys --all --cnffile $FMTUTIL > /dev/null + diff --git a/abs/extra/texlive-core/texlive-updmap.hook b/abs/extra/texlive-core/texlive-updmap.hook new file mode 100644 index 0000000..8bacce9 --- /dev/null +++ b/abs/extra/texlive-core/texlive-updmap.hook @@ -0,0 +1,13 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/bin/tex +Target = var/lib/texmf/arch/installedpkgs/*.maps + +[Action] +Description = Updating TeXLive font maps... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/texlive-updmap + diff --git a/abs/extra/texlive-core/texlive-updmap.script b/abs/extra/texlive-core/texlive-updmap.script new file mode 100644 index 0000000..9dd59f0 --- /dev/null +++ b/abs/extra/texlive-core/texlive-updmap.script @@ -0,0 +1,15 @@ +#!/bin/bash + +UPDMAP="etc/texmf/web2c/updmap.cfg" +UPDMAPLOCAL="etc/texmf/web2c/updmap-local.cfg" + +cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP +cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP +if [[ -f "$UPDMAPLOCAL" ]]; then + cat "$UPDMAPLOCAL" >> $UPDMAP +fi + +# Run mktexlsr since /etc/texmf/web2c/updmap.cfg can be a new file +/usr/bin/mktexlsr +/usr/bin/updmap-sys --quiet --nohash + diff --git a/abs/extra/texlive-core/texlive.install b/abs/extra/texlive-core/texlive.install new file mode 100644 index 0000000..041ac72 --- /dev/null +++ b/abs/extra/texlive-core/texlive.install @@ -0,0 +1,12 @@ +post_install() { + echo ">>> updmap custom entries should go into /etc/texmf/web2c/updmap-local.cfg" + echo ">>> fmtutil custom entries should go into /etc/texmf/web2c/fmtutil-local.cnf" + echo "NB: To setup ConTeXt and the lua(la)tex font db," + echo " see http://wiki.archlinux.org/index.php/TeX_Live" +} + +post_upgrade() { + echo ">>> updmap custom entries should go into /etc/texmf/web2c/updmap-local.cfg" + echo ">>> fmtutil custom entries should go into /etc/texmf/web2c/fmtutil-local.cnf" +} + diff --git a/abs/extra/texlive-core/texmf.cnf b/abs/extra/texlive-core/texmf.cnf new file mode 100644 index 0000000..6b0cff9 --- /dev/null +++ b/abs/extra/texlive-core/texmf.cnf @@ -0,0 +1,807 @@ +% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea. +% Public domain. +% +% If you modify this original file, YOUR CHANGES WILL BE LOST when it is +% updated. Instead, put your changes -- and only your changes, not an +% entire copy! -- in ../../texmf.cnf. That is, if this file is +% installed in /some/path/to/texlive/2017/texmf-dist/web2c/texmf.cnf, +% add your custom settings to /some/path/to/texlive/2017/texmf.cnf. +% +% What follows is a super-summary of what this .cnf file can +% contain. Please read the Kpathsea manual for more information. +% +% Each statement in this file boils down to: +% <variable>[.<program>] [=] <value> +% +% Neither the <variable> nor the <value> may be empty. +% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned. +% The `=' (and surrounding spaces) is optional. +% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo. +% Lines can be continued with a \; no whitespace removal is done. +% +% Earlier entries (in the same or another file) override later ones, and +% an environment variable foo overrides any texmf.cnf definition of foo. +% +% All definitions are read before anything is expanded, so you can use +% variables before they are defined. +% +% If a variable assignment is qualified with `.PROGRAM', it is ignored +% unless the current executable (last filename component of argv[0]) is +% named PROGRAM. This foo.PROGRAM construct is not recognized on the +% right-hand side. For environment variables, use FOO_PROGRAM. +% +% Which file formats use which paths for searches is described in the +% various programs' and the Kpathsea documentation (http://tug.org/kpathsea). +% +% // means to search subdirectories (recursively). +% A leading !! means to look only in the ls-R db, never on the disk. +% In this file, either ; or : can be used to separate path components. +% A leading/trailing/doubled path separator in the paths will be +% expanded into the compile-time default. Probably not what you want. +% +% Brace notation is supported, for example: /usr/local/{mytex,othertex} +% expands to /usr/local/mytex:/usr/local/othertex. + + +% Part 1: Search paths and directories. + +% This is the parent directory of our several trees, i.e., +% /usr/local/texlive/YYYY in the original TeX Live distribution. +% +% All trees must be organized according to the TeX Directory Structure +% (http://tug.org/tds), or files may not be found. +% +% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share. +% Kpathsea sets SELFAUTOLOC (the directory with the binary), +% SELFAUTODIR (its parent), and SELFAUTOPARENT (its grandparent). +TEXMFROOT = $SELFAUTODIR/share + +% The main tree of distributed packages and programs: +TEXMFDIST = $TEXMFROOT/texmf-dist + +% We used to have a separate /texmf tree with some core programs and files. +% Keep the variable name. +TEXMFMAIN = $TEXMFDIST + +% Local additions to the distribution trees. +TEXMFLOCAL = /usr/local/share/texmf;/usr/share/texmf + +% TEXMFSYSVAR, where *-sys store cached runtime data. +TEXMFSYSVAR = /var/lib/texmf + +% TEXMFSYSCONFIG, where *-sys store configuration data. +TEXMFSYSCONFIG = /etc/texmf + +% Per-user texmf tree(s) -- organized per the TDS, as usual. To define +% more than one per-user tree, set this to a list of directories in +% braces, as described above. (This used to be HOMETEXMF.) ~ expands +% to %USERPROFILE% on Windows, $HOME otherwise. +TEXMFHOME = ~/texmf + +% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. +TEXMFVAR = ~/.texlive/texmf-var + +% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data. +TEXMFCONFIG = ~/.texlive/texmf-config + +% This is the value manipulated by tlmgr's auxtrees subcommand in the +% root texmf.cnf. Kpathsea warns about a literally empty string for a +% value, hence the empty braces. +TEXMFAUXTREES = {} + +% List all the texmf trees. For an explanation of what they are, see the +% TeX Live manual. +% +% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named +% explicitly and before other trees. +% +% TEXMFLOCAL precedes TEXMFDIST because locally-installed versions +% should take precedence over distribution files -- although it is +% generally a source of confusion to have different versions of a +% package installed, whatever the trees, so try to avoid it. +% +% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is +% ever defined (the 99% common case), no extra elements will be added to +% the search paths. tlmgr takes care to end any value with a trailing comma. +TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST} + +% Where to look for ls-R files. There need not be an ls-R in the +% directories in this path, but if there is one, Kpathsea will use it. +% By default, this is only the !! elements of TEXMF, so that mktexlsr +% does not create ls-R files in the non-!! elements -- because if an +% ls-R is present, it will be used, and the disk will not be searched. +% This is arguably a bug in kpathsea. +TEXMFDBS = {!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} + +% The system trees. These are the trees that are shared by all users. +% If a tree appears in this list, the mktex* scripts will use +% VARTEXFONTS for generated files, if the original tree isn't writable; +% otherwise the current working directory is used. +SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST + +% First writable tree here is used by Lua(La)TeX for the font cache. +% LuaLaTeX uses the value here, while ConTeXt uses the same variable but +% from texmfcnf.lua; therefore the two values should be kept in sync. +% (As should everything else in texmf.cnf <-> texmfcnf.lua.) +TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR + +% Where generated fonts may be written. This tree is used when the sources +% were found in a system tree and either that tree wasn't writable, or the +% varfonts feature was enabled in MT_FEATURES in mktex.cnf. +VARTEXFONTS = $TEXMFVAR/fonts + +% On some systems, there will be a system tree which contains all the font +% files that may be created as well as the formats. For example +% TEXMFVAR = /var/lib/texmf +% is used in many distros. In this case, set VARTEXFONTS like this +%VARTEXFONTS = $TEXMFVAR/fonts +% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR). +% +% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below +% one of the TEXMF directories (avoids overlapping ls-R files). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Usually you will not need to edit any of the following variables. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% WEB2C is for Web2C specific files. The current directory may not be +% a good place to look for them. +WEB2C = $TEXMF/web2c + +% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input +% or \openin, including .sty, .eps, etc. We specify paths for all known +% formats, past or present. Not all of them are built these days. + +% Plain TeX. Have the command tex check all directories as a last +% resort, we may have plain-compatible stuff anywhere. +TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}// + +% Fontinst needs to read afm files. +TEXINPUTS.fontinst = .;$TEXMF/{tex,fonts/afm}// + +% Other plain-based formats. +TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}// +TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}// +TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}// +TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}// +TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}// +TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// + +% LaTeX 2e specific macros are stored in latex/, macros that can only be +% used with 2.09 in latex209/. In addition, we look in the directory +% latex209, useful for macros that were written for 2.09 and do not +% mention 2e at all, but can be used with 2e. +TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}// +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.latex209 = .;$TEXMF/tex/{latex209,generic,latex,}// +TEXINPUTS.olatex = .;$TEXMF/tex/{latex,generic,}// + +% MLTeX. +TEXINPUTS.frlatex = .;$TEXMF/tex/{french,latex,generic,}// +TEXINPUTS.frtex = .;$TEXMF/tex/{french,plain,generic,}// +TEXINPUTS.mllatex = .;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.mltex = .;$TEXMF/tex/{plain,generic,}// + +% e-TeX. +TEXINPUTS.elatex = .;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}// + +% pdfTeX. +TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}// +TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}// +TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}// +TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}// +TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// +TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}// + +% pdfeTeX. +TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}// +TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}// + +% LuaTeX. +TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}// +TEXINPUTS.luajittex = .;$TEXMF/tex/{luatex,plain,generic,}// +TEXINPUTS.dviluatex = .;$TEXMF/tex/{luatex,plain,generic,}// +TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.luajitlatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +TEXINPUTS.dvilualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}// + +% XeTeX. +TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}// +TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}// +TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}// + +% Omega / Aleph. +TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}// +TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}// +TEXINPUTS.lamed = .;$TEXMF/tex/{lambda,latex,generic,}// +TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}// + +% p(La)TeX. +TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,plain,generic,}// +TEXINPUTS.platex = .;$TEXMF/tex/{platex,latex,generic,}// + +% epTeX, and for pmpost. +TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,plain,generic,}// +TEX.pmpost = eptex + +% p(La)TeX-ng +TEXINPUTS.ptex-ng = .;$TEXMF/tex/{uptex,ptex,plain,generic,}// +TEXINPUTS.platex-ng = .;$TEXMF/tex/{uplatex,platex,latex,generic,}// + +% (e)up(La)TeX, and for upmpost +TEXINPUTS.uplatex = .;$TEXMF/tex/{uplatex,platex,latex,generic,}// +TEXINPUTS.uptex = .;$TEXMF/tex/{uptex,ptex,plain,generic,}// +TEXINPUTS.euptex = .;$TEXMF/tex/{uptex,ptex,plain,generic,}// +TEX.upmpost = euptex + +% pBibTeX bibliographies and style files. +BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib// +BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst// + +% ConTeXt. +TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}// + +% jadetex. +TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}// +TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}// + +% XMLTeX. +TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// +TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}// + +% Miscellany, no longer built. +TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}// +TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}// +TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}// +TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}// + +% Earlier entries override later ones, so put this generic one last. +TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}// + +% ttf2tfm. +TTF2TFMINPUTS = .;$TEXMF/ttf2pk// + +% Metafont, MetaPost inputs. +MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source// +MPINPUTS = .;$TEXMF/metapost// + +% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read. +% We want to find the engine-specific file, e.g., cont-en.fmt can +% exist under both pdftex/ and xetex/. But just in case some formats +% end up without an engine directory, look directly in web2c/ too. +% We repeat the same definition three times because of the way fmtutil +% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats +% will not be found. +TEXFORMATS = .;$TEXMF/web2c{/$engine,} +MFBASES = .;$TEXMF/web2c{/$engine,} +MPMEMS = .;$TEXMF/web2c{/$engine,} +% +% As of 2008, pool files don't exist any more (the strings are compiled +% into the binaries), but just in case something expects to find these: +TEXPOOL = .;$TEXMF/web2c +MFPOOL = ${TEXPOOL} +MPPOOL = ${TEXPOOL} + +% support the original xdvi. Must come before the generic settings. +PKFONTS.XDvi = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}// +VFFONTS.XDvi = .;$TEXMF/%s +PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}// +TEXPICTS.XDvi = .;$TEXMF/%q{dvips,tex}// + +% Device-independent font metric files. +VFFONTS = .;$TEXMF/fonts/vf// +TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm// + +% The $MAKETEX_MODE below means the drivers will not use a cx font when +% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init +% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual. +% The modeless part guarantees that bitmaps for PostScript fonts are found. +PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}// + +% Similarly for the GF format, which only remains in existence because +% Metafont outputs it (and MF isn't going to change). +GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE// + +% A backup for PKFONTS and GFFONTS. Not used for anything. +GLYPHFONTS = .;$TEXMF/fonts + +% A place to puth everything that doesn't fit the other font categories. +MISCFONTS = .;$TEXMF/fonts/misc// + +% font name map files. This isn't just fonts/map// because ConTeXt +% wants support for having files with the same name in the different +% subdirs. Maybe if the programs ever get unified to accepting the same +% map file syntax the definition can be simplified again. +TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}// + +% BibTeX bibliographies and style files. bibtex8 also uses these. +BIBINPUTS = .;$TEXMF/bibtex/bib// +BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}// + +% MlBibTeX. +MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}// +MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}// + +% .ris and .bltxml bibliography formats. +RISINPUTS = .;$TEXMF/biber/ris// +BLTXMLINPUTS = .;$TEXMF/biber/bltxml// + +% MFT style files. +MFTINPUTS = .;$TEXMF/mft// + +% PostScript headers and prologues (.pro); unfortunately, some programs +% also use this for acessing font files (enc, type1, truetype) +TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}// +TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}// + +% OSFONTDIR is to provide a convenient hook for allowing TeX to find +% fonts installed on the system (outside of TeX). An empty default +% value would add "//" to the search paths, so we give it a dummy value. +% OSFONTDIR = /usr/share/fonts + +% PostScript Type 1 outline fonts. +T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR// + +% PostScript AFM metric files. +AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR// + +% TrueType outline fonts. +TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR// + +% OpenType outline fonts. +OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR// + +% Type 42 outline fonts. +T42FONTS = .;$TEXMF/fonts/type42// + +% Ligature definition files. +LIGFONTS = .;$TEXMF/fonts/lig// + +% Dvips' config.* files (this name should not start with `TEX'!). +TEXCONFIG = $TEXMF/dvips// + +% Makeindex style (.ist) files. +INDEXSTYLE = .;$TEXMF/makeindex// + +% mendex dictionary files. Used internally by mendex and upmendex. +% It is not necessary to introduce a new format in Kpathsea. +INDEXDICTIONARY = .;$TEXMF/makeindex// + +% Font encoding files (.enc). +ENCFONTS = .;$TEXMF/fonts/enc// + +% CMap files. +CMAPFONTS = .;$TEXMF/fonts/cmap// + +% Subfont definition files. +SFDFONTS = .;$TEXMF/fonts/sfd// + +% OpenType feature files (.fea). +FONTFEATURES=.;$TEXMF/fonts/fea// + +% .cid and .cidmap +FONTCIDMAPS=.;$TEXMF/fonts/cid// + +% pdftex config files: +PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}// + +% Used by DMP (ditroff-to-mpx), called by makempx -troff. +TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps +MPSUPPORT = .;$TEXMF/metapost/support + +% For xdvi to find mime.types and .mailcap, if they do not exist in +% ~. These are single directories, not paths. +% (But the default mime.types, at least, may well suffice.) +MIMELIBDIR = /etc +MAILCAPLIBDIR = /etc + +% Default settings for the fontconfig library as used by the Windows +% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems. +% ConTeXT MkIV (all platforms) also use these values. +% +FONTCONFIG_FILE = fonts.conf +FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf +FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache + +% TeX documentation and source files, for use with texdoc and kpsewhich. +TEXDOCS = $TEXMF/doc// +TEXSOURCES = .;$TEXMF/source// + +% Web and CWeb input paths. +WEBINPUTS = .;$TEXMF/web// +CWEBINPUTS = .;$TEXMF/cweb// + +% Omega-related fonts and other files. +OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}// +OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl// +OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}// +OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp// +OTPINPUTS = .;$TEXMF/omega/otp// +OCPINPUTS = .;$TEXMF/omega/ocp// + +% Some additional input variables for several programs. If you add +% a program that uses the `other text files' or `other binary files' +% search formats, you'll want to add their variables here as well. +T4HTINPUTS = .;$TEXMF/tex4ht// + +%% t4ht utility, sharing files with TeX4ht +TEX4HTFONTSET=alias,iso8859,unicode +TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}// + +% TeXworks editor configuration and settings +TW_LIBPATH = $TEXMFCONFIG/texworks +TW_INIPATH = $TW_LIBPATH + +% For security, do not look in . for dvipdfmx.cfg, since the D option +% would allow command execution. +DVIPDFMXINPUTS = $TEXMF/dvipdfmx + +% Lua needs to look in TEXINPUTS for lua scripts distributed with packages. +% +% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in +% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended +% default expansion of TEXINPUTS will not happen and .lua files under +% the /tex/ will not be found. +% +% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex. +% The default LUAINPUTS suffices for luatex and dviluatex. +% +LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}// +LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}// + +% Lua needs to look for binary lua libraries distributed with packages. +CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua// + +% Architecture independent executables. +TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}// + +% Other languages. +JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java// +PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl// +PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python// +RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby// + + +%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment. +% KPSE_DOT = . + +% This definition isn't used from this .cnf file itself (that would be +% paradoxical), but the compile-time default in paths.h is built from it. +% The SELFAUTO* variables are set automatically from the location of +% argv[0], in kpse_set_program_name. +% +% This main texmf.cnf file is installed, for a release YYYY, in a +% directory such as /usr/local/texlive/YYYY/texmf-dist/web2c/texmf.cnf. +% Since this file is subject to future updates, the TeX Live installer +% or human administrator may also create a file +% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file +% will take precedence over the distributed one. +% +% For security reasons, it is best not to include . in this path. +% +% The idea behind this lengthy definition: for each of +% SELFAUTO{LOC,DIR,PARENT}, look in the directory, +% then the subdirectories share/texmf-local, share/texmf-dist, share/texmf, +% then the subdirectories ./texmf-local, texmf-dist, ./texmf. +% At any given installation, most of these directories will not exist, +% but they all turn out to be useful somewhere. +% +% Special addition -- we want to include one more directory: the +% great-grandparent's texmf-local, because that is how TL is installed +% by default. That is, given a binary +% /usr/local/texlive/YYYY/bin/PLATFORM/kpsewhich, it should find +% /usr/local/texlive/texmf-local/web2c/texmf.cnf. I.e., not under YYYY. +% +% As a result, we cannot use actual brace expansion in the definition, +% since we don't want to scatter ../'s throughout the value. Hence we +% explicitly list every directory. Arguably more understandable anyway. +% +TEXMFCNF = {\ +$SELFAUTOLOC,\ +$SELFAUTOLOC/share/texmf-local/web2c,\ +$SELFAUTOLOC/share/texmf-dist/web2c,\ +$SELFAUTOLOC/share/texmf/web2c,\ +$SELFAUTOLOC/texmf-local/web2c,\ +$SELFAUTOLOC/texmf-dist/web2c,\ +$SELFAUTOLOC/texmf/web2c,\ +\ +$SELFAUTODIR,\ +$SELFAUTODIR/share/texmf-local/web2c,\ +$SELFAUTODIR/share/texmf-dist/web2c,\ +$SELFAUTODIR/share/texmf/web2c,\ +$SELFAUTODIR/texmf-local/web2c,\ +$SELFAUTODIR/texmf-dist/web2c,\ +$SELFAUTODIR/texmf/web2c,\ +\ +$SELFAUTOPARENT/../texmf-local/web2c,\ +$SELFAUTOPARENT,\ +\ +$SELFAUTOPARENT/share/texmf-local/web2c,\ +$SELFAUTOPARENT/share/texmf-dist/web2c,\ +$SELFAUTOPARENT/share/texmf/web2c,\ +$SELFAUTOPARENT/texmf-local/web2c,\ +$SELFAUTOPARENT/texmf-dist/web2c,\ +$SELFAUTOPARENT/texmf/web2c\ +} +% +% For reference, here is the old brace-using definition: +%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c} + +% kpathsea 3.5.3 and later sets these at runtime. To avoid empty +% expansions from binaries linked against an earlier version of the +% library, we set $progname and $engine to something non-empty: +progname = unsetprogname +engine = unsetengine + + +% Part 2: Options. + +% If this option is set to true, `tex a.b' will look first for a.b.tex +% (within each path element), and then for a.b, i.e., we try standard +% extensions first. If this is false, we first look for a.b and then +% a.b.tex, i.e., we try the name as-is first. +% +% Both names are always tried; the difference is the order in which they +% are tried. The setting applies to all searches, not just .tex. +% +% This setting only affects names being looked up which *already* have +% an extension. A name without an extension (e.g., `tex story') will +% always have an extension added first. +% +% The default is true, because we already avoid adding the standard +% extension(s) in the usual cases. E.g., babel.sty will only look for +% babel.sty, not babel.sty.tex, regardless of this setting. +try_std_extension_first = t + +% Enable system commands via \write18{...}. When enabled fully (set to +% t), obviously insecure. When enabled partially (set to p), only the +% commands listed in shell_escape_commands are allowed. Although this +% is not fully secure either, it is much better, and so useful that we +% enable it for everything but bare tex. +shell_escape = p + +% No spaces in this command list. +% +% The programs listed here are as safe as any we know: they either do +% not write any output files, respect openout_any, or have hard-coded +% restrictions similar to or higher than openout_any=p. They also have +% no features to invoke arbitrary other programs, and no known +% exploitable bugs. All to the best of our knowledge. They also have +% practical use for being called from TeX. +% +shell_escape_commands = \ +bibtex,bibtex8,\ +extractbb,\ +gregorio,\ +kpsewhich,\ +makeindex,\ +repstopdf,\ +texosquery-jre8,\ + +% we'd like to allow: +% dvips - but external commands can be executed, need at least -R1. +% epspdf, ps2pdf, pstopdf - need to respect openout_any, +% and gs -dSAFER must be used and check for shell injection with filenames. +% pygmentize - but is the filter feature insecure? +% ps4pdf - but it calls an unrestricted latex. +% rpdfcrop - maybe ok, but let's get experience with repstopdf first. +% texindy,xindy - but is the module feature insecure? +% ulqda - but requires optional SHA1.pm, so why bother. +% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any. + +% plain "tex" should remain unenhanced. +shell_escape.tex = f +shell_escape.initex = f + +% This is used by the Windows script wrapper for restricting searching +% for the purportedly safe shell_escape_commands above to system +% directories. +TEXMF_RESTRICTED_SCRIPTS = \ + {!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}// + +% Do we allow TeX \input or \openin (openin_any), or \openout +% (openout_any) on filenames starting with `.' (e.g., .rhosts) or +% outside the current tree (e.g., /etc/passwd)? +% a (any) : any file can be opened. +% r (restricted) : disallow opening dot files +% p (paranoid) : as `r' and disallow going to parent directories, and +% restrict absolute paths to be under $TEXMFOUTPUT. +openin_any = a +openout_any = p + +% Write .log/.dvi/.aux/etc. files here, if the current directory is unwritable. +%TEXMFOUTPUT = /tmp + +% If a dynamic file creation fails, log the command to this file, in +% either the current directory or TEXMFOUTPUT. Set to the +% empty string or 0 to avoid logging. +MISSFONT_LOG = missfont.log + +% Set to a colon-separated list of words specifying warnings to suppress. +% To suppress everything, use TEX_HUSH = all; this is currently equivalent to +% TEX_HUSH = checksum:lostchar:readable:special +% To suppress nothing, use TEX_HUSH = none or do not set the variable at all. +TEX_HUSH = none + +% Allow TeX and MF to parse the first line of an input file for +% the %&format construct. +parse_first_line = t + +% But don't parse the first line if invoked as "tex", since we want that +% to remain Knuth-compatible. The src_specials and +% file_line_error_style settings, as well as the options -enctex, +% -mltex, -8bit, etc., also affect this, but they are all off by default. +parse_first_line.tex = f +parse_first_line.initex = f + +% Control file:line:error style messages. +file_line_error_style = f + +% Enable the mktex... scripts by default? These must be set to 0 or 1. +% Particular programs can and do override these settings, for example +% dvips's -M option. Your first chance to specify whether the scripts +% are invoked by default is at configure time. +% +% These values are ignored if the script names are changed; e.g., if you +% set DVIPSMAKEPK to `foo', what counts is the value of the environment +% variable/config value `FOO', not the `MKTEXPK' value. +% +%MKTEXTEX = 0 +%MKTEXPK = 0 +%MKTEXMF = 0 +%MKTEXTFM = 0 +%MKTEXFMT = 0 +%MKOCP = 0 +%MKOFM = 0 + +% Used by makempx to run TeX. We use "etex" because MetaPost is +% expecting DVI, and not "tex" because we want first line parsing. +TEX = etex + +% Use Japanese eptex for Japanese pmpost. +TEX.pmpost = eptex + +% These variables specify the external program called for the +% interactive `e' option. %d is replaced by the line number and %s by +% the current filename. The default is specified at compile-time, and +% we let that stay in place since different platforms like different values. +%TEXEDIT = vi +%d '%s' % default for Unix +%TEXEDIT = texworks --position=+%d "%s" % default for Windows +%MFEDIT = ${TEXEDIT} +%MPEDIT = ${TEXEDIT} + +% The default `codepage and sort order' file for BibTeX8, when none is +% given as command line option or environment variable. +BIBTEX_CSFILE = 88591lat.csf + +% This variable is specific to Windows. It must be set to 0 or 1. The +% default is 0. Setting it to 1 tells the Windows script wrappers to +% use an already installed Perl interpreter if one is found on the +% search path, in preference to the Perl shipped with TeX Live. Thus, +% it may be useful if you both (a) installed a full Perl distribution +% for general use, and (b) need to run Perl programs from TL that use +% additional modules we don't provide. The TL Perl does provide all the +% standard Perl modules. +% +%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0 + + +% Part 3: Array and other sizes for TeX, Metafont, etc. +% +% If you want to change some of these sizes only for a certain TeX +% variant, the usual dot notation works, e.g., +% main_memory.hugetex = 20000000 +% +% If a change here appears to be ignored, try redumping the format file. + +% Memory. Must be less than 8,000,000 total. +% +% main_memory is relevant only to initex, extra_mem_* only to non-ini. +% Thus, have to redump the .fmt file after changing main_memory; to add +% to existing fmt files, increase extra_mem_*. (To get an idea of how +% much, try \tracingstats=2 in your TeX source file; +% web2c/tests/memtest.tex might also be interesting.) +% +% To increase space for boxes (as might be needed by, e.g., PiCTeX), +% increase extra_mem_bot. +% +% For some xy-pic samples, you may need as much as 700000 words of memory. +% For the vast majority of documents, 60000 or less will do. +% +main_memory = 5000000 % words of inimemory available; also applies to inimf&mp +extra_mem_top = 0 % extra high memory for chars, tokens, etc. +extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. + +% ConTeXt needs lots of memory. +extra_mem_top.context = 2000000 +extra_mem_bot.context = 4000000 + +% Words of font info for TeX (total size of all TFM files, approximately). +% Must be >= 20000 and <= 147483647 (without tex.ch changes). +font_mem_size = 8000000 + +% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes). +font_max = 9000 + +% Extra space for the hash table of control sequences. +hash_extra = 600000 + +% Max number of characters in all strings, including all error messages, +% help texts, font names, control sequences. These values apply to TeX. +pool_size = 6250000 +% Minimum pool space after TeX's own strings; must be at least +% 25000 less than pool_size, but doesn't need to be nearly that large. +string_vacancies = 90000 +% Maximum number of strings. +max_strings = 500000 +% min pool space left after loading .fmt +pool_free = 47500 + +% Buffer size. TeX uses the buffer to contain input lines, but macro +% expansion works by writing material into the buffer and reparsing the +% line. As a consequence, certain constructs require the buffer to be +% very large, even though most documents can be handled with a small value. +buf_size = 200000 + +% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in +% the sources), but we don't need that much. The value here suffices +% for all known free hyphenation patterns to be loaded simultaneously +% (as TeX Live does). +% +trie_size = 1000000 + +hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767. + % http://primes.utm.edu/curios/page.php/8191.html +nest_size = 500 % simultaneous semantic levels (e.g., groups) +max_in_open = 15 % simultaneous input files and error insertions, + % also applies to MetaPost +param_size = 10000 % simultaneous macro parameters, also applies to MP +save_size = 100000 % for saving values outside current group +stack_size = 5000 % simultaneous input sources + +% These are Omega-specific. +ocp_buf_size = 500000 % character buffers for ocp filters. +ocp_stack_size = 10000 % stacks for ocp computations. +ocp_list_size = 1000 % control for multiple ocps. + +% These work best if they are the same as the I/O buffer size, but it +% doesn't matter much. Must be a multiple of 8. +dvi_buf_size = 16384 % TeX +gf_buf_size = 16384 % MF + +% It's probably inadvisable to change these. At any rate, we must have: +% 45 < error_line < 255; +% 30 < half_error_line < error_line - 15; +% 60 <= max_print_line; +% These apply to TeX, Metafont, and MetaPost. +error_line = 79 +half_error_line = 50 +max_print_line = 79 + +% Metafont only. +screen_width.mf = 1664 +screen_depth.mf = 1200 + +% BibTeX only (max_strings also determines hash_size and hash_prime). +ent_str_size = 250 +glob_str_size = 20000 +max_strings.bibtex = 100000 +max_strings.bibtex8 = 100000 +max_strings.bibtexu = 100000 +max_strings.pbibtex = 100000 + +% GFtype only. +line_length.gftype = 500 +max_rows.gftype = 8191 +max_cols.gftype = 8191 + +% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends? +% Default is 0, to not guess. +guess_input_kanji_encoding = 1 diff --git a/abs/extra/texlive-core/texmfcnf.lua b/abs/extra/texlive-core/texmfcnf.lua new file mode 100644 index 0000000..4409692 --- /dev/null +++ b/abs/extra/texlive-core/texmfcnf.lua @@ -0,0 +1,190 @@ +-- public domain + +-- ConTeXt needs a properly expanded TEXMFLOCAL, so here is a +-- bit of lua code to make that happen + +local texmflocal = resolvers.prefixes.selfautoparent(); +texmflocal = string.gsub(texmflocal, "20%d%d$", "texmf-local"); + +return { + + type = "configuration", + version = "1.1.0", + date = "2012-05-24", + time = "12:12:12", + comment = "ConTeXt MkIV configuration file", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + + content = { + + -- Originally there was support for engines and progname but I don't expect + -- other engines to use this file, so first engines were removed. After that + -- if made sense also to get rid of progname. At some point specific formats + -- will be supported but then as a subtable with fallbacks, which sounds more + -- natural. Also, at some point the paths will become tables. For the moment + -- I don't care too much about it as extending is easy. + + variables = { + + -- The following variable is predefined (but can be overloaded) and in + -- most cases you can leve this one untouched. The built-in definition + -- permits relocation of the tree. + -- + -- TEXMFCNF = "{selfautodir:,selfautoparent:}{,{/share,}/texmf{-local,}/web2c}" + -- + -- more readable than "selfautoparent:{/texmf{-local,}{,/web2c},}}" is: + -- + -- TEXMFCNF = { + -- "selfautoparent:/texmf-local", + -- "selfautoparent:/texmf-local/web2c", + -- "selfautoparent:/texmf-dist", + -- "selfautoparent:/texmf/web2c", + -- "selfautoparent:", + -- } + + -- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live + + TEXMFSYSVAR = "/var/lib/texmf", + TEXMFVAR = "home:.texlive/texmf-var", + + -- We have only one cache path but there can be more. The first writable one + -- will be chosen but there can be more readable paths. + + TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR", + TEXMFCONFIG = "home:.texlive/texmf-config", + + -- I don't like this texmf under home and texmf-home would make more + -- sense. One never knows what installers put under texmf anywhere and + -- sorting out problems will be a pain. But on the other hand ... home + -- mess is normally under the users own responsibility. + -- + -- By using prefixes we don't get expanded paths in the cache __path__ + -- entry. This makes the tex root relocatable. + + TEXMFOS = "selfautodir:share", + TEXMFDIST = "selfautodir:share/texmf-dist", + + TEXMFLOCAL = texmflocal, + TEXMFSYSCONFIG = "/etc/texmf", + TEXMFFONTS = "selfautoparent:texmf-fonts", + TEXMFPROJECT = "selfautoparent:texmf-project", + + TEXMFHOME = "home:texmf", + -- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf", + + -- We need texmfos for a few rare files but as I have a few more bin trees + -- a hack is needed. Maybe other users also have texmf-platform-new trees. + + TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}", + + TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//", + ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//", + VFFONTS = ".;$TEXMF/fonts/{data,vf}//", + TFMFONTS = ".;$TEXMF/fonts/{data,tfm}//", + T1FONTS = ".;$TEXMF/fonts/{data,type1}//;$OSFONTDIR", + AFMFONTS = ".;$TEXMF/fonts/{data,afm}//;$OSFONTDIR", + TTFONTS = ".;$TEXMF/fonts/{data,truetype}//;$OSFONTDIR", + OPENTYPEFONTS = ".;$TEXMF/fonts/{data,opentype}//;$OSFONTDIR", + CMAPFONTS = ".;$TEXMF/fonts/cmap//", + FONTFEATURES = ".;$TEXMF/fonts/{data,fea}//;$OPENTYPEFONTS;$TTFONTS;$T1FONTS;$AFMFONTS", + FONTCIDMAPS = ".;$TEXMF/fonts/{data,cid}//", + OFMFONTS = ".;$TEXMF/fonts/{data,ofm,tfm}//", + OVFFONTS = ".;$TEXMF/fonts/{data,ovf,vf}//", + + TEXINPUTS = ".;$TEXMF/tex/{context,plain/base,generic}//", + MPINPUTS = ".;$TEXMF/metapost/{context,base,}//", + + -- In the next variable the inputs path will go away. + + TEXMFSCRIPTS = ".;$TEXMF/scripts/context/{lua,ruby,python,perl}//;$TEXINPUTS", + PERLINPUTS = ".;$TEXMF/scripts/context/perl", + PYTHONINPUTS = ".;$TEXMF/scripts/context/python", + RUBYINPUTS = ".;$TEXMF/scripts/context/ruby", + LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//", + CLUAINPUTS = ".;$SELFAUTOLOC/lib/{context,luatex,}/lua//", + + -- Not really used by MkIV so they might go away. + + BIBINPUTS = ".;$TEXMF/bibtex/bib//", + BSTINPUTS = ".;$TEXMF/bibtex/bst//", + + -- Experimental + + ICCPROFILES = ".;$TEXMF/tex/context/colors/{icc,profiles}//;$OSCOLORDIR", + + -- A few special ones that will change some day. + + FONTCONFIG_FILE = "fonts.conf", + FONTCONFIG_PATH = "$TEXMFSYSVAR/fonts/conf", + + }, + + -- We have a few reserved subtables. These control runtime behaviour. The + -- keys have names like 'foo.bar' which means that you have to use keys + -- like ['foo.bar'] so for convenience we also support 'foo_bar'. + + directives = { + + -- There are a few variables that determine the engines + -- limits. Most will fade away when we close in on version 1. + + ["luatex.expanddepth"] = "10000", -- 10000 + ["luatex.hashextra"] = "100000", -- 0 + ["luatex.nestsize"] = "1000", -- 50 + ["luatex.maxinopen"] = "500", -- 15 + ["luatex.maxprintline"] = " 10000", -- 79 + ["luatex.maxstrings"] = "500000", -- 15000 -- obsolete + ["luatex.paramsize"] = "25000", -- 60 + ["luatex.savesize"] = "50000", -- 4000 + ["luatex.stacksize"] = "10000", -- 300 + + -- A few process related variables come next. + + -- ["system.checkglobals"] = "10", + -- ["system.nostatistics"] = "yes", + ["system.errorcontext"] = "10", + ["system.compile.cleanup"] = "no", -- remove tma files + ["system.compile.strip"] = "yes", -- strip tmc files + + -- The io modes are similar to the traditional ones. Possible values + -- are all, paranoid and restricted. + + ["system.outputmode"] = "restricted", + ["system.inputmode"] = "any", + + -- The following variable is under consideration. We do have protection + -- mechanims but it's not enabled by default. + + ["system.commandmode"] = "any", -- any none list + ["system.commandlist"] = "mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit", + + -- The mplib library support mechanisms have their own + -- configuration. Normally these variables can be left as + -- they are. + + ["mplib.texerrors"] = "yes", + + -- Normally you can leave the font related directives untouched + -- as they only make sense when testing. + + -- ["fonts.autoreload"] = "no", + -- ["fonts.otf.loader.method"] = "table", -- table mixed sparse + -- ["fonts.otf.loader.cleanup"] = "0", -- 0 1 2 3 + + -- In an edit cycle it can be handy to launch an editor. The + -- preferred one can be set here. + + -- ["pdfview.method"] = "okular", -- default (often acrobat) xpdf okular + + }, + + experiments = { + ["fonts.autorscale"] = "yes", + }, + + trackers = { + }, + + }, + +} diff --git a/abs/extra/texlive-formatsextra/PKGBUILD b/abs/extra/texlive-formatsextra/PKGBUILD new file mode 100644 index 0000000..99487fb --- /dev/null +++ b/abs/extra/texlive-formatsextra/PKGBUILD @@ -0,0 +1,59 @@ +# $Id$ +# Contributor: Firmicus <firmicus āt gmx dōt net> +# Maintainer: Rémy Oudompheng <remy@archlinux.org> + +pkgname=texlive-formatsextra +pkgver=2017.45845 +_revnr=${pkgver#2017.} +pkgrel=1 +pkgdesc="TeX Live - collection of extra TeX 'formats'" +license=('GPL') +arch=(any) +depends=('texlive-core') +groups=('texlive-most') +url='http://tug.org/texlive/' +source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" + "${pkgname}.fmts" + "${pkgname}.maps") +options=('!emptydirs') +provides=('texlive-htmlxml') +conflicts=('texlive-htmlxml') +replaces=('texlive-htmlxml') +sha256sums=('b8f87a21422d526d4ce7565738bc13b56ad8cea95b7efa03c815003d81dac33d' + 'edee1d8b46005847381dbf20afacad6d14f3d59406facdc609c92d9e20ed6df2' + 'ad67f39779bfe76327351fe4e8699369b031ac700947e04ff57a0c5ebe9b613b') + +build() { + cd "$srcdir" + for p in *.tar.xz; do + case $p in + aleph.*|lambda.*|omega.*) + ;; + *) + bsdtar -xf $p + ;; + esac + done + rm -rf {tlpkg,doc,source} || true +} + +package() { + cd "$srcdir" + install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs + install -m644 "${pkgname}.fmts" $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m755 -d $pkgdir/usr/share + wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true + for dir in $wanteddirs; do + find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \; + find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \; + done + if [[ -d texmf-dist ]]; then + find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \; + find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \; + fi + if [[ -d $pkgdir/usr/share/texmf-dist/scripts ]]; then + find $pkgdir/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \; + fi +} diff --git a/abs/extra/texlive-formatsextra/texlive-formatsextra.fmts b/abs/extra/texlive-formatsextra/texlive-formatsextra.fmts new file mode 100644 index 0000000..721196d --- /dev/null +++ b/abs/extra/texlive-formatsextra/texlive-formatsextra.fmts @@ -0,0 +1,9 @@ +eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini +jadetex pdftex language.dat *jadetex.ini +lollipop tex - lollipop.ini +mllatex pdftex language.dat -translate-file=cp227.tcx -mltex *mllatex.ini +mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini +pdfjadetex pdftex language.dat *pdfjadetex.ini +pdfxmltex pdftex language.dat *pdfxmltex.ini +texsis pdftex - -translate-file=cp227.tcx texsis.ini +xmltex pdftex language.dat *xmltex.ini diff --git a/abs/extra/texlive-formatsextra/texlive-formatsextra.maps b/abs/extra/texlive-formatsextra/texlive-formatsextra.maps new file mode 100644 index 0000000..3c13e10 --- /dev/null +++ b/abs/extra/texlive-formatsextra/texlive-formatsextra.maps @@ -0,0 +1 @@ +Map mxedruli.map diff --git a/abs/extra/texlive-latexextra/PKGBUILD b/abs/extra/texlive-latexextra/PKGBUILD new file mode 100644 index 0000000..bd9873b --- /dev/null +++ b/abs/extra/texlive-latexextra/PKGBUILD @@ -0,0 +1,76 @@ +# $Id$ +# Maintainer: Firmicus <firmicus āt gmx dōt net> +# Maintainer: Rémy Oudompheng <remy@archlinux.org> + +pkgname=texlive-latexextra +pkgver=2017.45733 +_revnr=${pkgver#2017.} +pkgrel=1 +pkgdesc="TeX Live - Large collection of add-on packages for LaTeX" +license=('GPL') +arch=(any) +depends=('texlive-core' + 'perl-file-which' # for pdfannotextractor + ) +optdepends=( + 'texlive-genericextra: to use the calctab package' + 'texlive-pictures: to use the package overpic' + 'java-environment: to use pdfannotextractor' +) +groups=('texlive-most') +url='http://tug.org/texlive/' +source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" + "$pkgname.maps") +options=('!emptydirs') +sha256sums=('20360e1a799c237653caa1d66e4a3811b58520421633611c96ff812be93f6c36' + 'd53750a03a52472a1c7c5ba5142959ba382a5d69215471691c0b12c3663950ce') + +build() { + for p in *.tar.xz; do + bsdtar -xf $p + done + rm -rf {tlpkg,doc,source} || true +} + +package() { + install -m755 -d "$pkgdir"/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS "$pkgdir"/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs + install -m644 $pkgname.maps "$pkgdir"/var/lib/texmf/arch/installedpkgs/ + install -m755 -d "$pkgdir"/usr/share + wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true + for dir in $wanteddirs; do + find $dir -type d -exec install -d -m755 "$pkgdir"/usr/share/texmf-dist/'{}' \; + find $dir -type f -exec install -m644 '{}' "$pkgdir"/usr/share/texmf-dist/'{}' \; + done + if [[ -d texmf-dist ]]; then + find texmf-dist -type d -exec install -d -m755 "$pkgdir"/usr/share/'{}' \; + find texmf-dist -type f -exec install -m644 '{}' "$pkgdir"/usr/share/'{}' \; + fi + if [[ -d "$pkgdir"/usr/share/texmf-dist/scripts ]]; then + find "$pkgdir"/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \; + fi + + #add symlinks that were in texlive-bin: + _linked_scripts=" +authorindex/authorindex +exceltex/exceltex +glossaries/makeglossaries +glossaries/makeglossaries-lite.lua +makedtx/makedtx.pl +pax/pdfannotextractor.pl +perltex/perltex.pl +splitindex/splitindex.pl +svn-multi/svn-multi.pl +vpe/vpe.pl +yplan/yplan +" + install -m755 -d "$pkgdir"/usr/bin + for _script in ${_linked_scripts}; do + _scriptbase=$(basename $_script) + _scriptbase=${_scriptbase%.*} + ln -s /usr/share/texmf-dist/scripts/${_script} ${pkgdir}/usr/bin/${_scriptbase} + done + + rm "$pkgdir"/usr/share/texmf-dist/scripts/shipunov/biokey2html.bat +} diff --git a/abs/extra/texlive-latexextra/texlive-latexextra.maps b/abs/extra/texlive-latexextra/texlive-latexextra.maps new file mode 100644 index 0000000..234c9f6 --- /dev/null +++ b/abs/extra/texlive-latexextra/texlive-latexextra.maps @@ -0,0 +1,3 @@ +Map epiolmec.map +Map scanpages.map +MixedMap esint.map diff --git a/abs/extra/texlive-pictures/PKGBUILD b/abs/extra/texlive-pictures/PKGBUILD new file mode 100644 index 0000000..bf41cf1 --- /dev/null +++ b/abs/extra/texlive-pictures/PKGBUILD @@ -0,0 +1,68 @@ +# $Id: PKGBUILD$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> + +pkgname=texlive-pictures +pkgver=2017.46740 +_revnr=${pkgver#2017.} +pkgrel=1 +pkgdesc="TeX Live - Packages for drawings graphics" +license=('GPL') +arch=(any) +depends=('texlive-core') +groups=('texlive-most') +url='http://tug.org/texlive/' +source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" + "$pkgname.maps" + "xypdf-rev1.21.patch") +options=('!emptydirs') +sha256sums=('2dccd8d34c097dedd3dba8f8f26f141afd5bc90f86d5f6106f39e993fe8144c1' + '847676e2322065219992ef249a68cddb26d71e192e8d59db58f264c5e11c8be9' + '4e5cedf4775542461b442c06bdabb3eb4e20a04f54e493bc753a958577e78175') + +build() { + cd "$srcdir" + for p in *.tar.xz; do + bsdtar -xf $p + done + rm -rf {tlpkg,doc,source} || true + + patch -Np1 -i "${srcdir}/xypdf-rev1.21.patch" -d "${srcdir}/tex/generic/xypic" +} + +package() { + cd "$srcdir" + install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs + install -m644 $pkgname.maps $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m755 -d $pkgdir/usr/share + wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true + for dir in $wanteddirs; do + find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \; + find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \; + done + if [[ -d texmf-dist ]]; then + find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \; + find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \; + fi + if [[ -d $pkgdir/usr/share/texmf-dist/scripts ]]; then + find $pkgdir/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \; + fi + + _linked_scripts=" +cachepic/cachepic.tlu +epspdf/epspdftk.tcl +epspdf/epspdf.tlu +fig4latex/fig4latex +getmap/getmapdl.lua +mathspic/mathspic.pl +mkpic/mkpic +petri-nets/pn2pdf +" + install -m755 -d $pkgdir/usr/bin + for _script in ${_linked_scripts}; do + _scriptbase=$(basename $_script) + _scriptbase=${_scriptbase%.*} + ln -s /usr/share/texmf-dist/scripts/${_script} ${pkgdir}/usr/bin/${_scriptbase} + done +} diff --git a/abs/extra/texlive-pictures/texlive-pictures.maps b/abs/extra/texlive-pictures/texlive-pictures.maps new file mode 100644 index 0000000..b5b5963 --- /dev/null +++ b/abs/extra/texlive-pictures/texlive-pictures.maps @@ -0,0 +1,2 @@ +Map knitfont.map +MixedMap xypic.map diff --git a/abs/extra/texlive-pictures/xypdf-rev1.21.patch b/abs/extra/texlive-pictures/xypdf-rev1.21.patch new file mode 100644 index 0000000..713963a --- /dev/null +++ b/abs/extra/texlive-pictures/xypdf-rev1.21.patch @@ -0,0 +1,299 @@ +diff -u xypdf.orig/xypdf-co.tex xypdf/xypdf-co.tex +--- xypdf.orig/xypdf-co.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf-co.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -64,28 +64,75 @@ + \@ifdefinable\xP@colB\relax + \@ifdefinable\xP@colC\relax + \@ifdefinable\xP@colD\relax ++\@ifdefinable\xP@colE\relax + \xP@hook{color}{newxycolor} +-\newcommand*\xP@newxycolor[2]{\def\xP@colorname{#1}\xP@parsecolor#2 @} ++\newcommand*\xP@newxycolor[2]{\def\xP@colorname{#1}\expandafter\xP@parsecolor\@firstofone#2 @} + \xP@color@on ++\@ifdefinable\xP@parsetwo\relax ++\def\xP@parsetwo#1 #2@{\def\xP@colC{#1}\def\xP@colD{#2}} ++\@ifdefinable\xP@parsethree\relax ++\def\xP@parsethree#1 #2 #3@{\def\xP@colC{#1}\def\xP@colD{#2}\def\xP@colE{#3}} + \@ifdefinable\xP@parsecolor\relax +-\def\xP@parsecolor#1 #2 #3@{\def\xP@colA{#1}\def\xP@colB{#2}\ifx\xP@colB\xP@gray ++\def\xP@parsecolor#1 #2 #3@{\def\xP@colA{#1}\def\xP@colB{#2}\ifx\xP@colA\xP@cmyk ++\xP@parsethree#3@\xP@newcolor\xP@colorname{\xP@colB,\xP@colC,\xP@colD,\xP@colE}\xP@cmyk ++\newxycolor ++\else ++\ifx\xP@colA\xP@CMYK ++\xP@parsethree#3@\xP@newcolor\xP@colorname{\xP@colB,\xP@colC,\xP@colD,\xP@colE}\xP@cmyk ++\newxycolor ++\else ++\ifx\xP@colA\xP@rgb ++\xP@parsetwo#3@\xP@newcolor\xP@colorname{\xP@colB,\xP@colC,\xP@colD}\xP@rgb\newxycolor ++\else ++\ifx\xP@colA\xP@RGB ++\xP@parsetwo#3@\xP@newcolor\xP@colorname{\xP@colB,\xP@colC,\xP@colD}\xP@rgb ++\newxycolor ++\else ++\ifx\xP@colA\xP@gray ++\xP@newcolor\xP@colorname\xP@colB\xP@gray\newxycolor ++\else ++\ifx\xP@colA\xP@GRAY ++\xP@newcolor\xP@colorname\xP@colB\xP@gray\newxycolor ++\else ++\ifx\xP@colB\xP@gray ++\xP@newcolor\xP@colorname\xP@colA\xP@gray\newxycolor ++\else ++\ifx\xP@colB\xP@GRAY + \xP@newcolor\xP@colorname\xP@colA\xP@gray\newxycolor + \else + \xP@parsecolor@#3 @\fi ++\fi ++\fi ++\fi ++\fi ++\fi ++\fi ++\fi + } + \@ifdefinable\xP@parsecolor@\relax + \def\xP@parsecolor@#1 #2 #3 #4@{\def\xP@colC{#1}\def\xP@colD{#2}\ifx\xP@colD\xP@rgb + \xP@newcolor\xP@colorname{\xP@colA,\xP@colB,\xP@colC}\xP@rgb\newxycolor + \else ++\ifx\xP@colD\xP@RGB ++\xP@newcolor\xP@colorname{\xP@colA,\xP@colB,\xP@colC}\xP@rgb\newxycolor ++\else + \def\@tempa{#3}\ifx\@tempa\xP@cmyk +-\xP@newcolor\xP@colorname{\xP@colA,\xP@colB,\xP@colC,\xP@colD}{cmyk}\newxycolor ++\xP@newcolor\xP@colorname{\xP@colA,\xP@colB,\xP@colC,\xP@colD}\xP@cmyk\newxycolor ++\else ++\ifx\@tempa\xP@CMYK ++\xP@newcolor\xP@colorname{\xP@colA,\xP@colB,\xP@colC,\xP@colD}\xP@cmyk\newxycolor + \else + \PackageError{xypdf}{Syntax error in \string\newxycolor}{}\fi + \fi ++\fi ++\fi + } + \newcommand*\xP@gray{gray} + \newcommand*\xP@rgb{rgb} + \newcommand*\xP@cmyk{cmyk} ++\newcommand*\xP@GRAY{GRAY} ++\newcommand*\xP@RGB{RGB} ++\newcommand*\xP@CMYK{CMYK} + \xP@hook{color}{OBJECT@shape} + \newcommand*\xP@OBJECT@shape[1]{\DN@{shape [#1]}\expandafter\let\expandafter\nextii@\csname\codeof\next@\endcsname + \ifx\nextii@\relax\DN@{style [#1]}\expandafter\let\expandafter\nextii@\csname\codeof\next@\endcsname +@@ -120,10 +167,5 @@ + \xywithoption{crayon}{\xP@installCrayolaColors + \renewcommand*\installCrayolaColors@{}} + \xyendinput +- +- +- +- +- + %% + %% End of file `xypdf-co.tex'. +diff -u xypdf.orig/xypdf-cu.tex xypdf/xypdf-cu.tex +--- xypdf.orig/xypdf-cu.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf-cu.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -1178,10 +1178,5 @@ + \@for\@tempa:={#1}\do{\the\toks@}\xP@stroke{\the\@temptokena}}} + \newcommand*\xP@paintbrokensquiggle[5]{\xP@squigglevectors{#1}\xP@append\@temptokena{\xP@coor\xP@posX\xP@posY m \xP@coor{\xP@posX+\Y@max}{\xP@posY+\X@max}}\xP@squigglevectors{#2}\xP@append\@temptokena{\xP@coor{\xP@posX-\D@p-\X@min}{\xP@posY+\R@p-\Y@min}\xP@coor{\xP@posX-\D@p}{\xP@posY+\R@p}c \xP@coor{\xP@posX-\D@p+\X@min}{\xP@posY+\R@p+\Y@min}}\xP@squigglevectors{#3}\xP@append\@temptokena{\xP@coor{\xP@posX-\X@max}{\xP@posY+\Y@max}\xP@coor\xP@posX\xP@posY c \xP@coor{\xP@posX+\X@max}{\xP@posY-\Y@max}}\xP@squigglevectors{#4}\xP@append\@temptokena{\xP@coor{\xP@posX+\D@p-\X@min}{\xP@posY-\R@p-\Y@min}\xP@coor{\xP@posX+\D@p}{\xP@posY-\R@p}c \xP@coor{\xP@posX+\D@p+\X@min}{\xP@posY-\R@p+\Y@min}}\xP@squigglevectors{#5}\xP@append\@temptokena{\xP@coor{\xP@posX-\Y@max}{\xP@posY-\X@max}\xP@coor\xP@posX\xP@posY c }} + \xyendinput +- +- +- +- +- + %% + %% End of file `xypdf-cu.tex'. +diff -u xypdf.orig/xypdf-fr.tex xypdf/xypdf-fr.tex +--- xypdf.orig/xypdf-fr.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf-fr.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -429,10 +429,5 @@ + 0 \xP@dim\B@ c }\@temptokena\expandafter{\@tempa}\xP@mirrorpath + \xP@fillorstroke{\the\@temptokena}} + \xyendinput +- +- +- +- +- + %% + %% End of file `xypdf-fr.tex'. +diff -u xypdf.orig/xypdf-li.tex xypdf/xypdf-li.tex +--- xypdf.orig/xypdf-li.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf-li.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -60,10 +60,5 @@ + \xycatcodes + \expandafter\let\csname xypdf-li@loaded\endcsname\@empty + \xyendinput +- +- +- +- +- + %% + %% End of file `xypdf-li.tex'. +diff -u xypdf.orig/xypdf-ro.tex xypdf/xypdf-ro.tex +--- xypdf.orig/xypdf-ro.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf-ro.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -124,10 +124,5 @@ + }\@tempdimb\dimen@i + } + \xyendinput +- +- +- +- +- + %% + %% End of file `xypdf-ro.tex'. +diff -u xypdf.orig/xypdf.tex xypdf/xypdf.tex +--- xypdf.orig/xypdf.tex 2016-11-19 12:24:53.457219331 +0100 ++++ xypdf/xypdf.tex 2016-11-19 12:24:07.314492681 +0100 +@@ -8,7 +8,7 @@ + %% + %% The xypdf package for TeX and LaTeX + %% Copyright (c) 2010 by Daniel Mllner (M\"ullner) +-%% <http://math.stanford.edu/~muellner> ++%% <http://danifold.net> + %% -------------------------------------------------------------------------- + %% + %% This program is free software: you can redistribute it and/or modify it +@@ -58,9 +58,9 @@ + %% (Muellner, M\"ullner). + %% + \ifx\xyloaded\undefined\input xy \fi +-\xyprovide{pdf}{PDF driver}{1.7}{Daniel M\"ullner\newline}{\url{http://math.stanford.edu/~muellner}}{} ++\xyprovide{pdf}{PDF driver}{1.9}{Daniel M\"ullner\newline}{\url{http://danifold.net}}{} + \ifx\makeatletter\undefined\input miniltx \fi +-\newcommand*\xypdfdate{2011/03/20} ++\newcommand*\xypdfdate{2016/07/25} + \newdriver{\xyaddsupport{pdf}\xP@pdf@on + \xyaddsupport{color}\xP@color@on + \xyaddsupport{curve}\xP@curve@on +@@ -91,7 +91,10 @@ + \fi + \newcommand*\xP@testpdfsave{\ifpdf + \ifx\pdfsave\@undefined +-\PackageError{xypdf}{pdfTeX version 1.40.0 or higher is needed for the xypdf^^Jpackage with PDF output}{}\fi ++\ifx\pdfextension\@undefined ++\PackageError{xypdf}{LuaTeX or pdfTeX version 1.40.0 ++or higher is needed for^^Jthe xypdf package with PDF output}{}\fi ++\fi + \fi + \let\xP@testpdfsave\@undefined + } +@@ -120,12 +123,24 @@ + \expandafter\noexpand\csname xP@old@#2\endcsname + }} + \newcommand*\xP@defpdfliteral{\ifpdf ++\ifx\pdfextension\@undefined + \newcommand*\xP@literal[1]{\pdfsave\pdfliteral{##1}\pdfrestore} + \newcommand*\xP@cm[5]{\pdfsave + \pdfsetmatrix{##1 ##2 ##3 ##4}##5\pdfrestore + } +-\@ifundefined{@pdfcolorstack}{\def\@pdfcolorstack{\z@}}{}\newcommand*\xP@setcolor[3]{\pdfcolorstack\@pdfcolorstack push{##1 ##2 ##1 ##3}} ++\else ++\newcommand*\xP@literal[1]{\pdfextension save\pdfextension literal{##1}\pdfextension restore\relax ++} ++\newcommand*\xP@cm[5]{\pdfextension save\pdfextension setmatrix{##1 ##2 ##3 ##4}##5\pdfextension restore\relax ++} ++\fi ++\@ifundefined{@pdfcolorstack}{\def\@pdfcolorstack{\z@}}{}\ifx\pdfextension\@undefined ++\newcommand*\xP@setcolor[3]{\pdfcolorstack\@pdfcolorstack push{##1 ##2 ##1 ##3}} + \newcommand*\xP@resetcolor{\pdfcolorstack\@pdfcolorstack pop\relax}\else ++\newcommand*\xP@setcolor[3]{\pdfextension colorstack\@pdfcolorstack push{##1 ##2 ##1 ##3}} ++\newcommand*\xP@resetcolor{\pdfextension colorstack\@pdfcolorstack pop\relax ++}\fi ++\else + \newcommand*\xP@literal{\xP@warning{xypdf}{The produced DVI file is NOT PORTABLE. Convert it with^^Jdvipdfm(x) to the PDF format but do not expect the DVI file itself to be^^Jdisplayed correctly\@gobble}\global\let\xP@literal\xP@literal@ + \xP@literal + } +@@ -145,14 +160,20 @@ + \next@ + {\RequirePackage{ifpdf}\xP@testpdfsave + \xP@defpdfliteral} ++\@ifdefinable\xP@digits\relax ++\ifx\pdfvariable\@undefined + \ifx\pdfdecimaldigits\@undefined + \newcommand*\xP@digits{2} + \else +-\@ifdefinable\xP@digits\relax + \xdef\xP@digits{\the\pdfdecimaldigits} +-\ifnum\pdfdecimaldigits<2 +-\xP@warning{xypdf}{The precision in \string\pdfdecimaldigits\space is only \xP@digits\space +-decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 for best output quality\@gobble} ++\ifnum\xP@digits<2 ++\xP@warning{xypdf}{The precision in \string\pdfdecimaldigits\space is only \xP@digits\space decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 for best output quality\@gobble} ++\fi ++\fi ++\else ++\xdef\xP@digits{\the\pdfvariable decimaldigits} ++\ifnum\xP@digits<2 ++\xP@warning{xypdf}{The precision in "\string\pdfvariable\space decimaldigits" is only \xP@digits^^Jdecimals. It is recommended to set "decimaldigits" to 2 or 3 for best output^^Jquality\@gobble} + \fi + \fi + \newcommand*\xP@dim[1]{\expandafter\xP@removePT\the\dimexpr(#1)*800/803\relax\space} +@@ -329,10 +350,15 @@ + \fi + ]\xP@precdim{\dimexpr\xP@preclw+\@tempdima/2\relax}d}} + \newcommand*\xP@abs[1]{\ifdim#1<\z@\multiply#1\m@ne\fi} +-\newcommand*\xP@ifabsless[2]{\ifpdfabsdim#1<#2} + \ifx\ifpdfabsdim\@undefined +-\renewcommand*\xP@ifabsless[2]{\ifdim\ifdim#1<\z@-\fi#1<\ifdim#2<\z@-\fi#2} ++\newcommand*\xP@ifabsless[2]{\ifdim\ifdim#1<\z@-\fi#1<\ifdim#2<\z@-\fi#2} + \@gobble\fi ++\else ++\newcommand*\xP@ifabsless[2]{\ifpdfabsdim#1<#2} ++\fi ++\ifx\ifabsdim\@undefined ++\else ++\renewcommand*\xP@ifabsless[2]{\ifabsdim#1<#2} + \fi + \newcommand*\xP@swapdim[2]{\@tempdima#1#1#2#2\@tempdima} + \newcommand*\xP@swapnum[2]{\@tempcnta#1#1#2#2\@tempcnta} diff --git a/abs/extra/texlive-science/PKGBUILD b/abs/extra/texlive-science/PKGBUILD new file mode 100644 index 0000000..6db257e --- /dev/null +++ b/abs/extra/texlive-science/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> + +pkgname=texlive-science +pkgver=2017.46789 +_revnr=${pkgver#2017.} +pkgrel=1 +pkgdesc="TeX Live - Typesetting for mathematics, natural and computer sciences" +license=('GPL') +arch=(any) +depends=('texlive-core') +groups=('texlive-most') +url='http://tug.org/texlive/' +source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip" + "$pkgname.maps" + "$pkgname.fmts") +options=('!emptydirs') +sha256sums=('1f7af4692b44cd23d3ab2732109ee124eef3a93ae4b8552695eb0d9040f08060' + '1d9151c9cabc3521b4406731b0147d80e0bf600bdedaf55a1a49b8775165daa8' + '1cbd5339f8cfa32214a749a408cf7136fd5acffaffcde6500a337d332c70c5c3') + +build() { + cd "$srcdir" + for p in *.tar.xz; do + bsdtar -xf $p + done + rm -rf {tlpkg,doc,source} || true +} + +package() { + cd "$srcdir" + install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${pkgname}_${_revnr}.pkgs + install -m644 $pkgname.maps $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m644 $pkgname.fmts $pkgdir/var/lib/texmf/arch/installedpkgs/ + install -m755 -d $pkgdir/usr/share + wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true + for dir in $wanteddirs; do + find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \; + find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \; + done + if [[ -d texmf-dist ]]; then + find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \; + find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \; + fi + if [[ -d $pkgdir/usr/share/texmf-dist/scripts ]]; then + find $pkgdir/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \; + fi + install -m755 -d $pkgdir/usr/bin + ln -s /usr/share/texmf-dist/scripts/ulqda/ulqda.pl $pkgdir/usr/bin/ulqda +} diff --git a/abs/extra/texlive-science/texlive-science.fmts b/abs/extra/texlive-science/texlive-science.fmts new file mode 100644 index 0000000..a11d2f1 --- /dev/null +++ b/abs/extra/texlive-science/texlive-science.fmts @@ -0,0 +1 @@ +amstex pdftex - -translate-file=cp227.tcx *amstex.ini diff --git a/abs/extra/texlive-science/texlive-science.maps b/abs/extra/texlive-science/texlive-science.maps new file mode 100644 index 0000000..f23a145 --- /dev/null +++ b/abs/extra/texlive-science/texlive-science.maps @@ -0,0 +1,3 @@ +Map chemarrow.map +MixedMap stmaryrd.map +MixedMap yhmath.map diff --git a/abs/extra/tidy/PKGBUILD b/abs/extra/tidy/PKGBUILD index 352e56f..5e94769 100644 --- a/abs/extra/tidy/PKGBUILD +++ b/abs/extra/tidy/PKGBUILD @@ -4,10 +4,10 @@ # Contributor: Markus Meissner <markus@meissna.de> pkgname=tidy -pkgver=5.2.0 +pkgver=5.6.0 pkgrel=1 pkgdesc="A tool to tidy down your HTML code to a clean style" -arch=(i686 x86_64) +arch=(x86_64) url="http://www.html-tidy.org/" license=(custom) depends=(glibc) @@ -16,7 +16,7 @@ conflicts=(tidyhtml) provides=(tidyhtml) replaces=(tidyhtml) source=("https://github.com/htacg/tidy-html5/archive/$pkgver.tar.gz") -md5sums=('ffbe6e8471eff90877b4d74bb714e22f') +md5sums=('85c8a163d9ece6a02fe12bc9bddbc455') prepare() { mkdir -p build @@ -38,5 +38,5 @@ package() { ln -s tidybuffio.h "$pkgdir"/usr/include/buffio.h ln -s tidyplatform.h "$pkgdir"/usr/include/platform.h - install -Dm644 "$srcdir"/$pkgname-html5-$pkgver/README/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -Dm644 "$srcdir"/$pkgname-html5-$pkgver/README/LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } diff --git a/abs/extra/tig/PKGBUILD b/abs/extra/tig/PKGBUILD index 4db741d..448bdee 100644 --- a/abs/extra/tig/PKGBUILD +++ b/abs/extra/tig/PKGBUILD @@ -1,20 +1,20 @@ -# Maintainer: Lukas Fleischer <lfleischer at archlinux dot org> +# Maintainer: Lukas Fleischer <lfleischer@archlinux.org> # Contributor: Loui Chang <louipc dot ist at gmail company> # Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> # Contributor: Nathan Jones <nathanj@insightbb.com> pkgname=tig -pkgver=2.1.1 +pkgver=2.3.2 pkgrel=1 pkgdesc='Text-mode interface for Git.' depends=('git' 'ncurses') makedepends=('asciidoc' 'xmlto') -url='http://jonas.nitro.dk/tig/' +url='https://jonas.github.io/tig/' license=('GPL') -arch=('i686' 'x86_64') +arch=('x86_64') backup=('etc/tigrc') -source=("http://jonas.nitro.dk/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz") -md5sums=('d6eb13d31319d57a3f726d8238f8ebc0') +source=("https://github.com/jonas/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz") +md5sums=('9a9c335258d768ec10c7f1f2de4aca26') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/abs/extra/transmission/PKGBUILD b/abs/extra/transmission/PKGBUILD index cec5033..21b70bd 100644 --- a/abs/extra/transmission/PKGBUILD +++ b/abs/extra/transmission/PKGBUILD @@ -4,27 +4,24 @@ pkgbase=transmission pkgname=(transmission-cli transmission-gtk transmission-qt) -pkgver=2.92 -pkgrel=7 -arch=(i686 x86_64) +pkgver=2.93 +pkgrel=1 +arch=(x86_64) url="http://www.transmissionbt.com/" license=(MIT) makedepends=(gtk3 intltool curl qt5-base libevent systemd qt5-tools) source=(https://github.com/transmission/transmission-releases/raw/master/transmission-${pkgver}.tar.xz transmission-2.90-libsystemd.patch - transmission-2.92-openssl-1.1.0.patch transmission-cli.sysusers transmission-cli.tmpfiles) -sha256sums=('3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f' +sha256sums=('8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b' '9f8f4bb532e0e46776dbd90e75557364f495ec95896ee35900ea222d69bda411' - 'efd41985f60c977a95744ee44dfbb628424765caee83c6af3e29a5b1cbfadc98' '641310fb0590d40e00bea1b5b9c843953ab78edf019109f276be9c6a7bdaf5b2' '1266032bb07e47d6bcdc7dabd74df2557cc466c33bf983a5881316a4cc098451') prepare() { cd $pkgbase-$pkgver patch -p1 -i "$srcdir/transmission-2.90-libsystemd.patch" - patch -p1 -i "$srcdir/transmission-2.92-openssl-1.1.0.patch" rm -f m4/glib-gettext.m4 autoreconf -fi diff --git a/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch b/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch deleted file mode 100644 index 29484b8..0000000 --- a/abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch +++ /dev/null @@ -1,261 +0,0 @@ -From f91cf5ad8c677b61ceb0bf5877b87f9e93256dd7 Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> -Date: Mon, 5 Sep 2016 21:49:07 +0000 -Subject: [PATCH] transmission: build against openssl 1.1.0 - -Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> ---- - libtransmission/crypto-utils-openssl.c | 73 ++++++++++++++++++++++++++++++++-- - 1 file changed, 69 insertions(+), 4 deletions(-) - -diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c -index c4539dc..972e24a 100644 ---- a/libtransmission/crypto-utils-openssl.c -+++ b/libtransmission/crypto-utils-openssl.c -@@ -229,6 +229,61 @@ tr_rc4_process (tr_rc4_ctx_t handle, - **** - ***/ - -+#if OPENSSL_VERSION_NUMBER < 0x10100000 -+static inline int -+DH_set0_pqg (DH * dh, -+ BIGNUM * p, -+ BIGNUM * q, -+ BIGNUM * g) -+{ -+ /* If the fields p and g in d are NULL, the corresponding input -+ * parameters MUST be non-NULL. q may remain NULL. -+ */ -+ if ((dh->p == NULL && p == NULL) -+ || (dh->g == NULL && g == NULL)) -+ return 0; -+ -+ if (p != NULL) { -+ BN_free (dh->p); -+ dh->p = p; -+ } -+ if (q != NULL) { -+ BN_free (dh->q); -+ dh->q = q; -+ } -+ if (g != NULL) { -+ BN_free (dh->g); -+ dh->g = g; -+ } -+ -+ if (q != NULL) { -+ dh->length = BN_num_bits (q); -+ } -+ -+ return 1; -+} -+ -+static inline int -+DH_set_length (DH * dh, -+ long length) -+{ -+ dh->length = length; -+ return 1; -+} -+ -+static inline void -+DH_get0_key(const DH * dh, -+ const BIGNUM ** pub_key, -+ const BIGNUM ** priv_key) -+{ -+ if (pub_key != NULL) -+ *pub_key = dh->pub_key; -+ if (priv_key != NULL) -+ *priv_key = dh->priv_key; -+} -+ -+#endif -+ - tr_dh_ctx_t - tr_dh_new (const uint8_t * prime_num, - size_t prime_num_length, -@@ -236,13 +291,19 @@ tr_dh_new (const uint8_t * prime_num, - size_t generator_num_length) - { - DH * handle = DH_new (); -+ BIGNUM * p, * g; - - assert (prime_num != NULL); - assert (generator_num != NULL); -+ p = BN_bin2bn (prime_num, prime_num_length, NULL); -+ g = BN_bin2bn (generator_num, generator_num_length, NULL); - -- if (!check_pointer (handle->p = BN_bin2bn (prime_num, prime_num_length, NULL)) || -- !check_pointer (handle->g = BN_bin2bn (generator_num, generator_num_length, NULL))) -+ if (!check_pointer (p) || -+ !check_pointer (g) || -+ !DH_set0_pqg (handle, p, NULL, g)) - { -+ BN_free (p); -+ BN_free (g); - DH_free (handle); - handle = NULL; - } -@@ -267,16 +328,20 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, - { - DH * handle = raw_handle; - int dh_size, my_public_key_length; -+ const BIGNUM * hand_pub_key; - - assert (handle != NULL); - assert (public_key != NULL); - -- handle->length = private_key_length * 8; -+ -+ DH_set_length(handle, private_key_length * 8); - - if (!check_result (DH_generate_key (handle))) - return false; - -- my_public_key_length = BN_bn2bin (handle->pub_key, public_key); -+ DH_get0_key (handle, &hand_pub_key, NULL); -+ -+ my_public_key_length = BN_bn2bin (hand_pub_key, public_key); - dh_size = DH_size (handle); - - tr_dh_align_key (public_key, my_public_key_length, dh_size); -From 8c8386a7f3f482a9c917f51d28e0042e55f56b3e Mon Sep 17 00:00:00 2001 -From: Mike Gelfand <mikedld@mikedld.com> -Date: Wed, 7 Sep 2016 01:09:04 +0300 -Subject: [PATCH] Fix coding style and building with !TR_LIGHTWEIGHT - ---- - libtransmission/crypto-utils-openssl.c | 60 +++++++++++++++++++--------------- - 1 file changed, 33 insertions(+), 27 deletions(-) - -diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c -index 972e24a..9fd2c58 100644 ---- a/libtransmission/crypto-utils-openssl.c -+++ b/libtransmission/crypto-utils-openssl.c -@@ -14,6 +14,7 @@ - #include <assert.h> - - #include <openssl/bn.h> -+#include <openssl/crypto.h> - #include <openssl/dh.h> - #include <openssl/err.h> - #include <openssl/evp.h> -@@ -48,7 +49,12 @@ log_openssl_error (const char * file, - static bool strings_loaded = false; - if (!strings_loaded) - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000 - ERR_load_crypto_strings (); -+#else -+ OPENSSL_init_crypto (OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); -+#endif -+ - strings_loaded = true; - } - #endif -@@ -230,6 +236,7 @@ tr_rc4_process (tr_rc4_ctx_t handle, - ***/ - - #if OPENSSL_VERSION_NUMBER < 0x10100000 -+ - static inline int - DH_set0_pqg (DH * dh, - BIGNUM * p, -@@ -237,28 +244,29 @@ DH_set0_pqg (DH * dh, - BIGNUM * g) - { - /* If the fields p and g in d are NULL, the corresponding input -- * parameters MUST be non-NULL. q may remain NULL. -+ * parameters MUST be non-NULL. q may remain NULL. - */ -- if ((dh->p == NULL && p == NULL) -- || (dh->g == NULL && g == NULL)) -+ if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL)) - return 0; - -- if (p != NULL) { -- BN_free (dh->p); -- dh->p = p; -- } -- if (q != NULL) { -- BN_free (dh->q); -- dh->q = q; -- } -- if (g != NULL) { -- BN_free (dh->g); -- dh->g = g; -- } -- -- if (q != NULL) { -+ if (p != NULL) -+ { -+ BN_free (dh->p); -+ dh->p = p; -+ } -+ if (q != NULL) -+ { -+ BN_free (dh->q); -+ dh->q = q; -+ } -+ if (g != NULL) -+ { -+ BN_free (dh->g); -+ dh->g = g; -+ } -+ -+ if (q != NULL) - dh->length = BN_num_bits (q); -- } - - return 1; - } -@@ -267,8 +275,8 @@ static inline int - DH_set_length (DH * dh, - long length) - { -- dh->length = length; -- return 1; -+ dh->length = length; -+ return 1; - } - - static inline void -@@ -295,12 +303,11 @@ tr_dh_new (const uint8_t * prime_num, - - assert (prime_num != NULL); - assert (generator_num != NULL); -+ - p = BN_bin2bn (prime_num, prime_num_length, NULL); - g = BN_bin2bn (generator_num, generator_num_length, NULL); - -- if (!check_pointer (p) || -- !check_pointer (g) || -- !DH_set0_pqg (handle, p, NULL, g)) -+ if (!check_pointer (p) || !check_pointer (g) || !DH_set0_pqg (handle, p, NULL, g)) - { - BN_free (p); - BN_free (g); -@@ -328,20 +335,19 @@ tr_dh_make_key (tr_dh_ctx_t raw_handle, - { - DH * handle = raw_handle; - int dh_size, my_public_key_length; -- const BIGNUM * hand_pub_key; -+ const BIGNUM * my_public_key; - - assert (handle != NULL); - assert (public_key != NULL); - -- - DH_set_length(handle, private_key_length * 8); - - if (!check_result (DH_generate_key (handle))) - return false; - -- DH_get0_key (handle, &hand_pub_key, NULL); -+ DH_get0_key (handle, &my_public_key, NULL); - -- my_public_key_length = BN_bn2bin (hand_pub_key, public_key); -+ my_public_key_length = BN_bn2bin (my_public_key, public_key); - dh_size = DH_size (handle); - - tr_dh_align_key (public_key, my_public_key_length, dh_size); diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD index e04c84e..61e18d5 100644 --- a/abs/extra/valgrind/PKGBUILD +++ b/abs/extra/valgrind/PKGBUILD @@ -1,29 +1,110 @@ -# $Id$ -# Maintainer: Dan McGee <dan@archlinux.org> -# Maintainer: Allan McRae <allan@archlinux.org> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Dan McGee <dan@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> pkgname=valgrind -pkgver=3.11.0 -pkgrel=2 -pkgdesc='A tool to help find memory-management problems in programs' -arch=(i686 x86_64) -license=(GPL) +pkgver=3.13.0 +pkgrel=6 +pkgdesc='Tool to help find memory-management problems in programs' +arch=('x86_64') +license=('GPL') url='http://valgrind.org/' -depends=('glibc>=2.23' 'glibc<2.24' 'perl') -makedepends=(gdb openmpi) -optdepends=('openmpi: MPI support') -# valgrind does not like stack protector flags -options=(!emptydirs !buildflags) -source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2) -sha1sums=('340757e91d9e83591158fe8bb985c6b11bc53de5') +depends=('glibc=2.26' 'perl') +makedepends=('gdb' 'openmpi' 'lib32-glibc' 'lib32-gcc-libs') +checkdepends=('procps-ng') +optdepends=('openmpi: MPI support' + 'lib32-glibc: 32-bit ABI support') +provides=('valgrind-multilib') +replaces=('valgrind-multilib') +options=('!emptydirs' '!strip') +source=(https://sourceware.org/pub/valgrind/valgrind-${pkgver}.tar.bz2 + valgrind-fix-xml-socket.patch + valgrind-3.13.0-test-fixes.patch + valgrind-3.13.0-amd64-eflags-tests.patch + valgrind-3.13.0-gdb-8-testfix.patch + valgrind-3.7.0-respect-flags.patch) +md5sums=('817dd08f1e8a66336b9ff206400a5369' + '0b13c1a080260497e6159bef4401ac1a' + '183a51089321fcf117f0f723e8e1940a' + '47728e356bb24a34eae52e932dd56c9f' + '02ce4a4f96b2dd649b36a7b8b19bd9d1' + '470d9881870aacc210b7a6efb64cc9a9') +sha512sums=('34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009' + '610c1e74a38d5e56a41eb59b25709ad40840e8c50d0d30bea20e9959cd65b99ae44626baf8a77505e5cd2ce70d120ae429a6861165546771395b00e534c3296b' + '1cff77e987e2d20ce1563c96d76431c60c142c42afa978e32d3a8c8dda17d0f3c1ba29fe3d0fcf0e7445fa5ca9558690ecdaad259fb9d23f435dcdc0baa9175d' + '5cb1643a8eab47ba2daa1438c50f1d29457d5aef69b6902fe3f1c72176ffa82d8048aac03ebc060ab6510cb8f59a9d41cfa1b80cf9661204b54120ee1961a607' + 'd993b7af3debdbae1e0d997f8fe47a01f83975575a125bee425dfe6f474c6ec72a0c5252e88a762cc4e866dfcb2cb1bf5bab9fead8fb5393faf049fb4aefba4f' + 'e0cec39381cefeca09ae4794cca309dfac7c8693e6315e137e64f5c33684598726d41cfbb4edf764fe985503b13ff596184ca5fc32b159d500ec092e4cf8838c') + +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 < ../valgrind-3.7.0-respect-flags.patch + patch -Np1 < ../valgrind-3.13.0-test-fixes.patch + patch -Np1 < ../valgrind-3.13.0-amd64-eflags-tests.patch + patch -Np1 < ../valgrind-3.13.0-gdb-8-testfix.patch + patch -Np1 < ../valgrind-fix-xml-socket.patch +} build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --mandir=/usr/share/man --with-mpicc=mpicc + # valgrind does not like stack protector flags + CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/} + CFLAGS=${CFLAGS/-fstack-protector-strong -fno-plt/} + CXXFLAGS=${CXXFLAGS/-fstack-protector-strong -fno-plt/} + + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --with-mpicc=mpicc make } +check() { + cd ${pkgname}-${pkgver} + + # Make sure a basic binary runs. There should be no errors. + ./vg-in-place --error-exitcode=1 /bin/true + + # Make sure no extra CFLAGS, CXXFLAGS or LDFLAGS leak through, + # the testsuite sets all flags necessary. See also configure above. + make check CFLAGS="" CXXFLAGS="" LDFLAGS="" + + # XXX: run full regtest but only report issues some tests fail duo + # current toolchain and expectations, take a manual look if its fine + echo ===============TESTING=================== + make regtest || : + + # Make sure test failures show up in build.log + # Gather up the diffs (at most the first 20 lines for each one) + MAX_LINES=20 + diff_files=$(find . -name '*.diff' | sort) + if [ z"${diff_files}" = z ] ; then + echo "Congratulations, all tests passed!" + else + warning "Some tests failed!" + for f in ${diff_files} ; do + echo "=================================================" >> diffs + echo "${f}" >> diffs + echo "=================================================" >> diffs + if [ "$(wc -l < "${f}")" -le ${MAX_LINES} ] ; then + cat "${f}" >> diffs + else + head -n ${MAX_LINES} "${f}" >> diffs + echo "<truncated beyond ${MAX_LINES} lines>" >> diffs + fi + done + fi + cat diffs + echo ===============END TESTING=============== +} + package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + if check_option 'debug' n; then + find "${pkgdir}/usr/bin" -type f -executable -exec strip $STRIP_BINARIES {} + || true + fi } + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/valgrind/valgrind-3.13.0-amd64-eflags-tests.patch b/abs/extra/valgrind/valgrind-3.13.0-amd64-eflags-tests.patch new file mode 100644 index 0000000..c2cef5a --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.13.0-amd64-eflags-tests.patch @@ -0,0 +1,2104 @@ +commit 4c8c3af18adc0a202d0e342b8ca3731a5b724a1d +Author: Tom Hughes <tom@compton.nu> +Date: Wed Aug 30 19:26:37 2017 +0100 + + Fix eflags handling in amd64 instruction tests + + In 64 bit mode there's no way to just save eflags so we save the + whole of rflags but we were doing so to a 32 bit variable! + + Replace that with proper rflags support that knows it is dealing + with the full 64 bit flags word in 64 bit mode. + +diff --git a/none/tests/amd64/gen_insn_test.pl b/none/tests/amd64/gen_insn_test.pl +index 863e560..a144ec4 100644 +--- a/none/tests/amd64/gen_insn_test.pl ++++ b/none/tests/amd64/gen_insn_test.pl +@@ -16,7 +16,7 @@ our %ArgTypes = ( + m32 => "reg32_t", + m64 => "reg64_t", + m128 => "reg128_t", +- eflags => "reg32_t", ++ rflags => "reg64_t", + st => "reg64_t", + fpucw => "reg16_t", + fpusw => "reg16_t" +@@ -222,8 +222,8 @@ while (<>) + + my @presets; + my $presetc = 0; +- my $eflagsmask; +- my $eflagsset; ++ my $rflagsmask; ++ my $rflagsset; + my $fpucwmask; + my $fpucwset; + my $fpuswmask; +@@ -305,7 +305,7 @@ while (<>) + + $presetc++; + } +- elsif ($preset =~ /^(eflags)\[([^\]]+)\]$/) ++ elsif ($preset =~ /^(rflags)\[([^\]]+)\]$/) + { + my $type = $1; + my @values = split(/,/, $2); +@@ -313,8 +313,8 @@ while (<>) + $values[0] = oct($values[0]) if $values[0] =~ /^0/; + $values[1] = oct($values[1]) if $values[1] =~ /^0/; + +- $eflagsmask = sprintf "0x%08x", $values[0] ^ 0xffffffff; +- $eflagsset = sprintf "0x%08x", $values[1]; ++ $rflagsmask = sprintf "0x%016x", ~$values[0]; ++ $rflagsset = sprintf "0x%016x", $values[1]; + } + elsif ($preset =~ /^(fpucw)\[([^\]]+)\]$/) + { +@@ -544,7 +544,7 @@ while (<>) + + print qq| $ArgTypes{$type} $name;\n|; + } +- elsif ($result =~ /^eflags\[([^\]]+)\]$/) ++ elsif ($result =~ /^rflags\[([^\]]+)\]$/) + { + my @values = split(/,/, $1); + +@@ -553,19 +553,19 @@ while (<>) + + my $result = { + name => $name, +- type => "eflags", +- subtype => "ud", +- values => [ map { sprintf "0x%08x", $_ } @values ] ++ type => "rflags", ++ subtype => "uq", ++ values => [ map { sprintf "0x%016x", $_ } @values ] + }; + + push @results, $result; + +- print qq| $ArgTypes{eflags} $name;\n|; ++ print qq| $ArgTypes{rflags} $name;\n|; + +- if (!defined($eflagsmask) && !defined($eflagsset)) ++ if (!defined($rflagsmask) && !defined($rflagsset)) + { +- $eflagsmask = sprintf "0x%08x", $values[0] ^ 0xffffffff; +- $eflagsset = sprintf "0x%08x", $values[0] & ~$values[1]; ++ $rflagsmask = sprintf "0x%016x", ~$values[0]; ++ $rflagsset = sprintf "0x%016x", $values[0] & ~$values[1]; + } + } + elsif ($result =~ /^fpucw\[([^\]]+)\]$/) +@@ -722,12 +722,11 @@ while (<>) + } + } + +- if (defined($eflagsmask) || defined($eflagsset)) ++ if (defined($rflagsmask) || defined($rflagsset)) + { + print qq| \"pushfq\\n\"\n|; +- print qq| \"andl \$$eflagsmask, (%%rsp)\\n\"\n| if defined($eflagsmask); +- print qq| \"andl \$0, 4(%%rsp)\\n\"\n| if defined($eflagsmask); +- print qq| \"orq \$$eflagsset, (%%rsp)\\n\"\n| if defined($eflagsset); ++ print qq| \"andq \$$rflagsmask, (%%rsp)\\n\"\n| if defined($rflagsmask); ++ print qq| \"orq \$$rflagsset, (%%rsp)\\n\"\n| if defined($rflagsset); + print qq| \"popfq\\n\"\n|; + } + +@@ -747,7 +746,7 @@ while (<>) + + foreach my $arg (@args) + { +- next if $arg->{type} eq "eflags"; ++ next if $arg->{type} eq "rflags"; + + if ($arg->{type} =~ /^(r8|r16|r32|r64|mm|xmm)$/) + { +@@ -815,7 +814,7 @@ while (<>) + { + $fpresults[$RegNums{$result->{register}}] = $result; + } +- elsif ($result->{type} eq "eflags") ++ elsif ($result->{type} eq "rflags") + { + print qq| \"pushfq\\n\"\n|; + print qq| \"popq %$result->{argnum}\\n\"\n|; +@@ -925,9 +924,9 @@ while (<>) + my $suffix = $SubTypeSuffixes{$subtype}; + my @values = @{$result->{values}}; + +- if ($type eq "eflags") ++ if ($type eq "rflags") + { +- print qq|${prefix}\($result->{name}.ud[0] & $values[0]UL\) == $values[1]UL|; ++ print qq|${prefix}\($result->{name}.uq[0] & $values[0]UL\) == $values[1]UL|; + } + elsif ($type =~ /^fpu[cs]w$/) + { +@@ -972,9 +971,9 @@ while (<>) + my $suffix = $SubTypeSuffixes{$subtype}; + my @values = @{$result->{values}}; + +- if ($type eq "eflags") ++ if ($type eq "rflags") + { +- print qq| printf(" eflags & 0x%lx = 0x%lx (expected 0x%lx)\\n", $values[0]UL, $result->{name}.ud\[0\] & $values[0]UL, $values[1]UL);\n|; ++ print qq| printf(" rflags & 0x%lx = 0x%lx (expected 0x%lx)\\n", $values[0]UL, $result->{name}.ud\[0\] & $values[0]UL, $values[1]UL);\n|; + } + elsif ($type =~ /^fpu[cs]w$/) + { +diff --git a/none/tests/amd64/insn_basic.def b/none/tests/amd64/insn_basic.def +index 8b10da1..c3bef75 100644 +--- a/none/tests/amd64/insn_basic.def ++++ b/none/tests/amd64/insn_basic.def +@@ -1,57 +1,57 @@ +-adcb eflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[46] +-adcb eflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[47] +-adcb eflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[46] +-adcb eflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[47] +-adcb eflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[46] +-adcb eflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[47] +-adcb eflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[46] +-adcb eflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[47] +-adcb eflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[46] +-adcb eflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[47] +-###adcb eflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[46] +-###adcb eflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[47] +-adcw eflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3468] +-adcw eflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3469] +-###adcw eflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[6912] +-###adcw eflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[6913] +-adcw eflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[6912] +-adcw eflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[6913] +-adcw eflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[6912] +-adcw eflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[6913] +-adcw eflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[6912] +-adcw eflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[6913] +-adcw eflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[6912] +-adcw eflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[6913] +-adcw eflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[6912] +-adcw eflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[6913] +-adcl eflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654333] +-adcl eflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654334] +-###adcl eflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[99999999] +-###adcl eflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[100000000] +-adcl eflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[99999999] +-adcl eflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[100000000] +-adcl eflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[99999999] +-adcl eflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[100000000] +-adcl eflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] +-adcl eflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] +-adcl eflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[99999999] +-adcl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[100000000] +-adcl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] +-adcl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] +-adcq eflags[0x1,0x0] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654333] +-adcq eflags[0x1,0x1] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654334] +-###adcq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432199999999] +-###adcq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432200000000] +-adcq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432199999999] +-adcq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432200000000] +-adcq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432199999999] +-adcq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432200000000] +-adcq eflags[0x1,0x0] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] +-adcq eflags[0x1,0x1] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000] +-adcq eflags[0x1,0x0] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[9999999999999999] +-adcq eflags[0x1,0x1] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[10000000000000000] +-adcq eflags[0x1,0x0] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] +-adcq eflags[0x1,0x1] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000] ++adcb rflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[46] ++adcb rflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[47] ++adcb rflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[46] ++adcb rflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[47] ++adcb rflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[46] ++adcb rflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[47] ++adcb rflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[46] ++adcb rflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[47] ++adcb rflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[46] ++adcb rflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[47] ++###adcb rflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[46] ++###adcb rflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[47] ++adcw rflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3468] ++adcw rflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3469] ++###adcw rflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[6912] ++###adcw rflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[6913] ++adcw rflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[6912] ++adcw rflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[6913] ++adcw rflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[6912] ++adcw rflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[6913] ++adcw rflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[6912] ++adcw rflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[6913] ++adcw rflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[6912] ++adcw rflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[6913] ++adcw rflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[6912] ++adcw rflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[6913] ++adcl rflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654333] ++adcl rflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654334] ++###adcl rflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[99999999] ++###adcl rflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[100000000] ++adcl rflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[99999999] ++adcl rflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[100000000] ++adcl rflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[99999999] ++adcl rflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[100000000] ++adcl rflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] ++adcl rflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] ++adcl rflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[99999999] ++adcl rflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[100000000] ++adcl rflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[99999999] ++adcl rflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[100000000] ++adcq rflags[0x1,0x0] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654333] ++adcq rflags[0x1,0x1] : imm8[12] r64.uq[8765432187654321] => 1.uq[8765432187654334] ++###adcq rflags[0x1,0x0] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432199999999] ++###adcq rflags[0x1,0x1] : imm32[12345678] rax.uq[8765432187654321] => 1.uq[8765432200000000] ++adcq rflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432199999999] ++adcq rflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432187654321] => 1.uq[8765432200000000] ++adcq rflags[0x1,0x0] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432199999999] ++adcq rflags[0x1,0x1] : imm32[12345678] m64.uq[8765432187654321] => 1.uq[8765432200000000] ++adcq rflags[0x1,0x0] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] ++adcq rflags[0x1,0x1] : r64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000] ++adcq rflags[0x1,0x0] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[9999999999999999] ++adcq rflags[0x1,0x1] : r64.uq[1234567812345678] m64.uq[8765432187654321] => 1.uq[10000000000000000] ++adcq rflags[0x1,0x0] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[9999999999999999] ++adcq rflags[0x1,0x1] : m64.uq[1234567812345678] r64.uq[8765432187654321] => 1.uq[10000000000000000] + addb imm8[12] al.ub[34] => 1.ub[46] + addb imm8[12] bl.ub[34] => 1.ub[46] + addb imm8[12] m8.ub[34] => 1.ub[46] +@@ -123,430 +123,430 @@ bsrq r64.uq[0x1357246813572468] r64.uq[0] => 1.uq[60] + bsrq m64.uq[0x7531864275318642] r64.uq[0] => 1.uq[62] + bswapl r32.ud[0x12345678] => 0.ud[0x78563412] + bswapq r64.uq[0x1234567813572468] => 0.uq[0x6824571378563412] +-btw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-btw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-btw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-btw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-###btw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-###btw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-###btw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-###btw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-btl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btcw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-btcw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-btcw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-btcw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-###btcw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-###btcw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-###btcw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-###btcw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-btcl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btcl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btcl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btcl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btcl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btcl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btcl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btcl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btcq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btcq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btcq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btcq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btcq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btcq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btcq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btcq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btrw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-btrw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-btrw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-btrw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-###btrw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-###btrw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-###btrw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] eflags[0x001,0x001] +-###btrw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x000] +-btrl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btrl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btrl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btrl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btrl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btrl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btrl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] eflags[0x001,0x001] +-btrl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x000] +-btrq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btrq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btrq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btrq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btrq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btrq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btrq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] eflags[0x001,0x001] +-btrq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x000] +-btsw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-btsw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-btsw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-btsw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-###btsw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-###btsw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-###btsw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] eflags[0x001,0x001] +-###btsw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] eflags[0x001,0x000] +-btsl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btsl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btsl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btsl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btsl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btsl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btsl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] eflags[0x001,0x001] +-btsl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] eflags[0x001,0x000] +-btsq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btsq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btsq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btsq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btsq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btsq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] +-btsq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] eflags[0x001,0x001] +-btsq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] eflags[0x001,0x000] ++btw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++btw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++btw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++btw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++###btw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++###btw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++###btw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++###btw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++btl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btcw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++btcw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++btcw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++btcw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++###btcw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++###btcw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++###btcw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++###btcw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++btcl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btcl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btcl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btcl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btcl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btcl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btcl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btcl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btcq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btcq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btcq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btcq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btcq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btcq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btcq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btcq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btrw imm8[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++btrw imm8[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++btrw imm8[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++btrw imm8[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++###btrw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++###btrw r16.uw[12] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++###btrw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4230] rflags[0x001,0x001] ++###btrw r16.uw[12] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x000] ++btrl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btrl imm8[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btrl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btrl imm8[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btrl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btrl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btrl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427530] rflags[0x001,0x001] ++btrl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x000] ++btrq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btrq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btrq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btrq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btrq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btrq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btrq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681356] rflags[0x001,0x001] ++btrq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x000] ++btsw imm8[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++btsw imm8[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++btsw imm8[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++btsw imm8[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++###btsw r16.uw[0] r16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++###btsw r16.uw[12] r16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++###btsw r16.uw[0] m16.uw[0x4231] => 1.uw[0x4231] rflags[0x001,0x001] ++###btsw r16.uw[12] m16.uw[0x4231] => 1.uw[0x5231] rflags[0x001,0x000] ++btsl imm8[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btsl imm8[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btsl imm8[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btsl imm8[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btsl r32.ud[0] r32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btsl r32.ud[24] r32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btsl r32.ud[0] m32.ud[0x86427531] => 1.ud[0x86427531] rflags[0x001,0x001] ++btsl r32.ud[24] m32.ud[0x86427531] => 1.ud[0x87427531] rflags[0x001,0x000] ++btsq imm8[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btsq imm8[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btsq imm8[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btsq imm8[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btsq r64.uq[0] r64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btsq r64.uq[48] r64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] ++btsq r64.uq[0] m64.uq[0x8642753124681357] => 1.uq[0x8642753124681357] rflags[0x001,0x001] ++btsq r64.uq[48] m64.uq[0x8642753124681357] => 1.uq[0x8643753124681357] rflags[0x001,0x000] + cbw al.sb[123] : => ax.sw[123] + cbw al.sb[-123] : => ax.sw[-123] + cdq eax.ud[0x12345678] : => edx.ud[0x00000000] eax.ud[0x12345678] + cdq eax.ud[0xfedcba98] : => edx.ud[0xffffffff] eax.ud[0xfedcba98] + cdqe eax.ud[0x12345678] : => rax.uq[0x0000000012345678] + cdqe eax.ud[0xfedcba98] : => rax.uq[0xfffffffffedcba98] +-###clc eflags[0x001,0x000] : => eflags[0x001,0x000] +-###clc eflags[0x001,0x001] : => eflags[0x001,0x000] +-cld eflags[0x400,0x000] : => eflags[0x400,0x000] +-cld eflags[0x400,0x400] : => eflags[0x400,0x000] +-###cmc eflags[0x001,0x000] : => eflags[0x001,0x001] +-###cmc eflags[0x001,0x001] : => eflags[0x001,0x000] +-cmpb imm8[3] al.ub[2] => eflags[0x010,0x010] +-cmpb imm8[2] al.ub[3] => eflags[0x010,0x000] +-cmpb imm8[12] al.ub[12] => eflags[0x044,0x044] +-cmpb imm8[12] al.ub[34] => eflags[0x044,0x000] +-cmpb imm8[34] al.ub[12] => eflags[0x081,0x081] +-cmpb imm8[12] al.ub[34] => eflags[0x081,0x000] +-cmpb imm8[100] al.sb[-100] => eflags[0x800,0x800] +-cmpb imm8[50] al.sb[-50] => eflags[0x800,0x000] +-cmpb imm8[-50] al.sb[50] => eflags[0x800,0x000] +-cmpb imm8[-100] al.sb[100] => eflags[0x800,0x800] +-cmpb imm8[3] r8.ub[2] => eflags[0x010,0x010] +-cmpb imm8[2] r8.ub[3] => eflags[0x010,0x000] +-cmpb imm8[12] r8.ub[12] => eflags[0x044,0x044] +-cmpb imm8[12] r8.ub[34] => eflags[0x044,0x000] +-cmpb imm8[34] r8.ub[12] => eflags[0x081,0x081] +-cmpb imm8[12] r8.ub[34] => eflags[0x081,0x000] +-cmpb imm8[100] r8.sb[-100] => eflags[0x800,0x800] +-cmpb imm8[50] r8.sb[-50] => eflags[0x800,0x000] +-cmpb imm8[-50] r8.sb[50] => eflags[0x800,0x000] +-cmpb imm8[-100] r8.sb[100] => eflags[0x800,0x800] +-cmpb imm8[3] m8.ub[2] => eflags[0x010,0x010] +-cmpb imm8[2] m8.ub[3] => eflags[0x010,0x000] +-cmpb imm8[12] m8.ub[12] => eflags[0x044,0x044] +-cmpb imm8[12] m8.ub[34] => eflags[0x044,0x000] +-cmpb imm8[34] m8.ub[12] => eflags[0x081,0x081] +-cmpb imm8[12] m8.ub[34] => eflags[0x081,0x000] +-cmpb imm8[100] m8.sb[-100] => eflags[0x800,0x800] +-cmpb imm8[50] m8.sb[-50] => eflags[0x800,0x000] +-cmpb imm8[-50] m8.sb[50] => eflags[0x800,0x000] +-cmpb imm8[-100] m8.sb[100] => eflags[0x800,0x800] +-cmpb r8.ub[3] r8.ub[2] => eflags[0x010,0x010] +-cmpb r8.ub[2] r8.ub[3] => eflags[0x010,0x000] +-cmpb r8.ub[12] r8.ub[12] => eflags[0x044,0x044] +-cmpb r8.ub[12] r8.ub[34] => eflags[0x044,0x000] +-cmpb r8.ub[34] r8.ub[12] => eflags[0x081,0x081] +-cmpb r8.ub[12] r8.ub[34] => eflags[0x081,0x000] +-cmpb r8.ub[100] r8.sb[-100] => eflags[0x800,0x800] +-cmpb r8.ub[50] r8.sb[-50] => eflags[0x800,0x000] +-cmpb r8.sb[-50] r8.sb[50] => eflags[0x800,0x000] +-cmpb r8.sb[-100] r8.sb[100] => eflags[0x800,0x800] +-cmpb r8.ub[3] m8.ub[2] => eflags[0x010,0x010] +-cmpb r8.ub[2] m8.ub[3] => eflags[0x010,0x000] +-cmpb r8.ub[12] m8.ub[12] => eflags[0x044,0x044] +-cmpb r8.ub[12] m8.ub[34] => eflags[0x044,0x000] +-cmpb r8.ub[34] m8.ub[12] => eflags[0x081,0x081] +-cmpb r8.ub[12] m8.ub[34] => eflags[0x081,0x000] +-cmpb r8.ub[100] m8.sb[-100] => eflags[0x800,0x800] +-cmpb r8.ub[50] m8.sb[-50] => eflags[0x800,0x000] +-cmpb r8.sb[-50] m8.sb[50] => eflags[0x800,0x000] +-cmpb r8.sb[-100] m8.sb[100] => eflags[0x800,0x800] +-cmpb m8.ub[3] r8.ub[2] => eflags[0x010,0x010] +-cmpb m8.ub[2] r8.ub[3] => eflags[0x010,0x000] +-cmpb m8.ub[12] r8.ub[12] => eflags[0x044,0x044] +-cmpb m8.ub[12] r8.ub[34] => eflags[0x044,0x000] +-cmpb m8.ub[34] r8.ub[12] => eflags[0x081,0x081] +-cmpb m8.ub[12] r8.ub[34] => eflags[0x081,0x000] +-cmpb m8.ub[100] r8.sb[-100] => eflags[0x800,0x800] +-cmpb m8.ub[50] r8.sb[-50] => eflags[0x800,0x000] +-cmpb m8.sb[-50] r8.sb[50] => eflags[0x800,0x000] +-cmpb m8.sb[-100] r8.sb[100] => eflags[0x800,0x800] +-cmpw imm8[3] r16.uw[2] => eflags[0x010,0x010] +-cmpw imm8[2] r16.uw[3] => eflags[0x010,0x000] +-cmpw imm8[12] r16.uw[12] => eflags[0x044,0x044] +-cmpw imm8[12] r16.uw[34] => eflags[0x044,0x000] +-cmpw imm8[34] r16.uw[12] => eflags[0x081,0x081] +-cmpw imm8[12] r16.uw[34] => eflags[0x081,0x000] +-cmpw imm8[100] r16.sw[-32700] => eflags[0x800,0x800] +-cmpw imm8[50] r16.sw[-50] => eflags[0x800,0x000] +-cmpw imm8[-50] r16.sw[50] => eflags[0x800,0x000] +-cmpw imm8[-100] r16.sw[32700] => eflags[0x800,0x800] +-cmpw imm8[3] m16.uw[2] => eflags[0x010,0x010] +-cmpw imm8[2] m16.uw[3] => eflags[0x010,0x000] +-cmpw imm8[12] m16.uw[12] => eflags[0x044,0x044] +-cmpw imm8[12] m16.uw[34] => eflags[0x044,0x000] +-cmpw imm8[34] m16.uw[12] => eflags[0x081,0x081] +-cmpw imm8[12] m16.uw[34] => eflags[0x081,0x000] +-cmpw imm8[100] m16.sw[-32700] => eflags[0x800,0x800] +-cmpw imm8[50] m16.sw[-50] => eflags[0x800,0x000] +-cmpw imm8[-50] m16.sw[50] => eflags[0x800,0x000] +-cmpw imm8[-100] m16.sw[32700] => eflags[0x800,0x800] +-cmpw imm16[3] ax.uw[2] => eflags[0x010,0x010] +-cmpw imm16[2] ax.uw[3] => eflags[0x010,0x000] +-cmpw imm16[12] ax.uw[12] => eflags[0x044,0x044] +-cmpw imm16[12] ax.uw[34] => eflags[0x044,0x000] +-cmpw imm16[34] ax.uw[12] => eflags[0x081,0x081] +-cmpw imm16[12] ax.uw[34] => eflags[0x081,0x000] +-cmpw imm16[100] ax.sw[-32700] => eflags[0x800,0x800] +-cmpw imm16[50] ax.sw[-50] => eflags[0x800,0x000] +-cmpw imm16[-50] ax.sw[50] => eflags[0x800,0x000] +-cmpw imm16[-100] ax.sw[32700] => eflags[0x800,0x800] +-cmpw imm16[3] r16.uw[2] => eflags[0x010,0x010] +-cmpw imm16[2] r16.uw[3] => eflags[0x010,0x000] +-cmpw imm16[12] r16.uw[12] => eflags[0x044,0x044] +-cmpw imm16[12] r16.uw[34] => eflags[0x044,0x000] +-cmpw imm16[34] r16.uw[12] => eflags[0x081,0x081] +-cmpw imm16[12] r16.uw[34] => eflags[0x081,0x000] +-cmpw imm16[100] r16.sw[-32700] => eflags[0x800,0x800] +-cmpw imm16[50] r16.sw[-50] => eflags[0x800,0x000] +-cmpw imm16[-50] r16.sw[50] => eflags[0x800,0x000] +-cmpw imm16[-100] r16.sw[32700] => eflags[0x800,0x800] +-cmpw imm16[3] m16.uw[2] => eflags[0x010,0x010] +-cmpw imm16[2] m16.uw[3] => eflags[0x010,0x000] +-cmpw imm16[12] m16.uw[12] => eflags[0x044,0x044] +-cmpw imm16[12] m16.uw[34] => eflags[0x044,0x000] +-cmpw imm16[34] m16.uw[12] => eflags[0x081,0x081] +-cmpw imm16[12] m16.uw[34] => eflags[0x081,0x000] +-cmpw imm16[100] m16.sw[-32700] => eflags[0x800,0x800] +-cmpw imm16[50] m16.sw[-50] => eflags[0x800,0x000] +-cmpw imm16[-50] m16.sw[50] => eflags[0x800,0x000] +-cmpw imm16[-100] m16.sw[32700] => eflags[0x800,0x800] +-cmpw r16.uw[3] r16.uw[2] => eflags[0x010,0x010] +-cmpw r16.uw[2] r16.uw[3] => eflags[0x010,0x000] +-cmpw r16.uw[12] r16.uw[12] => eflags[0x044,0x044] +-cmpw r16.uw[12] r16.uw[34] => eflags[0x044,0x000] +-cmpw r16.uw[34] r16.uw[12] => eflags[0x081,0x081] +-cmpw r16.uw[12] r16.uw[34] => eflags[0x081,0x000] +-cmpw r16.uw[100] r16.sw[-32700] => eflags[0x800,0x800] +-cmpw r16.uw[50] r16.sw[-50] => eflags[0x800,0x000] +-cmpw r16.sw[-50] r16.sw[50] => eflags[0x800,0x000] +-cmpw r16.sw[-100] r16.sw[32700] => eflags[0x800,0x800] +-cmpw r16.uw[3] m16.uw[2] => eflags[0x010,0x010] +-cmpw r16.uw[2] m16.uw[3] => eflags[0x010,0x000] +-cmpw r16.uw[12] m16.uw[12] => eflags[0x044,0x044] +-cmpw r16.uw[12] m16.uw[34] => eflags[0x044,0x000] +-cmpw r16.uw[34] m16.uw[12] => eflags[0x081,0x081] +-cmpw r16.uw[12] m16.uw[34] => eflags[0x081,0x000] +-cmpw r16.uw[100] m16.sw[-32700] => eflags[0x800,0x800] +-cmpw r16.uw[50] m16.sw[-50] => eflags[0x800,0x000] +-cmpw r16.sw[-50] m16.sw[50] => eflags[0x800,0x000] +-cmpw r16.sw[-100] m16.sw[32700] => eflags[0x800,0x800] +-cmpw m16.uw[3] r16.uw[2] => eflags[0x010,0x010] +-cmpw m16.uw[2] r16.uw[3] => eflags[0x010,0x000] +-cmpw m16.uw[12] r16.uw[12] => eflags[0x044,0x044] +-cmpw m16.uw[12] r16.uw[34] => eflags[0x044,0x000] +-cmpw m16.uw[34] r16.uw[12] => eflags[0x081,0x081] +-cmpw m16.uw[12] r16.uw[34] => eflags[0x081,0x000] +-cmpw m16.uw[100] r16.sw[-32700] => eflags[0x800,0x800] +-cmpw m16.uw[50] r16.sw[-50] => eflags[0x800,0x000] +-cmpw m16.sw[-50] r16.sw[50] => eflags[0x800,0x000] +-cmpw m16.sw[-100] r16.sw[32700] => eflags[0x800,0x800] +-cmpl imm8[3] r32.ud[2] => eflags[0x010,0x010] +-cmpl imm8[2] r32.ud[3] => eflags[0x010,0x000] +-cmpl imm8[12] r32.ud[12] => eflags[0x044,0x044] +-###cmpl imm8[12] r32.ud[34] => eflags[0x044,0x000] +-cmpl imm8[34] r32.ud[12] => eflags[0x081,0x081] +-cmpl imm8[12] r32.ud[34] => eflags[0x081,0x000] +-cmpl imm8[100] r32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl imm8[50] r32.sd[-50] => eflags[0x800,0x000] +-cmpl imm8[-50] r32.sd[50] => eflags[0x800,0x000] +-cmpl imm8[-100] r32.sd[2147483600] => eflags[0x800,0x800] +-cmpl imm8[3] m32.ud[2] => eflags[0x010,0x010] +-cmpl imm8[2] m32.ud[3] => eflags[0x010,0x000] +-cmpl imm8[12] m32.ud[12] => eflags[0x044,0x044] +-cmpl imm8[12] m32.ud[34] => eflags[0x044,0x000] +-cmpl imm8[34] m32.ud[12] => eflags[0x081,0x081] +-cmpl imm8[12] m32.ud[34] => eflags[0x081,0x000] +-cmpl imm8[100] m32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl imm8[50] m32.sd[-50] => eflags[0x800,0x000] +-cmpl imm8[-50] m32.sd[50] => eflags[0x800,0x000] +-cmpl imm8[-100] m32.sd[2147483600] => eflags[0x800,0x800] +-cmpl imm32[3] eax.ud[2] => eflags[0x010,0x010] +-cmpl imm32[2] eax.ud[3] => eflags[0x010,0x000] +-cmpl imm32[12] eax.ud[12] => eflags[0x044,0x044] +-cmpl imm32[12] eax.ud[34] => eflags[0x044,0x000] +-cmpl imm32[34] eax.ud[12] => eflags[0x081,0x081] +-cmpl imm32[12] eax.ud[34] => eflags[0x081,0x000] +-cmpl imm32[100] eax.sd[-2147483600] => eflags[0x800,0x800] +-cmpl imm32[50] eax.sd[-50] => eflags[0x800,0x000] +-cmpl imm32[-50] eax.sd[50] => eflags[0x800,0x000] +-cmpl imm32[-100] eax.sd[2147483600] => eflags[0x800,0x800] +-cmpl imm32[3] r32.ud[2] => eflags[0x010,0x010] +-cmpl imm32[2] r32.ud[3] => eflags[0x010,0x000] +-cmpl imm32[12] r32.ud[12] => eflags[0x044,0x044] +-cmpl imm32[12] r32.ud[34] => eflags[0x044,0x000] +-cmpl imm32[34] r32.ud[12] => eflags[0x081,0x081] +-cmpl imm32[12] r32.ud[34] => eflags[0x081,0x000] +-cmpl imm32[100] r32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl imm32[50] r32.sd[-50] => eflags[0x800,0x000] +-cmpl imm32[-50] r32.sd[50] => eflags[0x800,0x000] +-cmpl imm32[-100] r32.sd[2147483600] => eflags[0x800,0x800] +-cmpl imm32[3] m32.ud[2] => eflags[0x010,0x010] +-cmpl imm32[2] m32.ud[3] => eflags[0x010,0x000] +-cmpl imm32[12] m32.ud[12] => eflags[0x044,0x044] +-cmpl imm32[12] m32.ud[34] => eflags[0x044,0x000] +-cmpl imm32[34] m32.ud[12] => eflags[0x081,0x081] +-cmpl imm32[12] m32.ud[34] => eflags[0x081,0x000] +-cmpl imm32[100] m32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl imm32[50] m32.sd[-50] => eflags[0x800,0x000] +-cmpl imm32[-50] m32.sd[50] => eflags[0x800,0x000] +-cmpl imm32[-100] m32.sd[2147483600] => eflags[0x800,0x800] +-cmpl r32.ud[3] r32.ud[2] => eflags[0x010,0x010] +-cmpl r32.ud[2] r32.ud[3] => eflags[0x010,0x000] +-cmpl r32.ud[12] r32.ud[12] => eflags[0x044,0x044] +-cmpl r32.ud[12] r32.ud[34] => eflags[0x044,0x000] +-cmpl r32.ud[34] r32.ud[12] => eflags[0x081,0x081] +-cmpl r32.ud[12] r32.ud[34] => eflags[0x081,0x000] +-cmpl r32.ud[100] r32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl r32.ud[50] r32.sd[-50] => eflags[0x800,0x000] +-cmpl r32.sd[-50] r32.sd[50] => eflags[0x800,0x000] +-cmpl r32.sd[-100] r32.sd[2147483600] => eflags[0x800,0x800] +-cmpl r32.ud[3] m32.ud[2] => eflags[0x010,0x010] +-cmpl r32.ud[2] m32.ud[3] => eflags[0x010,0x000] +-cmpl r32.ud[12] m32.ud[12] => eflags[0x044,0x044] +-cmpl r32.ud[12] m32.ud[34] => eflags[0x044,0x000] +-cmpl r32.ud[34] m32.ud[12] => eflags[0x081,0x081] +-cmpl r32.ud[12] m32.ud[34] => eflags[0x081,0x000] +-cmpl r32.ud[100] m32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl r32.ud[50] m32.sd[-50] => eflags[0x800,0x000] +-cmpl r32.sd[-50] m32.sd[50] => eflags[0x800,0x000] +-cmpl r32.sd[-100] m32.sd[2147483600] => eflags[0x800,0x800] +-cmpl m32.ud[3] r32.ud[2] => eflags[0x010,0x010] +-cmpl m32.ud[2] r32.ud[3] => eflags[0x010,0x000] +-cmpl m32.ud[12] r32.ud[12] => eflags[0x044,0x044] +-cmpl m32.ud[12] r32.ud[34] => eflags[0x044,0x000] +-cmpl m32.ud[34] r32.ud[12] => eflags[0x081,0x081] +-cmpl m32.ud[12] r32.ud[34] => eflags[0x081,0x000] +-cmpl m32.ud[100] r32.sd[-2147483600] => eflags[0x800,0x800] +-cmpl m32.ud[50] r32.sd[-50] => eflags[0x800,0x000] +-cmpl m32.sd[-50] r32.sd[50] => eflags[0x800,0x000] +-###cmpl m32.sd[-100] r32.sd[2147483600] => eflags[0x800,0x800] +-cmpq imm8[3] r64.uq[2] => eflags[0x010,0x010] +-cmpq imm8[2] r64.uq[3] => eflags[0x010,0x000] +-cmpq imm8[12] r64.uq[12] => eflags[0x044,0x044] +-cmpq imm8[12] r64.uq[34] => eflags[0x044,0x000] +-cmpq imm8[34] r64.uq[12] => eflags[0x081,0x081] +-cmpq imm8[12] r64.uq[34] => eflags[0x081,0x000] +-cmpq imm8[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq imm8[50] r64.sq[-50] => eflags[0x800,0x000] +-cmpq imm8[-50] r64.sq[50] => eflags[0x800,0x000] +-cmpq imm8[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq imm8[3] m64.uq[2] => eflags[0x010,0x010] +-cmpq imm8[2] m64.uq[3] => eflags[0x010,0x000] +-cmpq imm8[12] m64.uq[12] => eflags[0x044,0x044] +-cmpq imm8[12] m64.uq[34] => eflags[0x044,0x000] +-cmpq imm8[34] m64.uq[12] => eflags[0x081,0x081] +-cmpq imm8[12] m64.uq[34] => eflags[0x081,0x000] +-cmpq imm8[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq imm8[50] m64.sq[-50] => eflags[0x800,0x000] +-cmpq imm8[-50] m64.sq[50] => eflags[0x800,0x000] +-cmpq imm8[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[3] rax.uq[2] => eflags[0x010,0x010] +-cmpq imm32[2] rax.uq[3] => eflags[0x010,0x000] +-cmpq imm32[12] rax.uq[12] => eflags[0x044,0x044] +-cmpq imm32[12] rax.uq[34] => eflags[0x044,0x000] +-cmpq imm32[34] rax.uq[12] => eflags[0x081,0x081] +-cmpq imm32[12] rax.uq[34] => eflags[0x081,0x000] +-cmpq imm32[100] rax.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[50] rax.sq[-50] => eflags[0x800,0x000] +-cmpq imm32[-50] rax.sq[50] => eflags[0x800,0x000] +-cmpq imm32[-100] rax.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[3] r64.uq[2] => eflags[0x010,0x010] +-cmpq imm32[2] r64.uq[3] => eflags[0x010,0x000] +-cmpq imm32[12] r64.uq[12] => eflags[0x044,0x044] +-cmpq imm32[12] r64.uq[34] => eflags[0x044,0x000] +-cmpq imm32[34] r64.uq[12] => eflags[0x081,0x081] +-cmpq imm32[12] r64.uq[34] => eflags[0x081,0x000] +-cmpq imm32[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[50] r64.sq[-50] => eflags[0x800,0x000] +-cmpq imm32[-50] r64.sq[50] => eflags[0x800,0x000] +-cmpq imm32[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[3] m64.uq[2] => eflags[0x010,0x010] +-cmpq imm32[2] m64.uq[3] => eflags[0x010,0x000] +-cmpq imm32[12] m64.uq[12] => eflags[0x044,0x044] +-cmpq imm32[12] m64.uq[34] => eflags[0x044,0x000] +-cmpq imm32[34] m64.uq[12] => eflags[0x081,0x081] +-cmpq imm32[12] m64.uq[34] => eflags[0x081,0x000] +-cmpq imm32[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq imm32[50] m64.sq[-50] => eflags[0x800,0x000] +-cmpq imm32[-50] m64.sq[50] => eflags[0x800,0x000] +-cmpq imm32[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq r64.uq[3] r64.uq[2] => eflags[0x010,0x010] +-cmpq r64.uq[2] r64.uq[3] => eflags[0x010,0x000] +-cmpq r64.uq[12] r64.uq[12] => eflags[0x044,0x044] +-cmpq r64.uq[12] r64.uq[34] => eflags[0x044,0x000] +-cmpq r64.uq[34] r64.uq[12] => eflags[0x081,0x081] +-cmpq r64.uq[12] r64.uq[34] => eflags[0x081,0x000] +-cmpq r64.uq[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq r64.uq[50] r64.sq[-50] => eflags[0x800,0x000] +-cmpq r64.sq[-50] r64.sq[50] => eflags[0x800,0x000] +-cmpq r64.sq[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq r64.uq[3] m64.uq[2] => eflags[0x010,0x010] +-cmpq r64.uq[2] m64.uq[3] => eflags[0x010,0x000] +-cmpq r64.uq[12] m64.uq[12] => eflags[0x044,0x044] +-cmpq r64.uq[12] m64.uq[34] => eflags[0x044,0x000] +-cmpq r64.uq[34] m64.uq[12] => eflags[0x081,0x081] +-cmpq r64.uq[12] m64.uq[34] => eflags[0x081,0x000] +-cmpq r64.uq[100] m64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq r64.uq[50] m64.sq[-50] => eflags[0x800,0x000] +-cmpq r64.sq[-50] m64.sq[50] => eflags[0x800,0x000] +-cmpq r64.sq[-100] m64.sq[9223372036854775800] => eflags[0x800,0x800] +-cmpq m64.uq[3] r64.uq[2] => eflags[0x010,0x010] +-cmpq m64.uq[2] r64.uq[3] => eflags[0x010,0x000] +-cmpq m64.uq[12] r64.uq[12] => eflags[0x044,0x044] +-cmpq m64.uq[12] r64.uq[34] => eflags[0x044,0x000] +-cmpq m64.uq[34] r64.uq[12] => eflags[0x081,0x081] +-cmpq m64.uq[12] r64.uq[34] => eflags[0x081,0x000] +-cmpq m64.uq[100] r64.sq[-9223372036854775800] => eflags[0x800,0x800] +-cmpq m64.uq[50] r64.sq[-50] => eflags[0x800,0x000] +-cmpq m64.sq[-50] r64.sq[50] => eflags[0x800,0x000] +-cmpq m64.sq[-100] r64.sq[9223372036854775800] => eflags[0x800,0x800] +-###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] r8.ub[12] => eflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] +-###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] r8.ub[34] => eflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] +-###cmpxchgb eflags[0x40,0x00] al.ub[12] : r8.ub[56] m8.ub[12] => eflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] +-###cmpxchgb eflags[0x40,0x40] al.ub[12] : r8.ub[56] m8.ub[34] => eflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] +-###cmpxchgw eflags[0x40,0x00] ax.uw[123] : r16.uw[567] r16.uw[123] => eflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] +-###cmpxchgw eflags[0x40,0x40] ax.uw[123] : r16.uw[567] r16.uw[345] => eflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] +-cmpxchgw eflags[0x40,0x00] ax.uw[123] : r16.uw[567] m16.uw[123] => eflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] +-###cmpxchgw eflags[0x40,0x40] ax.uw[123] : r16.uw[567] m16.uw[345] => eflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] +-###cmpxchgl eflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] r32.ud[1234] => eflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] +-###cmpxchgl eflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] r32.ud[3456] => eflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] +-cmpxchgl eflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] m32.ud[1234] => eflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] +-cmpxchgl eflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] m32.ud[3456] => eflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] +-###cmpxchgq eflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] r64.uq[12345] => eflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] +-###cmpxchgq eflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] r64.uq[34567] => eflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] +-cmpxchgq eflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] m64.uq[12345] => eflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] +-cmpxchgq eflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] m64.uq[34567] => eflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] ++###clc rflags[0x001,0x000] : => rflags[0x001,0x000] ++###clc rflags[0x001,0x001] : => rflags[0x001,0x000] ++cld rflags[0x400,0x000] : => rflags[0x400,0x000] ++cld rflags[0x400,0x400] : => rflags[0x400,0x000] ++###cmc rflags[0x001,0x000] : => rflags[0x001,0x001] ++###cmc rflags[0x001,0x001] : => rflags[0x001,0x000] ++cmpb imm8[3] al.ub[2] => rflags[0x010,0x010] ++cmpb imm8[2] al.ub[3] => rflags[0x010,0x000] ++cmpb imm8[12] al.ub[12] => rflags[0x044,0x044] ++cmpb imm8[12] al.ub[34] => rflags[0x044,0x000] ++cmpb imm8[34] al.ub[12] => rflags[0x081,0x081] ++cmpb imm8[12] al.ub[34] => rflags[0x081,0x000] ++cmpb imm8[100] al.sb[-100] => rflags[0x800,0x800] ++cmpb imm8[50] al.sb[-50] => rflags[0x800,0x000] ++cmpb imm8[-50] al.sb[50] => rflags[0x800,0x000] ++cmpb imm8[-100] al.sb[100] => rflags[0x800,0x800] ++cmpb imm8[3] r8.ub[2] => rflags[0x010,0x010] ++cmpb imm8[2] r8.ub[3] => rflags[0x010,0x000] ++cmpb imm8[12] r8.ub[12] => rflags[0x044,0x044] ++cmpb imm8[12] r8.ub[34] => rflags[0x044,0x000] ++cmpb imm8[34] r8.ub[12] => rflags[0x081,0x081] ++cmpb imm8[12] r8.ub[34] => rflags[0x081,0x000] ++cmpb imm8[100] r8.sb[-100] => rflags[0x800,0x800] ++cmpb imm8[50] r8.sb[-50] => rflags[0x800,0x000] ++cmpb imm8[-50] r8.sb[50] => rflags[0x800,0x000] ++cmpb imm8[-100] r8.sb[100] => rflags[0x800,0x800] ++cmpb imm8[3] m8.ub[2] => rflags[0x010,0x010] ++cmpb imm8[2] m8.ub[3] => rflags[0x010,0x000] ++cmpb imm8[12] m8.ub[12] => rflags[0x044,0x044] ++cmpb imm8[12] m8.ub[34] => rflags[0x044,0x000] ++cmpb imm8[34] m8.ub[12] => rflags[0x081,0x081] ++cmpb imm8[12] m8.ub[34] => rflags[0x081,0x000] ++cmpb imm8[100] m8.sb[-100] => rflags[0x800,0x800] ++cmpb imm8[50] m8.sb[-50] => rflags[0x800,0x000] ++cmpb imm8[-50] m8.sb[50] => rflags[0x800,0x000] ++cmpb imm8[-100] m8.sb[100] => rflags[0x800,0x800] ++cmpb r8.ub[3] r8.ub[2] => rflags[0x010,0x010] ++cmpb r8.ub[2] r8.ub[3] => rflags[0x010,0x000] ++cmpb r8.ub[12] r8.ub[12] => rflags[0x044,0x044] ++cmpb r8.ub[12] r8.ub[34] => rflags[0x044,0x000] ++cmpb r8.ub[34] r8.ub[12] => rflags[0x081,0x081] ++cmpb r8.ub[12] r8.ub[34] => rflags[0x081,0x000] ++cmpb r8.ub[100] r8.sb[-100] => rflags[0x800,0x800] ++cmpb r8.ub[50] r8.sb[-50] => rflags[0x800,0x000] ++cmpb r8.sb[-50] r8.sb[50] => rflags[0x800,0x000] ++cmpb r8.sb[-100] r8.sb[100] => rflags[0x800,0x800] ++cmpb r8.ub[3] m8.ub[2] => rflags[0x010,0x010] ++cmpb r8.ub[2] m8.ub[3] => rflags[0x010,0x000] ++cmpb r8.ub[12] m8.ub[12] => rflags[0x044,0x044] ++cmpb r8.ub[12] m8.ub[34] => rflags[0x044,0x000] ++cmpb r8.ub[34] m8.ub[12] => rflags[0x081,0x081] ++cmpb r8.ub[12] m8.ub[34] => rflags[0x081,0x000] ++cmpb r8.ub[100] m8.sb[-100] => rflags[0x800,0x800] ++cmpb r8.ub[50] m8.sb[-50] => rflags[0x800,0x000] ++cmpb r8.sb[-50] m8.sb[50] => rflags[0x800,0x000] ++cmpb r8.sb[-100] m8.sb[100] => rflags[0x800,0x800] ++cmpb m8.ub[3] r8.ub[2] => rflags[0x010,0x010] ++cmpb m8.ub[2] r8.ub[3] => rflags[0x010,0x000] ++cmpb m8.ub[12] r8.ub[12] => rflags[0x044,0x044] ++cmpb m8.ub[12] r8.ub[34] => rflags[0x044,0x000] ++cmpb m8.ub[34] r8.ub[12] => rflags[0x081,0x081] ++cmpb m8.ub[12] r8.ub[34] => rflags[0x081,0x000] ++cmpb m8.ub[100] r8.sb[-100] => rflags[0x800,0x800] ++cmpb m8.ub[50] r8.sb[-50] => rflags[0x800,0x000] ++cmpb m8.sb[-50] r8.sb[50] => rflags[0x800,0x000] ++cmpb m8.sb[-100] r8.sb[100] => rflags[0x800,0x800] ++cmpw imm8[3] r16.uw[2] => rflags[0x010,0x010] ++cmpw imm8[2] r16.uw[3] => rflags[0x010,0x000] ++cmpw imm8[12] r16.uw[12] => rflags[0x044,0x044] ++cmpw imm8[12] r16.uw[34] => rflags[0x044,0x000] ++cmpw imm8[34] r16.uw[12] => rflags[0x081,0x081] ++cmpw imm8[12] r16.uw[34] => rflags[0x081,0x000] ++cmpw imm8[100] r16.sw[-32700] => rflags[0x800,0x800] ++cmpw imm8[50] r16.sw[-50] => rflags[0x800,0x000] ++cmpw imm8[-50] r16.sw[50] => rflags[0x800,0x000] ++cmpw imm8[-100] r16.sw[32700] => rflags[0x800,0x800] ++cmpw imm8[3] m16.uw[2] => rflags[0x010,0x010] ++cmpw imm8[2] m16.uw[3] => rflags[0x010,0x000] ++cmpw imm8[12] m16.uw[12] => rflags[0x044,0x044] ++cmpw imm8[12] m16.uw[34] => rflags[0x044,0x000] ++cmpw imm8[34] m16.uw[12] => rflags[0x081,0x081] ++cmpw imm8[12] m16.uw[34] => rflags[0x081,0x000] ++cmpw imm8[100] m16.sw[-32700] => rflags[0x800,0x800] ++cmpw imm8[50] m16.sw[-50] => rflags[0x800,0x000] ++cmpw imm8[-50] m16.sw[50] => rflags[0x800,0x000] ++cmpw imm8[-100] m16.sw[32700] => rflags[0x800,0x800] ++cmpw imm16[3] ax.uw[2] => rflags[0x010,0x010] ++cmpw imm16[2] ax.uw[3] => rflags[0x010,0x000] ++cmpw imm16[12] ax.uw[12] => rflags[0x044,0x044] ++cmpw imm16[12] ax.uw[34] => rflags[0x044,0x000] ++cmpw imm16[34] ax.uw[12] => rflags[0x081,0x081] ++cmpw imm16[12] ax.uw[34] => rflags[0x081,0x000] ++cmpw imm16[100] ax.sw[-32700] => rflags[0x800,0x800] ++cmpw imm16[50] ax.sw[-50] => rflags[0x800,0x000] ++cmpw imm16[-50] ax.sw[50] => rflags[0x800,0x000] ++cmpw imm16[-100] ax.sw[32700] => rflags[0x800,0x800] ++cmpw imm16[3] r16.uw[2] => rflags[0x010,0x010] ++cmpw imm16[2] r16.uw[3] => rflags[0x010,0x000] ++cmpw imm16[12] r16.uw[12] => rflags[0x044,0x044] ++cmpw imm16[12] r16.uw[34] => rflags[0x044,0x000] ++cmpw imm16[34] r16.uw[12] => rflags[0x081,0x081] ++cmpw imm16[12] r16.uw[34] => rflags[0x081,0x000] ++cmpw imm16[100] r16.sw[-32700] => rflags[0x800,0x800] ++cmpw imm16[50] r16.sw[-50] => rflags[0x800,0x000] ++cmpw imm16[-50] r16.sw[50] => rflags[0x800,0x000] ++cmpw imm16[-100] r16.sw[32700] => rflags[0x800,0x800] ++cmpw imm16[3] m16.uw[2] => rflags[0x010,0x010] ++cmpw imm16[2] m16.uw[3] => rflags[0x010,0x000] ++cmpw imm16[12] m16.uw[12] => rflags[0x044,0x044] ++cmpw imm16[12] m16.uw[34] => rflags[0x044,0x000] ++cmpw imm16[34] m16.uw[12] => rflags[0x081,0x081] ++cmpw imm16[12] m16.uw[34] => rflags[0x081,0x000] ++cmpw imm16[100] m16.sw[-32700] => rflags[0x800,0x800] ++cmpw imm16[50] m16.sw[-50] => rflags[0x800,0x000] ++cmpw imm16[-50] m16.sw[50] => rflags[0x800,0x000] ++cmpw imm16[-100] m16.sw[32700] => rflags[0x800,0x800] ++cmpw r16.uw[3] r16.uw[2] => rflags[0x010,0x010] ++cmpw r16.uw[2] r16.uw[3] => rflags[0x010,0x000] ++cmpw r16.uw[12] r16.uw[12] => rflags[0x044,0x044] ++cmpw r16.uw[12] r16.uw[34] => rflags[0x044,0x000] ++cmpw r16.uw[34] r16.uw[12] => rflags[0x081,0x081] ++cmpw r16.uw[12] r16.uw[34] => rflags[0x081,0x000] ++cmpw r16.uw[100] r16.sw[-32700] => rflags[0x800,0x800] ++cmpw r16.uw[50] r16.sw[-50] => rflags[0x800,0x000] ++cmpw r16.sw[-50] r16.sw[50] => rflags[0x800,0x000] ++cmpw r16.sw[-100] r16.sw[32700] => rflags[0x800,0x800] ++cmpw r16.uw[3] m16.uw[2] => rflags[0x010,0x010] ++cmpw r16.uw[2] m16.uw[3] => rflags[0x010,0x000] ++cmpw r16.uw[12] m16.uw[12] => rflags[0x044,0x044] ++cmpw r16.uw[12] m16.uw[34] => rflags[0x044,0x000] ++cmpw r16.uw[34] m16.uw[12] => rflags[0x081,0x081] ++cmpw r16.uw[12] m16.uw[34] => rflags[0x081,0x000] ++cmpw r16.uw[100] m16.sw[-32700] => rflags[0x800,0x800] ++cmpw r16.uw[50] m16.sw[-50] => rflags[0x800,0x000] ++cmpw r16.sw[-50] m16.sw[50] => rflags[0x800,0x000] ++cmpw r16.sw[-100] m16.sw[32700] => rflags[0x800,0x800] ++cmpw m16.uw[3] r16.uw[2] => rflags[0x010,0x010] ++cmpw m16.uw[2] r16.uw[3] => rflags[0x010,0x000] ++cmpw m16.uw[12] r16.uw[12] => rflags[0x044,0x044] ++cmpw m16.uw[12] r16.uw[34] => rflags[0x044,0x000] ++cmpw m16.uw[34] r16.uw[12] => rflags[0x081,0x081] ++cmpw m16.uw[12] r16.uw[34] => rflags[0x081,0x000] ++cmpw m16.uw[100] r16.sw[-32700] => rflags[0x800,0x800] ++cmpw m16.uw[50] r16.sw[-50] => rflags[0x800,0x000] ++cmpw m16.sw[-50] r16.sw[50] => rflags[0x800,0x000] ++cmpw m16.sw[-100] r16.sw[32700] => rflags[0x800,0x800] ++cmpl imm8[3] r32.ud[2] => rflags[0x010,0x010] ++cmpl imm8[2] r32.ud[3] => rflags[0x010,0x000] ++cmpl imm8[12] r32.ud[12] => rflags[0x044,0x044] ++###cmpl imm8[12] r32.ud[34] => rflags[0x044,0x000] ++cmpl imm8[34] r32.ud[12] => rflags[0x081,0x081] ++cmpl imm8[12] r32.ud[34] => rflags[0x081,0x000] ++cmpl imm8[100] r32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl imm8[50] r32.sd[-50] => rflags[0x800,0x000] ++cmpl imm8[-50] r32.sd[50] => rflags[0x800,0x000] ++cmpl imm8[-100] r32.sd[2147483600] => rflags[0x800,0x800] ++cmpl imm8[3] m32.ud[2] => rflags[0x010,0x010] ++cmpl imm8[2] m32.ud[3] => rflags[0x010,0x000] ++cmpl imm8[12] m32.ud[12] => rflags[0x044,0x044] ++cmpl imm8[12] m32.ud[34] => rflags[0x044,0x000] ++cmpl imm8[34] m32.ud[12] => rflags[0x081,0x081] ++cmpl imm8[12] m32.ud[34] => rflags[0x081,0x000] ++cmpl imm8[100] m32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl imm8[50] m32.sd[-50] => rflags[0x800,0x000] ++cmpl imm8[-50] m32.sd[50] => rflags[0x800,0x000] ++cmpl imm8[-100] m32.sd[2147483600] => rflags[0x800,0x800] ++cmpl imm32[3] eax.ud[2] => rflags[0x010,0x010] ++cmpl imm32[2] eax.ud[3] => rflags[0x010,0x000] ++cmpl imm32[12] eax.ud[12] => rflags[0x044,0x044] ++cmpl imm32[12] eax.ud[34] => rflags[0x044,0x000] ++cmpl imm32[34] eax.ud[12] => rflags[0x081,0x081] ++cmpl imm32[12] eax.ud[34] => rflags[0x081,0x000] ++cmpl imm32[100] eax.sd[-2147483600] => rflags[0x800,0x800] ++cmpl imm32[50] eax.sd[-50] => rflags[0x800,0x000] ++cmpl imm32[-50] eax.sd[50] => rflags[0x800,0x000] ++cmpl imm32[-100] eax.sd[2147483600] => rflags[0x800,0x800] ++cmpl imm32[3] r32.ud[2] => rflags[0x010,0x010] ++cmpl imm32[2] r32.ud[3] => rflags[0x010,0x000] ++cmpl imm32[12] r32.ud[12] => rflags[0x044,0x044] ++cmpl imm32[12] r32.ud[34] => rflags[0x044,0x000] ++cmpl imm32[34] r32.ud[12] => rflags[0x081,0x081] ++cmpl imm32[12] r32.ud[34] => rflags[0x081,0x000] ++cmpl imm32[100] r32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl imm32[50] r32.sd[-50] => rflags[0x800,0x000] ++cmpl imm32[-50] r32.sd[50] => rflags[0x800,0x000] ++cmpl imm32[-100] r32.sd[2147483600] => rflags[0x800,0x800] ++cmpl imm32[3] m32.ud[2] => rflags[0x010,0x010] ++cmpl imm32[2] m32.ud[3] => rflags[0x010,0x000] ++cmpl imm32[12] m32.ud[12] => rflags[0x044,0x044] ++cmpl imm32[12] m32.ud[34] => rflags[0x044,0x000] ++cmpl imm32[34] m32.ud[12] => rflags[0x081,0x081] ++cmpl imm32[12] m32.ud[34] => rflags[0x081,0x000] ++cmpl imm32[100] m32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl imm32[50] m32.sd[-50] => rflags[0x800,0x000] ++cmpl imm32[-50] m32.sd[50] => rflags[0x800,0x000] ++cmpl imm32[-100] m32.sd[2147483600] => rflags[0x800,0x800] ++cmpl r32.ud[3] r32.ud[2] => rflags[0x010,0x010] ++cmpl r32.ud[2] r32.ud[3] => rflags[0x010,0x000] ++cmpl r32.ud[12] r32.ud[12] => rflags[0x044,0x044] ++cmpl r32.ud[12] r32.ud[34] => rflags[0x044,0x000] ++cmpl r32.ud[34] r32.ud[12] => rflags[0x081,0x081] ++cmpl r32.ud[12] r32.ud[34] => rflags[0x081,0x000] ++cmpl r32.ud[100] r32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl r32.ud[50] r32.sd[-50] => rflags[0x800,0x000] ++cmpl r32.sd[-50] r32.sd[50] => rflags[0x800,0x000] ++cmpl r32.sd[-100] r32.sd[2147483600] => rflags[0x800,0x800] ++cmpl r32.ud[3] m32.ud[2] => rflags[0x010,0x010] ++cmpl r32.ud[2] m32.ud[3] => rflags[0x010,0x000] ++cmpl r32.ud[12] m32.ud[12] => rflags[0x044,0x044] ++cmpl r32.ud[12] m32.ud[34] => rflags[0x044,0x000] ++cmpl r32.ud[34] m32.ud[12] => rflags[0x081,0x081] ++cmpl r32.ud[12] m32.ud[34] => rflags[0x081,0x000] ++cmpl r32.ud[100] m32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl r32.ud[50] m32.sd[-50] => rflags[0x800,0x000] ++cmpl r32.sd[-50] m32.sd[50] => rflags[0x800,0x000] ++cmpl r32.sd[-100] m32.sd[2147483600] => rflags[0x800,0x800] ++cmpl m32.ud[3] r32.ud[2] => rflags[0x010,0x010] ++cmpl m32.ud[2] r32.ud[3] => rflags[0x010,0x000] ++cmpl m32.ud[12] r32.ud[12] => rflags[0x044,0x044] ++cmpl m32.ud[12] r32.ud[34] => rflags[0x044,0x000] ++cmpl m32.ud[34] r32.ud[12] => rflags[0x081,0x081] ++cmpl m32.ud[12] r32.ud[34] => rflags[0x081,0x000] ++cmpl m32.ud[100] r32.sd[-2147483600] => rflags[0x800,0x800] ++cmpl m32.ud[50] r32.sd[-50] => rflags[0x800,0x000] ++cmpl m32.sd[-50] r32.sd[50] => rflags[0x800,0x000] ++###cmpl m32.sd[-100] r32.sd[2147483600] => rflags[0x800,0x800] ++cmpq imm8[3] r64.uq[2] => rflags[0x010,0x010] ++cmpq imm8[2] r64.uq[3] => rflags[0x010,0x000] ++cmpq imm8[12] r64.uq[12] => rflags[0x044,0x044] ++cmpq imm8[12] r64.uq[34] => rflags[0x044,0x000] ++cmpq imm8[34] r64.uq[12] => rflags[0x081,0x081] ++cmpq imm8[12] r64.uq[34] => rflags[0x081,0x000] ++cmpq imm8[100] r64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq imm8[50] r64.sq[-50] => rflags[0x800,0x000] ++cmpq imm8[-50] r64.sq[50] => rflags[0x800,0x000] ++cmpq imm8[-100] r64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq imm8[3] m64.uq[2] => rflags[0x010,0x010] ++cmpq imm8[2] m64.uq[3] => rflags[0x010,0x000] ++cmpq imm8[12] m64.uq[12] => rflags[0x044,0x044] ++cmpq imm8[12] m64.uq[34] => rflags[0x044,0x000] ++cmpq imm8[34] m64.uq[12] => rflags[0x081,0x081] ++cmpq imm8[12] m64.uq[34] => rflags[0x081,0x000] ++cmpq imm8[100] m64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq imm8[50] m64.sq[-50] => rflags[0x800,0x000] ++cmpq imm8[-50] m64.sq[50] => rflags[0x800,0x000] ++cmpq imm8[-100] m64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[3] rax.uq[2] => rflags[0x010,0x010] ++cmpq imm32[2] rax.uq[3] => rflags[0x010,0x000] ++cmpq imm32[12] rax.uq[12] => rflags[0x044,0x044] ++cmpq imm32[12] rax.uq[34] => rflags[0x044,0x000] ++cmpq imm32[34] rax.uq[12] => rflags[0x081,0x081] ++cmpq imm32[12] rax.uq[34] => rflags[0x081,0x000] ++cmpq imm32[100] rax.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[50] rax.sq[-50] => rflags[0x800,0x000] ++cmpq imm32[-50] rax.sq[50] => rflags[0x800,0x000] ++cmpq imm32[-100] rax.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[3] r64.uq[2] => rflags[0x010,0x010] ++cmpq imm32[2] r64.uq[3] => rflags[0x010,0x000] ++cmpq imm32[12] r64.uq[12] => rflags[0x044,0x044] ++cmpq imm32[12] r64.uq[34] => rflags[0x044,0x000] ++cmpq imm32[34] r64.uq[12] => rflags[0x081,0x081] ++cmpq imm32[12] r64.uq[34] => rflags[0x081,0x000] ++cmpq imm32[100] r64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[50] r64.sq[-50] => rflags[0x800,0x000] ++cmpq imm32[-50] r64.sq[50] => rflags[0x800,0x000] ++cmpq imm32[-100] r64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[3] m64.uq[2] => rflags[0x010,0x010] ++cmpq imm32[2] m64.uq[3] => rflags[0x010,0x000] ++cmpq imm32[12] m64.uq[12] => rflags[0x044,0x044] ++cmpq imm32[12] m64.uq[34] => rflags[0x044,0x000] ++cmpq imm32[34] m64.uq[12] => rflags[0x081,0x081] ++cmpq imm32[12] m64.uq[34] => rflags[0x081,0x000] ++cmpq imm32[100] m64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq imm32[50] m64.sq[-50] => rflags[0x800,0x000] ++cmpq imm32[-50] m64.sq[50] => rflags[0x800,0x000] ++cmpq imm32[-100] m64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq r64.uq[3] r64.uq[2] => rflags[0x010,0x010] ++cmpq r64.uq[2] r64.uq[3] => rflags[0x010,0x000] ++cmpq r64.uq[12] r64.uq[12] => rflags[0x044,0x044] ++cmpq r64.uq[12] r64.uq[34] => rflags[0x044,0x000] ++cmpq r64.uq[34] r64.uq[12] => rflags[0x081,0x081] ++cmpq r64.uq[12] r64.uq[34] => rflags[0x081,0x000] ++cmpq r64.uq[100] r64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq r64.uq[50] r64.sq[-50] => rflags[0x800,0x000] ++cmpq r64.sq[-50] r64.sq[50] => rflags[0x800,0x000] ++cmpq r64.sq[-100] r64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq r64.uq[3] m64.uq[2] => rflags[0x010,0x010] ++cmpq r64.uq[2] m64.uq[3] => rflags[0x010,0x000] ++cmpq r64.uq[12] m64.uq[12] => rflags[0x044,0x044] ++cmpq r64.uq[12] m64.uq[34] => rflags[0x044,0x000] ++cmpq r64.uq[34] m64.uq[12] => rflags[0x081,0x081] ++cmpq r64.uq[12] m64.uq[34] => rflags[0x081,0x000] ++cmpq r64.uq[100] m64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq r64.uq[50] m64.sq[-50] => rflags[0x800,0x000] ++cmpq r64.sq[-50] m64.sq[50] => rflags[0x800,0x000] ++cmpq r64.sq[-100] m64.sq[9223372036854775800] => rflags[0x800,0x800] ++cmpq m64.uq[3] r64.uq[2] => rflags[0x010,0x010] ++cmpq m64.uq[2] r64.uq[3] => rflags[0x010,0x000] ++cmpq m64.uq[12] r64.uq[12] => rflags[0x044,0x044] ++cmpq m64.uq[12] r64.uq[34] => rflags[0x044,0x000] ++cmpq m64.uq[34] r64.uq[12] => rflags[0x081,0x081] ++cmpq m64.uq[12] r64.uq[34] => rflags[0x081,0x000] ++cmpq m64.uq[100] r64.sq[-9223372036854775800] => rflags[0x800,0x800] ++cmpq m64.uq[50] r64.sq[-50] => rflags[0x800,0x000] ++cmpq m64.sq[-50] r64.sq[50] => rflags[0x800,0x000] ++cmpq m64.sq[-100] r64.sq[9223372036854775800] => rflags[0x800,0x800] ++###cmpxchgb rflags[0x40,0x00] al.ub[12] : r8.ub[56] r8.ub[12] => rflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] ++###cmpxchgb rflags[0x40,0x40] al.ub[12] : r8.ub[56] r8.ub[34] => rflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] ++###cmpxchgb rflags[0x40,0x00] al.ub[12] : r8.ub[56] m8.ub[12] => rflags[0x40,0x40] al.ub[12] 0.ub[56] 1.ub[56] ++###cmpxchgb rflags[0x40,0x40] al.ub[12] : r8.ub[56] m8.ub[34] => rflags[0x40,0x00] al.ub[34] 0.ub[56] 1.ub[34] ++###cmpxchgw rflags[0x40,0x00] ax.uw[123] : r16.uw[567] r16.uw[123] => rflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] ++###cmpxchgw rflags[0x40,0x40] ax.uw[123] : r16.uw[567] r16.uw[345] => rflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] ++cmpxchgw rflags[0x40,0x00] ax.uw[123] : r16.uw[567] m16.uw[123] => rflags[0x40,0x40] ax.uw[123] 0.uw[567] 1.uw[567] ++###cmpxchgw rflags[0x40,0x40] ax.uw[123] : r16.uw[567] m16.uw[345] => rflags[0x40,0x00] ax.uw[345] 0.uw[567] 1.uw[345] ++###cmpxchgl rflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] r32.ud[1234] => rflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] ++###cmpxchgl rflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] r32.ud[3456] => rflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] ++cmpxchgl rflags[0x40,0x00] eax.ud[1234] : r32.ud[5678] m32.ud[1234] => rflags[0x40,0x40] eax.ud[1234] 0.ud[5678] 1.ud[5678] ++cmpxchgl rflags[0x40,0x40] eax.ud[1234] : r32.ud[5678] m32.ud[3456] => rflags[0x40,0x00] eax.ud[3456] 0.ud[5678] 1.ud[3456] ++###cmpxchgq rflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] r64.uq[12345] => rflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] ++###cmpxchgq rflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] r64.uq[34567] => rflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] ++cmpxchgq rflags[0x40,0x00] rax.uq[12345] : r64.uq[56789] m64.uq[12345] => rflags[0x40,0x40] rax.uq[12345] 0.uq[56789] 1.uq[56789] ++cmpxchgq rflags[0x40,0x40] rax.uq[12345] : r64.uq[56789] m64.uq[34567] => rflags[0x40,0x00] rax.uq[34567] 0.uq[56789] 1.uq[34567] + cqo rax.uq[0x0123456789abcdef] : => rdx.uq[0x0000000000000000] rax.uq[0x0123456789abcdef] + cqo rax.uq[0xfedcba9876543210] : => rdx.uq[0xffffffffffffffff] rax.uq[0xfedcba9876543210] + cwd ax.uw[0x1234] : => dx.uw[0x0000] ax.uw[0x1234] +@@ -617,8 +617,8 @@ incl r32.ud[12345678] => 0.ud[12345679] + incl m32.ud[12345678] => 0.ud[12345679] + incq r64.uq[1234567813572468] => 0.uq[1234567813572469] + incq m64.uq[1234567813572468] => 0.uq[1234567813572469] +-###lahf eflags[0xff,0xfd] ah.ub[0x28] : => ah.ub[0xd7] +-###lahf eflags[0xff,0x28] ah.ub[0xfd] : => ah.ub[0x02] ++###lahf rflags[0xff,0xfd] ah.ub[0x28] : => ah.ub[0xd7] ++###lahf rflags[0xff,0x28] ah.ub[0xfd] : => ah.ub[0x02] + movb imm8[123] r8.ub[0] => 1.ub[123] + movb imm8[123] m8.ub[0] => 1.ub[123] + movb r8.ub[123] r8.ub[0] => 1.ub[123] +@@ -714,54 +714,54 @@ orq imm32[-2042464975] m64.uq[0x1234567812345678] => 1.uq[0xffffffff96767779] + orq r64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff] + orq r64.uq[0xeca86420fdb97531] m64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff] + orq m64.uq[0xeca86420fdb97531] r64.uq[0x0123456789abcdef] => 1.uq[0xedab6567fdbbfdff] +-###rclb eflags[0x1,0x0] : r8.ub[0xca] => 0.ub[0x94] eflags[0x1,0x1] +-###rclb eflags[0x1,0x0] : m8.ub[0xca] => 0.ub[0x94] eflags[0x1,0x1] +-###rclb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x29] eflags[0x1,0x1] +-###rclb eflags[0x1,0x0] : imm8[2] m8.ub[0xca] => 1.ub[0x29] eflags[0x1,0x1] +-###rclb eflags[0x1,0x0] : cl.ub[2] r8.ub[0xca] => 1.ub[0x29] eflags[0x1,0x1] +-###rclb eflags[0x1,0x0] : cl.ub[2] m8.ub[0xca] => 1.ub[0x29] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : r16.uw[0xf0ca] => 0.uw[0xe194] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : m16.uw[0xf0ca] => 0.uw[0xe194] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : imm8[4] r16.uw[0xf0ca] => 1.uw[0x0ca7] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : imm8[4] m16.uw[0xf0ca] => 1.uw[0x0ca7] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : cl.ub[4] r16.uw[0xf0ca] => 1.uw[0x0ca7] eflags[0x1,0x1] +-###rclw eflags[0x1,0x0] : cl.ub[4] m16.uw[0xf0ca] => 1.uw[0x0ca7] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : r32.ud[0xff00f0ca] => 0.ud[0xfe01e194] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : m32.ud[0xff00f0ca] => 0.ud[0xfe01e194] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1] +-###rcll eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1] +-###rclq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] eflags[0x1,0x1] +-rcrb eflags[0x1,0x1] : r8.ub[0xca] => 0.ub[0xe5] eflags[0x1,0x0] +-rcrb eflags[0x1,0x1] : m8.ub[0xca] => 0.ub[0xe5] eflags[0x1,0x0] +-rcrb eflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x32] eflags[0x1,0x1] +-rcrb eflags[0x1,0x0] : imm8[2] m8.ub[0xca] => 1.ub[0x32] eflags[0x1,0x1] +-rcrb eflags[0x1,0x0] : cl.ub[2] r8.ub[0xca] => 1.ub[0x32] eflags[0x1,0x1] +-rcrb eflags[0x1,0x0] : cl.ub[2] m8.ub[0xca] => 1.ub[0x32] eflags[0x1,0x1] +-rcrw eflags[0x1,0x1] : r16.uw[0xf0ca] => 0.uw[0xf865] eflags[0x1,0x0] +-rcrw eflags[0x1,0x1] : m16.uw[0xf0ca] => 0.uw[0xf865] eflags[0x1,0x0] +-rcrw eflags[0x1,0x0] : imm8[4] r16.uw[0xf0ca] => 1.uw[0x4f0c] eflags[0x1,0x1] +-rcrw eflags[0x1,0x0] : imm8[4] m16.uw[0xf0ca] => 1.uw[0x4f0c] eflags[0x1,0x1] +-rcrw eflags[0x1,0x0] : cl.ub[4] r16.uw[0xf0ca] => 1.uw[0x4f0c] eflags[0x1,0x1] +-rcrw eflags[0x1,0x0] : cl.ub[4] m16.uw[0xf0ca] => 1.uw[0x4f0c] eflags[0x1,0x1] +-rcrl eflags[0x1,0x1] : r32.ud[0xff00f0ca] => 0.ud[0xff807865] eflags[0x1,0x0] +-rcrl eflags[0x1,0x1] : m32.ud[0xff00f0ca] => 0.ud[0xff807865] eflags[0x1,0x0] +-rcrl eflags[0x1,0x0] : imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1] +-rcrl eflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1] +-rcrl eflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1] +-rcrl eflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] eflags[0x1,0x1] +-rcrq eflags[0x1,0x1] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] eflags[0x1,0x0] +-rcrq eflags[0x1,0x1] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] eflags[0x1,0x0] +-rcrq eflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1] +-rcrq eflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1] +-rcrq eflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1] +-rcrq eflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] eflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : r8.ub[0xca] => 0.ub[0x94] rflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : m8.ub[0xca] => 0.ub[0x94] rflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x29] rflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : imm8[2] m8.ub[0xca] => 1.ub[0x29] rflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : cl.ub[2] r8.ub[0xca] => 1.ub[0x29] rflags[0x1,0x1] ++###rclb rflags[0x1,0x0] : cl.ub[2] m8.ub[0xca] => 1.ub[0x29] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : r16.uw[0xf0ca] => 0.uw[0xe194] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : m16.uw[0xf0ca] => 0.uw[0xe194] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : imm8[4] r16.uw[0xf0ca] => 1.uw[0x0ca7] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : imm8[4] m16.uw[0xf0ca] => 1.uw[0x0ca7] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : cl.ub[4] r16.uw[0xf0ca] => 1.uw[0x0ca7] rflags[0x1,0x1] ++###rclw rflags[0x1,0x0] : cl.ub[4] m16.uw[0xf0ca] => 1.uw[0x0ca7] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : r32.ud[0xff00f0ca] => 0.ud[0xfe01e194] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : m32.ud[0xff00f0ca] => 0.ud[0xfe01e194] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] rflags[0x1,0x1] ++###rcll rflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x00f0ca7f] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xfffe0001fe01e194] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] rflags[0x1,0x1] ++###rclq rflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0x0000ff00f0ca7fff] rflags[0x1,0x1] ++rcrb rflags[0x1,0x1] : r8.ub[0xca] => 0.ub[0xe5] rflags[0x1,0x0] ++rcrb rflags[0x1,0x1] : m8.ub[0xca] => 0.ub[0xe5] rflags[0x1,0x0] ++rcrb rflags[0x1,0x0] : imm8[2] r8.ub[0xca] => 1.ub[0x32] rflags[0x1,0x1] ++rcrb rflags[0x1,0x0] : imm8[2] m8.ub[0xca] => 1.ub[0x32] rflags[0x1,0x1] ++rcrb rflags[0x1,0x0] : cl.ub[2] r8.ub[0xca] => 1.ub[0x32] rflags[0x1,0x1] ++rcrb rflags[0x1,0x0] : cl.ub[2] m8.ub[0xca] => 1.ub[0x32] rflags[0x1,0x1] ++rcrw rflags[0x1,0x1] : r16.uw[0xf0ca] => 0.uw[0xf865] rflags[0x1,0x0] ++rcrw rflags[0x1,0x1] : m16.uw[0xf0ca] => 0.uw[0xf865] rflags[0x1,0x0] ++rcrw rflags[0x1,0x0] : imm8[4] r16.uw[0xf0ca] => 1.uw[0x4f0c] rflags[0x1,0x1] ++rcrw rflags[0x1,0x0] : imm8[4] m16.uw[0xf0ca] => 1.uw[0x4f0c] rflags[0x1,0x1] ++rcrw rflags[0x1,0x0] : cl.ub[4] r16.uw[0xf0ca] => 1.uw[0x4f0c] rflags[0x1,0x1] ++rcrw rflags[0x1,0x0] : cl.ub[4] m16.uw[0xf0ca] => 1.uw[0x4f0c] rflags[0x1,0x1] ++rcrl rflags[0x1,0x1] : r32.ud[0xff00f0ca] => 0.ud[0xff807865] rflags[0x1,0x0] ++rcrl rflags[0x1,0x1] : m32.ud[0xff00f0ca] => 0.ud[0xff807865] rflags[0x1,0x0] ++rcrl rflags[0x1,0x0] : imm8[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] rflags[0x1,0x1] ++rcrl rflags[0x1,0x0] : imm8[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] rflags[0x1,0x1] ++rcrl rflags[0x1,0x0] : cl.ub[8] r32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] rflags[0x1,0x1] ++rcrl rflags[0x1,0x0] : cl.ub[8] m32.ud[0xff00f0ca] => 1.ud[0x94ff00f0] rflags[0x1,0x1] ++rcrq rflags[0x1,0x1] : r64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] rflags[0x1,0x0] ++rcrq rflags[0x1,0x1] : m64.uq[0xffff0000ff00f0ca] => 0.uq[0xffff80007f807865] rflags[0x1,0x0] ++rcrq rflags[0x1,0x0] : imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] rflags[0x1,0x1] ++rcrq rflags[0x1,0x0] : imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] rflags[0x1,0x1] ++rcrq rflags[0x1,0x0] : cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] rflags[0x1,0x1] ++rcrq rflags[0x1,0x0] : cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xe194ffff0000ff00] rflags[0x1,0x1] + rolb r8.ub[0xca] => 0.ub[0x95] + rolb m8.ub[0xca] => 0.ub[0x95] + rolb imm8[2] r8.ub[0xca] => 1.ub[0x2b] +@@ -810,8 +810,8 @@ rorq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00] + rorq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00] + rorq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00] + rorq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xf0caffff0000ff00] +-###sahf eflags[0xff,0x28] ah.ub[0xfd] : => eflags[0xfd,0xd5] +-###sahf eflags[0xff,0xfd] ah.ub[0x28] : => eflags[0xfd,0x00] ++###sahf rflags[0xff,0x28] ah.ub[0xfd] : => rflags[0xfd,0xd5] ++###sahf rflags[0xff,0xfd] ah.ub[0x28] : => rflags[0xfd,0x00] + salb r8.ub[0xca] => 0.ub[0x94] + salb m8.ub[0xca] => 0.ub[0x94] + salb imm8[2] r8.ub[0xca] => 1.ub[0x28] +@@ -860,252 +860,252 @@ sarq imm8[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00] + sarq imm8[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00] + sarq cl.ub[16] r64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00] + sarq cl.ub[16] m64.uq[0xffff0000ff00f0ca] => 1.uq[0xffffffff0000ff00] +-###sbbb eflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[22] +-###sbbb eflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[21] +-sbbb eflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[22] +-sbbb eflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[21] +-sbbb eflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[22] +-sbbb eflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[21] +-sbbb eflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[22] +-sbbb eflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[21] +-###sbbb eflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[22] +-###sbbb eflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[21] +-###sbbb eflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[22] +-###sbbb eflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[21] +-sbbw eflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3444] +-sbbw eflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3443] +-###sbbw eflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[4444] +-###sbbw eflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[4443] +-sbbw eflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[4444] +-sbbw eflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[4443] +-sbbw eflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[4444] +-sbbw eflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[4443] +-sbbw eflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[4444] +-sbbw eflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[4443] +-###sbbw eflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[4444] +-###sbbw eflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[4443] +-sbbw eflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[4444] +-sbbw eflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[4443] +-sbbl eflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654309] +-sbbl eflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654308] +-###sbbl eflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[75308643] +-###sbbl eflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[75308642] +-sbbl eflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[75308643] +-sbbl eflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[75308642] +-sbbl eflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[75308643] +-sbbl eflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[75308642] +-sbbl eflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[75308643] +-sbbl eflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[75308642] +-###sbbl eflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[75308643] +-###sbbl eflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[75308642] +-sbbl eflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308643] +-sbbl eflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308642] +-sbbq eflags[0x1,0x0] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318630] +-sbbq eflags[0x1,0x1] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318629] +-###sbbq eflags[0x1,0x0] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972964] +-###sbbq eflags[0x1,0x1] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972963] +-sbbq eflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972964] +-sbbq eflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972963] +-sbbq eflags[0x1,0x0] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972964] +-sbbq eflags[0x1,0x1] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972963] +-sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] +-sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173] +-###sbbq eflags[0x1,0x0] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746174] +-###sbbq eflags[0x1,0x1] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746173] +-sbbq eflags[0x1,0x0] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] +-sbbq eflags[0x1,0x1] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173] +-seta eflags[0x041,0x000] : r8.ub[123] => 0.ub[1] +-seta eflags[0x041,0x001] : r8.ub[123] => 0.ub[0] +-seta eflags[0x041,0x040] : r8.ub[123] => 0.ub[0] +-seta eflags[0x041,0x041] : r8.ub[123] => 0.ub[0] +-seta eflags[0x041,0x000] : m8.ub[123] => 0.ub[1] +-seta eflags[0x041,0x001] : m8.ub[123] => 0.ub[0] +-seta eflags[0x041,0x040] : m8.ub[123] => 0.ub[0] +-seta eflags[0x041,0x041] : m8.ub[123] => 0.ub[0] +-setae eflags[0x001,0x000] : r8.ub[123] => 0.ub[1] +-setae eflags[0x001,0x001] : r8.ub[123] => 0.ub[0] +-setae eflags[0x001,0x000] : m8.ub[123] => 0.ub[1] +-setae eflags[0x001,0x001] : m8.ub[123] => 0.ub[0] +-setb eflags[0x001,0x000] : r8.ub[123] => 0.ub[0] +-setb eflags[0x001,0x001] : r8.ub[123] => 0.ub[1] +-setb eflags[0x001,0x000] : m8.ub[123] => 0.ub[0] +-setb eflags[0x001,0x001] : m8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x000] : r8.ub[123] => 0.ub[0] +-setbe eflags[0x041,0x001] : r8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x040] : r8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x041] : r8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x000] : m8.ub[123] => 0.ub[0] +-setbe eflags[0x041,0x001] : m8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x040] : m8.ub[123] => 0.ub[1] +-setbe eflags[0x041,0x041] : m8.ub[123] => 0.ub[1] +-setc eflags[0x001,0x000] : r8.ub[123] => 0.ub[0] +-setc eflags[0x001,0x001] : r8.ub[123] => 0.ub[1] +-setc eflags[0x001,0x000] : m8.ub[123] => 0.ub[0] +-setc eflags[0x001,0x001] : m8.ub[123] => 0.ub[1] +-sete eflags[0x040,0x000] : r8.ub[123] => 0.ub[0] +-sete eflags[0x040,0x040] : r8.ub[123] => 0.ub[1] +-sete eflags[0x040,0x000] : m8.ub[123] => 0.ub[0] +-sete eflags[0x040,0x040] : m8.ub[123] => 0.ub[1] +-setg eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] +-setg eflags[0x8c0,0x040] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x840] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] +-setg eflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] +-setg eflags[0x8c0,0x040] : m8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x840] : m8.ub[123] => 0.ub[0] +-setg eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] +-setg eflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[0] +-setge eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] +-setge eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] +-setge eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] +-setge eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] +-setge eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] +-setge eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] +-setge eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] +-setge eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] +-setl eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] +-setl eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] +-setl eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] +-setl eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] +-setl eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] +-setl eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] +-setl eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] +-setl eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] +-setle eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] +-setle eflags[0x8c0,0x040] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x840] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] +-setle eflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] +-setle eflags[0x8c0,0x040] : m8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x840] : m8.ub[123] => 0.ub[1] +-setle eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] +-setle eflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x000] : r8.ub[123] => 0.ub[0] +-setna eflags[0x041,0x001] : r8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x040] : r8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x041] : r8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x000] : m8.ub[123] => 0.ub[0] +-setna eflags[0x041,0x001] : m8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x040] : m8.ub[123] => 0.ub[1] +-setna eflags[0x041,0x041] : m8.ub[123] => 0.ub[1] +-setnae eflags[0x001,0x000] : r8.ub[123] => 0.ub[0] +-setnae eflags[0x001,0x001] : r8.ub[123] => 0.ub[1] +-setnae eflags[0x001,0x000] : m8.ub[123] => 0.ub[0] +-setnae eflags[0x001,0x001] : m8.ub[123] => 0.ub[1] +-setnb eflags[0x001,0x000] : r8.ub[123] => 0.ub[1] +-setnb eflags[0x001,0x001] : r8.ub[123] => 0.ub[0] +-setnb eflags[0x001,0x000] : m8.ub[123] => 0.ub[1] +-setnb eflags[0x001,0x001] : m8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x000] : r8.ub[123] => 0.ub[1] +-setnbe eflags[0x041,0x001] : r8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x040] : r8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x041] : r8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x000] : m8.ub[123] => 0.ub[1] +-setnbe eflags[0x041,0x001] : m8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x040] : m8.ub[123] => 0.ub[0] +-setnbe eflags[0x041,0x041] : m8.ub[123] => 0.ub[0] +-setnc eflags[0x001,0x000] : r8.ub[123] => 0.ub[1] +-setnc eflags[0x001,0x001] : r8.ub[123] => 0.ub[0] +-setnc eflags[0x001,0x000] : m8.ub[123] => 0.ub[1] +-setnc eflags[0x001,0x001] : m8.ub[123] => 0.ub[0] +-setne eflags[0x040,0x000] : r8.ub[123] => 0.ub[1] +-setne eflags[0x040,0x040] : r8.ub[123] => 0.ub[0] +-setne eflags[0x040,0x000] : m8.ub[123] => 0.ub[1] +-setne eflags[0x040,0x040] : m8.ub[123] => 0.ub[0] +-setng eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] +-setng eflags[0x8c0,0x040] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x840] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] +-setng eflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] +-setng eflags[0x8c0,0x040] : m8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x840] : m8.ub[123] => 0.ub[1] +-setng eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] +-setng eflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[1] +-setnge eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] +-setnge eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] +-setnge eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] +-setnge eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] +-setnge eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] +-setnge eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] +-setnge eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] +-setnge eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] +-setnl eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] +-setnl eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] +-setnl eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] +-setnl eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] +-setnl eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] +-setnl eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] +-setnl eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] +-setnl eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] +-setnle eflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] +-setnle eflags[0x8c0,0x040] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x840] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] +-setnle eflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] +-setnle eflags[0x8c0,0x040] : m8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x840] : m8.ub[123] => 0.ub[0] +-setnle eflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] +-setnle eflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[0] +-setno eflags[0x800,0x000] : r8.ub[123] => 0.ub[1] +-setno eflags[0x800,0x800] : r8.ub[123] => 0.ub[0] +-setno eflags[0x800,0x000] : m8.ub[123] => 0.ub[1] +-setno eflags[0x800,0x800] : m8.ub[123] => 0.ub[0] +-setnp eflags[0x004,0x000] : r8.ub[123] => 0.ub[1] +-setnp eflags[0x004,0x004] : r8.ub[123] => 0.ub[0] +-setnp eflags[0x004,0x000] : m8.ub[123] => 0.ub[1] +-setnp eflags[0x004,0x004] : m8.ub[123] => 0.ub[0] +-setns eflags[0x080,0x000] : r8.ub[123] => 0.ub[1] +-setns eflags[0x080,0x080] : r8.ub[123] => 0.ub[0] +-setns eflags[0x080,0x000] : m8.ub[123] => 0.ub[1] +-setns eflags[0x080,0x080] : m8.ub[123] => 0.ub[0] +-setnz eflags[0x040,0x000] : r8.ub[123] => 0.ub[1] +-setnz eflags[0x040,0x040] : r8.ub[123] => 0.ub[0] +-setnz eflags[0x040,0x000] : m8.ub[123] => 0.ub[1] +-setnz eflags[0x040,0x040] : m8.ub[123] => 0.ub[0] +-seto eflags[0x800,0x000] : r8.ub[123] => 0.ub[0] +-seto eflags[0x800,0x800] : r8.ub[123] => 0.ub[1] +-seto eflags[0x800,0x000] : m8.ub[123] => 0.ub[0] +-seto eflags[0x800,0x800] : m8.ub[123] => 0.ub[1] +-setp eflags[0x004,0x000] : r8.ub[123] => 0.ub[0] +-setp eflags[0x004,0x004] : r8.ub[123] => 0.ub[1] +-setp eflags[0x004,0x000] : m8.ub[123] => 0.ub[0] +-setp eflags[0x004,0x004] : m8.ub[123] => 0.ub[1] +-sets eflags[0x080,0x000] : r8.ub[123] => 0.ub[0] +-sets eflags[0x080,0x080] : r8.ub[123] => 0.ub[1] +-sets eflags[0x080,0x000] : m8.ub[123] => 0.ub[0] +-sets eflags[0x080,0x080] : m8.ub[123] => 0.ub[1] +-setz eflags[0x040,0x000] : r8.ub[123] => 0.ub[0] +-setz eflags[0x040,0x040] : r8.ub[123] => 0.ub[1] +-setz eflags[0x040,0x000] : m8.ub[123] => 0.ub[0] +-setz eflags[0x040,0x040] : m8.ub[123] => 0.ub[1] ++###sbbb rflags[0x1,0x0] : imm8[12] al.ub[34] => 1.ub[22] ++###sbbb rflags[0x1,0x1] : imm8[12] al.ub[34] => 1.ub[21] ++sbbb rflags[0x1,0x0] : imm8[12] bl.ub[34] => 1.ub[22] ++sbbb rflags[0x1,0x1] : imm8[12] bl.ub[34] => 1.ub[21] ++sbbb rflags[0x1,0x0] : imm8[12] m8.ub[34] => 1.ub[22] ++sbbb rflags[0x1,0x1] : imm8[12] m8.ub[34] => 1.ub[21] ++sbbb rflags[0x1,0x0] : r8.ub[12] r8.ub[34] => 1.ub[22] ++sbbb rflags[0x1,0x1] : r8.ub[12] r8.ub[34] => 1.ub[21] ++###sbbb rflags[0x1,0x0] : r8.ub[12] m8.ub[34] => 1.ub[22] ++###sbbb rflags[0x1,0x1] : r8.ub[12] m8.ub[34] => 1.ub[21] ++###sbbb rflags[0x1,0x0] : m8.ub[12] r8.ub[34] => 1.ub[22] ++###sbbb rflags[0x1,0x1] : m8.ub[12] r8.ub[34] => 1.ub[21] ++sbbw rflags[0x1,0x0] : imm8[12] r16.uw[3456] => 1.uw[3444] ++sbbw rflags[0x1,0x1] : imm8[12] r16.uw[3456] => 1.uw[3443] ++###sbbw rflags[0x1,0x0] : imm16[1234] ax.uw[5678] => 1.uw[4444] ++###sbbw rflags[0x1,0x1] : imm16[1234] ax.uw[5678] => 1.uw[4443] ++sbbw rflags[0x1,0x0] : imm16[1234] bx.uw[5678] => 1.uw[4444] ++sbbw rflags[0x1,0x1] : imm16[1234] bx.uw[5678] => 1.uw[4443] ++sbbw rflags[0x1,0x0] : imm16[1234] m16.uw[5678] => 1.uw[4444] ++sbbw rflags[0x1,0x1] : imm16[1234] m16.uw[5678] => 1.uw[4443] ++sbbw rflags[0x1,0x0] : r16.uw[1234] r16.uw[5678] => 1.uw[4444] ++sbbw rflags[0x1,0x1] : r16.uw[1234] r16.uw[5678] => 1.uw[4443] ++###sbbw rflags[0x1,0x0] : r16.uw[1234] m16.uw[5678] => 1.uw[4444] ++###sbbw rflags[0x1,0x1] : r16.uw[1234] m16.uw[5678] => 1.uw[4443] ++sbbw rflags[0x1,0x0] : m16.uw[1234] r16.uw[5678] => 1.uw[4444] ++sbbw rflags[0x1,0x1] : m16.uw[1234] r16.uw[5678] => 1.uw[4443] ++sbbl rflags[0x1,0x0] : imm8[12] r32.ud[87654321] => 1.ud[87654309] ++sbbl rflags[0x1,0x1] : imm8[12] r32.ud[87654321] => 1.ud[87654308] ++###sbbl rflags[0x1,0x0] : imm32[12345678] eax.ud[87654321] => 1.ud[75308643] ++###sbbl rflags[0x1,0x1] : imm32[12345678] eax.ud[87654321] => 1.ud[75308642] ++sbbl rflags[0x1,0x0] : imm32[12345678] ebx.ud[87654321] => 1.ud[75308643] ++sbbl rflags[0x1,0x1] : imm32[12345678] ebx.ud[87654321] => 1.ud[75308642] ++sbbl rflags[0x1,0x0] : imm32[12345678] m32.ud[87654321] => 1.ud[75308643] ++sbbl rflags[0x1,0x1] : imm32[12345678] m32.ud[87654321] => 1.ud[75308642] ++sbbl rflags[0x1,0x0] : r32.ud[12345678] r32.ud[87654321] => 1.ud[75308643] ++sbbl rflags[0x1,0x1] : r32.ud[12345678] r32.ud[87654321] => 1.ud[75308642] ++###sbbl rflags[0x1,0x0] : r32.ud[12345678] m32.ud[87654321] => 1.ud[75308643] ++###sbbl rflags[0x1,0x1] : r32.ud[12345678] m32.ud[87654321] => 1.ud[75308642] ++sbbl rflags[0x1,0x0] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308643] ++sbbl rflags[0x1,0x1] : m32.ud[12345678] r32.ud[87654321] => 1.ud[75308642] ++sbbq rflags[0x1,0x0] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318630] ++sbbq rflags[0x1,0x1] : imm8[12] r64.uq[8765432175318642] => 1.uq[8765432175318629] ++###sbbq rflags[0x1,0x0] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972964] ++###sbbq rflags[0x1,0x1] : imm32[12345678] rax.uq[8765432175318642] => 1.uq[8765432162972963] ++sbbq rflags[0x1,0x0] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972964] ++sbbq rflags[0x1,0x1] : imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972963] ++sbbq rflags[0x1,0x0] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972964] ++sbbq rflags[0x1,0x1] : imm32[12345678] m64.uq[8765432175318642] => 1.uq[8765432162972963] ++sbbq rflags[0x1,0x0] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] ++sbbq rflags[0x1,0x1] : r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173] ++###sbbq rflags[0x1,0x0] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746174] ++###sbbq rflags[0x1,0x1] : r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746173] ++sbbq rflags[0x1,0x0] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] ++sbbq rflags[0x1,0x1] : m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746173] ++seta rflags[0x041,0x000] : r8.ub[123] => 0.ub[1] ++seta rflags[0x041,0x001] : r8.ub[123] => 0.ub[0] ++seta rflags[0x041,0x040] : r8.ub[123] => 0.ub[0] ++seta rflags[0x041,0x041] : r8.ub[123] => 0.ub[0] ++seta rflags[0x041,0x000] : m8.ub[123] => 0.ub[1] ++seta rflags[0x041,0x001] : m8.ub[123] => 0.ub[0] ++seta rflags[0x041,0x040] : m8.ub[123] => 0.ub[0] ++seta rflags[0x041,0x041] : m8.ub[123] => 0.ub[0] ++setae rflags[0x001,0x000] : r8.ub[123] => 0.ub[1] ++setae rflags[0x001,0x001] : r8.ub[123] => 0.ub[0] ++setae rflags[0x001,0x000] : m8.ub[123] => 0.ub[1] ++setae rflags[0x001,0x001] : m8.ub[123] => 0.ub[0] ++setb rflags[0x001,0x000] : r8.ub[123] => 0.ub[0] ++setb rflags[0x001,0x001] : r8.ub[123] => 0.ub[1] ++setb rflags[0x001,0x000] : m8.ub[123] => 0.ub[0] ++setb rflags[0x001,0x001] : m8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x000] : r8.ub[123] => 0.ub[0] ++setbe rflags[0x041,0x001] : r8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x040] : r8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x041] : r8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x000] : m8.ub[123] => 0.ub[0] ++setbe rflags[0x041,0x001] : m8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x040] : m8.ub[123] => 0.ub[1] ++setbe rflags[0x041,0x041] : m8.ub[123] => 0.ub[1] ++setc rflags[0x001,0x000] : r8.ub[123] => 0.ub[0] ++setc rflags[0x001,0x001] : r8.ub[123] => 0.ub[1] ++setc rflags[0x001,0x000] : m8.ub[123] => 0.ub[0] ++setc rflags[0x001,0x001] : m8.ub[123] => 0.ub[1] ++sete rflags[0x040,0x000] : r8.ub[123] => 0.ub[0] ++sete rflags[0x040,0x040] : r8.ub[123] => 0.ub[1] ++sete rflags[0x040,0x000] : m8.ub[123] => 0.ub[0] ++sete rflags[0x040,0x040] : m8.ub[123] => 0.ub[1] ++setg rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] ++setg rflags[0x8c0,0x040] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x840] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] ++setg rflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] ++setg rflags[0x8c0,0x040] : m8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x840] : m8.ub[123] => 0.ub[0] ++setg rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] ++setg rflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[0] ++setge rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] ++setge rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] ++setge rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] ++setge rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] ++setge rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] ++setge rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] ++setge rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] ++setge rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] ++setl rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] ++setl rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] ++setl rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] ++setl rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] ++setl rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] ++setl rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] ++setl rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] ++setl rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] ++setle rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] ++setle rflags[0x8c0,0x040] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x840] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] ++setle rflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] ++setle rflags[0x8c0,0x040] : m8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x840] : m8.ub[123] => 0.ub[1] ++setle rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] ++setle rflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x000] : r8.ub[123] => 0.ub[0] ++setna rflags[0x041,0x001] : r8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x040] : r8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x041] : r8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x000] : m8.ub[123] => 0.ub[0] ++setna rflags[0x041,0x001] : m8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x040] : m8.ub[123] => 0.ub[1] ++setna rflags[0x041,0x041] : m8.ub[123] => 0.ub[1] ++setnae rflags[0x001,0x000] : r8.ub[123] => 0.ub[0] ++setnae rflags[0x001,0x001] : r8.ub[123] => 0.ub[1] ++setnae rflags[0x001,0x000] : m8.ub[123] => 0.ub[0] ++setnae rflags[0x001,0x001] : m8.ub[123] => 0.ub[1] ++setnb rflags[0x001,0x000] : r8.ub[123] => 0.ub[1] ++setnb rflags[0x001,0x001] : r8.ub[123] => 0.ub[0] ++setnb rflags[0x001,0x000] : m8.ub[123] => 0.ub[1] ++setnb rflags[0x001,0x001] : m8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x000] : r8.ub[123] => 0.ub[1] ++setnbe rflags[0x041,0x001] : r8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x040] : r8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x041] : r8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x000] : m8.ub[123] => 0.ub[1] ++setnbe rflags[0x041,0x001] : m8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x040] : m8.ub[123] => 0.ub[0] ++setnbe rflags[0x041,0x041] : m8.ub[123] => 0.ub[0] ++setnc rflags[0x001,0x000] : r8.ub[123] => 0.ub[1] ++setnc rflags[0x001,0x001] : r8.ub[123] => 0.ub[0] ++setnc rflags[0x001,0x000] : m8.ub[123] => 0.ub[1] ++setnc rflags[0x001,0x001] : m8.ub[123] => 0.ub[0] ++setne rflags[0x040,0x000] : r8.ub[123] => 0.ub[1] ++setne rflags[0x040,0x040] : r8.ub[123] => 0.ub[0] ++setne rflags[0x040,0x000] : m8.ub[123] => 0.ub[1] ++setne rflags[0x040,0x040] : m8.ub[123] => 0.ub[0] ++setng rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] ++setng rflags[0x8c0,0x040] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x840] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] ++setng rflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] ++setng rflags[0x8c0,0x040] : m8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x840] : m8.ub[123] => 0.ub[1] ++setng rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] ++setng rflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[1] ++setnge rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[0] ++setnge rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[1] ++setnge rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[1] ++setnge rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[0] ++setnge rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[0] ++setnge rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[1] ++setnge rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[1] ++setnge rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[0] ++setnl rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] ++setnl rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] ++setnl rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] ++setnl rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] ++setnl rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] ++setnl rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] ++setnl rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] ++setnl rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] ++setnle rflags[0x8c0,0x000] : r8.ub[123] => 0.ub[1] ++setnle rflags[0x8c0,0x040] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x080] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x0c0] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x800] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x840] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x880] : r8.ub[123] => 0.ub[1] ++setnle rflags[0x8c0,0x8c0] : r8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x000] : m8.ub[123] => 0.ub[1] ++setnle rflags[0x8c0,0x040] : m8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x080] : m8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x0c0] : m8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x800] : m8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x840] : m8.ub[123] => 0.ub[0] ++setnle rflags[0x8c0,0x880] : m8.ub[123] => 0.ub[1] ++setnle rflags[0x8c0,0x8c0] : m8.ub[123] => 0.ub[0] ++setno rflags[0x800,0x000] : r8.ub[123] => 0.ub[1] ++setno rflags[0x800,0x800] : r8.ub[123] => 0.ub[0] ++setno rflags[0x800,0x000] : m8.ub[123] => 0.ub[1] ++setno rflags[0x800,0x800] : m8.ub[123] => 0.ub[0] ++setnp rflags[0x004,0x000] : r8.ub[123] => 0.ub[1] ++setnp rflags[0x004,0x004] : r8.ub[123] => 0.ub[0] ++setnp rflags[0x004,0x000] : m8.ub[123] => 0.ub[1] ++setnp rflags[0x004,0x004] : m8.ub[123] => 0.ub[0] ++setns rflags[0x080,0x000] : r8.ub[123] => 0.ub[1] ++setns rflags[0x080,0x080] : r8.ub[123] => 0.ub[0] ++setns rflags[0x080,0x000] : m8.ub[123] => 0.ub[1] ++setns rflags[0x080,0x080] : m8.ub[123] => 0.ub[0] ++setnz rflags[0x040,0x000] : r8.ub[123] => 0.ub[1] ++setnz rflags[0x040,0x040] : r8.ub[123] => 0.ub[0] ++setnz rflags[0x040,0x000] : m8.ub[123] => 0.ub[1] ++setnz rflags[0x040,0x040] : m8.ub[123] => 0.ub[0] ++seto rflags[0x800,0x000] : r8.ub[123] => 0.ub[0] ++seto rflags[0x800,0x800] : r8.ub[123] => 0.ub[1] ++seto rflags[0x800,0x000] : m8.ub[123] => 0.ub[0] ++seto rflags[0x800,0x800] : m8.ub[123] => 0.ub[1] ++setp rflags[0x004,0x000] : r8.ub[123] => 0.ub[0] ++setp rflags[0x004,0x004] : r8.ub[123] => 0.ub[1] ++setp rflags[0x004,0x000] : m8.ub[123] => 0.ub[0] ++setp rflags[0x004,0x004] : m8.ub[123] => 0.ub[1] ++sets rflags[0x080,0x000] : r8.ub[123] => 0.ub[0] ++sets rflags[0x080,0x080] : r8.ub[123] => 0.ub[1] ++sets rflags[0x080,0x000] : m8.ub[123] => 0.ub[0] ++sets rflags[0x080,0x080] : m8.ub[123] => 0.ub[1] ++setz rflags[0x040,0x000] : r8.ub[123] => 0.ub[0] ++setz rflags[0x040,0x040] : r8.ub[123] => 0.ub[1] ++setz rflags[0x040,0x000] : m8.ub[123] => 0.ub[0] ++setz rflags[0x040,0x040] : m8.ub[123] => 0.ub[1] + shlb r8.ub[0xca] => 0.ub[0x94] + shlb m8.ub[0xca] => 0.ub[0x94] + shlb imm8[2] r8.ub[0xca] => 1.ub[0x28] +@@ -1202,10 +1202,10 @@ shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0x7 + shrdq cl.ub[1] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0x7fff80007f807865] + shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] r64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00] + shrdq cl.ub[16] r64.uq[0xffff0000ff00f0ca] m64.uq[0xffff0000ff00f0ca] => 2.uq[0xf0caffff0000ff00] +-###stc eflags[0x001,0x000] : => eflags[0x001,0x001] +-###stc eflags[0x001,0x001] : => eflags[0x001,0x001] +-std eflags[0x400,0x000] : => eflags[0x400,0x400] +-std eflags[0x400,0x400] : => eflags[0x400,0x400] ++###stc rflags[0x001,0x000] : => rflags[0x001,0x001] ++###stc rflags[0x001,0x001] : => rflags[0x001,0x001] ++std rflags[0x400,0x000] : => rflags[0x400,0x400] ++std rflags[0x400,0x400] : => rflags[0x400,0x400] + subb imm8[12] al.ub[34] => 1.ub[22] + subb imm8[12] bl.ub[34] => 1.ub[22] + subb imm8[12] m8.ub[34] => 1.ub[22] +@@ -1233,106 +1233,106 @@ subq imm32[12345678] rbx.uq[8765432175318642] => 1.uq[8765432162972964] + subq r64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] + subq r64.uq[1234567813572468] m64.uq[8765432175318642] => 1.uq[7530864361746174] + subq m64.uq[1234567813572468] r64.uq[8765432175318642] => 1.uq[7530864361746174] +-testb imm8[0x1a] al.ub[0x1a] => eflags[0x8c5,0x000] +-testb imm8[0x5a] al.ub[0x5a] => eflags[0x8c5,0x004] +-testb imm8[0x1a] al.ub[0xa1] => eflags[0x8c5,0x044] +-testb imm8[0xa1] al.ub[0xa1] => eflags[0x8c5,0x080] +-testb imm8[0xa5] al.ub[0xa5] => eflags[0x8c5,0x084] +-testb imm8[0x1a] bl.ub[0x1a] => eflags[0x8c5,0x000] +-testb imm8[0x5a] bl.ub[0x5a] => eflags[0x8c5,0x004] +-testb imm8[0x1a] bl.ub[0xa1] => eflags[0x8c5,0x044] +-testb imm8[0xa1] bl.ub[0xa1] => eflags[0x8c5,0x080] +-testb imm8[0xa5] bl.ub[0xa5] => eflags[0x8c5,0x084] +-testb imm8[0x1a] m8.ub[0x1a] => eflags[0x8c5,0x000] +-testb imm8[0x5a] m8.ub[0x5a] => eflags[0x8c5,0x004] +-testb imm8[0x1a] m8.ub[0xa1] => eflags[0x8c5,0x044] +-testb imm8[0xa1] m8.ub[0xa1] => eflags[0x8c5,0x080] +-testb imm8[0xa5] m8.ub[0xa5] => eflags[0x8c5,0x084] +-testb r8.ub[0x1a] r8.ub[0x1a] => eflags[0x8c5,0x000] +-testb r8.ub[0x5a] r8.ub[0x5a] => eflags[0x8c5,0x004] +-testb r8.ub[0x1a] r8.ub[0xa1] => eflags[0x8c5,0x044] +-testb r8.ub[0xa1] r8.ub[0xa1] => eflags[0x8c5,0x080] +-testb r8.ub[0xa5] r8.ub[0xa5] => eflags[0x8c5,0x084] +-testb r8.ub[0x1a] m8.ub[0x1a] => eflags[0x8c5,0x000] +-testb r8.ub[0x5a] m8.ub[0x5a] => eflags[0x8c5,0x004] +-testb r8.ub[0x1a] m8.ub[0xa1] => eflags[0x8c5,0x044] +-testb r8.ub[0xa1] m8.ub[0xa1] => eflags[0x8c5,0x080] +-testb r8.ub[0xa5] m8.ub[0xa5] => eflags[0x8c5,0x084] +-testw imm16[0x1a1a] ax.uw[0x1a1a] => eflags[0x8c5,0x000] +-testw imm16[0x5a5a] ax.uw[0x5a5a] => eflags[0x8c5,0x004] +-testw imm16[0x1a1a] ax.uw[0xa1a1] => eflags[0x8c5,0x044] +-testw imm16[0xa1a1] ax.uw[0xa1a1] => eflags[0x8c5,0x080] +-testw imm16[0xa5a5] ax.uw[0xa5a5] => eflags[0x8c5,0x084] +-testw imm16[0x1a1a] bx.uw[0x1a1a] => eflags[0x8c5,0x000] +-testw imm16[0x5a5a] bx.uw[0x5a5a] => eflags[0x8c5,0x004] +-testw imm16[0x1a1a] bx.uw[0xa1a1] => eflags[0x8c5,0x044] +-testw imm16[0xa1a1] bx.uw[0xa1a1] => eflags[0x8c5,0x080] +-testw imm16[0xa5a5] bx.uw[0xa5a5] => eflags[0x8c5,0x084] +-testw imm16[0x1a1a] m16.uw[0x1a1a] => eflags[0x8c5,0x000] +-testw imm16[0x5a5a] m16.uw[0x5a5a] => eflags[0x8c5,0x004] +-testw imm16[0x1a1a] m16.uw[0xa1a1] => eflags[0x8c5,0x044] +-testw imm16[0xa1a1] m16.uw[0xa1a1] => eflags[0x8c5,0x080] +-testw imm16[0xa5a5] m16.uw[0xa5a5] => eflags[0x8c5,0x084] +-testw r16.uw[0x1a1a] r16.uw[0x1a1a] => eflags[0x8c5,0x000] +-testw r16.uw[0x5a5a] r16.uw[0x5a5a] => eflags[0x8c5,0x004] +-testw r16.uw[0x1a1a] r16.uw[0xa1a1] => eflags[0x8c5,0x044] +-testw r16.uw[0xa1a1] r16.uw[0xa1a1] => eflags[0x8c5,0x080] +-testw r16.uw[0xa5a5] r16.uw[0xa5a5] => eflags[0x8c5,0x084] +-testw r16.uw[0x1a1a] m16.uw[0x1a1a] => eflags[0x8c5,0x000] +-testw r16.uw[0x5a5a] m16.uw[0x5a5a] => eflags[0x8c5,0x004] +-testw r16.uw[0x1a1a] m16.uw[0xa1a1] => eflags[0x8c5,0x044] +-testw r16.uw[0xa1a1] m16.uw[0xa1a1] => eflags[0x8c5,0x080] +-testw r16.uw[0xa5a5] m16.uw[0xa5a5] => eflags[0x8c5,0x084] +-testl imm32[0x1a1a1a1a] eax.ud[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testl imm32[0x5a5a5a5a] eax.ud[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testl imm32[0x1a1a1a1a] eax.ud[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testl imm32[0xa1a1a1a1] eax.ud[0xa1a1a1a1] => eflags[0x8c5,0x080] +-testl imm32[0xa5a5a5a5] eax.ud[0xa5a5a5a5] => eflags[0x8c5,0x084] +-testl imm32[0x1a1a1a1a] ebx.ud[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testl imm32[0x5a5a5a5a] ebx.ud[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testl imm32[0x1a1a1a1a] ebx.ud[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testl imm32[0xa1a1a1a1] ebx.ud[0xa1a1a1a1] => eflags[0x8c5,0x080] +-testl imm32[0xa5a5a5a5] ebx.ud[0xa5a5a5a5] => eflags[0x8c5,0x084] +-testl imm32[0x1a1a1a1a] m32.ud[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testl imm32[0x5a5a5a5a] m32.ud[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testl imm32[0x1a1a1a1a] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testl imm32[0xa1a1a1a1] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x080] +-testl imm32[0xa5a5a5a5] m32.ud[0xa5a5a5a5] => eflags[0x8c5,0x084] +-testl r32.ud[0x1a1a1a1a] r32.ud[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testl r32.ud[0x5a5a5a5a] r32.ud[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testl r32.ud[0x1a1a1a1a] r32.ud[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testl r32.ud[0xa1a1a1a1] r32.ud[0xa1a1a1a1] => eflags[0x8c5,0x080] +-testl r32.ud[0xa5a5a5a5] r32.ud[0xa5a5a5a5] => eflags[0x8c5,0x084] +-testl r32.ud[0x1a1a1a1a] m32.ud[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testl r32.ud[0x5a5a5a5a] m32.ud[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testl r32.ud[0x1a1a1a1a] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testl r32.ud[0xa1a1a1a1] m32.ud[0xa1a1a1a1] => eflags[0x8c5,0x080] +-testl r32.ud[0xa5a5a5a5] m32.ud[0xa5a5a5a5] => eflags[0x8c5,0x084] +-testq imm32[0x1a1a1a1a] rax.uq[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testq imm32[0x5a5a5a5a] rax.uq[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testq imm32[0x1a1a1a1a] rax.uq[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testq imm32[-1583242847] rax.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080] +-testq imm32[-1515870811] rax.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084] +-testq imm32[0x1a1a1a1a] rbx.uq[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testq imm32[0x5a5a5a5a] rbx.uq[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testq imm32[0x1a1a1a1a] rbx.uq[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testq imm32[-1583242847] rbx.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080] +-testq imm32[-1515870811] rbx.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084] +-testq imm32[0x1a1a1a1a] m64.uq[0x1a1a1a1a] => eflags[0x8c5,0x000] +-testq imm32[0x5a5a5a5a] m64.uq[0x5a5a5a5a] => eflags[0x8c5,0x004] +-testq imm32[0x1a1a1a1a] m64.uq[0xa1a1a1a1] => eflags[0x8c5,0x044] +-testq imm32[-1583242847] m64.uq[0xffffffffa1a1a1a1] => eflags[0x8c5,0x080] +-testq imm32[-1515870811] m64.uq[0xffffffffa5a5a5a5] => eflags[0x8c5,0x084] +-testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0x1a1a1a1a1a1a1a1a] => eflags[0x8c5,0x000] +-testq r64.uq[0x5a5a5a5a5a5a5a5a] r64.uq[0x5a5a5a5a5a5a5a5a] => eflags[0x8c5,0x004] +-testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x044] +-testq r64.uq[0xa1a1a1a1a1a1a1a1] r64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x080] +-testq r64.uq[0xa5a5a5a5a5a5a5a5] r64.uq[0xa5a5a5a5a5a5a5a5] => eflags[0x8c5,0x084] +-testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0x1a1a1a1a1a1a1a1a] => eflags[0x8c5,0x000] +-testq r64.uq[0x5a5a5a5a5a5a5a5a] m64.uq[0x5a5a5a5a5a5a5a5a] => eflags[0x8c5,0x004] +-testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x044] +-testq r64.uq[0xa1a1a1a1a1a1a1a1] m64.uq[0xa1a1a1a1a1a1a1a1] => eflags[0x8c5,0x080] +-testq r64.uq[0xa5a5a5a5a5a5a5a5] m64.uq[0xa5a5a5a5a5a5a5a5] => eflags[0x8c5,0x084] ++testb imm8[0x1a] al.ub[0x1a] => rflags[0x8c5,0x000] ++testb imm8[0x5a] al.ub[0x5a] => rflags[0x8c5,0x004] ++testb imm8[0x1a] al.ub[0xa1] => rflags[0x8c5,0x044] ++testb imm8[0xa1] al.ub[0xa1] => rflags[0x8c5,0x080] ++testb imm8[0xa5] al.ub[0xa5] => rflags[0x8c5,0x084] ++testb imm8[0x1a] bl.ub[0x1a] => rflags[0x8c5,0x000] ++testb imm8[0x5a] bl.ub[0x5a] => rflags[0x8c5,0x004] ++testb imm8[0x1a] bl.ub[0xa1] => rflags[0x8c5,0x044] ++testb imm8[0xa1] bl.ub[0xa1] => rflags[0x8c5,0x080] ++testb imm8[0xa5] bl.ub[0xa5] => rflags[0x8c5,0x084] ++testb imm8[0x1a] m8.ub[0x1a] => rflags[0x8c5,0x000] ++testb imm8[0x5a] m8.ub[0x5a] => rflags[0x8c5,0x004] ++testb imm8[0x1a] m8.ub[0xa1] => rflags[0x8c5,0x044] ++testb imm8[0xa1] m8.ub[0xa1] => rflags[0x8c5,0x080] ++testb imm8[0xa5] m8.ub[0xa5] => rflags[0x8c5,0x084] ++testb r8.ub[0x1a] r8.ub[0x1a] => rflags[0x8c5,0x000] ++testb r8.ub[0x5a] r8.ub[0x5a] => rflags[0x8c5,0x004] ++testb r8.ub[0x1a] r8.ub[0xa1] => rflags[0x8c5,0x044] ++testb r8.ub[0xa1] r8.ub[0xa1] => rflags[0x8c5,0x080] ++testb r8.ub[0xa5] r8.ub[0xa5] => rflags[0x8c5,0x084] ++testb r8.ub[0x1a] m8.ub[0x1a] => rflags[0x8c5,0x000] ++testb r8.ub[0x5a] m8.ub[0x5a] => rflags[0x8c5,0x004] ++testb r8.ub[0x1a] m8.ub[0xa1] => rflags[0x8c5,0x044] ++testb r8.ub[0xa1] m8.ub[0xa1] => rflags[0x8c5,0x080] ++testb r8.ub[0xa5] m8.ub[0xa5] => rflags[0x8c5,0x084] ++testw imm16[0x1a1a] ax.uw[0x1a1a] => rflags[0x8c5,0x000] ++testw imm16[0x5a5a] ax.uw[0x5a5a] => rflags[0x8c5,0x004] ++testw imm16[0x1a1a] ax.uw[0xa1a1] => rflags[0x8c5,0x044] ++testw imm16[0xa1a1] ax.uw[0xa1a1] => rflags[0x8c5,0x080] ++testw imm16[0xa5a5] ax.uw[0xa5a5] => rflags[0x8c5,0x084] ++testw imm16[0x1a1a] bx.uw[0x1a1a] => rflags[0x8c5,0x000] ++testw imm16[0x5a5a] bx.uw[0x5a5a] => rflags[0x8c5,0x004] ++testw imm16[0x1a1a] bx.uw[0xa1a1] => rflags[0x8c5,0x044] ++testw imm16[0xa1a1] bx.uw[0xa1a1] => rflags[0x8c5,0x080] ++testw imm16[0xa5a5] bx.uw[0xa5a5] => rflags[0x8c5,0x084] ++testw imm16[0x1a1a] m16.uw[0x1a1a] => rflags[0x8c5,0x000] ++testw imm16[0x5a5a] m16.uw[0x5a5a] => rflags[0x8c5,0x004] ++testw imm16[0x1a1a] m16.uw[0xa1a1] => rflags[0x8c5,0x044] ++testw imm16[0xa1a1] m16.uw[0xa1a1] => rflags[0x8c5,0x080] ++testw imm16[0xa5a5] m16.uw[0xa5a5] => rflags[0x8c5,0x084] ++testw r16.uw[0x1a1a] r16.uw[0x1a1a] => rflags[0x8c5,0x000] ++testw r16.uw[0x5a5a] r16.uw[0x5a5a] => rflags[0x8c5,0x004] ++testw r16.uw[0x1a1a] r16.uw[0xa1a1] => rflags[0x8c5,0x044] ++testw r16.uw[0xa1a1] r16.uw[0xa1a1] => rflags[0x8c5,0x080] ++testw r16.uw[0xa5a5] r16.uw[0xa5a5] => rflags[0x8c5,0x084] ++testw r16.uw[0x1a1a] m16.uw[0x1a1a] => rflags[0x8c5,0x000] ++testw r16.uw[0x5a5a] m16.uw[0x5a5a] => rflags[0x8c5,0x004] ++testw r16.uw[0x1a1a] m16.uw[0xa1a1] => rflags[0x8c5,0x044] ++testw r16.uw[0xa1a1] m16.uw[0xa1a1] => rflags[0x8c5,0x080] ++testw r16.uw[0xa5a5] m16.uw[0xa5a5] => rflags[0x8c5,0x084] ++testl imm32[0x1a1a1a1a] eax.ud[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testl imm32[0x5a5a5a5a] eax.ud[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testl imm32[0x1a1a1a1a] eax.ud[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testl imm32[0xa1a1a1a1] eax.ud[0xa1a1a1a1] => rflags[0x8c5,0x080] ++testl imm32[0xa5a5a5a5] eax.ud[0xa5a5a5a5] => rflags[0x8c5,0x084] ++testl imm32[0x1a1a1a1a] ebx.ud[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testl imm32[0x5a5a5a5a] ebx.ud[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testl imm32[0x1a1a1a1a] ebx.ud[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testl imm32[0xa1a1a1a1] ebx.ud[0xa1a1a1a1] => rflags[0x8c5,0x080] ++testl imm32[0xa5a5a5a5] ebx.ud[0xa5a5a5a5] => rflags[0x8c5,0x084] ++testl imm32[0x1a1a1a1a] m32.ud[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testl imm32[0x5a5a5a5a] m32.ud[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testl imm32[0x1a1a1a1a] m32.ud[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testl imm32[0xa1a1a1a1] m32.ud[0xa1a1a1a1] => rflags[0x8c5,0x080] ++testl imm32[0xa5a5a5a5] m32.ud[0xa5a5a5a5] => rflags[0x8c5,0x084] ++testl r32.ud[0x1a1a1a1a] r32.ud[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testl r32.ud[0x5a5a5a5a] r32.ud[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testl r32.ud[0x1a1a1a1a] r32.ud[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testl r32.ud[0xa1a1a1a1] r32.ud[0xa1a1a1a1] => rflags[0x8c5,0x080] ++testl r32.ud[0xa5a5a5a5] r32.ud[0xa5a5a5a5] => rflags[0x8c5,0x084] ++testl r32.ud[0x1a1a1a1a] m32.ud[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testl r32.ud[0x5a5a5a5a] m32.ud[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testl r32.ud[0x1a1a1a1a] m32.ud[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testl r32.ud[0xa1a1a1a1] m32.ud[0xa1a1a1a1] => rflags[0x8c5,0x080] ++testl r32.ud[0xa5a5a5a5] m32.ud[0xa5a5a5a5] => rflags[0x8c5,0x084] ++testq imm32[0x1a1a1a1a] rax.uq[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testq imm32[0x5a5a5a5a] rax.uq[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testq imm32[0x1a1a1a1a] rax.uq[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testq imm32[-1583242847] rax.uq[0xffffffffa1a1a1a1] => rflags[0x8c5,0x080] ++testq imm32[-1515870811] rax.uq[0xffffffffa5a5a5a5] => rflags[0x8c5,0x084] ++testq imm32[0x1a1a1a1a] rbx.uq[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testq imm32[0x5a5a5a5a] rbx.uq[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testq imm32[0x1a1a1a1a] rbx.uq[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testq imm32[-1583242847] rbx.uq[0xffffffffa1a1a1a1] => rflags[0x8c5,0x080] ++testq imm32[-1515870811] rbx.uq[0xffffffffa5a5a5a5] => rflags[0x8c5,0x084] ++testq imm32[0x1a1a1a1a] m64.uq[0x1a1a1a1a] => rflags[0x8c5,0x000] ++testq imm32[0x5a5a5a5a] m64.uq[0x5a5a5a5a] => rflags[0x8c5,0x004] ++testq imm32[0x1a1a1a1a] m64.uq[0xa1a1a1a1] => rflags[0x8c5,0x044] ++testq imm32[-1583242847] m64.uq[0xffffffffa1a1a1a1] => rflags[0x8c5,0x080] ++testq imm32[-1515870811] m64.uq[0xffffffffa5a5a5a5] => rflags[0x8c5,0x084] ++testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0x1a1a1a1a1a1a1a1a] => rflags[0x8c5,0x000] ++testq r64.uq[0x5a5a5a5a5a5a5a5a] r64.uq[0x5a5a5a5a5a5a5a5a] => rflags[0x8c5,0x004] ++testq r64.uq[0x1a1a1a1a1a1a1a1a] r64.uq[0xa1a1a1a1a1a1a1a1] => rflags[0x8c5,0x044] ++testq r64.uq[0xa1a1a1a1a1a1a1a1] r64.uq[0xa1a1a1a1a1a1a1a1] => rflags[0x8c5,0x080] ++testq r64.uq[0xa5a5a5a5a5a5a5a5] r64.uq[0xa5a5a5a5a5a5a5a5] => rflags[0x8c5,0x084] ++testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0x1a1a1a1a1a1a1a1a] => rflags[0x8c5,0x000] ++testq r64.uq[0x5a5a5a5a5a5a5a5a] m64.uq[0x5a5a5a5a5a5a5a5a] => rflags[0x8c5,0x004] ++testq r64.uq[0x1a1a1a1a1a1a1a1a] m64.uq[0xa1a1a1a1a1a1a1a1] => rflags[0x8c5,0x044] ++testq r64.uq[0xa1a1a1a1a1a1a1a1] m64.uq[0xa1a1a1a1a1a1a1a1] => rflags[0x8c5,0x080] ++testq r64.uq[0xa5a5a5a5a5a5a5a5] m64.uq[0xa5a5a5a5a5a5a5a5] => rflags[0x8c5,0x084] + ###xaddb r8.ub[12] r8.ub[34] => 0.ub[34] 1.ub[46] + ###xaddb r8.ub[12] m8.ub[34] => 0.ub[34] 1.ub[46] + ###xaddw r16.uw[1234] r16.uw[5678] => 0.uw[5678] 1.uw[6912] +diff --git a/none/tests/amd64/insn_fpu.def b/none/tests/amd64/insn_fpu.def +index 590f584..525fd1b 100644 +--- a/none/tests/amd64/insn_fpu.def ++++ b/none/tests/amd64/insn_fpu.def +@@ -70,30 +70,30 @@ fcomps st1.ps[8765.4321] st0.ps[1234.5678] : m32.ps[1234.5678] => st0.ps[8765.43 + fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654320] => st0.pd[7654321.1234567] fpusw[0x4700,0x0000] + fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654322] => st0.pd[7654321.1234567] fpusw[0x4700,0x0100] + fcompl st1.pd[7654321.1234567] st0.pd[1234567.7654321] : m64.pd[1234567.7654321] => st0.pd[7654321.1234567] fpusw[0x4700,0x4000] +-fcomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] eflags[0x45,0x00] +-fcomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] eflags[0x45,0x01] +-fcomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] eflags[0x45,0x40] +-fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st0.pd[1234567.7654322] st2.pd[1234567.7654321] eflags[0x45,0x00] +-fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st0.pd[1234567.7654320] st2.pd[1234567.7654321] eflags[0x45,0x01] +-fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st0.pd[1234567.7654321] st2.pd[1234567.7654321] eflags[0x45,0x40] +-fcomip st2.ps[1234.5678] st0.ps[1234.5679] => st1.ps[1234.5679] eflags[0x45,0x00] +-fcomip st2.ps[1234.5678] st0.ps[1234.5676] => st1.ps[1234.5676] eflags[0x45,0x01] +-fcomip st2.ps[1234.5678] st0.ps[1234.5678] => st1.ps[1234.5678] eflags[0x45,0x40] +-fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st1.pd[1234567.7654321] eflags[0x45,0x00] +-fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st1.pd[1234567.7654321] eflags[0x45,0x01] +-fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st1.pd[1234567.7654321] eflags[0x45,0x40] +-fucomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] eflags[0x45,0x00] +-fucomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] eflags[0x45,0x01] +-fucomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] eflags[0x45,0x40] +-fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st0.pd[1234567.7654322] st2.pd[1234567.7654321] eflags[0x45,0x00] +-fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st0.pd[1234567.7654320] st2.pd[1234567.7654321] eflags[0x45,0x01] +-fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st0.pd[1234567.7654321] st2.pd[1234567.7654321] eflags[0x45,0x40] +-fucomip st2.ps[1234.5678] st0.ps[1234.5679] => st1.ps[1234.5679] eflags[0x45,0x00] +-fucomip st2.ps[1234.5678] st0.ps[1234.5676] => st1.ps[1234.5676] eflags[0x45,0x01] +-fucomip st2.ps[1234.5678] st0.ps[1234.5678] => st1.ps[1234.5678] eflags[0x45,0x40] +-fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st1.pd[1234567.7654321] eflags[0x45,0x00] +-fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st1.pd[1234567.7654321] eflags[0x45,0x01] +-fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st1.pd[1234567.7654321] eflags[0x45,0x40] ++fcomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] rflags[0x45,0x00] ++fcomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] rflags[0x45,0x01] ++fcomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] rflags[0x45,0x40] ++fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st0.pd[1234567.7654322] st2.pd[1234567.7654321] rflags[0x45,0x00] ++fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st0.pd[1234567.7654320] st2.pd[1234567.7654321] rflags[0x45,0x01] ++fcomi st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st0.pd[1234567.7654321] st2.pd[1234567.7654321] rflags[0x45,0x40] ++fcomip st2.ps[1234.5678] st0.ps[1234.5679] => st1.ps[1234.5679] rflags[0x45,0x00] ++fcomip st2.ps[1234.5678] st0.ps[1234.5676] => st1.ps[1234.5676] rflags[0x45,0x01] ++fcomip st2.ps[1234.5678] st0.ps[1234.5678] => st1.ps[1234.5678] rflags[0x45,0x40] ++fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st1.pd[1234567.7654321] rflags[0x45,0x00] ++fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st1.pd[1234567.7654321] rflags[0x45,0x01] ++fcomip st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st1.pd[1234567.7654321] rflags[0x45,0x40] ++fucomi st2.ps[1234.5678] st0.ps[1234.5679] => st0.ps[1234.5678] st2.ps[1234.5679] rflags[0x45,0x00] ++fucomi st2.ps[1234.5678] st0.ps[1234.5676] => st0.ps[1234.5678] st2.ps[1234.5676] rflags[0x45,0x01] ++fucomi st2.ps[1234.5678] st0.ps[1234.5678] => st0.ps[1234.5678] st2.ps[1234.5678] rflags[0x45,0x40] ++fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st0.pd[1234567.7654322] st2.pd[1234567.7654321] rflags[0x45,0x00] ++fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st0.pd[1234567.7654320] st2.pd[1234567.7654321] rflags[0x45,0x01] ++fucomi st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st0.pd[1234567.7654321] st2.pd[1234567.7654321] rflags[0x45,0x40] ++fucomip st2.ps[1234.5678] st0.ps[1234.5679] => st1.ps[1234.5679] rflags[0x45,0x00] ++fucomip st2.ps[1234.5678] st0.ps[1234.5676] => st1.ps[1234.5676] rflags[0x45,0x01] ++fucomip st2.ps[1234.5678] st0.ps[1234.5678] => st1.ps[1234.5678] rflags[0x45,0x40] ++fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654322] => st1.pd[1234567.7654321] rflags[0x45,0x00] ++fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654320] => st1.pd[1234567.7654321] rflags[0x45,0x01] ++fucomip st2.pd[1234567.7654321] st0.pd[1234567.7654321] => st1.pd[1234567.7654321] rflags[0x45,0x40] + fchs st0.ps[1234.5678] : => st0.ps[-1234.5678] + fchs st0.ps[-1234.5678] : => st0.ps[1234.5678] + fchs st0.pd[12345678.87654321] : => st0.pd[-12345678.87654321] +diff --git a/none/tests/amd64/insn_sse.def b/none/tests/amd64/insn_sse.def +index a9e92a0..277a062 100644 +--- a/none/tests/amd64/insn_sse.def ++++ b/none/tests/amd64/insn_sse.def +@@ -38,12 +38,12 @@ cmpordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5677,23 + cmpordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234.5677,234.5679,234.5677] => 1.ud[0xffffffff,0xffffffff,0xffffffff,0xffffffff] + cmpordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0] + cmpordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] => 1.ud[0xffffffff,0,0,0] +-comiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000] +-comiss m32.ps[234.5678] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000] +-comiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] => eflags[0x8d5,0x001] +-comiss m32.ps[234.5678] xmm.ps[234.5677,0.0] => eflags[0x8d5,0x001] +-comiss xmm.ps[234.5678,0.0] xmm.ps[234.5678,0.0] => eflags[0x8d5,0x040] +-comiss m32.ps[234.5678] xmm.ps[234.5678,0.0] => eflags[0x8d5,0x040] ++comiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] => rflags[0x8d5,0x000] ++comiss m32.ps[234.5678] xmm.ps[234.5679,0.0] => rflags[0x8d5,0x000] ++comiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] => rflags[0x8d5,0x001] ++comiss m32.ps[234.5678] xmm.ps[234.5677,0.0] => rflags[0x8d5,0x001] ++comiss xmm.ps[234.5678,0.0] xmm.ps[234.5678,0.0] => rflags[0x8d5,0x040] ++comiss m32.ps[234.5678] xmm.ps[234.5678,0.0] => rflags[0x8d5,0x040] + cvtpi2ps mm.sd[1234,5678] xmm.ps[1.1,2.2,3.3,4.4] => 1.ps[1234.0,5678.0,3.3,4.4] + cvtpi2ps m64.sd[1234,5678] xmm.ps[1.1,2.2,3.3,4.4] => 1.ps[1234.0,5678.0,3.3,4.4] + cvtps2pi xmm.ps[12.34,56.78,1.11,2.22] mm.sd[1,2] => 1.sd[12,57] +@@ -140,12 +140,12 @@ subps xmm.ps[12.34,56.77,43.21,87.65] xmm.ps[44.0,33.0,22.0,11.0] => 1.ps[31.66, + subps m128.ps[12.34,56.77,43.21,87.65] xmm.ps[44.0,33.0,22.0,11.0] => 1.ps[31.66,-23.77,-21.21,-76.65] + subss xmm.ps[12.34,56.77,43.21,87.65] xmm.ps[44.0,33.0,22.0,11.0] => 1.ps[31.66,33.0,22.0,11.0] + subss m128.ps[12.34,56.77,43.21,87.65] xmm.ps[44.0,33.0,22.0,11.0] => 1.ps[31.66,33.0,22.0,11.0] +-ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000] +-ucomiss m32.ps[234.5678] xmm.ps[234.5679,0.0] => eflags[0x8d5,0x000] +-ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] => eflags[0x8d5,0x001] +-ucomiss m32.ps[234.5678] xmm.ps[234.5677,0.0] => eflags[0x8d5,0x001] +-ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5678,0.0] => eflags[0x8d5,0x040] +-ucomiss m32.ps[234.5678] xmm.ps[234.5678,0.0] => eflags[0x8d5,0x040] ++ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] => rflags[0x8d5,0x000] ++ucomiss m32.ps[234.5678] xmm.ps[234.5679,0.0] => rflags[0x8d5,0x000] ++ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] => rflags[0x8d5,0x001] ++ucomiss m32.ps[234.5678] xmm.ps[234.5677,0.0] => rflags[0x8d5,0x001] ++ucomiss xmm.ps[234.5678,0.0] xmm.ps[234.5678,0.0] => rflags[0x8d5,0x040] ++ucomiss m32.ps[234.5678] xmm.ps[234.5678,0.0] => rflags[0x8d5,0x040] + unpckhps xmm.ps[12.34,56.78,43.21,87.65] xmm.ps[11.22,33.44,55.66,77.88] => 1.ps[55.66,43.21,77.88,87.65] + unpckhps m128.ps[12.34,56.78,43.21,87.65] xmm.ps[11.22,33.44,55.66,77.88] => 1.ps[55.66,43.21,77.88,87.65] + unpcklps xmm.ps[12.34,56.78,43.21,87.65] xmm.ps[11.22,33.44,55.66,77.88] => 1.ps[11.22,12.34,33.44,56.78] +diff --git a/none/tests/amd64/insn_sse2.def b/none/tests/amd64/insn_sse2.def +index 3cbdd41..7e0890e 100644 +--- a/none/tests/amd64/insn_sse2.def ++++ b/none/tests/amd64/insn_sse2.def +@@ -38,12 +38,12 @@ cmpnlesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff, + cmpnlesd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0x0000000000000000,0] + cmpordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => 1.uq[0xffffffffffffffff,0] + cmpordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => 1.uq[0xffffffffffffffff,0] +-comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => eflags[0x8d5,0x000] +-comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => eflags[0x8d5,0x001] +-comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => eflags[0x8d5,0x040] +-comisd m64.pd[1234.5678] xmm.pd[1234.5679,0.0] => eflags[0x8d5,0x000] +-comisd m64.pd[1234.5678] xmm.pd[1234.5677,0.0] => eflags[0x8d5,0x001] +-comisd m64.pd[1234.5678] xmm.pd[1234.5678,0.0] => eflags[0x8d5,0x040] ++comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => rflags[0x8d5,0x000] ++comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => rflags[0x8d5,0x001] ++comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => rflags[0x8d5,0x040] ++comisd m64.pd[1234.5678] xmm.pd[1234.5679,0.0] => rflags[0x8d5,0x000] ++comisd m64.pd[1234.5678] xmm.pd[1234.5677,0.0] => rflags[0x8d5,0x001] ++comisd m64.pd[1234.5678] xmm.pd[1234.5678,0.0] => rflags[0x8d5,0x040] + cvtdq2pd xmm.sd[1234,5678,0,0] xmm.pd[0.0,0.0] => 1.pd[1234.0,5678.0] + cvtdq2pd m128.sd[1234,5678,0,0] xmm.pd[0.0,0.0] => 1.pd[1234.0,5678.0] + cvtdq2ps xmm.sd[1234,5678,-1234,-5678] xmm.ps[0.0,0.0,0.0,0.0] => 1.ps[1234.0,5678.0,-1234.0,-5678.0] +@@ -329,12 +329,12 @@ subpd xmm.pd[1234.5678,8765.4321] xmm.pd[2222.0,1111.0] => 1.pd[987.4322,-7654.4 + subpd m128.pd[1234.5678,8765.4321] xmm.pd[2222.0,1111.0] => 1.pd[987.4322,-7654.4321] + subsd xmm.pd[1234.5678,8765.4321] xmm.pd[2222.0,1111.0] => 1.pd[987.4322,1111.0] + subsd m128.pd[1234.5678,8765.4321] xmm.pd[2222.0,1111.0] => 1.pd[987.4322,1111.0] +-ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => eflags[0x8d5,0x000] +-ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => eflags[0x8d5,0x001] +-ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => eflags[0x8d5,0x040] +-ucomisd m64.pd[1234.5678] xmm.pd[1234.5679,0.0] => eflags[0x8d5,0x000] +-ucomisd m64.pd[1234.5678] xmm.pd[1234.5677,0.0] => eflags[0x8d5,0x001] +-ucomisd m64.pd[1234.5678] xmm.pd[1234.5678,0.0] => eflags[0x8d5,0x040] ++ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] => rflags[0x8d5,0x000] ++ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] => rflags[0x8d5,0x001] ++ucomisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] => rflags[0x8d5,0x040] ++ucomisd m64.pd[1234.5678] xmm.pd[1234.5679,0.0] => rflags[0x8d5,0x000] ++ucomisd m64.pd[1234.5678] xmm.pd[1234.5677,0.0] => rflags[0x8d5,0x001] ++ucomisd m64.pd[1234.5678] xmm.pd[1234.5678,0.0] => rflags[0x8d5,0x040] + unpckhpd xmm.pd[1234.5678,8765.4321] xmm.pd[1122.3344,5566.7788] => 1.pd[5566.7788,8765.4321] + unpckhpd m128.pd[1234.5678,8765.4321] xmm.pd[1122.3344,5566.7788] => 1.pd[5566.7788,8765.4321] + unpcklpd xmm.pd[1234.5678,8765.4321] xmm.pd[1122.3344,5566.7788] => 1.pd[1122.3344,1234.5678] diff --git a/abs/extra/valgrind/valgrind-3.13.0-gdb-8-testfix.patch b/abs/extra/valgrind/valgrind-3.13.0-gdb-8-testfix.patch new file mode 100644 index 0000000..f34da04 --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.13.0-gdb-8-testfix.patch @@ -0,0 +1,183 @@ +commit 21788250c945713fa25c16f2683e1f9cd0bb6ccf +Author: philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> +Date: Sun Jun 25 12:40:53 2017 +0000 + + Fix some tests failure with GDB 8.0 + + At the beginning of a Valgrind gdbserver test, + 2 messages are produced when launching the command + target remote | vgdb + + A message output by vgdb: + relaying data between gdb and process <pid> + (this message is read by GDB from the vgdb pipe, and re-output + on stderr) + and a message produced by GDB: + Remote debugging using | ./vgdb + + GDB 8.0 changes the order in which the above messages are output. + This causes 2 tests to fail, as the 'relaying' line appears + then in a part of the output deleted by a filter script. + + To avoid this, change the filter scripts to always remove + this 'relaying line', which is not particularly interesting to check. + All the .exp files containining such a 'relaying' line are updated + accordingly. + + This has been tested with various gdb versions (7.5, 7.7, 7.12, 8.0) + on amd64 and/or ppc64. + + Thanks to Mark Wielaard, which helped to investigate this problem + by bisecting the GDB patches in GDB 8.0 causing this change of + behaviour. + + + + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16453 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb +index 7177720..ed78cfe 100755 +--- a/gdbserver_tests/filter_gdb ++++ b/gdbserver_tests/filter_gdb +@@ -72,7 +72,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' + -e '/^Missing separate debuginfo/d' \ + -e '/\/_exit.c: No such file or directory/d' \ + -e '/^Try: zypper install -C/d' \ +- -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \ ++ -e '/relaying data between gdb and process/d' \ + -e 's/pid [0-9][0-9]*/pid ..../g' \ + -e 's/Thread [0-9][0-9]*/Thread ..../g' \ + -e '/\[Switching to Thread ....\]/d' \ +diff --git a/gdbserver_tests/filter_vgdb b/gdbserver_tests/filter_vgdb +index 2442ec5..f8028a3 100755 +--- a/gdbserver_tests/filter_vgdb ++++ b/gdbserver_tests/filter_vgdb +@@ -11,7 +11,7 @@ $dir/../tests/filter_addresses | + # pid + # gdb 7.2 sometimes tries to access address 0x0 (same as with standard gdbserver) + # filter a debian 6.0/ppc32 line +-sed -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \ ++sed -e '/relaying data between gdb and process/d' \ + -e 's/\(sending command .* to pid \)[0-9][0-9]*/\1..../' \ + -e '/Cannot access memory at address 0x......../d' \ + -e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d' | +diff --git a/gdbserver_tests/hginfo.stderrB.exp b/gdbserver_tests/hginfo.stderrB.exp +index df47f11..669ff92 100644 +--- a/gdbserver_tests/hginfo.stderrB.exp ++++ b/gdbserver_tests/hginfo.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + Lock ga 0x........ { + Address 0x........ is 0 bytes inside data symbol "mx" +diff --git a/gdbserver_tests/mcblocklistsearch.stderrB.exp b/gdbserver_tests/mcblocklistsearch.stderrB.exp +index 312d776..1313321 100644 +--- a/gdbserver_tests/mcblocklistsearch.stderrB.exp ++++ b/gdbserver_tests/mcblocklistsearch.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + Breakpoint 1 at 0x........: file leak-tree.c, line 42. + Breakpoint 2 at 0x........: file leak-tree.c, line 67. +diff --git a/gdbserver_tests/mcbreak.stderrB.exp b/gdbserver_tests/mcbreak.stderrB.exp +index 65281d2..0f051d1 100644 +--- a/gdbserver_tests/mcbreak.stderrB.exp ++++ b/gdbserver_tests/mcbreak.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + vgdb-error value changed from 999999 to 0 + n_errs_found 1 n_errs_shown 1 (vgdb-error 0) +diff --git a/gdbserver_tests/mcclean_after_fork.stderrB.exp b/gdbserver_tests/mcclean_after_fork.stderrB.exp +index 995b42f..e812b8e 100644 +--- a/gdbserver_tests/mcclean_after_fork.stderrB.exp ++++ b/gdbserver_tests/mcclean_after_fork.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + monitor command request to kill this process + Remote connection closed +diff --git a/gdbserver_tests/mcinfcallWSRU.stderrB.exp b/gdbserver_tests/mcinfcallWSRU.stderrB.exp +index 7789123..a2f2b87 100644 +--- a/gdbserver_tests/mcinfcallWSRU.stderrB.exp ++++ b/gdbserver_tests/mcinfcallWSRU.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + Breakpoint 1 at 0x........: file sleepers.c, line 74. + Continuing. +diff --git a/gdbserver_tests/mcleak.stderrB.exp b/gdbserver_tests/mcleak.stderrB.exp +index 7782119..7ed3920 100644 +--- a/gdbserver_tests/mcleak.stderrB.exp ++++ b/gdbserver_tests/mcleak.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + 10 bytes in 1 blocks are still reachable in loss record ... of ... + at 0x........: malloc (vg_replace_malloc.c:...) +diff --git a/gdbserver_tests/mcmain_pic.stderrB.exp b/gdbserver_tests/mcmain_pic.stderrB.exp +index c90e1fa..53ec0ce 100644 +--- a/gdbserver_tests/mcmain_pic.stderrB.exp ++++ b/gdbserver_tests/mcmain_pic.stderrB.exp +@@ -1,2 +1 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 +diff --git a/gdbserver_tests/mcvabits.stderrB.exp b/gdbserver_tests/mcvabits.stderrB.exp +index bdabb1e..f9ced7a 100644 +--- a/gdbserver_tests/mcvabits.stderrB.exp ++++ b/gdbserver_tests/mcvabits.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + Address 0x........ len 10 addressable + Address 0x........ is 0 bytes inside data symbol "undefined" +diff --git a/gdbserver_tests/mssnapshot.stderrB.exp b/gdbserver_tests/mssnapshot.stderrB.exp +index 8bee8fc..e419ce6 100644 +--- a/gdbserver_tests/mssnapshot.stderrB.exp ++++ b/gdbserver_tests/mssnapshot.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + general valgrind monitor commands: + help [debug] : monitor command help. With debug: + debugging commands +diff --git a/gdbserver_tests/nlgone_abrt.stderrB.exp b/gdbserver_tests/nlgone_abrt.stderrB.exp +index c8b2024..e69de29 100644 +--- a/gdbserver_tests/nlgone_abrt.stderrB.exp ++++ b/gdbserver_tests/nlgone_abrt.stderrB.exp +@@ -1 +0,0 @@ +-relaying data between gdb and process .... +diff --git a/gdbserver_tests/nlgone_exit.stderrB.exp b/gdbserver_tests/nlgone_exit.stderrB.exp +index c8b2024..e69de29 100644 +--- a/gdbserver_tests/nlgone_exit.stderrB.exp ++++ b/gdbserver_tests/nlgone_exit.stderrB.exp +@@ -1 +0,0 @@ +-relaying data between gdb and process .... +diff --git a/gdbserver_tests/nlgone_return.stderrB.exp b/gdbserver_tests/nlgone_return.stderrB.exp +index c8b2024..e69de29 100644 +--- a/gdbserver_tests/nlgone_return.stderrB.exp ++++ b/gdbserver_tests/nlgone_return.stderrB.exp +@@ -1 +0,0 @@ +-relaying data between gdb and process .... +diff --git a/gdbserver_tests/nlpasssigalrm.stderrB.exp b/gdbserver_tests/nlpasssigalrm.stderrB.exp +index c90e1fa..53ec0ce 100644 +--- a/gdbserver_tests/nlpasssigalrm.stderrB.exp ++++ b/gdbserver_tests/nlpasssigalrm.stderrB.exp +@@ -1,2 +1 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 +diff --git a/gdbserver_tests/nlself_invalidate.stderrB.exp b/gdbserver_tests/nlself_invalidate.stderrB.exp +index c8b2024..e69de29 100644 +--- a/gdbserver_tests/nlself_invalidate.stderrB.exp ++++ b/gdbserver_tests/nlself_invalidate.stderrB.exp +@@ -1 +0,0 @@ +-relaying data between gdb and process .... +diff --git a/gdbserver_tests/nlsigvgdb.stderrB.exp b/gdbserver_tests/nlsigvgdb.stderrB.exp +index 672fea5..ed5bb61 100644 +--- a/gdbserver_tests/nlsigvgdb.stderrB.exp ++++ b/gdbserver_tests/nlsigvgdb.stderrB.exp +@@ -1,4 +1,3 @@ +-relaying data between gdb and process .... + vgdb-error value changed from 0 to 999999 + gdbserver: continuing in 5000 ms ... + gdbserver: continuing after wait ... diff --git a/abs/extra/valgrind/valgrind-3.13.0-test-fixes.patch b/abs/extra/valgrind/valgrind-3.13.0-test-fixes.patch new file mode 100644 index 0000000..9bdd290 --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.13.0-test-fixes.patch @@ -0,0 +1,29 @@ +See: +https://bugs.gentoo.org/637488 +https://bugs.kde.org/show_bug.cgi?id=387686 + +commit 2b5eab6a8db1b0487a3ad7fc4e7eeda6d3513626 +Author: Mark Wielaard <mark@klomp.org> +Date: Thu Jun 29 15:26:30 2017 +0000 + + memcheck/tests: Use ucontext_t instead of struct ucontext + + glibc 2.26 does not expose struct ucontext anymore. + + Signed-off-by: Khem Raj <raj.khem@gmail.com> + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16457 + +diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c +index a978fc2b0..7f97b90a5 100644 +--- a/memcheck/tests/linux/stack_changes.c ++++ b/memcheck/tests/linux/stack_changes.c +@@ -10,7 +10,7 @@ + // This test is checking the libc context calls (setcontext, etc.) and + // checks that Valgrind notices their stack changes properly. + +-typedef struct ucontext mycontext; ++typedef ucontext_t mycontext; + + mycontext ctx1, ctx2, oldc; + int count; diff --git a/abs/extra/valgrind/valgrind-3.7.0-respect-flags.patch b/abs/extra/valgrind/valgrind-3.7.0-respect-flags.patch new file mode 100644 index 0000000..b5fc44d --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.7.0-respect-flags.patch @@ -0,0 +1,13 @@ +diff -Naur valgrind-3.7.0.orig//mpi/Makefile.am valgrind-3.7.0/mpi/Makefile.am +--- valgrind-3.7.0.orig/mpi/Makefile.am 2011-10-26 17:24:23.000000000 -0400 ++++ valgrind-3.7.0/mpi/Makefile.am 2011-11-10 16:03:14.000000000 -0500 +@@ -7,9 +7,6 @@ + CC = $(MPI_CC) + DEFS = + DEFAULT_INCLUDES = +-CPPFLAGS = +-CFLAGS = +-LDFLAGS = + + EXTRA_DIST = \ + mpiwrap_type_test.c diff --git a/abs/extra/valgrind/valgrind-fix-xml-socket.patch b/abs/extra/valgrind/valgrind-fix-xml-socket.patch new file mode 100644 index 0000000..58f5e72 --- /dev/null +++ b/abs/extra/valgrind/valgrind-fix-xml-socket.patch @@ -0,0 +1,11 @@ +--- a/coregrind/m_libcprint.c ++++ b/coregrind/m_libcprint.c +@@ -526,7 +526,7 @@ + break; + + case VgLogTo_Socket: +- log_fd = prepare_sink_socket(VG_(clo_xml_fname_unexpanded), ++ xml_fd = prepare_sink_socket(VG_(clo_xml_fname_unexpanded), + &VG_(xml_output_sink), True); + break; + } diff --git a/abs/extra/vim/PKGBUILD b/abs/extra/vim/PKGBUILD index d0c30fd..a5cb912 100644 --- a/abs/extra/vim/PKGBUILD +++ b/abs/extra/vim/PKGBUILD @@ -1,121 +1,161 @@ -# $Id: PKGBUILD 163486 2012-07-13 05:33:54Z tdziedzic $ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com> +# Contributor: Thomas Dziedzic <gostrc@gmail.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> -# Maintainer: tobias [ tobias at archlinux org ] -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: tobias [ tobias at archlinux org ] +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Christian Hesse <mail@eworm.de> +# Contributor: Eli Schwartz pkgbase=vim pkgname=('vim' 'gvim' 'vim-runtime') -_topver=7.3 -_patchlevel=600 -__hgrev=11d40fc82f11 -_versiondir="vim${_topver//./}" -pkgver=${_topver}.${_patchlevel} +pkgver=8.0.1838 +_versiondir=80 pkgrel=1 -arch=('i686' 'x86_64') +pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' +url='http://www.vim.org' +arch=('x86_64') license=('custom:vim') -url="http://www.vim.org" -makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua') -source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" - "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig" - 'pythoncomplete.vim::http://www.vim.org/scripts/download_script.php?src_id=10872' - 'vimrc' - 'archlinux.vim' - 'gvim.desktop') -sha1sums=('a1c54bde75476ace5d24d4c17f7a81818e80dfda' - '14d62fe89d8292a6d2f7c46e8c61bd59bbd01083' - '4d9dcfb32874aa5467e6f06e418aeb4e675daaf2' - '3494baf53a63581ba69f86a81293640ff681c5c5' - '25dd3c2ce436e73a367c8f73b68f7f6889682437' - '4a579cf66590d711f49c5dfb4a25e5df116ff7ba') - -# source PKGBUILD && mksource -mksource() { - - [[ -x /usr/bin/hg ]] || (echo "hg not found. Install mercurial." && return 1) - - __hgroot='http://vim.googlecode.com/hg/' - __hgrepo='vim' - __hgbranch='default' - - hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo} - - pushd ${__hgrepo} - if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then - printf 'You are not building the latest revision!\n' - printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n" - fi - popd - - mv vim ${pkgname}-${pkgver} - find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \; - rm ${pkgname}-${pkgver}/{.hgignore,.hgtags} - tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/* - rm -r ${pkgname}-${pkgver} - #gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz +makedepends=('glibc' 'libgcrypt' 'gpm' 'python2' 'python' 'ruby' 'libxt' 'gtk3' 'lua' + 'gawk' 'tcl' 'pcre' 'zlib' 'libffi') +source=(vim-${pkgver}.tar.gz::https://github.com/vim/vim/archive/v${pkgver}.tar.gz + vimrc + archlinux.vim + vimdoc.hook) +sha256sums=('0d72e80c1acb1852be830d9cc82e0609f9f345857c7239c6a2fa4cba335ef548' + 'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b' + '2a6689ce603486f87df9d7e9697032015a8688d663984f5380c1f16cfeed31d4' + '7095cafac21df7aa42749d6864d1c0549fe65771d8edda3102c931c60782b6b9') +sha512sums=('ec0c126361baf0e031d27bc82424121b1de9334357c3e26be959dc5556ac5f112db7be92ed8f679b91442f072cb52cc42fcae6ddb0ae9160392b6623a256ce06' + '4b5bed0813f22af9e158ea9aa56a4a9862dd786ba2d201f20159ccf652da6190164aaed0b6b7217d578f7b25c33a8adcc307bfcf3caa8d173a7ff29e2a00fee7' + '6d0130bb35fc1abb5d657393290d838742725a9d5e4e592b5fd71c8c5852374de010fb58347974096192c8dd8cf42c67185bc2cc38c70609afbcce2c91489781' + '1e06e981691b17662fd0fddac5c00c87c920d1b4a1cbb6191c42d57cc40b00af12710e26b22fcfc0901bb8142b15f6a04aa65cec2d9b3bb9d5a06cb650d3ab9c') + +prepare() { + (cd vim-${pkgver}/src + # define the place for the global (g)vimrc file (set to /etc/vimrc) + sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' feature.h + autoconf + ) + cp -a vim-${pkgver} gvim-${pkgver} } build() { - # remove -O2 because there is a crash with python because of it - # fedora br: https://bugzilla.redhat.com/show_bug.cgi?id=817196 - export CFLAGS="${CFLAGS/-O2 /}" - - cd "${srcdir}" - - cp -a ${pkgname}-${pkgver} vim-build - - # define the place for the global (g)vimrc file (set to /etc/vimrc) - sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \ - vim-build/src/feature.h - sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \ - vim-build/src/feature.h - # fix python name - sed -i -e 's|vi_cv_path_python, python|vi_cv_path_python, python2|' \ - vim-build/src/configure.in - (cd vim-build/src && autoconf) + msg2 "Building vim..." + (cd vim-${pkgver} + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make + ) + + msg2 "Building gvim..." + (cd gvim-${pkgver} + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk3 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make + ) +} - cp -a vim-build gvim-build +check() { + cd vim-${pkgver} + TERM=xterm make -j1 test +} - cd "${srcdir}"/vim-build +package_vim-runtime() { + pkgdesc+=' (shared runtime)' + optdepends=('sh: support for some tools and macros' + 'python: demoserver example tool' + 'gawk: mve tools upport') + backup=('etc/vimrc') - ./configure --prefix=/usr --localstatedir=/var/lib/vim \ - --with-features=big --with-compiledby=ArchLinux \ - --enable-gpm --enable-acl --with-x=no \ - --disable-gui --enable-multibyte --enable-cscope \ - --disable-netbeans --enable-perlinterp --disable-pythoninterp \ - --disable-python3interp --disable-rubyinterp --disable-luainterp + cd vim-${pkgver} - make + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + # man and bin files belong to 'vim' + rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/ - cd "${srcdir}"/gvim-build + # Don't forget logtalk.dict + install -Dm 644 runtime/ftplugin/logtalk.dict \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict - ./configure --prefix=/usr --localstatedir=/var/lib/vim \ - --with-features=big --with-compiledby=ArchLinux \ - --enable-gpm --enable-acl --with-x=yes \ - --enable-gui=gtk2 --enable-multibyte --enable-cscope \ - --enable-netbeans --enable-perlinterp --enable-pythoninterp \ - --disable-python3interp --enable-rubyinterp --enable-luainterp + # fix FS#17216 + sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim - make -} + # patch filetype.vim for better handling of pacman related files + sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim + sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/changelog.vim -check() { - # disable tests because they seem to freeze + # rc files + install -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc + install -Dm 644 "${srcdir}"/archlinux.vim \ + "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim - cd "${srcdir}"/vim-build + # rgb.txt file + install -Dm 644 runtime/rgb.txt \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/rgb.txt - #make test + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} - cd "${srcdir}"/gvim-build + # license + install -dm 755 "${pkgdir}"/usr/share/licenses/vim-runtime + ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt - #make test + # pacman hook for documentation helptags + install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook } package_vim() { - pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' - depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm') - conflicts=('gvim') - - cd "${srcdir}"/vim-build + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl' 'glibc' 'libgcrypt' 'pcre' + 'zlib' 'libffi') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + conflicts=('gvim' 'vim-minimal' 'vim-python3') + provides=('xxd' 'vim-minimal' 'vim-python3') + replaces=('vim-python3' 'vim-minimal') + + cd vim-${pkgver} make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install # provided by (n)vi in core @@ -124,7 +164,7 @@ package_vim() { # delete some manpages find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ while read _mandir; do - cd ${_mandir} + cd "${_mandir}" rm -f ex.1 view.1 # provided by (n)vi rm -f evim.1 # this does not make sense if we have no GUI done @@ -132,20 +172,29 @@ package_vim() { # Runtime provided by runtime package rm -r "${pkgdir}"/usr/share/vim + # remove gvim.desktop as not included + rm "${pkgdir}"/usr/share/applications/gvim.desktop + # license - install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + install -Dm 644 runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt } package_gvim() { - pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)' - depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt' - 'desktop-file-utils' 'gtk2' 'lua' 'python2') - provides=("vim=${pkgver}-${pkgrel}") - conflicts=('vim') - install=gvim.install - - cd "${srcdir}"/gvim-build + pkgdesc+=' (with advanced features, such as a GUI)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk3' 'glibc' 'libgcrypt' 'pcre' + 'zlib' 'libffi') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + provides=("vim=${pkgver}-${pkgrel}" "xxd") + conflicts=('vim-minimal' 'vim') + replaces=('gvim-python3') + + cd gvim-${pkgver} make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install # provided by (n)vi in core @@ -154,63 +203,16 @@ package_gvim() { # delete some manpages find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ while read _mandir; do - cd ${_mandir} + cd "${_mandir}" rm -f ex.1 view.1 # provided by (n)vi done - # Move the runtime for later packaging - mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install - - # freedesktop links - install -Dm644 "${srcdir}"/gvim.desktop \ - "${pkgdir}"/usr/share/applications/gvim.desktop - install -Dm644 runtime/vim48x48.png "${pkgdir}"/usr/share/pixmaps/gvim.png + # need to remove since this is provided by vim-runtime + rm -r "${pkgdir}"/usr/share/vim # license - install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + install -Dm 644 runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt } -package_vim-runtime() { - pkgdesc='Runtime for vim and gvim' - depends=('perl' 'gawk') - backup=('etc/vimrc') - - # Install the runtime split from gvim - install -dm755 "${pkgdir}"/usr/share - mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim - - # Don't forget logtalk.dict - install -Dm644 "${srcdir}"/gvim-build/runtime/ftplugin/logtalk.dict \ - "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict - - # fix FS#17216 - sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ - "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim - - # patch filetype.vim for better handling of pacman related files - sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \ - "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim - sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ - "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim - - # make Aaron happy - install -Dm644 "${srcdir}"/pythoncomplete.vim \ - "${pkgdir}"/usr/share/vim/${_versiondir}/autoload/pythoncomplete.vim - - # rc files - install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc - install -Dm644 "${srcdir}"/archlinux.vim \ - "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim - - # rgb.txt file - install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \ - "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt - - # license - install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime - ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \ - "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt -} - -# vim:set sw=2 sts=2 et: +# vim: ts=2 sw=2 et: diff --git a/abs/extra/vim/archlinux.vim b/abs/extra/vim/archlinux.vim index 148bb93..0c6a84c 100644 --- a/abs/extra/vim/archlinux.vim +++ b/abs/extra/vim/archlinux.vim @@ -1,7 +1,5 @@ " The ArchLinux global vimrc - setting only a few sane defaults " -" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org] -" " NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION " SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc @@ -16,8 +14,19 @@ set ruler " show the cursor position all the time " Suffixes that get lower priority when doing tab completion for filenames. " These are files we are not likely to want to edit or read. -set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc +set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg +" Move the swap file location to protect against CVE-2017-1000382 +if exists('$XDG_CACHE_HOME') + let &g:directory=$XDG_CACHE_HOME +else + let &g:directory=$HOME . '/.cache' +endif +let &g:directory.='/vim/swap//' +" Create swap directory if it doesn't exist +if ! isdirectory(expand(&g:directory)) + silent! call mkdir(expand(&g:directory), 'p', 0700) +endif if has('gui_running') " Make shift-insert work like in Xterm diff --git a/abs/extra/vim/gvim.desktop b/abs/extra/vim/gvim.desktop deleted file mode 100644 index 675357d..0000000 --- a/abs/extra/vim/gvim.desktop +++ /dev/null @@ -1,63 +0,0 @@ -[Desktop Entry] -Name=Vi IMproved -Name[bg]=Vi Ðåäàêòîð -Name[ca]=Vi Millorat -Name[da]=Vi forbedret -Name[eo]=VIM -Name[et]=Täiustatud Vi (vim) -Name[fr]=Vi étendu (VIM) -Name[he]=רפושמ Vi -Name[hu]=Vi -Name[is]=Vi IMproved ritillinn -Name[it]=Vi iMproved -Name[no]=Vi IMproved (forbedret VI) -Name[pl]=Poprawiony VI (vim) -Name[ro]=VIM -Name[ru]=Улучшенный VI -Name[sk]=Vi IMpreved -Name[sl]=Izboljšani vi (vim) -Name[sv]=Förbättrad Vi -Name[zh_CN.GB2312]=改进的 Vi -Comment=Powerful text editor with scripting functions and macro recorder -Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè -Comment[ca]=Editor vi potent -Comment[cs]=Mocný textový editor vi -Comment[da]=En kraftig vi tekstbehandler -Comment[de]=Ein leistungsfähiger vi-Editor -Comment[el]=Πανίσχυρος διορθωτής vi -Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn -Comment[es]=Una versión mejorada del editor vi -Comment[et]=Võimas tekstiredaktor vi -Comment[fi]=Tehokas vi-tekstieditori -Comment[fr]=Éditeur vi puissant -Comment[gl]=Potente editor vi -Comment[he]=Vi המצועה בר ךרועה -Comment[hr]=Napredni vi uređivač -Comment[hu]=Vi szövegszerkesztő -Comment[is]=Öflug útgáfa vi ritilsins -Comment[it]=Un editor vi potenziato -Comment[ja]=強力なViエディタ -Comment[lt]=Galingas vi redaktorius -Comment[mk]=Моќен VI уредувач -Comment[nl]=Krachtige vi-editor -Comment[no]=En kraftig vi-redigerer -Comment[no_NY]=Kraftig vi-tekstredigeringsprogram -Comment[pl]=Edytor vi -Comment[pt]=Um poderoso editor de texto -Comment[ro]=Un editor de texte VI, puternic -Comment[ru]=Мощный текстовый редактор vi -Comment[sk]=Silný textový procesor vi -Comment[sl]=Zmogljivi urejevalnik vi -Comment[sr]=Moćni vi editor -Comment[sv]=En kraftfull texteditor -Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷ -Comment[tr]=Güçlü vi düzenleyicisi -Comment[uk]=Потужний редактор vi -Comment[zh_CN.GB2312]=功能强大的 vi 编辑器 -MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; -Exec=gvim -f %F -Icon=gvim -Type=Application -Terminal=false -X-XClassHintResName=VIM -Categories=Utility;TextEditor; diff --git a/abs/extra/vim/gvim.install b/abs/extra/vim/gvim.install deleted file mode 100644 index 2eaa605..0000000 --- a/abs/extra/vim/gvim.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/abs/extra/vim/vimdoc.hook b/abs/extra/vim/vimdoc.hook new file mode 100644 index 0000000..b77d592 --- /dev/null +++ b/abs/extra/vim/vimdoc.hook @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Operation= Remove +Type = File +Target = usr/share/vim/vimfiles/doc/ + +[Action] +Description = Updating Vim help tags... +Exec = /usr/bin/vim -es --cmd ":helptags /usr/share/vim/vimfiles/doc" --cmd ":q" +When = PostTransaction diff --git a/abs/extra/vim/vimrc b/abs/extra/vim/vimrc index 92d3ff9..ee36a52 100644 --- a/abs/extra/vim/vimrc +++ b/abs/extra/vim/vimrc @@ -11,6 +11,8 @@ runtime! archlinux.vim " If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' -" Or better yet, read /usr/share/vim/vim72/vimrc_example.vim or the vim manual +" Or better yet, read /usr/share/vim/vim80/vimrc_example.vim or the vim manual " and configure vim to your own liking! +" do not load defaults if ~/.vimrc is missing +"let skip_defaults_vim=1 diff --git a/abs/extra/vulkan-docs/PKGBUILD b/abs/extra/vulkan-docs/PKGBUILD new file mode 100644 index 0000000..de8489a --- /dev/null +++ b/abs/extra/vulkan-docs/PKGBUILD @@ -0,0 +1,70 @@ +# $Id$ +# Maintainer: Laurent Carlier <lordheavym@gmail.com> + +pkgbase=vulkan-docs +pkgname=(vulkan-headers vulkan-html-docs) +pkgver=1.0.68 +pkgrel=1 +epoch=1 +_pkgname=Vulkan-Docs +arch=(any) +url="https://www.khronos.org/vulkan/" +license=('custom') +makedepends=(asciidoctor python3 dblatex source-highlight cmake ghostscript git + ruby-rdoc lyx pango gdk-pixbuf2) # for asciidoctor-mathematical +groups=(vulkan-devel) +source=("https://github.com/KhronosGroup/${_pkgname}/archive/v${pkgver}-core.tar.gz") +sha256sums=('58352e6f2a95bffc445b2e9be4549c207fa1dbc711c445572be6ec8a590b091f') + +prepare() { + # for asciidoctor + # it was hard to find versions that builds properly ^^ + local _gemdir="$(ruby -e 'puts Gem.default_dir')" + + #gem install -v 0.7.0 ruby-enum + #gem install -v 1.6.8 mathematical + gem install -v 0.2.2 asciidoctor-mathematical + gem install -v 1.5.0.alpha.15 asciidoctor-pdf + gem install coderay +} + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}-core/doc/specs/vulkan" + + # asciidoctor / mathematical workaround bug - fail to find liblasem.so + #cp ~/.gem/ruby/2.4.0/gems/mathematical-1.6.8/ext/mathematical/lasem/build/liblasem.so ${srcdir} + #LD_LIBRARY_PATH=${srcdir}:$LD_LIBRARY_PATH ./makeKHRAndKHX all + ./makeKHRAndKHX all + + #rm -f ${srcdir}/liblasem.so +} + +package_vulkan-headers() { + pkgdesc="Vulkan header files" + cd "${_pkgname}-${pkgver}-core" + + install -dm755 "${pkgdir}/usr/include/vulkan" + install -dm755 "${pkgdir}/usr/share/vulkan" + install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}" + + install -m644 src/vulkan/vk_platform.h ${pkgdir}/usr/include/vulkan/ + install -m644 src/vulkan/vulkan.h ${pkgdir}/usr/include/vulkan + install -m644 src/spec/vk.xml ${pkgdir}/usr/share/vulkan + + install -m644 doc/specs/vulkan/copyright-ccby.txt ${pkgdir}/usr/share/licenses/${pkgname}/copyright-ccby.txt + install -m644 doc/specs/vulkan/copyright-spec.txt ${pkgdir}/usr/share/licenses/${pkgname}/copyright-spec.txt +} + +package_vulkan-html-docs() { + pkgdesc="Vulkan html documentation" + cd "${_pkgname}-${pkgver}-core" + + install -dm755 "${pkgdir}/usr/share/doc/vulkan" + install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}" + + mv -v out/1.0/*.html "${pkgdir}/usr/share/doc/vulkan/" + mv -v out/1.0/html/* "${pkgdir}/usr/share/doc/vulkan/" + + install -m644 doc/specs/vulkan/copyright-ccby.txt ${pkgdir}/usr/share/licenses/${pkgname}/copyright-ccby.txt + install -m644 doc/specs/vulkan/copyright-spec.txt ${pkgdir}/usr/share/licenses/${pkgname}/copyright-spec.txt +} diff --git a/abs/extra/wayland-protocols/PKGBUILD b/abs/extra/wayland-protocols/PKGBUILD index 15e4059..88b7dd1 100644 --- a/abs/extra/wayland-protocols/PKGBUILD +++ b/abs/extra/wayland-protocols/PKGBUILD @@ -2,16 +2,17 @@ # Maintainer: Sébastien Luttringer <seblu@seblu.net> pkgname=wayland-protocols -pkgver=1.7 +pkgver=1.12 pkgrel=1 pkgdesc='Specifications of extended Wayland protocols' arch=('any') url='https://wayland.freedesktop.org/' license=('MIT') makedepends=('wayland') -validpgpkeys=('8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A') # Jonas Ådahl +validpgpkeys=('8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A' # Jonas Ådahl + 'A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone source=("https://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.sig}) -sha1sums=('c4726694daf5feb1437f5f4f13c3b2a9b94b8118' +sha1sums=('ac908e91c6c5e7802c0af48f55725ad683017e72' 'SKIP') build() { diff --git a/abs/extra/wayland/PKGBUILD b/abs/extra/wayland/PKGBUILD index 2bb1829..48713fd 100644 --- a/abs/extra/wayland/PKGBUILD +++ b/abs/extra/wayland/PKGBUILD @@ -4,16 +4,16 @@ # Contributor: Joel Teichroeb <joel@teichroeb.net> pkgname=wayland -pkgver=1.13.0 +pkgver=1.14.0 pkgrel=1 pkgdesc='A computer display server protocol' -arch=('i686' 'x86_64') +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=('a8575325ed2885948624043c71629310df928312' +sha1sums=('53a443be3bafe73209bbc49ef2cb134ed16e0141' 'SKIP') build() { diff --git a/abs/extra/wireless-regdb/PKGBUILD b/abs/extra/wireless-regdb/PKGBUILD index 4ff914e..e5e40fd 100644 --- a/abs/extra/wireless-regdb/PKGBUILD +++ b/abs/extra/wireless-regdb/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=wireless-regdb -pkgver=2013.11.27 +pkgver=2017.03.07 pkgrel=1 pkgdesc="Central Regulatory Domain Database" arch=('any') @@ -11,11 +11,12 @@ backup=(etc/conf.d/wireless-regdom) license=('custom') depends=('sh') makedepends=('crda') -install=wireless-regdb.install -source=(https://www.kernel.org/pub/software/network/wireless-regdb/${pkgname}-${pkgver}.tar.xz +source=(https://www.kernel.org/pub/software/network/wireless-regdb/${pkgname}-${pkgver}.tar.{xz,sign} crda.conf.d) -sha256sums=('aa86150a367df0d6c8d875c05448c96a18c4ddf063f3e1b8c2235c2679117cc2' +sha256sums=('371eafa3b26ece916ef83aca02c4bed2e54099eb5b8c6d22d3a4358dce6535b9' + 'SKIP' '192428fd959806705356107bffc97b8b379854e79bd013c4ee140e5202326e2b') +validpgpkeys=('2ABCA7498D83E1D32D51D3B5AB4800A62DB9F73A') #Seth Forshee <seth.forshee@canonical.com> package() { # Install and verify regulatory.bin file @@ -30,7 +31,7 @@ package() { error "Regulatory database verification failed." return 1 fi - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/linville.key.pub.pem "${pkgdir}"/usr/lib/crda/pubkeys/linville.key.pub.pem + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/sforshee.key.pub.pem "${pkgdir}"/usr/lib/crda/pubkeys/sforshee.key.pub.pem install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/wireless-regdb/LICENSE install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.bin.5 "${pkgdir}"/usr/share/man/man5/regulatory.bin.5 diff --git a/abs/extra/zziplib/PKGBUILD b/abs/extra/zziplib/PKGBUILD new file mode 100644 index 0000000..d18337f --- /dev/null +++ b/abs/extra/zziplib/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> + +pkgname=zziplib +pkgver=0.13.68 +pkgrel=1 +pkgdesc="A lightweight library that offers the ability to easily extract data from files archived in a single zip file" +arch=('x86_64') +url="http://zziplib.sourceforge.net" +license=('LGPL' 'MPL') +depends=('zlib') +makedepends=('python2' 'xmlto' 'zip') +source=($pkgname-$pkgver.tar.gz::"https://github.com/gdraheim/zziplib/archive/v$pkgver.tar.gz") +sha256sums=('9460919b46592a225217cff067b1c0eb86002b32c54b4898f9c21401aaa11032') +sha512sums=('e8a9976242acc04064ec239b9b929228370a946e5bd37092adcc1bda14605710a3850d39795d1937b609d1ab9a9a1998152f8c88b2dccc387ac6ec774d9cfce9') + +build() { + cd ${pkgname}-${pkgver} + export PYTHON=/usr/bin/python2 + ./configure --prefix=/usr + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + +# fix permissions + chmod -s "${pkgdir}/usr/share/man/man3" +# chmod 644 "${pkgdir}"/usr/share/man/man3/* + chown -R root:root "${pkgdir}/usr/share/man/man3" +} + +# vim: set ts=2 sw=2 et: |